From 0cd1c5cac900e7e2d4b55dd638673ae3d91a46fe Mon Sep 17 00:00:00 2001 From: zhengchuyi Date: Fri, 14 Aug 2026 12:08:56 +0800 Subject: [PATCH 1/2] feat(studio): report cloud account id telemetry --- docs/studio-tea-telemetry.md | 4 + frontend/server/storage/provisioning.py | 48 +++++++++-- frontend/src/App.tsx | 1 + frontend/src/adk/client.ts | 6 ++ frontend/src/telemetry/privacy.ts | 1 + frontend/src/telemetry/runtime.ts | 7 +- frontend/src/telemetry/schema.ts | 1 + frontend/tests/studioAccess.test.mjs | 5 +- frontend/tests/teaTelemetry.test.mjs | 2 + tests/cli/test_studio_deploy_target.py | 22 +++++ tests/cli/test_studio_rbac.py | 7 +- tests/cli/test_studio_update.py | 5 +- .../server/storage/test_provisioning.py | 35 ++++++++ veadk/cli/cli_frontend.py | 82 ++++++++++++++++++- .../assets/MarkdownPromptEditor-Uj1POrdg.js | 4 + veadk/webui/assets/index-DPt3La7N.css | 4 + veadk/webui/index.html | 5 ++ 17 files changed, 226 insertions(+), 13 deletions(-) diff --git a/docs/studio-tea-telemetry.md b/docs/studio-tea-telemetry.md index 0ded8e91..89d2d3b4 100644 --- a/docs/studio-tea-telemetry.md +++ b/docs/studio-tea-telemetry.md @@ -38,6 +38,10 @@ Studio 的产品行为数据统一上报到 TEA App `1050062`。火山引擎和 的用户池、池内全部成员或当前 Agent/Sandbox 存量。这些资源存量必须来自后端管理接口 或定期快照。 +`account_id` 表示部署当前 Studio 的云账号 ID。它在 `veadk studio deploy` 时由部署 +凭据解析并保存到 Studio 运行时环境中,前端只在用户完成身份确认后通过 `/web/access` +拿到该值用于埋点,不应作为登录用户身份使用。 + ## 数据边界 只允许上报已登记的扁平 string/number 字段。禁止上报 Prompt、消息正文、模型响应、 diff --git a/frontend/server/storage/provisioning.py b/frontend/server/storage/provisioning.py index 741bbda7..e70d7cd9 100644 --- a/frontend/server/storage/provisioning.py +++ b/frontend/server/storage/provisioning.py @@ -18,6 +18,7 @@ import re from collections.abc import Mapping +from contextlib import nullcontext from typing import Any from . import StudioProvider, StudioStorageConfig @@ -35,20 +36,53 @@ def _resolve_account_id( secret_key: str, session_token: str, region: str, + provider: StudioProvider | None = None, ) -> str: from agentkit.toolkit.volcengine.sts import VeSTS - account_id = VeSTS( - access_key=access_key, - secret_key=secret_key, - session_token=session_token, - region=region, - ).get_account_id() + context = nullcontext() + if provider is not None: + from agentkit.platform.context import default_cloud_provider + + context = default_cloud_provider(provider) + + with context: + account_id = VeSTS( + access_key=access_key, + secret_key=secret_key, + session_token=session_token, + region=region, + ).get_account_id() if account_id is None: raise StudioStorageProvisioningError("无法获取当前云账号 ID。") return str(account_id).strip() +def resolve_studio_account_id_for_deploy( + *, + access_key: str, + secret_key: str, + session_token: str, + region: str, + provider: StudioProvider | None = None, +) -> str: + """Resolve the deployer's cloud account id for Studio runtime metadata.""" + try: + return _resolve_account_id( + access_key=access_key, + secret_key=secret_key, + session_token=session_token, + region=region, + provider=provider, + ) + except StudioStorageProvisioningError: + raise + except Exception as error: + raise StudioStorageProvisioningError( + f"无法获取当前云账号 ID:{error}" + ) from error + + def _create_tos_client( *, provider: StudioProvider, @@ -129,6 +163,7 @@ def resolve_studio_storage_for_deploy( secret_key=secret_key, session_token=session_token, region=region, + provider=provider, ) except StudioStorageProvisioningError: raise @@ -181,5 +216,6 @@ def resolve_studio_storage_for_deploy( __all__ = [ "StudioStorageProvisioningError", + "resolve_studio_account_id_for_deploy", "resolve_studio_storage_for_deploy", ] diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index fa92b896..00fae7ad 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -2408,6 +2408,7 @@ export default function App() { if (!userUniqueId) return; identifyTelemetryUser({ userUniqueId, + accountId: access.telemetry.accountId ?? "", userRole: access.role === "admin" ? "admin" : "member", userSource: localMode ? "local" : "sso", }); diff --git a/frontend/src/adk/client.ts b/frontend/src/adk/client.ts index a4ae8e64..ce84917a 100644 --- a/frontend/src/adk/client.ts +++ b/frontend/src/adk/client.ts @@ -2514,6 +2514,7 @@ export interface StudioAccess { role: StudioRole; telemetry: { userId: string; + accountId?: string; }; capabilities: { createAgents: boolean; @@ -2527,6 +2528,7 @@ export const DEFAULT_STUDIO_ACCESS: StudioAccess = { role: "user", telemetry: { userId: "", + accountId: "", }, capabilities: { createAgents: false, @@ -2543,6 +2545,10 @@ export async function getStudioAccess(): Promise { if ( !["admin", "developer", "user"].includes(access.role) || typeof access.telemetry?.userId !== "string" || + ( + access.telemetry.accountId !== undefined && + typeof access.telemetry.accountId !== "string" + ) || typeof access.capabilities?.createAgents !== "boolean" || typeof access.capabilities?.manageAgents !== "boolean" || !["all", "mine"].includes(access.capabilities?.runtimeScope) diff --git a/frontend/src/telemetry/privacy.ts b/frontend/src/telemetry/privacy.ts index 78f51734..42ed359f 100644 --- a/frontend/src/telemetry/privacy.ts +++ b/frontend/src/telemetry/privacy.ts @@ -96,6 +96,7 @@ const COMMON_KEYS = [ "studio_version", "environment", "cloud_provider", + "account_id", "user_role", "user_source", "page_instance_id", diff --git a/frontend/src/telemetry/runtime.ts b/frontend/src/telemetry/runtime.ts index de71fb98..1e8a1170 100644 --- a/frontend/src/telemetry/runtime.ts +++ b/frontend/src/telemetry/runtime.ts @@ -85,7 +85,11 @@ export class TelemetryRuntime { this.pageInstanceId = this.createId(); this.sessionStarted = false; } - this.identity = { ...identity, userUniqueId }; + this.identity = { + ...identity, + userUniqueId, + accountId: identity.accountId?.trim() ?? "", + }; this.sink.identify?.(userUniqueId); } @@ -253,6 +257,7 @@ export class TelemetryRuntime { studio_version: this.context.studioVersion, environment: this.context.environment, cloud_provider: this.context.cloudProvider, + account_id: this.identity.accountId, user_role: this.identity.userRole, user_source: this.identity.userSource, page_instance_id: this.pageInstanceId, diff --git a/frontend/src/telemetry/schema.ts b/frontend/src/telemetry/schema.ts index 41a9a8c2..7d96e77b 100644 --- a/frontend/src/telemetry/schema.ts +++ b/frontend/src/telemetry/schema.ts @@ -31,6 +31,7 @@ export interface StudioTelemetryContext { export interface TelemetryIdentity { userUniqueId: string; + accountId?: string; userRole: UserRole; userSource: UserSource; } diff --git a/frontend/tests/studioAccess.test.mjs b/frontend/tests/studioAccess.test.mjs index 9f564f5e..f589359d 100644 --- a/frontend/tests/studioAccess.test.mjs +++ b/frontend/tests/studioAccess.test.mjs @@ -19,9 +19,10 @@ const cliFrontendSource = readFileSync( test("Studio access fails closed until the server-derived role is known", () => { assert.match(clientSource, /export type StudioRole = "admin" \| "developer" \| "user"/); - assert.match(clientSource, /telemetry:\s*\{\s*userId: string;\s*\}/); - assert.match(clientSource, /export const DEFAULT_STUDIO_ACCESS[\s\S]*?userId: ""[\s\S]*?createAgents: false[\s\S]*?manageAgents: false[\s\S]*?runtimeScope: "mine"/); + assert.match(clientSource, /telemetry:\s*\{\s*userId: string;\s*accountId\?: string;\s*\}/); + assert.match(clientSource, /export const DEFAULT_STUDIO_ACCESS[\s\S]*?userId: ""[\s\S]*?accountId: ""[\s\S]*?createAgents: false[\s\S]*?manageAgents: false[\s\S]*?runtimeScope: "mine"/); assert.match(clientSource, /typeof access\.telemetry\?\.userId !== "string"/); + assert.match(appSource, /accountId: access\.telemetry\.accountId \?\? ""/); assert.match(clientSource, /apiFetch\("\/web\/access"\)/); assert.match(appSource, /if \(!access\) \{\s*return
;\s*\}/); assert.match(appSource, /setAccess\(DEFAULT_STUDIO_ACCESS\)/); diff --git a/frontend/tests/teaTelemetry.test.mjs b/frontend/tests/teaTelemetry.test.mjs index 1518fb1b..4c432e03 100644 --- a/frontend/tests/teaTelemetry.test.mjs +++ b/frontend/tests/teaTelemetry.test.mjs @@ -102,6 +102,7 @@ function harness() { }); runtime.identify({ userUniqueId: " user-1 ", + accountId: " 2100123456 ", userRole: "member", userSource: "sso", }); @@ -185,6 +186,7 @@ test("records one authenticated page-ready Studio visit, not an Agent chat sessi assert.equal("user_unique_id" in events[0].payload, false); assert.equal("auth_session_id" in events[0].payload, false); assert.equal(events[0].payload.cloud_provider, "volcengine"); + assert.equal(events[0].payload.account_id, "2100123456"); assert.equal(events[0].payload.page_instance_id, "id-1"); assert.equal("session_id" in events[0].payload, false); }); diff --git a/tests/cli/test_studio_deploy_target.py b/tests/cli/test_studio_deploy_target.py index 4cdb8d82..6804d270 100644 --- a/tests/cli/test_studio_deploy_target.py +++ b/tests/cli/test_studio_deploy_target.py @@ -94,6 +94,10 @@ def _skip_serverless_role_setup(monkeypatch: pytest.MonkeyPatch) -> None: ), ), ) + monkeypatch.setattr( + "frontend.server.storage.provisioning.resolve_studio_account_id_for_deploy", + lambda **_kwargs: "2100123456", + ) @pytest.mark.parametrize("kind", ["codex", "openclaw", "hermes"]) @@ -939,6 +943,7 @@ def configure_user_pool_for_idp_only(self, user_pool_uid: str) -> None: assert veadk_environments["VEADK_STUDIO_UPDATE_PREFIX"] == "veadk/studio/main" assert veadk_environments["VEADK_STUDIO_DEPLOY_REGION"] == expected_region assert veadk_environments["VEADK_STUDIO_PROJECT"] == expected_project + assert veadk_environments["VEADK_STUDIO_ACCOUNT_ID"] == "2100123456" assert veadk_environments["VEADK_STUDIO_TOS_BUCKET"] == ("veadk-studio-2100123456") assert veadk_environments["VEADK_STUDIO_TOS_REGION"] == expected_region assert "VEADK_STUDIO_UPDATE_REGION" not in veadk_environments @@ -1039,6 +1044,7 @@ def deploy(self, **_: object) -> SimpleNamespace: ) assert release_environment["VEADK_STUDIO_DEPLOY_ID"] == deploy_id assert release_environment["VEADK_STUDIO_USER_POOL_ID"] == "pool-id" + assert release_environment["VEADK_STUDIO_ACCOUNT_ID"] == "2100123456" assert release_environment["VEADK_STUDIO_APPLICATION_ID"] == "app-id" assert release_environment["VEADK_STUDIO_FUNCTION_ID"] == "function-id" @@ -1087,6 +1093,10 @@ def _resolve_identity_region(**kwargs: object) -> str: def _record_serverless_role(*args: object, **kwargs: object) -> None: captured["serverless_role"] = {"args": args, "kwargs": kwargs} + def _resolve_account_id(**kwargs: object) -> str: + captured["account_id"] = kwargs + return "3001037806" + monkeypatch.setattr( "veadk.cloud.cloud_agent_engine.CloudAgentEngine", _FakeCloudAgentEngine ) @@ -1110,6 +1120,10 @@ def _record_serverless_role(*args: object, **kwargs: object) -> None: "veadk.cli.frontend_skill_creator.ensure_skill_creator_model_credential", lambda **kwargs: credential_tool_ids.append(str(kwargs["tool_id"])), ) + monkeypatch.setattr( + "frontend.server.storage.provisioning.resolve_studio_account_id_for_deploy", + _resolve_account_id, + ) result = CliRunner().invoke( studio, @@ -1174,12 +1188,20 @@ def _record_serverless_role(*args: object, **kwargs: object) -> None: "args": ("byteplus-ak", "byteplus-sk"), "kwargs": {"session_token": "", "provider": "byteplus"}, } + assert captured["account_id"] == { + "access_key": "byteplus-ak", + "secret_key": "byteplus-sk", + "session_token": "", + "region": "ap-southeast-1", + "provider": "byteplus", + } assert veadk_environments["CLOUD_PROVIDER"] == "byteplus" assert veadk_environments["AGENTKIT_CLOUD_PROVIDER"] == "byteplus" assert veadk_environments["BYTEPLUS_REGION"] == "ap-southeast-1" assert veadk_environments["BYTEPLUS_WEB_SEARCH_API_KEY"] == "bp-search-key" assert veadk_environments["VEIDENTITY_REGION"] == "ap-southeast-1" assert veadk_environments["AGENTKIT_SANDBOX_REGION"] == "ap-southeast-1" + assert veadk_environments["VEADK_STUDIO_ACCOUNT_ID"] == "3001037806" assert sorted(credential_tool_ids) == [ "chat-code-env-id", "chat-code-env-snapshot-id", diff --git a/tests/cli/test_studio_rbac.py b/tests/cli/test_studio_rbac.py index fd864599..e83fea39 100644 --- a/tests/cli/test_studio_rbac.py +++ b/tests/cli/test_studio_rbac.py @@ -1200,6 +1200,7 @@ def test_access_endpoint_resolves_local_roles_and_blocks_user_management( monkeypatch: pytest.MonkeyPatch, tmp_path: Path, ) -> None: + monkeypatch.setenv("VEADK_STUDIO_ACCOUNT_ID", "2100123456") app = _create_studio_app( monkeypatch, tmp_path, @@ -1226,9 +1227,13 @@ def test_access_endpoint_resolves_local_roles_and_blocks_user_management( assert admin.json()["role"] == "admin" assert developer.json()["role"] == "developer" - assert developer.json()["telemetry"] == {"userId": "developer"} + assert developer.json()["telemetry"] == { + "userId": "developer", + "accountId": "2100123456", + } assert user.json()["role"] == "user" assert user.json()["telemetry"]["userId"] == "reader" + assert user.json()["telemetry"]["accountId"] == "2100123456" assert forbidden.status_code == 403 assert legacy_skill_creator.status_code == 404 diff --git a/tests/cli/test_studio_update.py b/tests/cli/test_studio_update.py index ba4aaa22..94d9dc5b 100644 --- a/tests/cli/test_studio_update.py +++ b/tests/cli/test_studio_update.py @@ -798,6 +798,7 @@ def update_application_code_bundle(self, **kwargs: object) -> str: "VEADK_STUDIO_FUNCTION_ID": "function-app-id", "VEADK_STUDIO_DEPLOY_REGION": "cn-beijing", "VEADK_STUDIO_PROJECT": "default", + "VEADK_STUDIO_ACCOUNT_ID": "123", "SANDBOX_CHAT_CODEX_SNAPSHOT": "codex-snapshot-tool", "SANDBOX_CHAT_OPENCLAW_SNAPSHOT": "openclaw-snapshot-tool", "SANDBOX_CHAT_HERMES_SNAPSHOT": "hermes-snapshot-tool", @@ -865,12 +866,13 @@ class _FakeVeFaaS: def __init__(self, **_: str) -> None: self.client = SimpleNamespace( get_function=lambda _request: SimpleNamespace( + role="trn:iam::3001037806:role/VeADKFrontendServiceRole", envs=[ SimpleNamespace( key="SANDBOX_CHAT_CODEX", value="existing-codex-tool", ) - ] + ], ) ) @@ -928,6 +930,7 @@ def update_application_code_bundle(self, **kwargs: object) -> str: assert overrides["SANDBOX_CHAT_HERMES_SNAPSHOT"] == "hermes-snapshot-tool" assert overrides["SANDBOX_DEV"] == expected_dev_tool_id assert overrides["CLOUD_PROVIDER"] == "byteplus" + assert overrides["VEADK_STUDIO_ACCOUNT_ID"] == "3001037806" def test_update_application_code_bundle_merges_only_explicit_environment( diff --git a/tests/frontend/server/storage/test_provisioning.py b/tests/frontend/server/storage/test_provisioning.py index 9ba1c5e2..21ba9e6d 100644 --- a/tests/frontend/server/storage/test_provisioning.py +++ b/tests/frontend/server/storage/test_provisioning.py @@ -64,6 +64,41 @@ def _patch_cloud( ) +@pytest.mark.parametrize( + ("provider", "region", "expected_host"), + [ + ("volcengine", "cn-beijing", "sts.volcengineapi.com"), + ("byteplus", "ap-southeast-1", "sts.ap-southeast-1.byteplusapi.com"), + ], +) +def test_account_id_resolver_uses_provider_specific_sts_endpoint( + monkeypatch: pytest.MonkeyPatch, + provider: StudioProvider, + region: str, + expected_host: str, +) -> None: + from agentkit.toolkit.volcengine.sts import VeSTS + + calls: list[tuple[str, str, str]] = [] + + def _get_account_id(self: Any) -> int: + calls.append((self.host, self.region, self.service)) + return 3001037806 + + monkeypatch.setattr(VeSTS, "get_account_id", _get_account_id) + + account_id = provisioning.resolve_studio_account_id_for_deploy( + provider=provider, + region=region, + access_key="ak", + secret_key="sk", + session_token="token", + ) + + assert account_id == "3001037806" + assert calls == [(expected_host, region, "sts")] + + @pytest.mark.parametrize( ("provider", "region", "expected_host"), [ diff --git a/veadk/cli/cli_frontend.py b/veadk/cli/cli_frontend.py index a30fac1e..76d7c6e6 100644 --- a/veadk/cli/cli_frontend.py +++ b/veadk/cli/cli_frontend.py @@ -63,6 +63,8 @@ _BYTEPLUS_VEFAAS_APPLICATION_NAME_RE = re.compile( r"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$" ) +_CLOUD_ACCOUNT_ID_RE = re.compile(r"[0-9]+") +_IAM_ACCOUNT_ID_RE = re.compile(r"\biam::(?P[0-9]+):") _BUILD_ERROR_MARKERS = ( "no solution found", "unsatisfiable", @@ -230,6 +232,24 @@ def _normalize_runtime_description(value: object) -> str: return re.sub(r" +", " ", "".join(normalized)).rstrip() +def _cloud_account_id_from_value(value: object) -> str: + normalized = str(value or "").strip() + return normalized if _CLOUD_ACCOUNT_ID_RE.fullmatch(normalized) else "" + + +def _studio_account_id_from_remote_function(function: object) -> str: + for attribute in ("owner", "Owner"): + account_id = _cloud_account_id_from_value(getattr(function, attribute, "")) + if account_id: + return account_id + for attribute in ("role", "Role"): + role = str(getattr(function, attribute, "") or "") + match = _IAM_ACCOUNT_ID_RE.search(role) + if match: + return match.group("account_id") + return "" + + def _is_malformed_runtime_description_error(error: object) -> bool: return "invaliddescription.malformed" in str(error or "").lower() @@ -1497,6 +1517,7 @@ async def _web_access(request: Request): payload = access_policy.access_payload(principal) payload["telemetry"] = { "userId": principal.owner_id if principal else "", + "accountId": os.getenv("VEADK_STUDIO_ACCOUNT_ID", "").strip(), } return payload @@ -8188,9 +8209,29 @@ def frontend_deploy( from frontend.server.storage.provisioning import ( StudioStorageProvisioningError, + resolve_studio_account_id_for_deploy, resolve_studio_storage_for_deploy, ) + studio_account_id = "" + try: + studio_account_id = resolve_studio_account_id_for_deploy( + access_key=ak, + secret_key=sk, + session_token=session_token or "", + region=region, + provider=provider_id, + ) + except StudioStorageProvisioningError as error: + detail = _safe_exception_detail( + error, + secrets=(ak, sk, session_token), + ) + click.echo( + "Warning: Could not resolve Studio cloud account ID for telemetry: " + f"{detail}" + ) + click.echo("Ensuring Studio persistent storage…") try: storage_config = resolve_studio_storage_for_deploy( @@ -8464,6 +8505,8 @@ def frontend_deploy( veadk_environments["VEADK_STUDIO_DEPLOY_ID"] = studio_deploy_id veadk_environments["VEADK_STUDIO_USER_POOL_ID"] = user_pool_id veadk_environments["VEADK_STUDIO_DEPLOY_REGION"] = region + if studio_account_id: + veadk_environments["VEADK_STUDIO_ACCOUNT_ID"] = studio_account_id veadk_environments.update(studio_storage_environment) if client_secret: veadk_environments["OAUTH2_CLIENT_SECRET"] = client_secret @@ -8612,6 +8655,8 @@ def frontend_deploy( ], "VEADK_STUDIO_DEPLOY_REGION": region, } + if studio_account_id: + release_environment["VEADK_STUDIO_ACCOUNT_ID"] = studio_account_id if studio_update_bucket: release_environment.update( { @@ -8888,10 +8933,11 @@ def frontend_update( environment_overrides = {"AGENTKIT_SANDBOX_REGION": target.region} service_client = getattr(service, "client", None) current_env: dict[str, str] = {} + remote_function: object | None = None if service_client is not None: import volcenginesdkvefaas - function = service_client.get_function( + remote_function = service_client.get_function( volcenginesdkvefaas.GetFunctionRequest(id=target.function_id) ) from veadk.cli.frontend_deploy_iam import ( @@ -8907,7 +8953,8 @@ def frontend_update( ): click.echo("Studio IAM role policy updated.") current_env = { - item.key: item.value for item in (getattr(function, "envs", None) or []) + item.key: item.value + for item in (getattr(remote_function, "envs", None) or []) } user_pool_id = str( current_env.get("VEADK_STUDIO_USER_POOL_ID") @@ -8929,6 +8976,37 @@ def frontend_update( } ) + studio_account_id = str( + current_env.get("VEADK_STUDIO_ACCOUNT_ID") or "" + ).strip() + if not studio_account_id and remote_function is not None: + studio_account_id = _studio_account_id_from_remote_function(remote_function) + if not studio_account_id and service_client is not None: + from frontend.server.storage.provisioning import ( + StudioStorageProvisioningError, + resolve_studio_account_id_for_deploy, + ) + + try: + studio_account_id = resolve_studio_account_id_for_deploy( + access_key=ak, + secret_key=sk, + session_token=session_token or "", + region=target.region, + provider=provider_id, + ) + except StudioStorageProvisioningError as error: + detail = _safe_exception_detail( + error, + secrets=(ak, sk, session_token), + ) + click.echo( + "Warning: Could not resolve Studio cloud account ID for telemetry: " + f"{detail}" + ) + if studio_account_id: + environment_overrides["VEADK_STUDIO_ACCOUNT_ID"] = studio_account_id + snapshot_tool_ids = { "codex_snapshot": sandbox_chat_codex_snapshot_tool_id if sandbox_chat_codex_snapshot_tool_id is not None diff --git a/veadk/webui/assets/MarkdownPromptEditor-Uj1POrdg.js b/veadk/webui/assets/MarkdownPromptEditor-Uj1POrdg.js index 277e6eb8..f655b8f9 100644 --- a/veadk/webui/assets/MarkdownPromptEditor-Uj1POrdg.js +++ b/veadk/webui/assets/MarkdownPromptEditor-Uj1POrdg.js @@ -1,4 +1,8 @@ +<<<<<<<< HEAD:veadk/webui/assets/MarkdownPromptEditor-Uj1POrdg.js var G0=Object.defineProperty;var q0=(n,e,t)=>e in n?G0(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var L=(n,e,t)=>q0(n,typeof e!="symbol"?e+"":e,t);import{v as qu,w as Y0,s as X0,t as da,U as Q0,a8 as e5,K as t5,X as $,M as D,b as vt,a2 as Qt,A as qh,i as Fe,a7 as io,P as Yh,a as Cc,a1 as vc,a6 as bc,W as Zo,m as qs,k as n5,L as r5,a5 as o5,R as i5,F as s5,D as Xh,l as Sc,o as l5,C as Qh,a4 as eg,a3 as ha,e as tg,I as a5,f as c5,n as ng,q as rg,d as u5,T as f5,p as d5,c as E,r as Yu,g as Xu,V as tt,S as on,$ as Hi,Z as Pl,Y as h5,h as Qu,N as Ut,Q as ms,u as wc,O as Wn,a0 as Nn,_ as Ft,j as To,x as g5,E as p5,z as m5,B as _5,y as x5,J as y5,G as C5,H as v5}from"./index-M8CVMzEb.js";const b5={}.hasOwnProperty;function og(n,e){let t=-1,r;if(e.extensions)for(;++te in n?G0(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var L=(n,e,t)=>q0(n,typeof e!="symbol"?e+"":e,t);import{v as qu,w as Y0,s as X0,t as da,U as Q0,a8 as e5,K as t5,X as $,M as D,b as vt,a2 as Qt,A as qh,i as Fe,a7 as io,P as Yh,a as Cc,a1 as vc,a6 as bc,W as Zo,m as qs,k as n5,L as r5,a5 as o5,R as i5,F as s5,D as Xh,l as Sc,o as l5,C as Qh,a4 as eg,a3 as ha,e as tg,I as a5,f as c5,n as ng,q as rg,d as u5,T as f5,p as d5,c as E,r as Yu,g as Xu,V as tt,S as on,$ as Hi,Z as Pl,Y as h5,h as Qu,N as Ut,Q as ms,u as wc,O as Wn,a0 as Nn,_ as Ft,j as To,x as g5,E as p5,z as m5,B as _5,y as x5,J as y5,G as C5,H as v5}from"./index-j1IFnIdd.js";const b5={}.hasOwnProperty;function og(n,e){let t=-1,r;if(e.extensions)for(;++t>>>>>>> 8587bb46 (feat(studio): report cloud account id telemetry):veadk/webui/assets/MarkdownPromptEditor-DUTDLRTE.js `,inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"!",after:"\\[",inConstruct:"phrasing",notInConstruct:Un},{character:'"',inConstruct:"titleQuote"},{atBreak:!0,character:"#"},{character:"#",inConstruct:"headingAtx",after:`(?:[\r ]|$)`},{character:"&",after:"[#A-Za-z]",inConstruct:"phrasing"},{character:"'",inConstruct:"titleApostrophe"},{character:"(",inConstruct:"destinationRaw"},{before:"\\]",character:"(",inConstruct:"phrasing",notInConstruct:Un},{atBreak:!0,before:"\\d+",character:")"},{character:")",inConstruct:"destinationRaw"},{atBreak:!0,character:"*",after:`(?:[ \r *])`},{character:"*",inConstruct:"phrasing",notInConstruct:Un},{atBreak:!0,character:"+",after:`(?:[ \r diff --git a/veadk/webui/assets/index-DPt3La7N.css b/veadk/webui/assets/index-DPt3La7N.css index 6540163a..6e9fdb8d 100644 --- a/veadk/webui/assets/index-DPt3La7N.css +++ b/veadk/webui/assets/index-DPt3La7N.css @@ -7,4 +7,8 @@ Outdated base version: https://github.com/primer/github-syntax-light Current colors taken from GitHub's CSS +<<<<<<<< HEAD:veadk/webui/assets/index-DPt3La7N.css */.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.builtin-tool-head{--builtin-tool-accent: 215 18% 42%;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:3px 7px 3px 3px;border:0;border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;transition:color .12s ease}.builtin-tool-head[data-tool-tone=search]{--builtin-tool-accent: 211 62% 42%}.builtin-tool-head[data-tool-tone=image]{--builtin-tool-accent: 28 67% 42%}.builtin-tool-head[data-tool-tone=video]{--builtin-tool-accent: 260 38% 48%}.builtin-tool-head[data-tool-tone=presentation]{--builtin-tool-accent: 252 38% 52%}.builtin-tool-head[data-tool-tone=memory]{--builtin-tool-accent: 174 52% 34%}.builtin-tool-head[data-tool-tone=knowledge]{--builtin-tool-accent: 225 48% 45%}.builtin-tool-head[data-tool-tone=skill]{--builtin-tool-accent: 154 50% 34%}.builtin-tool-head[data-tool-tone=sandbox]{--builtin-tool-accent: 32 67% 42%}.builtin-tool-head:hover{color:hsl(var(--foreground))}.builtin-tool-icon{position:relative;width:20px;height:26px;flex:0 0 20px;display:grid;place-items:center;color:hsl(var(--builtin-tool-accent))}.builtin-tool-icon>svg{width:18px;height:18px}.builtin-tool-label{font-size:14.5px;font-weight:400;line-height:1.35}.builtin-tool-head.is-done .builtin-tool-label{color:hsl(var(--muted-foreground))}.builtin-tool-chevron{width:13px;height:13px;flex:0 0 13px;opacity:.58;transition:transform .18s ease}.builtin-tool-chevron.is-open{transform:rotate(90deg)}.skill-conversation{min-height:220px;margin:0 0 16px;padding:8px 0 18px}.skill-conversation .bubble{font-size:13px;line-height:1.65}.skill-conversation .think-head,.skill-conversation .tool-head,.skill-conversation .builtin-tool-head{display:grid;grid-template-columns:20px minmax(0,1fr) 13px;align-items:center;gap:8px;width:100%;min-height:38px;padding:4px 0;text-align:left}.skill-conversation .think-label,.skill-conversation .tool-name,.skill-conversation .builtin-tool-label{min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere;text-align:left}.skill-conversation .think-icon,.skill-conversation .tool-icon,.skill-conversation .builtin-tool-icon{width:20px;height:26px}.skill-conversation .chev,.skill-conversation .tool-chevron,.skill-conversation .builtin-tool-chevron{justify-self:end}.skill-generation{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:hsl(var(--background));color:hsl(var(--foreground))}.skillcenter{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.skillcenter-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.skillcenter-page-heading{min-width:0}.skillcenter-page-heading--back{display:flex;align-items:center;gap:8px}.skillcenter-page-heading--back>div{min-width:0}.skillcenter-page-heading h1{max-width:min(620px,55vw);margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.skillcenter-page-heading p{display:-webkit-box;max-width:680px;margin:6px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skillcenter-back{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-back svg{width:18px;height:18px}.skillcenter-search{width:min(320px,38vw);height:36px;flex:0 0 auto;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.skillcenter-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.skillcenter-search svg{width:16px;height:16px;flex:0 0 16px}.skillcenter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.skillcenter-search input::placeholder{color:hsl(var(--muted-foreground))}.skillcenter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.skillcenter-toolbar-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.my-agent-type-bar.skillcenter-list-toolbar{justify-content:flex-end}.skillcenter-detail-facts{min-width:0;display:flex;align-items:center;gap:24px}.skillcenter-detail-facts>div{min-width:72px;display:grid;gap:3px}.skillcenter-detail-facts span{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.2}.skillcenter-detail-facts strong{max-width:220px;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-primary-action,.skillcenter-secondary-action{min-width:max-content;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.skillcenter-primary-action{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.skillcenter-primary-action:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.skillcenter-secondary-action:hover{background:hsl(var(--secondary))}.skillcenter-secondary-action.is-danger{color:hsl(var(--destructive))}.skillcenter-secondary-action.is-danger:hover:not(:disabled){border-color:hsl(var(--destructive) / .24);background:hsl(var(--destructive) / .06)}.skillcenter-secondary-action:disabled{cursor:not-allowed;opacity:.48}.skillcenter-primary-action:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.skillcenter-primary-action svg{width:15px;height:15px}.skillcenter-disabled-action{position:relative;display:inline-flex;border-radius:8px}.skillcenter-disabled-action.is-disabled{cursor:not-allowed}.skillcenter-disabled-action.is-disabled>button{cursor:inherit}.skillcenter-disabled-tooltip{position:absolute;z-index:30;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.skillcenter-disabled-action.is-top .skillcenter-disabled-tooltip{bottom:calc(100% + 8px);transform:translate(-50%,3px)}.skillcenter-disabled-action.is-bottom .skillcenter-disabled-tooltip{top:calc(100% + 8px);transform:translate(-50%,-3px)}.skillcenter-disabled-action.is-inside .skillcenter-disabled-tooltip{top:50%;transform:translate(-50%,calc(-50% + 3px))}.skillcenter-disabled-action.is-disabled:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled:focus-visible .skillcenter-disabled-tooltip{opacity:1}.skillcenter-disabled-action.is-disabled.is-top:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-top:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-bottom:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-bottom:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-inside:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-inside:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%,-50%)}.skillcenter-disabled-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.skillcenter-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.skillcenter-space-card{position:relative}.my-agent-card.skillcenter-space-card{overflow:visible}.my-agent-card.skillcenter-space-card:hover{transform:none}.skillcenter-back:focus-visible,.skillcenter-primary-action:focus-visible,.skillcenter-secondary-action:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.my-agent-actions.skillcenter-card-actions{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr)) 28px}.skillcenter-card-actions .skillcenter-card-more{width:28px;min-height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-card-more:hover,.skillcenter-card-more[aria-expanded=true]{background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.skillcenter-card-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:1px}.skillcenter-card-menu{position:relative;z-index:30}.skillcenter-card-more svg{width:16px;height:16px}.skillcenter-card-menu__popover{position:absolute;z-index:20;right:0;bottom:calc(100% + 6px);width:132px;box-sizing:border-box;padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .14)}.skillcenter-card-menu__popover button{width:100%;min-height:32px;display:flex;align-items:center;padding:0 9px;border:0;border-radius:5px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.skillcenter-card-menu__popover button:hover,.skillcenter-card-menu__popover button:focus-visible{outline:0;background:hsl(var(--secondary))}.skillcenter-card-menu__popover button.is-danger{color:hsl(var(--destructive))}.skillcenter-card-menu__popover button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.skillcenter-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.skillcenter-table th{height:42px;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:11px;font-weight:560;text-align:left}.skillcenter-table th:first-child{width:auto}.skillcenter-table th:nth-child(2){width:104px}.skillcenter-table th:nth-child(3){width:180px}.skillcenter-table td{height:72px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.skillcenter-table tbody tr:last-child td{border-bottom:0}.skillcenter-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.skillcenter-table__skill button{width:100%;display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.skillcenter-table__title-row{min-width:0;display:flex;align-items:center;gap:7px}.skillcenter-table__skill strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__skill .skillcenter-table__version-badge{flex:0 0 auto;padding:2px 6px;overflow:visible;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .6);color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.2}.skillcenter-table__skill .skillcenter-table__description{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__actions-heading{text-align:right!important}.skillcenter-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.skillcenter-table__actions button,.skill-detail-actions button{min-height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skillcenter-table__actions button:hover:not(:disabled),.skill-detail-actions button:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-table__actions button:disabled,.skill-detail-actions button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table__actions button.is-danger{color:hsl(var(--destructive))}.skillcenter-inline-error{margin-top:16px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors.is-full-page{min-height:260px;align-items:center;justify-content:center;margin:0;border:0;background:transparent}.skillcenter-space-errors__content{min-width:0;width:min(680px,100%);display:grid;gap:10px}.skillcenter-space-errors__content>strong{font-size:13px;font-weight:600}.skillcenter-space-errors__content>section{min-width:0;display:grid;gap:4px}.skillcenter-space-errors__content>section>span{color:hsl(var(--foreground));font-size:11.5px;font-weight:600}.skillcenter-space-errors .skill-error-details{min-width:0;width:100%;color:inherit}.skillcenter-space-errors .skill-error-details__summary,.skillcenter-space-errors .skill-error-details__original{text-align:left}.skillcenter-space-errors .skill-error-details summary{margin-left:0}.skillcenter-space-errors>button{min-height:30px;flex:0 0 auto;padding:0 10px;border:1px solid hsl(var(--destructive) / .22);border-radius:7px;background:hsl(var(--panel));color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px}.skillcenter-page-state{min-height:300px;display:grid;place-items:center}.skillcenter-page-state.is-error{color:hsl(var(--destructive))}.skill-error-details{width:min(620px,100%);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:left}.skill-error-details__summary{text-align:center}.skill-error-details__original{margin-top:7px;color:hsl(var(--destructive));overflow-wrap:anywhere;text-align:center}.skill-error-details details{margin-top:9px}.skill-error-details summary{width:max-content;margin:0 auto;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.skill-error-details pre{max-height:220px;margin:8px 0 0;padding:10px 12px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .45);color:hsl(var(--foreground));font:inherit;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.skill-inline-error .skill-error-details,.skill-generation__action-error .skill-error-details{width:100%;color:inherit}.skill-inline-error .skill-error-details__summary,.skill-inline-error .skill-error-details__original,.skill-generation__action-error .skill-error-details__summary,.skill-generation__action-error .skill-error-details__original{text-align:left}.skill-inline-error .skill-error-details summary,.skill-generation__action-error .skill-error-details summary{margin-left:0}.skillcenter-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:hsl(var(--muted-foreground));font-size:12.5px}.skillcenter .skillcenter-pager{height:44px;margin-top:20px;padding:0;border-top:0}.skillcenter .skillcenter-pager-actions{padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel))}.skillcenter .skillcenter-pager button{width:28px;height:28px}.skill-detail-heading{flex:1 1 auto;overflow:hidden}.skill-detail-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.skill-detail-actions button{flex:0 0 auto;white-space:nowrap}.skill-detail-content--files{min-height:0}.skill-detail-content--files .skill-file-browser{min-height:420px;height:min(58vh,620px);border-top:1px solid hsl(var(--border))}.skill-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .28)}.skill-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(680px,calc(100vh - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 18px 48px hsl(var(--foreground) / .18)}.skill-dialog>header,.skill-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 16px}.skill-dialog>header{border-bottom:1px solid hsl(var(--border))}.skill-dialog>footer{justify-content:flex-end;border-top:1px solid hsl(var(--border))}.skill-dialog h2{margin:0;font-size:17px;font-weight:620}.skill-dialog>header>button{min-width:36px;min-height:32px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-dialog__body{min-height:0;padding:16px;overflow-y:auto}.skill-dialog__body label{display:grid;gap:6px;margin-bottom:14px;font-size:13px;font-weight:550}.skill-dialog__body input,.skill-dialog__body textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.skill-dialog__body input{min-height:36px;padding:6px 9px}.skill-dialog__body textarea{min-height:88px;padding:9px;resize:vertical}.skill-dialog__body p{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-dialog__file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:hsl(var(--muted) / .6);font-size:12px}.skill-dialog__file strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.skill-dialog__file span{flex:0 0 auto;color:hsl(var(--muted-foreground))}.skill-upload-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px))}.skill-upload-dialog__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.skill-upload-dropzone{width:100%;min-height:min(42vh,360px);display:grid;place-content:center;gap:8px;box-sizing:border-box;padding:32px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.skill-upload-dropzone:hover,.skill-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.skill-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-upload-dropzone strong{font-size:15px;font-weight:600}.skill-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:13px}.skill-add-dialog{grid-template-rows:auto minmax(0,1fr);width:min(460px,100%)}.skill-add-dialog>header>div{min-width:0}.skill-add-dialog>header p{margin:2px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.skill-add-dialog__options{display:grid;gap:10px;padding:16px}.skill-add-dialog__options>.skillcenter-disabled-action,.skill-add-dialog__options>.skillcenter-disabled-action>button{width:100%}.skill-add-dialog__options button{min-height:76px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.skill-add-dialog__options button:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .48)}.skill-add-dialog__options button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-add-dialog__options button:disabled{cursor:not-allowed;opacity:.52}.skill-add-dialog__options strong{font-size:13.5px;font-weight:600}.skill-add-dialog__options button>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.skill-generation__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:32px 32px 0;background:hsl(var(--background))}.skill-generation__header h1,.skill-generation__header p,.skill-generation__activity h2,.skill-generation__files h2{margin:0}.skill-generation__header h1{font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.skill-generation__header p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.skill-generation__ttl{color:hsl(var(--muted-foreground));font-size:12px}.skill-button{min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer}.skill-button:hover:not(:disabled){background:hsl(var(--muted) / .72)}.skill-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.skill-button:disabled{cursor:not-allowed;opacity:.5}.skill-button--quiet{background:transparent}.skill-button--primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-button--primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.skill-generation__setup{min-height:0;flex:1;margin:21px 29px 0;padding:3px 3px 48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.skill-generation__setup>label,.skill-generation__group label{display:grid;gap:6px;margin-bottom:16px;font-size:14px;font-weight:400}.skill-generation textarea,.skill-generation input{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400}.skill-generation input{height:36px;padding:0 10px}.skill-generation textarea{min-height:88px;padding:9px 10px;line-height:1.55;resize:vertical}.skill-generation textarea:focus-visible,.skill-generation input:focus-visible{outline:none;border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-generation input[aria-invalid=true]{border-color:hsl(var(--destructive) / .55);box-shadow:0 0 0 1px hsl(var(--destructive) / .12)}.skill-generation__field-help,.skill-generation__field-error{min-height:18px;font-size:12px;font-weight:400;line-height:1.5}.skill-generation__field-help{color:hsl(var(--muted-foreground))}.skill-generation__field-error{color:hsl(var(--destructive))}.skill-generation__section-head{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.skill-generation__section-head.is-basic{margin-top:0}.skill-generation__section-head div{display:grid;gap:2px}.skill-generation__section-head strong{font-size:17px;font-weight:620}.skill-generation__section-head span{color:hsl(var(--muted-foreground));font-size:12px}.skill-generation__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;isolation:isolate}.skill-generation__group{position:relative;min-width:0;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))}.skill-generation__group header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.skill-generation__group header button{border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__group label{margin-bottom:10px;font-size:12px}.skill-generation__group textarea{min-height:72px}.skill-generation__add-group{min-width:0;display:grid;place-items:center;padding:16px;border:1px dashed hsl(var(--border));border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.skill-generation__add-group:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .3);color:hsl(var(--foreground))}.skill-generation__add-group:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-generation__setup-actions{display:flex;justify-content:flex-end;margin-top:18px}.skill-config-select{position:relative;z-index:1;display:grid;gap:6px;margin-bottom:10px}.skill-config-select.is-open{z-index:100}.skill-config-select__label{color:hsl(var(--foreground));font-size:12px;font-weight:400;line-height:1.45}.skill-required-mark{margin-left:3px;color:hsl(var(--destructive))}.skill-config-select__trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.skill-config-select__trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.skill-config-select__trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.skill-config-select__trigger:disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable{padding:0 0 0 12px;cursor:text}.skill-config-select__trigger.is-editable.is-disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable:focus-within{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger.is-editable input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:none;background:transparent;color:inherit;font:inherit}.skill-config-select__trigger.is-editable input::placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__toggle{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:0;border:0;border-radius:0 5px 5px 0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skill-config-select__toggle:hover:not(:disabled){background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.skill-config-select__toggle:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-3px}.skill-config-select__toggle:disabled{cursor:default;opacity:.45}.skill-config-select__trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-config-select__trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__trigger svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground));transition:transform .16s ease}.skill-config-select__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.skill-config-select__menu{position:absolute;z-index:21;top:calc(100% + 6px);left:0;width:100%;max-height:238px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.skill-config-select__option{width:100%;min-height:34px;display:flex;align-items:center;padding:8px 10px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.skill-config-select__option:hover,.skill-config-select__option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.skill-config-select__option.is-selected{background:hsl(var(--primary) / .08)}.skill-config-select__empty{padding:9px 10px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.skill-config-select__error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.skill-inline-error,.skill-inline-notice,.skill-validation-errors{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:12.5px;line-height:1.5}.skill-inline-error,.skill-validation-errors{border:1px solid hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.skill-inline-error button{margin-left:10px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.skill-inline-notice{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .55);color:hsl(var(--muted-foreground))}.skill-validation-errors p{margin:4px 0 0}.skill-validation-errors button{min-height:30px;margin-top:10px;padding:0 10px;border:1px solid hsl(var(--destructive) / .25);border-radius:6px;background:hsl(var(--panel));color:hsl(var(--destructive));font:inherit;font-size:11.5px;cursor:pointer}.skill-validation-errors button:disabled{cursor:not-allowed;opacity:.5}.skill-generation__workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;flex:1}.skill-generation__candidate-tabs{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.skill-generation__candidate-tabs button{display:block;min-width:260px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));text-align:left;cursor:pointer}.skill-generation__candidate-tabs button.is-active{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.skill-generation__summary-row{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.skill-generation__summary-row+.skill-generation__summary-row{margin-top:7px}.skill-generation__summary-row>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.skill-generation__summary-row>strong{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skill-generation__candidate-summary{width:100%;min-width:0}.skill-generation__candidate{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:12px;gap:12px}.skill-generation__activity,.skill-generation__files{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.skill-generation__activity>header,.skill-generation__files>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-bottom:1px solid hsl(var(--border))}.skill-generation__activity>header{min-height:0;padding:12px 14px}.skill-generation__activity h2,.skill-generation__files h2{font-size:14px;font-weight:600}.skill-generation__files header button{border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__spinner{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;animation:skill-generation-spin .9s linear infinite}.skill-generation__spinner circle{opacity:.2}.skill-generation__activity .skill-conversation{flex:1;min-height:0;overflow-y:auto;padding:12px}.skill-generation__files-empty{display:grid;flex:1;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.skill-generation__ready-actions{grid-column:1 / -1;display:flex;min-width:0;align-items:flex-end;gap:10px}.skill-generation__publish-target{width:min(320px,36%);min-width:240px}.skill-generation__publish-target .skill-config-select{margin-bottom:0}.skill-generation__followup{grid-column:1 / -1;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--background))}.skill-generation__ready-actions .skill-generation__followup{min-width:0;flex:1}.skill-generation__followup textarea{min-width:0;min-height:36px;max-height:120px;flex:1;box-sizing:border-box;padding:8px 4px;resize:none;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.skill-generation__followup textarea::placeholder{color:hsl(var(--muted-foreground))}.skill-generation__followup .skill-button{height:36px;min-height:36px}.skill-generation__action-error{grid-column:1 / -1;margin-top:-4px}.skill-file-browser{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:0;flex:1}.skill-file-tree{min-width:0;overflow:auto;border-right:1px solid hsl(var(--border));padding:6px 0}.skill-file-tree__row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:30px;padding-top:4px;padding-right:8px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;white-space:nowrap}button.skill-file-tree__row{cursor:pointer}button.skill-file-tree__row:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.skill-file-tree__row.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.skill-file-tree__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.skill-file-tree__row>svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skill-file-tree__row small{color:hsl(var(--muted-foreground));font-size:10px}.skill-file-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.skill-file-preview>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:4px 9px;border-bottom:1px solid hsl(var(--border));font-size:11.5px}.skill-file-preview>header>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-preview>header div{display:flex;gap:4px}.skill-file-preview>header button{min-height:28px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skill-file-preview__body{min-width:0;min-height:0;overflow:auto}.skill-file-preview__body .cm-editor{height:100%}.skill-file-preview__markdown{padding:16px}.skill-file-preview__frontmatter{display:grid;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:8px;background:hsl(var(--secondary) / .5)}.skill-file-preview__frontmatter>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}.skill-file-preview__frontmatter dt{color:hsl(var(--muted-foreground));font-size:11px;font-weight:500}.skill-file-preview__frontmatter dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.skill-file-preview__markdown-body>:first-child{margin-top:0}.skill-file-preview__body img{display:block;max-width:calc(100% - 32px);max-height:calc(100% - 32px);margin:16px auto;object-fit:contain}.skill-file-preview__binary{display:grid;place-content:center;gap:5px;height:100%;padding:20px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}@media (max-width: 980px){.skill-generation__groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-generation__candidate{grid-template-columns:1fr;overflow-y:auto}.skill-generation__activity,.skill-generation__files{min-height:420px}.skill-generation__ready-actions{grid-column:1;align-items:stretch;flex-direction:column}.skill-generation__publish-target{width:100%;min-width:0}.skill-generation__followup{grid-column:1}}@media (max-width: 760px){.skillcenter{padding:24px 20px 0}.skillcenter-page-header{flex-direction:column;gap:16px}.skillcenter-page-heading h1{max-width:calc(100vw - 40px)}.skillcenter-page-heading--back h1{max-width:calc(100vw - 82px)}.skillcenter-search{width:100%}.skillcenter-toolbar{align-items:flex-start;flex-direction:column}.skillcenter-detail-facts{width:100%;justify-content:space-between;gap:12px}.skillcenter-detail-facts>div{min-width:0}.skillcenter-toolbar-actions{width:100%}.skillcenter-results{margin-top:22px}.skill-generation__header{padding:24px 20px 0}.skill-generation__setup{margin:17px 17px 0}}@media (max-width: 560px){.skill-generation__groups{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.skillcenter-disabled-tooltip{transition:none}.skill-generation *,.skill-generation *:before,.skill-generation *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.skill-generation__spinner{animation:none!important}}@keyframes skill-generation-spin{to{transform:rotate(360deg)}}.my-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.my-agents-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.my-agents-heading{min-width:0}.my-agents-title-row{display:flex;align-items:center;gap:8px}.my-agents-heading h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.my-agents-heading p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.my-agent-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.my-agent-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.my-agent-search svg{width:16px;height:16px;flex:0 0 16px}.my-agent-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.my-agent-search input::placeholder{color:hsl(var(--muted-foreground))}.my-agent-search input::-webkit-search-cancel-button{cursor:pointer}.my-agent-type-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.my-agent-type-pills{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.my-agent-type-pill{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.my-agent-type-pill:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.my-agent-type-pill.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.my-agent-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.my-agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.my-agent-inline-error{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.my-agent-inline-error span{min-width:0;overflow-wrap:anywhere}.my-agent-inline-error button{flex:0 0 auto;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.my-agent-card{width:100%;height:auto;box-sizing:border-box;border-radius:12px;background:hsl(var(--secondary) / .82)}.my-agent-create-primary{min-width:max-content;height:32px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.my-agent-create-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.my-agent-create-primary:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.my-agent-create-primary svg{width:14px;height:14px;flex:0 0 14px}.my-agent-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:0;animation:my-agent-card-enter .22s ease-out both;transition:transform .16s ease}.my-agent-card:hover{transform:translateY(-1px)}.my-agent-card-content{flex:0 0 auto;min-width:0;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;padding:16px;position:relative;z-index:1;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.my-agent-card-title{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.my-agent-card-title-copy{min-width:0}.my-agent-card-badges{display:flex;flex:0 0 auto;align-items:center;gap:6px}.my-agent-region-badge{min-height:22px;display:inline-flex;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600;line-height:1}.my-agent-draft-badge,.my-agent-deploying-badge{min-height:22px;display:inline-flex;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(43 90% 48% / .3);border-radius:999px;background:#fabf0f24;color:#a36f14;font-size:10px;font-weight:600;line-height:1}.my-agent-card-badges .runtime-owner-badge{min-height:22px;display:inline-flex;align-items:center;padding:0 8px;line-height:1}.my-agent-session-id{display:block;margin-top:3px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.my-agent-card h3{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:650;line-height:1.4;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.my-agent-description{min-height:40px;display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.my-agent-status-label{display:inline-flex;min-height:22px;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:550;line-height:1}.my-agent-status-label[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.my-agent-status-label[data-wakeable]{border-color:#e9aa0c4d;background:#fabf0f24;color:#a36f14}.my-agent-meta,.my-agent-meta dt,.my-agent-meta dd{margin:0}.my-agent-meta{display:grid;gap:5px;margin-top:12px}.my-agent-meta>div{display:flex;align-items:center}.my-agent-meta dt,.my-agent-meta dd{font-size:12px;line-height:1.4}.my-agent-meta dt{color:hsl(var(--muted-foreground))}.my-agent-meta dd{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at,.my-agent-region,.my-agent-expiry{width:100%;display:flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground))}.my-agent-created-at dt,.my-agent-region dt,.my-agent-expiry dt{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at dd,.my-agent-region dd,.my-agent-expiry dd{color:hsl(var(--muted-foreground));font-weight:400}.my-agent-expiry.is-expiring dd{color:#a36f14;font-weight:550}.my-agent-region dd{min-width:0;overflow:hidden;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.my-agent-actions{flex:0 0 42px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px 8px 7px;position:relative;z-index:0;border-radius:0 0 12px 12px;background:hsl(var(--secondary) / .82)}.my-agent-actions button{min-width:0;min-height:28px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.my-agent-actions button:hover:not(:disabled){background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.my-agent-actions button:disabled{cursor:default;opacity:.48}.my-agent-actions .my-agent-use{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:hsl(var(--foreground))}.my-agent-actions .my-agent-details{background:hsl(var(--background) / .56)}.my-agent-actions .my-agent-delete{color:hsl(var(--destructive))}.my-agent-actions .my-agent-delete:hover:not(:disabled){background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.my-agent-actions .my-agent-use:hover:not(:disabled){background:hsl(var(--background) / .72)}.my-agent-actions .my-agent-use.is-connected,.my-agent-actions .my-agent-use.is-connected:disabled{background:transparent;color:#1d7c40;opacity:1}.my-agent-use-spinner{width:11px;height:11px;flex:0 0 11px;box-sizing:border-box;border:1.25px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-gap-spin .7s linear infinite}.my-agent-loading-mark{box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-gap-spin .72s linear infinite}.my-agent-loading-mark{width:14px;height:14px;flex:0 0 14px}.my-agent-initial-loading,.my-agent-load-more,.my-agent-empty{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12.5px}.my-agent-initial-loading{min-height:180px;gap:8px}.my-agent-load-more{min-height:54px;gap:8px;padding-top:6px}.my-agent-empty-message{width:100%;height:100%;min-height:220px;display:grid;place-items:center}.my-agent-sandbox-empty-title{max-width:none;white-space:nowrap;text-wrap:nowrap}.my-agent-empty{min-height:220px;flex-direction:column;gap:7px}.my-agent-empty p,.my-agent-empty span{margin:0}.my-agent-empty p{white-space:pre-wrap;overflow-wrap:anywhere;color:inherit;font-size:inherit;font-weight:400}.my-agent-empty button{height:30px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px}.my-agent-actions button:focus-visible,.my-agent-type-pill:focus-visible,.my-agent-create-primary:focus-visible,.my-agent-empty button:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:-2px}@keyframes my-agent-card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){.my-agents-page{padding:24px 20px 0}.my-agents-header{flex-direction:column;gap:16px}.my-agent-search{width:100%}.my-agent-type-bar{align-items:stretch;flex-direction:column;gap:12px}.my-agent-create-primary{align-self:flex-end}.my-agent-results{padding-bottom:44px}}@media (max-width: 560px){.my-agents-page{padding-inline:16px}}@media (prefers-reduced-motion: reduce){.my-agent-card,.my-agent-loading-mark{animation:none}.my-agent-card,.my-agent-actions button,.my-agent-type-pill,.my-agent-create-primary,.my-agent-search{transition:none}.my-agent-use-spinner{animation:none}.my-agent-card:hover{transform:none}}.aw-root{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.aw-agent-head h2,.aw-eval-head h2,.aw-section-head h3{margin:0;color:hsl(var(--foreground));letter-spacing:-.025em}.aw-agent-head p,.aw-eval-head p,.aw-section-head p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.aw-view-tabs,.aw-agent-title-row,.aw-card-head,.aw-section-head,.aw-case-filters,.aw-eval-head{display:flex;align-items:center}.aw-view-tabs{flex:0 0 auto;gap:26px;padding:0 24px;border-bottom:1px solid hsl(var(--border))}.aw-view-tabs button,.aw-case-filters button{border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.aw-view-tabs button{position:relative;min-height:44px;padding:0;font-size:14px;font-weight:580}.aw-view-tabs button.is-active{color:hsl(var(--foreground))}.aw-view-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:hsl(var(--foreground))}.aw-run{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;transition:opacity .16s ease,transform .16s ease}.aw-run:not(:disabled):hover{transform:translateY(-1px)}.aw-root button:focus-visible,.aw-root input:focus-visible,.aw-root textarea:focus-visible,.aw-root select:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-run svg{width:15px;height:15px}.aw-run:disabled,.aw-create-card:disabled{cursor:default;opacity:.42}.aw-workspace-frame{flex:1;min-height:0;position:relative}.aw-workspace{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:304px minmax(0,1fr)}.aw-root.is-detail-only .aw-view-tabs,.aw-root.is-detail-only .aw-sidebar{display:none}.aw-root.is-detail-only .aw-workspace{grid-template-columns:minmax(0,1fr)}.aw-root.is-detail-only{font-size:14px}.aw-root.is-detail-only .aw-agent-head{padding-top:24px}.aw-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 12px 22px 24px}.aw-search{height:40px;min-height:40px;flex:0 0 40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--foreground) / .12);border-radius:10px;background:transparent;transition:border-color .16s ease,background-color .16s ease}.aw-search:focus-within{border-color:hsl(var(--foreground) / .16);background:hsl(var(--secondary) / .42);box-shadow:none}.aw-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;line-height:1}.aw-search input::placeholder{color:hsl(var(--muted-foreground) / .82)}.aw-search input:focus,.aw-search input:focus-visible,.aw-case-search input:focus,.aw-case-search input:focus-visible{outline:none!important;box-shadow:none}.aw-agent-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;margin-top:14px;overflow-y:auto}.aw-selection-toolbar{flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:8px;margin-top:10px}.aw-selection-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-selection-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-selection-toolbar button:disabled{cursor:default;opacity:.42}.aw-selection-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-selection-count{flex:1;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;white-space:nowrap}.aw-selection-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-selection-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-delete-error{margin-top:8px;padding:8px 10px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-agent-item,.aw-agent-check{width:100%;min-height:72px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid hsl(var(--foreground) / .1);border-radius:14px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,border-color .16s ease}.aw-agent-item:hover,.aw-agent-check:hover{border-color:hsl(var(--foreground) / .18);background:hsl(var(--secondary) / .42)}.aw-agent-item.is-active{border-color:hsl(var(--foreground) / .42);background:hsl(var(--secondary) / .28)}.aw-agent-item[draggable=true]{cursor:grab}.aw-agent-item[draggable=true]:active{cursor:grabbing}.aw-agent-item.is-dragging{opacity:.46}.aw-agent-item.is-drop-target{border-color:hsl(var(--foreground) / .46);background:hsl(var(--secondary) / .54)}.aw-agent-item.is-drop-before{box-shadow:inset 0 2px hsl(var(--foreground) / .44)}.aw-agent-item.is-drop-after{box-shadow:inset 0 -2px hsl(var(--foreground) / .44)}.aw-agent-item.is-selecting{gap:10px}.aw-agent-item.is-selected-for-delete{border-color:hsl(var(--foreground) / .36);background:hsl(var(--secondary) / .44)}.aw-agent-item.is-selection-disabled{opacity:.58}.aw-select-marker{width:16px;height:16px;flex:0 0 16px;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background))}.aw-select-marker.is-checked{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.aw-select-marker.is-checked:after{content:"";width:7px;height:4px;border-bottom:1.6px solid hsl(var(--background));border-left:1.6px solid hsl(var(--background));transform:rotate(-45deg) translateY(-1px)}.aw-agent-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.aw-agent-name-row{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-name-row>strong{min-width:0;flex:1}.aw-version-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;line-height:1.2}.aw-draft-badge{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f0ebe0;color:#675332;font-size:10px;font-weight:680;line-height:1.2}.aw-draft-badge.is-deploying{background:#e4eaf2;color:#2d5080}.aw-draft-badge.is-error{background:#dc28281f;color:hsl(var(--destructive))}.aw-draft-badge.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.aw-agent-copy strong,.aw-agent-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-agent-copy strong{font-size:13px;font-weight:650}.aw-agent-copy small{color:hsl(var(--muted-foreground));font-size:11px}.aw-agent-item>svg{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .14s ease,transform .14s ease}.aw-agent-item:hover>svg,.aw-agent-item.is-active>svg{opacity:1}.aw-agent-item:hover>svg{transform:translate(2px)}.aw-agent-check{position:relative}.aw-agent-check>input{position:absolute;width:1px;height:1px;opacity:0}.aw-check-mark{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--foreground) / .22);border-radius:5px;background:hsl(var(--background));color:transparent}.aw-check-mark svg{width:11px;height:11px}.aw-agent-check:has(input:checked) .aw-check-mark{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.aw-agent-check:has(input:focus-visible){outline:2px solid hsl(var(--ring) / .42);outline-offset:-2px}.aw-list-empty{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:28px 12px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-list-error{display:flex;flex-direction:column;align-items:center;gap:10px}.aw-list-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}.aw-create-card{width:100%;min-height:48px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px dashed hsl(var(--foreground) / .28);border-radius:14px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:border-color .16s ease,color .16s ease}.aw-create-card:hover:not(:disabled){border-color:hsl(var(--foreground) / .5);color:hsl(var(--foreground))}.aw-create-card svg{width:15px;height:15px}.aw-list-count{flex:0 0 auto;padding-top:10px;color:hsl(var(--muted-foreground));font-size:10.5px;text-align:center}.aw-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background))}.aw-detail-loading{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.aw-detail-loading-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background) / .94);box-shadow:0 14px 40px hsl(var(--foreground) / .1)}.aw-detail-loading-card>span:not(.loading-gap-spinner){display:flex;flex-direction:column;gap:2px}.aw-detail-loading-card>.loading-gap-spinner{width:18px;height:18px;flex:0 0 18px}.aw-detail-loading-card strong{font-size:13px;font-weight:650}.aw-detail-loading-card small{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-empty-selection{align-items:center;justify-content:center}.aw-empty-selection p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.aw-agent-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}.aw-agent-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.aw-head-delete{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--destructive) / .24);border-radius:999px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:620}.aw-head-delete:hover:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-head-delete:disabled{cursor:default;opacity:.46}.aw-head-delete svg{width:14px;height:14px}.aw-head-delete--draft{border-color:hsl(var(--border));background:transparent;color:hsl(var(--foreground))}.aw-head-delete--draft:hover:not(:disabled){background:hsl(var(--secondary) / .54)}.aw-head-delete.studio-update-action{border:1px solid hsl(var(--destructive) / .34);background:#ffffffc2;color:hsl(var(--destructive));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.aw-head-delete.studio-update-action:hover:not(:disabled){border:1px solid hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.aw-agent-title-row{gap:8px}.aw-agent-head h2,.aw-eval-head h2{overflow:hidden;font-size:20px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.aw-agent-title-row>span,.aw-eval-head>div>span{padding:2px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px}.aw-agent-head p{max-width:720px;overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.aw-update{align-self:center}.aw-update-wrap{position:relative;align-self:center;display:inline-flex;border-radius:999px}.aw-update-wrap.is-disabled{cursor:not-allowed}.aw-update-wrap.is-disabled .aw-update{cursor:inherit}.aw-update-spinner{width:14px;height:14px;flex-basis:14px;border-color:currentColor;border-right-color:transparent}.aw-update-disabled-reason{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:260px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .14s ease,transform .14s ease}.aw-update-wrap.is-disabled:hover .aw-update-disabled-reason,.aw-update-wrap.is-disabled:focus-visible .aw-update-disabled-reason{opacity:1;transform:translate(-50%)}.aw-update-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}@media (prefers-reduced-motion: reduce){.aw-update-disabled-reason{transition:none}}.aw-talk svg{width:15px;height:15px}.aw-agent-tabs{flex:0 0 auto;display:flex;gap:24px;margin:0 24px;padding:0;border-bottom:1px solid hsl(var(--border))}.aw-agent-tabs button{position:relative;min-height:42px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:14px;font-weight:580}.aw-agent-tabs button.is-active{color:hsl(var(--foreground))}.aw-agent-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:hsl(var(--foreground))}.aw-agent-tabs button:disabled{cursor:default}.aw-content{flex:1;min-height:0;overflow-y:auto;margin-top:14px;padding:0 24px 80px}.aw-basic-stack,.aw-usage{display:flex;flex-direction:column;gap:16px}.aw-usage-intro h3,.aw-usage-intro p,.aw-usage-users-head h3,.aw-usage-summary{margin:0}.aw-usage-intro h3,.aw-usage-users-head h3{color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-usage-intro p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-usage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aw-usage-summary>div{min-width:0;padding:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-usage-summary dt{color:hsl(var(--muted-foreground));font-size:12px;font-weight:500}.aw-usage-summary dd{margin:8px 0 0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25}.aw-usage-users-head{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.aw-usage-users-head .text-shimmer{flex:0 0 auto;font-size:12px}.aw-usage-state{min-height:116px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55;text-align:center}.aw-usage-state.is-error{flex-direction:column;color:hsl(var(--destructive));white-space:pre-wrap;overflow-wrap:anywhere}.aw-usage-state button,.aw-usage-pagination button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-usage-state button:hover,.aw-usage-pagination button:hover:not(:disabled){background:hsl(var(--secondary) / .5)}.aw-usage-state button:focus-visible,.aw-usage-pagination button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-usage-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-usage-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-usage-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aw-usage-table th,.aw-usage-table td{padding:13px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:middle}.aw-usage-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-usage-table th:first-child,.aw-usage-table td:first-child{width:48%}.aw-usage-table th:nth-child(2),.aw-usage-table td:nth-child(2){width:18%}.aw-usage-table td strong,.aw-usage-table td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-usage-table td strong{font-weight:600}.aw-usage-table td small{margin-top:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.aw-usage-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px}.aw-usage-pagination span{min-width:92px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-usage-pagination button:disabled{opacity:.48;cursor:not-allowed}.aw-integration-stack{display:flex;flex-direction:column;gap:16px}.aw-integration-intro h3,.aw-integration-intro p,.aw-integration-panel h3,.aw-integration-panel h4,.aw-integration-panel dl,.aw-integration-panel dd{margin:0}.aw-integration-intro h3{font-size:15px;font-weight:620}.aw-integration-intro p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-body{display:flex;min-width:0;flex-direction:column;gap:12px}.aw-integration-protocol-tabs{position:relative;display:grid;width:min(240px,100%);height:36px;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.aw-integration-protocol-slider{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc((100% - 9px)/2);border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .05);transition:transform .24s cubic-bezier(.22,1,.36,1)}.aw-integration-protocol-tabs.is-a2a .aw-integration-protocol-slider{transform:translate(calc(100% + 3px))}.aw-integration-protocol-tabs button{position:relative;z-index:1;min-width:0;min-height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;transition:background-color .16s ease,color .16s ease}.aw-integration-protocol-tabs button:hover{background:hsl(var(--panel) / .45);color:hsl(var(--foreground))}.aw-integration-protocol-tabs button[aria-selected=true]{color:hsl(var(--foreground));font-weight:620}.aw-integration-protocol-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-panel{min-width:0;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-integration-panel.has-example{display:flex;flex-direction:column;gap:20px}.aw-integration-panel header{display:flex;align-items:center;margin-bottom:4px}.aw-integration-panel h3{color:hsl(var(--foreground));font-size:14px;font-weight:620}.aw-integration-panel dl{display:grid;align-content:start;gap:12px}.aw-integration-panel dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px}.aw-integration-panel dt{color:hsl(var(--muted-foreground));font-size:12px}.aw-integration-panel dd{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55}.aw-integration-secret{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px}.aw-integration-secret-value{min-width:52px;overflow-wrap:anywhere}.aw-integration-secret-toggle{display:inline-grid;width:28px;height:28px;flex:0 0 28px;padding:0;place-items:center;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.aw-integration-secret-toggle:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-integration-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-secret-toggle:disabled{cursor:wait;opacity:.62}.aw-integration-secret-toggle svg,.aw-integration-secret-toggle .loading-gap-spinner{width:16px;height:16px}.aw-integration-secret-error{flex-basis:100%;color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-integration-example{min-width:0}.aw-integration-example h4{margin-bottom:8px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.aw-integration-example-code.md{min-width:0;font-size:12px}.aw-integration-example-code.md pre{max-height:360px;margin:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary))}.aw-integration-example-code.md pre code{display:block;min-width:max-content;padding:14px 16px;line-height:1.55}.aw-integration-error{display:flex;align-items:center;gap:8px;min-height:36px;padding:10px 12px;border-radius:8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-error{justify-content:space-between;color:hsl(var(--destructive))}.aw-integration-error button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.aw-canvas-card,.aw-details-card{min-width:0;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel))}.aw-canvas-card{overflow:hidden}.aw-canvas-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:13px}.aw-details-card{overflow:hidden}.aw-deploy-progress-card{width:100%;min-width:0;box-sizing:border-box;padding:24px 26px 26px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--panel))}.aw-detail-deployment{flex:0 0 auto;padding:0 24px 16px}.aw-detail-deployment.is-running{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.aw-main.is-deploying .aw-agent-tabs,.aw-main.is-deploying .aw-content,.aw-main.is-deploying .aw-basic-actions{display:none}.aw-deploy-progress-head,.aw-deploy-progress-head>div,.aw-deploy-progress-icon{display:flex;align-items:center}.aw-deploy-progress-head{justify-content:space-between;gap:20px}.aw-deploy-progress-head>div{min-width:0;gap:12px}.aw-deploy-progress-head>div>div{min-width:0}.aw-deploy-progress-icon{width:34px;height:34px;flex:0 0 34px;justify-content:center;border-radius:50%;background:#eaeff5;color:#295189}.aw-deploy-progress-icon svg{width:17px;height:17px}.aw-deploy-progress-card.is-success .aw-deploy-progress-icon{background:#e8f2ee;color:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-icon,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-icon{background:#f5ecea;color:#8d3d34}.aw-deploy-progress-head h3{margin:0;font-size:14px;font-weight:700}.aw-deploy-progress-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;overflow-wrap:anywhere}.aw-deploy-progress-head>strong{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:12px;font-weight:650}.aw-deploy-progress-track{height:5px;margin-top:18px;overflow:hidden;border-radius:999px;background:hsl(var(--secondary))}.aw-deploy-progress-track span{display:block;height:100%;border-radius:inherit;background:#295189;transition:width .32s cubic-bezier(.22,1,.36,1)}.aw-deploy-progress-card.is-success .aw-deploy-progress-track span{background:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-track span,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-track span{background:#8d3d34}.aw-deploy-steps{margin:22px 0 0;padding:0;list-style:none}.aw-deploy-steps li{position:relative;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:0 0 18px}.aw-deploy-steps li:last-child{padding-bottom:0}.aw-deploy-progress-actions{display:flex;justify-content:flex-end;margin-top:20px}.aw-deploy-steps li:not(:last-child):after{content:"";position:absolute;top:28px;bottom:0;left:13px;width:2px;border-radius:999px;background:hsl(var(--border))}.aw-deploy-steps li.is-done:not(:last-child):after{background:#9dcdb8}.aw-deploy-step-marker{position:relative;z-index:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:680}.aw-deploy-step-marker svg{width:14px;height:14px}.aw-deploy-steps li.is-done .aw-deploy-step-marker{border-color:#b3dbca;background:#e8f2ee;color:#2d7656}.aw-deploy-steps li.is-active .aw-deploy-step-marker{border-color:#9eb3d1;background:#eaeff5;color:#295189}.aw-deploy-steps li.is-failed .aw-deploy-step-marker{border-color:#dcbfbc;background:#f5ecea;color:#8d3d34}.aw-deploy-step-copy{min-width:0;padding-top:2px}.aw-deploy-step-copy strong{display:block;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:620;line-height:1.4}.aw-deploy-step-copy p{min-width:0;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.aw-deploy-steps li.is-done .aw-deploy-step-copy strong,.aw-deploy-steps li.is-active .aw-deploy-step-copy strong,.aw-deploy-steps li.is-failed .aw-deploy-step-copy strong{color:hsl(var(--foreground))}.aw-deploy-steps li.is-active .aw-deploy-step-copy p{color:hsl(var(--foreground) / .78)}.aw-deploy-step-log{min-width:0;margin-top:10px}.aw-deploy-log{min-width:0;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--canvas));overflow:hidden}.aw-deploy-log header,.aw-deploy-log header>div,.aw-deploy-log-actions,.aw-deploy-log-actions button{display:flex;align-items:center}.aw-deploy-log header{min-width:0;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.aw-deploy-log.is-collapsed header{border-bottom:0}.aw-deploy-log header>div:first-child{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.aw-deploy-log strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:640;line-height:1.35}.aw-deploy-log span{min-width:0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.aw-deploy-log-actions{flex:0 0 auto;gap:6px}.aw-deploy-log-actions button{min-height:28px;gap:5px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:11.5px;font-weight:560;cursor:pointer}.aw-deploy-log-actions button:hover{background:hsl(var(--muted))}.aw-deploy-log-actions button span{color:inherit;font-size:inherit;line-height:inherit}.aw-deploy-log-actions button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.aw-deploy-log-actions svg{width:13px;height:13px;flex:0 0 auto}.aw-deploy-log pre{max-height:260px;min-width:0;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:hsl(var(--foreground) / .86);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.55}.aw-deploy-log-empty{padding:12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.aw-deploy-log.is-error{border-color:#dcbfbc}.aw-card-head{justify-content:space-between;gap:12px;min-height:48px;padding:0 16px}.aw-card-head strong{font-size:13px;font-weight:680}.aw-card-head span{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-canvas{height:220px;min-height:0;border-top:1px solid hsl(var(--border))}.aw-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;border:0;background:#f9f8f5}.aw-canvas .abc-canvas{flex:1;min-height:0}.aw-canvas .react-flow__controls{transform:scale(.86);transform-origin:bottom left}.aw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 16px 14px}.aw-facts>div{min-height:39px;display:grid;grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);align-items:center;gap:12px;border-top:1px solid hsl(var(--border) / .72)}.aw-facts>div:nth-child(2n){padding-left:20px}.aw-facts>div:nth-child(odd){padding-right:20px}.aw-facts dt{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-facts dd{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aw-facts .aw-fact-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;overflow:visible;white-space:normal}.aw-fact-badges span{max-width:100%;overflow:hidden;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .55);font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aw-status-dot{width:6px;height:6px;display:inline-block;margin-right:6px;border-radius:50%;background:#358d67}.aw-section-head{justify-content:space-between;gap:18px;margin-bottom:16px}.aw-section-head h3{font-size:17px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-filter-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.aw-case-filter-stack{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.aw-case-source-filters{display:flex;flex-wrap:wrap;gap:6px}.aw-case-source-filters button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.aw-case-source-filters button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-case-source-filters button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button{min-width:0;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .22)}.aw-case-summary>button{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:14px 16px;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.aw-case-summary>button:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .36)}.aw-case-summary>button:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:2px}.aw-case-summary strong{color:hsl(var(--foreground));font-size:26px;font-weight:720;line-height:1}.aw-case-summary span{min-width:0;color:hsl(var(--foreground));font-size:12px;font-weight:640}.aw-case-search{width:min(360px,46%);min-width:260px;height:40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .16s ease,box-shadow .16s ease}.aw-case-search:focus-within{border-color:hsl(var(--foreground) / .32);box-shadow:0 0 0 3px hsl(var(--foreground) / .045)}.aw-case-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-case-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.aw-case-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.aw-case-toolbar{min-height:32px;display:flex;align-items:center;gap:8px;margin:-2px 0 14px}.aw-case-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-case-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-case-toolbar button:disabled{cursor:default;opacity:.42}.aw-case-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-case-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-case-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-filters button{min-height:30px;padding:0 12px;border-radius:6px;font-size:12.5px}.aw-case-filters button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .07)}.aw-case-table{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-width:870px;min-height:86px;display:grid;grid-template-columns:minmax(180px,.78fr) minmax(250px,1.16fr) 80px minmax(220px,.94fr) 48px;align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:13px}.aw-case-row:not(.aw-case-row-head){cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.aw-case-row:not(.aw-case-row-head):hover,.aw-case-row.is-focused,.aw-case-row.is-selected-for-delete{background:hsl(var(--secondary) / .28)}.aw-case-row.is-focused{box-shadow:inset 3px 0 hsl(var(--foreground) / .22)}.aw-case-row.is-selected-for-delete{box-shadow:inset 3px 0 hsl(var(--foreground) / .34)}.aw-case-row:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:-2px}.aw-case-row:first-child{border-top:0}.aw-case-row-head{min-height:38px;align-items:center;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-case-action-head{text-align:center}.aw-case-text,.aw-case-output,.aw-case-reason{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-score{color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.5}.aw-case-reason p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-reason.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-title-line{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{flex:1;min-width:0}.aw-case-actions{min-width:0;display:flex;justify-content:center}.aw-case-row strong,.aw-case-row p,.aw-case-row small{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.aw-case-row strong{color:hsl(var(--foreground));font-weight:600;line-height:1.45}.aw-case-row p{margin:0;color:hsl(var(--muted-foreground));line-height:1.5}.aw-case-output-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-output.is-expanded .aw-case-output-preview{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-expand{width:fit-content;min-height:24px;margin-top:2px;padding:0 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.aw-case-expand:hover{background:hsl(var(--secondary) / .55)}.aw-case-row small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35}.aw-case-time{color:hsl(var(--foreground) / .62)!important}.aw-case-delete{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.aw-case-delete:hover:not(:disabled){border-color:hsl(var(--destructive) / .18);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.aw-case-delete:active:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-empty{min-height:116px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px}.aw-case-error{color:hsl(var(--destructive))}.aw-case-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--destructive) / .26);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-deployment-panel{width:100%;box-sizing:border-box;margin:0}.aw-settings-card{padding:18px;border:1px solid hsl(var(--border));border-radius:14px}.aw-optimizations{display:flex;flex-direction:column;gap:16px}.aw-optimization-intro h3{margin:0;color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-optimization-intro p{margin:5px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-optimization-state{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.aw-optimization-state.is-error{color:hsl(var(--destructive))}.aw-optimization-state button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.aw-optimization-table-wrap{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-optimization-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-optimization-table th,.aw-optimization-table td{padding:14px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:top}.aw-optimization-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-optimization-table th:first-child,.aw-optimization-table td:first-child{width:108px}.aw-optimization-table th:nth-child(2),.aw-optimization-table td:nth-child(2){width:142px}.aw-optimization-module{color:hsl(var(--foreground));font-size:13px;font-weight:620;line-height:1.55}.aw-optimization-list{margin:0;padding:0;list-style:none}.aw-optimization-list li{position:relative;padding-left:16px}.aw-optimization-list li+li{margin-top:13px;padding-top:13px;border-top:1px dashed hsl(var(--border))}.aw-optimization-list li:before{position:absolute;top:6px;left:1px;width:5px;height:5px;border-radius:50%;background:hsl(var(--primary) / .72);content:""}.aw-optimization-list li+li:before{top:19px}.aw-optimization-list strong{display:block;font-size:13.5px;font-weight:650;line-height:1.45}.aw-optimization-list p{margin:5px 0 0;color:hsl(var(--muted-foreground));line-height:1.55}.aw-priority{font-size:13px;font-weight:700;line-height:1.5}.aw-priority.is-high{color:hsl(var(--destructive))}.aw-priority.is-medium{color:#93591f}.aw-priority.is-low{color:#28674c}.aw-readonly-config{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aw-readonly-config>div{min-width:0;padding:12px 14px;border-radius:10px;background:hsl(var(--secondary) / .42)}.aw-readonly-config dt{color:hsl(var(--muted-foreground));font-size:11px}.aw-readonly-config dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12px;font-weight:600}.aw-readonly-config dd.is-ready{color:#1d7c40}.aw-basic-actions{position:absolute;z-index:8;bottom:20px;left:50%;display:flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;border-radius:10px;background:transparent;box-shadow:none;transform:translate(-50%)}.aw-eval-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;justify-content:space-between;gap:20px;padding:14px 24px}.aw-evaluation-glass{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .44);color:hsl(var(--foreground));-webkit-backdrop-filter:blur(9px) saturate(118%);backdrop-filter:blur(9px) saturate(118%);transition:background .18s ease,backdrop-filter .18s ease}.aw-evaluation-glass:hover{background:hsl(var(--background) / .52);-webkit-backdrop-filter:blur(11px) saturate(125%);backdrop-filter:blur(11px) saturate(125%)}.aw-evaluation-glass span{padding:8px 13px;border:1px solid hsl(var(--border) / .82);border-radius:999px;background:hsl(var(--background) / .7);box-shadow:0 8px 24px hsl(var(--foreground) / .07);font-size:12.5px;font-weight:620;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.aw-eval-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-run{min-height:38px;padding:0 14px;border-radius:9px}.aw-eval-setup{width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.aw-eval-block{min-width:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px}.aw-eval-agent-grid{max-height:230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding:0 16px 16px}.aw-eval-agent-grid>label{min-height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid hsl(var(--border) / .82);border-radius:10px;cursor:pointer}.aw-eval-agent-grid input,.aw-metric-list input{width:15px;height:15px;accent-color:hsl(var(--foreground))}.aw-eval-agent-grid label>span{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-eval-agent-grid strong,.aw-eval-agent-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-eval-agent-grid strong{font-size:12px;font-weight:620}.aw-eval-agent-grid small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-eval-setting-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:14px}.aw-eval-fields{display:flex;flex-direction:column;gap:13px;padding:0 16px 16px}.aw-eval-fields label{min-height:36px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.aw-eval-fields label>span,.aw-eval-fields label>small{color:hsl(var(--muted-foreground));font-size:11px}.aw-eval-fields select{width:100%;height:34px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11.5px}.aw-metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}.aw-metric-list label{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid hsl(var(--border) / .82);border-radius:9px;cursor:pointer;font-size:11.5px}.aw-eval-history{width:min(820px,100%);margin:0 auto}.aw-history-list{display:flex;flex-direction:column;gap:9px}.aw-history-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 16px;align-items:center;gap:16px;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:11px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.aw-history-list>button:hover{border-color:hsl(var(--foreground) / .2)}.aw-history-list>button>span:first-child,.aw-history-score{display:flex;flex-direction:column;gap:4px}.aw-history-list strong{font-size:12px}.aw-history-list small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-history-score{align-items:flex-end}.aw-history-score strong{font-size:17px}.aw-complete{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#3c866617;color:#28674c;font-size:10.5px;font-weight:620}.aw-complete svg{width:12px;height:12px}.aw-results-empty{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));text-align:center}.aw-results-empty strong{color:hsl(var(--foreground));font-size:12.5px}.aw-results-empty span{font-size:11.5px}@media (max-width: 980px){.aw-workspace{grid-template-columns:260px minmax(0,1fr)}.aw-eval-setting-grid{grid-template-columns:minmax(0,1fr)}.aw-case-row{min-width:790px;grid-template-columns:minmax(160px,.78fr) minmax(220px,1fr) 72px minmax(180px,.82fr) 48px}}@media (max-width: 720px){.aw-view-tabs{padding-inline:16px}.aw-workspace{grid-template-columns:minmax(0,1fr);overflow-y:auto}.aw-sidebar{height:340px;max-height:340px;box-sizing:border-box;padding:18px 16px}.aw-agent-list{min-height:128px}.aw-main{min-height:620px;overflow:visible}.aw-agent-tabs{gap:18px;margin-inline:16px;overflow-x:auto}.aw-agent-head,.aw-eval-head{padding-inline:16px}.aw-content{overflow:visible;padding-inline:16px}.aw-facts{grid-template-columns:minmax(0,1fr)}.aw-facts>div:nth-child(n){padding-right:0;padding-left:0}.aw-eval-agent-grid,.aw-metric-list{grid-template-columns:minmax(0,1fr)}.aw-case-summary,.aw-case-row{min-width:0;grid-template-columns:minmax(0,1fr)}.aw-case-filter-bar{align-items:stretch;flex-direction:column;gap:12px}.aw-case-search{width:100%;min-width:0}.aw-case-row-head{display:none}.aw-case-cell{position:relative;padding-top:20px}.aw-case-cell:before{content:attr(data-label);position:absolute;top:0;left:0;color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.aw-case-actions{justify-content:flex-start}.aw-optimization-table{min-width:680px}.aw-usage-summary{grid-template-columns:minmax(0,1fr)}.aw-usage-pagination{justify-content:space-between}.aw-readonly-config{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.aw-integration-protocol-slider{transition:none}.aw-root *,.aw-root *:before,.aw-root *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.applications-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.applications-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.applications-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.applications-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.applications-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.applications-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.applications-search svg{width:16px;height:16px;flex:0 0 16px}.applications-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.applications-search input::placeholder{color:hsl(var(--muted-foreground))}.applications-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.applications-categories button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.applications-categories button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.applications-categories button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.applications-categories button:focus-visible{outline:2px solid hsl(var(--ring) / .3);outline-offset:2px}.applications-results{flex:1;min-height:0;overflow-y:auto;margin-top:28px;padding-bottom:56px;scrollbar-gutter:stable}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.application-card-wrap{position:relative;min-width:0;display:flex;border-radius:12px}.application-card-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card{width:100%;min-width:0;min-height:96px;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;padding:16px 18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;box-shadow:0 1px 2px hsl(var(--foreground) / .035);animation:application-card-enter .18s ease-out both;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.application-card:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .24);box-shadow:0 4px 14px hsl(var(--foreground) / .06)}.application-card:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card:disabled{cursor:not-allowed;opacity:.5}.application-card:disabled:hover{border-color:hsl(var(--border));background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.application-card-tooltip{position:absolute;z-index:30;top:50%;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 3px));transition:opacity .14s ease,transform .14s ease}.application-card-wrap.is-disabled:hover .application-card-tooltip,.application-card-wrap.is-disabled:focus-visible .application-card-tooltip{opacity:1;transform:translate(-50%,-50%)}.application-card-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-brand-icon{object-fit:contain}.application-card-copy{min-width:0}.application-card-title{display:flex;align-items:center;gap:6px}.application-card-copy h2{min-width:0;margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.application-card-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:16px;box-sizing:border-box;padding:1px 6px;border-radius:999px;background:hsl(var(--destructive));color:#fff;font-size:10px;font-weight:600;line-height:1.2}.application-card-badge.is-success{background:#36ab661f;color:#217343}.application-card-copy p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.applications-empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:hsl(var(--muted-foreground))}.applications-empty svg{width:32px;height:32px;margin-bottom:12px}.applications-empty h2{margin:0;color:hsl(var(--foreground));font-size:15px;font-weight:600}.applications-empty p{margin:6px 0 0;font-size:12.5px}@keyframes application-card-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.applications-page{padding:24px 20px 0}.applications-header{flex-direction:column;gap:16px}.applications-search{width:100%}}@media (prefers-reduced-motion: reduce){.application-card{animation:none;transition:none}.application-card-tooltip{transition:none}}.system-info-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));font-family:inherit}.system-info-page-header{flex:0 0 auto}.system-info-page-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.system-info-page-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.system-info-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;align-content:start;gap:16px;margin-top:24px;padding-bottom:56px}.system-info-section{min-width:0;padding:20px;border-radius:12px;background:hsl(var(--secondary) / .72)}.system-info-section h2{margin:0 0 16px;color:hsl(var(--foreground));font-size:15px;font-weight:600;line-height:1.4}.system-info-summary,.system-info-tool{margin:0}.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{min-width:0;display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);align-items:center;gap:16px}.system-info-summary dt,.system-info-tool dt,.system-info-pool dt{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:400;line-height:1.5}.system-info-summary dd,.system-info-tool dd,.system-info-pool dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.system-info-resource-value{min-width:0}.system-info-resource-value>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link{min-width:0;max-width:100%;width:fit-content;min-height:28px;display:inline-flex;align-items:center;gap:6px;margin:-4px -2px;padding:4px 2px;border-radius:4px;color:inherit;cursor:pointer;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:4px;transition:color .16s ease,text-decoration-color .16s ease}.system-info-resource-link>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link svg{width:15px;height:15px;flex:0 0 15px;opacity:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:opacity .16s ease}.system-info-resource-link:hover{color:hsl(var(--foreground));text-decoration-color:currentColor}.system-info-resource-link:hover svg,.system-info-resource-link:focus-visible svg{opacity:1}.system-info-resource-link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px;text-decoration-color:currentColor}.system-info-tool-list{display:grid;gap:8px}.system-info-pool-list{display:grid;gap:12px}.system-info-pool{min-width:0;display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding:4px 0}.system-info-empty{color:hsl(var(--muted-foreground));font-weight:400}.system-info-tool{min-width:0;padding:4px 0}.system-info-tool-label{display:flex;align-items:center;gap:7px}.system-info-tool-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(44 88% 43% / .3);border-radius:999px;background:#fac70f2e;color:#976507;font-size:10px;font-weight:600;line-height:1.25;white-space:nowrap}.system-info-loading{display:flex;align-items:center;min-height:24px;color:hsl(var(--muted-foreground));font-size:13px}.system-info-error{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:12px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.system-info-error p,.system-info-empty{margin:0}.system-info-error button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500}.system-info-error button:hover{background:hsl(var(--muted))}.system-info-error button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.system-info-empty{font-size:13px;line-height:1.55}@media (max-width: 760px){.system-info-page{padding:24px 20px 0}}@media (max-width: 520px){.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion: reduce){.system-info-resource-link,.system-info-resource-link svg{transition:none}}@media (hover: none){.system-info-resource-link svg{opacity:1}}.github-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.github-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.github-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.github-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-back svg{width:16px;height:16px}.github-integration-logo{width:30px;height:30px;flex:0 0 30px;color:hsl(var(--foreground))}.github-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.github-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-integration-layout{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:start;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.github-section-panel{width:100%;min-width:0;box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent}.github-panel-heading p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.6}.github-release-form{margin-top:24px}.github-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.github-field{min-width:0;display:flex;flex-direction:column}.github-field>label,.github-token-label-row>label{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.github-field-requirement{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:500}.github-field-requirement.is-required{color:hsl(var(--destructive))}.github-field input{width:100%;height:38px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.github-field input::placeholder{color:hsl(var(--muted-foreground))}.github-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.github-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.github-region-picker{gap:0;margin:0}.github-region-picker .pp-region-trigger,.github-region-picker .pp-region-option{height:38px;font-size:14px}.github-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.github-token-field{margin-top:16px}.github-token-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.github-token-label-row>a{display:inline-flex;align-items:center;gap:4px;color:#2371e7;font-size:12.5px;font-weight:600;line-height:1.5;text-decoration:none}.github-token-label-row>a:hover{text-decoration:underline}.github-token-label-row>a:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px;border-radius:4px}.github-token-label-row>a svg{width:13px;height:13px}.github-token-input{position:relative}.github-token-input input{padding-right:42px}.github-token-input button{position:absolute;top:5px;right:4px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.github-token-input button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-token-input button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.github-token-input button svg{width:17px;height:17px}.github-submit-message{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-top:16px;padding:10px 12px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.5}.github-submit-message.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.github-submit-message.is-success{border-color:#24894e3d;background:#2bab6012;color:#217343}.github-submit-message a,.github-history-item a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:inherit;font-weight:620;text-decoration:none}.github-submit-message a:hover,.github-history-item a:hover{text-decoration:underline}.github-submit-message svg,.github-history-item svg{width:14px;height:14px}.github-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid hsl(var(--border))}.github-secrets-note{max-width:470px;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-secrets-note strong{color:hsl(var(--foreground));font-weight:600}.github-form-actions button{min-width:126px;height:36px;padding:0 15px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:background-color .16s ease,opacity .16s ease}.github-form-actions button:hover:not(:disabled){background:hsl(var(--foreground) / .84)}.github-form-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-form-actions button:disabled{cursor:wait;opacity:.56}@media (max-width: 680px){.github-integration-page{padding:20px 18px 0}.github-field-grid{grid-template-columns:minmax(0,1fr)}.github-form-actions{align-items:stretch;flex-direction:column}.github-form-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.github-back,.github-field input,.github-form-actions button{transition:none}}.feishu-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.feishu-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.feishu-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.feishu-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.feishu-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.feishu-back:disabled{cursor:not-allowed;opacity:.5}.feishu-back svg{width:16px;height:16px}.feishu-integration-logo{width:30px;height:30px;flex:0 0 30px;object-fit:contain}.feishu-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.feishu-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.feishu-integration-layout{flex:1;min-width:0;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.feishu-section-panel{width:100%;min-width:0}.feishu-panel-description{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.feishu-form{margin-top:24px}.feishu-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.feishu-field{min-width:0;display:flex;flex-direction:column}.feishu-field>label{margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.feishu-field input{width:100%;height:36px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:6px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.feishu-field input::placeholder{color:hsl(var(--muted-foreground))}.feishu-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.feishu-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.feishu-field input:disabled{cursor:not-allowed;opacity:.62}.feishu-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-field-error{margin-top:2px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.feishu-region-picker{position:relative;min-width:0}.feishu-region-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.feishu-region-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.feishu-region-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.feishu-region-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.feishu-region-trigger:disabled{cursor:not-allowed;opacity:.5}.feishu-region-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feishu-region-trigger>svg{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.feishu-region-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.feishu-region-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;box-sizing:border-box;max-height:238px;overflow-y:auto;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.feishu-region-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left}.feishu-region-option:hover,.feishu-region-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.feishu-region-option.is-selected{background:hsl(var(--primary) / .08)}.feishu-secret-input{position:relative}.feishu-secret-input input{padding-right:54px}.feishu-secret-input>button{position:absolute;top:4px;right:4px;height:28px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550}.feishu-secret-input>button:hover:not(:disabled){background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.feishu-secret-input>button:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:-2px}.feishu-secret-input>button:disabled{cursor:not-allowed;opacity:.5}.feishu-deployment-status{margin-top:20px;padding:14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .38)}.feishu-deployment-status.is-succeeded{border-color:#40966452;background:#f1f9f4}.feishu-deployment-status.is-failed{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .045)}.feishu-deployment-heading{min-height:20px;color:hsl(var(--foreground));font-size:13px;line-height:1.5}.feishu-deployment-heading strong{display:inline-flex;align-items:center;gap:6px;font-weight:600}.feishu-deployment-heading svg{width:16px;height:16px;color:#217343}.feishu-deployment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.feishu-deployment-steps li{display:flex;align-items:center;gap:6px;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.feishu-deployment-steps li>span{width:18px;height:18px;display:grid;flex:0 0 18px;place-items:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));font-size:10px}.feishu-deployment-steps li>span svg{width:12px;height:12px}.feishu-deployment-steps li.is-active{color:hsl(var(--foreground));font-weight:550}.feishu-deployment-steps li.is-active>span{border-color:hsl(var(--foreground) / .3)}.feishu-deployment-steps li.is-done>span{border-color:#34895766;color:#217343}.feishu-deployment-error{margin:10px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.55;white-space:pre-wrap}.feishu-deployment-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;color:hsl(var(--muted-foreground));font-size:12px}.feishu-deployment-result>span:first-child{color:hsl(var(--foreground));font-weight:600}.feishu-deployment-result a{display:inline-flex;align-items:center;gap:4px;color:hsl(var(--foreground));font-weight:550;text-decoration:none}.feishu-deployment-result a:hover{text-decoration:underline}.feishu-deployment-result a svg{width:14px;height:14px}.feishu-form-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid hsl(var(--border))}.feishu-secrets-note{display:flex;min-width:0;flex-direction:column;gap:3px}.feishu-secrets-note strong{font-size:12.5px;font-weight:600}.feishu-secrets-note span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-action-buttons{display:flex;flex:0 0 auto;gap:8px}.feishu-submit,.feishu-cancel{height:36px;padding:0 15px;border-radius:7px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.feishu-submit{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.feishu-submit:hover:not(:disabled){opacity:.88}.feishu-submit:disabled{cursor:not-allowed;opacity:.45}.feishu-cancel{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.feishu-cancel:hover{background:hsl(var(--secondary))}.feishu-submit:focus-visible,.feishu-cancel:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}@media (max-width: 760px){.feishu-integration-page{padding:24px 20px 0}.feishu-field-grid{grid-template-columns:1fr}.feishu-deployment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.feishu-form-actions{align-items:stretch;flex-direction:column}.feishu-action-buttons{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.feishu-back,.feishu-field input,.feishu-region-trigger,.feishu-region-trigger>svg{transition:none}}.coding-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.coding-agents-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.coding-agents-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.coding-agents-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-back:disabled{cursor:not-allowed;opacity:.5}.coding-agents-back svg{width:16px;height:16px}.coding-agents-logo{width:32px;height:32px;flex:0 0 32px;color:hsl(var(--foreground))}.coding-agents-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.coding-agents-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.coding-agents-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.coding-agents-content{width:100%;display:flex;flex-direction:column;gap:14px}.coding-agents-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.coding-agents-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coding-agents-section-heading>div{display:flex;align-items:center;gap:9px}.coding-agents-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.coding-agents-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.coding-agents-section-heading>button,.coding-agents-error-row button{min-height:28px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.coding-agents-section-heading>button:hover:not(:disabled),.coding-agents-error-row button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-section-heading>button:focus-visible,.coding-agents-error-row button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.coding-agents-section-heading>button:disabled{cursor:wait;opacity:.5}.coding-agents-inline-state{min-height:86px;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.coding-agents-inline-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-error-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.coding-agents-agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coding-agents-agent{position:relative;min-width:0;min-height:92px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;box-sizing:border-box;padding:12px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.coding-agents-agent:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary) / .18)}.coding-agents-agent.is-selected{border-color:hsl(var(--ring) / .5);background:hsl(var(--primary) / .035);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.coding-agents-agent:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-agent:disabled{cursor:not-allowed;opacity:.58}.coding-agents-agent-mark{width:38px;height:38px;display:grid;place-items:center;color:hsl(var(--foreground))}.coding-agents-agent-mark img{width:32px;height:32px;border-radius:7px}.coding-agents-agent-mark svg{width:32px;height:32px}.coding-agents-agent-mark.is-claude-code{color:#d86e4b}.coding-agents-agent-mark.is-codex{color:#4a55ed}.coding-agents-agent-copy{min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:40px}.coding-agents-agent-copy strong{overflow:hidden;font-size:12.5px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-agent-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-status{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:600}.coding-agents-status.is-ready{background:#36ab661a;color:#247b48}.coding-agents-check{position:absolute;right:9px;bottom:9px;width:17px;height:17px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;color:transparent}.coding-agents-agent.is-selected .coding-agents-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-check svg{width:12px;height:12px}.coding-agents-skill-list{display:flex;flex-direction:column;gap:7px}.coding-agents-skill{min-width:0;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));transition:border-color .15s ease,background-color .15s ease}.coding-agents-skill:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .14)}.coding-agents-skill.is-selected{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .025)}.coding-agents-skill label{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;cursor:pointer}.coding-agents-skill label>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.coding-agents-skill input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.coding-agents-skill-check{width:15px;height:15px;display:grid;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));color:transparent}.coding-agents-skill-check svg{width:10px;height:10px}.coding-agents-skill input:checked+.coding-agents-skill-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-skill input:focus-visible+.coding-agents-skill-check,.coding-agents-skill>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-skill input:disabled+.coding-agents-skill-check{opacity:.55}.coding-agents-skill>button{min-height:30px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap}.coding-agents-skill>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-skill-list strong{font-size:12.5px;font-weight:630;line-height:1.35}.coding-agents-skill-list small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.coding-agents-global{margin-top:14px;padding:14px;border-radius:9px;background:hsl(var(--secondary) / .42)}.coding-agents-global-heading{display:flex;align-items:center;gap:9px}.coding-agents-global-heading>svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground))}.coding-agents-global-heading>div{min-width:0;display:flex;align-items:baseline;gap:8px}.coding-agents-global-heading strong{font-size:12px;font-weight:650}.coding-agents-global-heading span{color:hsl(var(--muted-foreground));font-size:11px}.coding-agents-global dl{margin:10px 0 0 27px}.coding-agents-global dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding-top:6px;font-size:11.5px;line-height:1.45}.coding-agents-global dt{color:hsl(var(--muted-foreground))}.coding-agents-global dd{min-width:0;margin:0;overflow-wrap:anywhere}.coding-agents-global>p{margin:9px 0 0 27px;color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-result{padding:11px 12px;border:1px solid;border-radius:8px;font-size:11.5px;line-height:1.45}.coding-agents-result.is-success{border-color:#2c965838;background:#2da9610f;color:#217343}.coding-agents-result.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.coding-agents-result strong{font-weight:620}.coding-agents-result ul{margin:7px 0 0;padding-left:16px;color:inherit}.coding-agents-result li{margin-top:3px;overflow-wrap:anywhere}.coding-agents-actions{min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.coding-agents-actions>span{color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-actions>button{min-width:112px;min-height:36px;padding:7px 18px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:opacity .15s ease}.coding-agents-actions>button:hover:not(:disabled){opacity:.82}.coding-agents-actions>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-actions>button:disabled{cursor:not-allowed;opacity:.42}.coding-agents-preview-dialog{width:min(980px,calc(100vw - 48px));height:min(680px,calc(100vh - 48px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 24px 64px hsl(var(--foreground) / .18)}.coding-agents-preview-dialog[open]{display:flex;flex-direction:column}.coding-agents-preview-dialog::backdrop{background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.coding-agents-preview-header{min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.coding-agents-preview-mark svg{width:18px;height:18px}.coding-agents-preview-header h2,.coding-agents-preview-header p{margin:0}.coding-agents-preview-header h2{font-size:14px;font-weight:650;line-height:1.4}.coding-agents-preview-header p{margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.coding-agents-preview-header>button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.coding-agents-preview-header>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-header>button:focus-visible,.coding-agents-preview-tree button:focus-visible,.coding-agents-preview-tree summary:focus-visible,.coding-agents-preview-state button:focus-visible,.coding-agents-preview-file pre:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:1px}.coding-agents-preview-header>button svg{width:16px;height:16px}.coding-agents-preview-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}.coding-agents-preview-tree{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.coding-agents-preview-tree-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-tree-title span{font-size:11.5px;font-weight:650}.coding-agents-preview-tree-title small{min-width:20px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;text-align:center}.coding-agents-preview-tree-scroll{min-height:0;overflow:auto;padding:8px}.coding-agents-preview-tree details{margin-bottom:4px}.coding-agents-preview-tree summary{min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;border-radius:6px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:11.5px;list-style:none}.coding-agents-preview-tree summary::-webkit-details-marker{display:none}.coding-agents-preview-tree summary:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree summary svg,.coding-agents-preview-tree button svg{width:15px;height:15px;flex:0 0 15px}.coding-agents-preview-tree details>div{padding-left:13px}.coding-agents-preview-tree button{width:100%;min-width:0;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;text-align:left}.coding-agents-preview-tree button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree button.is-selected{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground));font-weight:600}.coding-agents-preview-tree button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file{min-width:0;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.coding-agents-preview-file>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-file>header strong{min-width:0;overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file>header span{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10.5px}.coding-agents-preview-file pre{flex:1;min-width:0;min-height:0;margin:0;overflow:auto;padding:16px 18px 24px;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre}.coding-agents-preview-file code{font:inherit}.coding-agents-preview-state,.coding-agents-preview-unavailable{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.coding-agents-preview-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-preview-state.is-error{flex-direction:column;color:hsl(var(--destructive))}.coding-agents-preview-state button{min-height:30px;padding:4px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}@keyframes coding-agents-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.coding-agents-page{padding:20px 18px 0}.coding-agents-agent-grid{grid-template-columns:minmax(0,1fr)}.coding-agents-global-heading>div{align-items:flex-start;flex-direction:column;gap:2px}.coding-agents-global dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.coding-agents-actions{align-items:stretch;flex-direction:column;gap:8px}.coding-agents-actions>span{text-align:right}.coding-agents-actions>button{width:100%}.coding-agents-preview-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}.coding-agents-preview-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,34%) minmax(0,1fr)}.coding-agents-preview-tree{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.coding-agents-back,.coding-agents-agent,.coding-agents-skill,.coding-agents-actions>button{transition:none}.coding-agents-inline-state i,.coding-agents-preview-state i{animation-duration:1.5s}}.new-chat-mode{position:relative;align-self:flex-start}.new-chat-mode__trigger{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 7px 2px 5px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease}.composer--new-chat .new-chat-mode__trigger{min-height:36px;font-size:15px}.new-chat-mode__trigger:hover,.new-chat-mode__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-mode__current{max-width:min(180px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__trigger:focus-visible,.new-chat-mode__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-mode__icon,.new-chat-mode__option-icon{display:inline-grid;place-items:center;flex:0 0 auto}.new-chat-mode__icon svg{width:15px;height:15px}.new-chat-mode__option-icon svg{width:18px;height:18px}.new-chat-mode svg{fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.new-chat-mode svg.new-chat-mode__temporary-icon{stroke-width:1.3}.new-chat-mode__chevron{width:12px;height:12px;transition:transform .14s ease}.new-chat-mode__trigger[aria-expanded=true] .new-chat-mode__chevron{transform:rotate(180deg)}.new-chat-mode__menus{position:absolute;z-index:43;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:8px}.new-chat-mode__menu{flex:0 0 auto;width:286px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__option{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer}.new-chat-mode__option.is-active{background:hsl(var(--accent))}.new-chat-mode__option:disabled{cursor:not-allowed;opacity:.48}.new-chat-mode__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-mode__copy>span:last-child{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.new-chat-mode__label{display:flex;min-width:0;align-items:center;gap:7px;font-size:13px;line-height:1.3}.new-chat-mode__label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-mode__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-mode__submenu{flex:0 0 auto;width:248px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__submenu-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-mode__submenu-option:hover:not(:disabled){background:hsl(var(--accent))}.new-chat-mode__submenu-option:disabled{cursor:not-allowed;opacity:.42}.new-chat-mode__builtin-icon{width:24px;height:24px;flex:0 0 auto;stroke-width:1.75}@media (max-width: 640px){.new-chat-mode__menus{width:min(320px,calc(100vw - 48px));max-height:min(520px,calc(100vh - 160px));flex-direction:column;overflow-y:auto}.new-chat-mode__menu,.new-chat-mode__submenu{width:100%}}@media (prefers-reduced-motion: reduce){.new-chat-mode__trigger,.new-chat-mode__chevron{transition:none}}.new-chat-agent-picker{position:relative;min-width:0}.composer--new-chat .new-chat-agent-picker{position:absolute;z-index:5;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-agent-picker{left:138px}.composer--new-chat.composer--task-image .new-chat-agent-picker,.composer--new-chat.composer--task-video .new-chat-agent-picker{left:176px}.new-chat-agent-picker__trigger{display:inline-flex;align-items:center;gap:6px;max-width:min(220px,42vw);min-height:36px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-agent-picker__trigger:hover,.new-chat-agent-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-agent-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-agent-picker__trigger>span{display:flex;min-height:20px;align-items:center;overflow:hidden;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-chevron{width:13px;height:13px;flex:0 0 auto;transform:rotate(90deg);transition:transform .14s ease}.new-chat-agent-picker__trigger[aria-expanded=true] .new-chat-agent-picker__trigger-chevron{transform:rotate(-90deg)}.new-chat-agent-picker__menus{position:absolute;z-index:44;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:7px;outline:none}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-agent-picker__menu{width:218px}.new-chat-agent-picker__submenu{width:272px;max-height:286px;overflow:auto}.new-chat-agent-picker__type,.new-chat-agent-picker__runtime{display:grid;align-items:center;width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left}.new-chat-agent-picker__type{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;padding:7px 8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__type:hover,.new-chat-agent-picker__type.is-keyboard-active,.new-chat-agent-picker__runtime:hover:not(:disabled),.new-chat-agent-picker__runtime.is-keyboard-active{background:hsl(var(--accent))}.new-chat-agent-picker__type-icon,.new-chat-agent-picker__runtime-icon{width:18px;height:18px;flex:0 0 auto}.new-chat-agent-picker__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-agent-picker__runtime{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__runtime:disabled{cursor:wait;opacity:.62}.new-chat-agent-picker__runtime>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__runtime small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-agent-picker__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-agent-picker__runtime-list{display:flex;flex-direction:column;gap:1px}.new-chat-agent-picker__empty{min-height:116px;padding:14px 10px}.new-chat-agent-picker__empty-title{white-space:nowrap}.new-chat-agent-picker__empty-agent-icon{width:32px;height:32px}.new-chat-agent-picker__status,.new-chat-agent-picker__error,.new-chat-agent-picker__inline-error{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.new-chat-agent-picker__status{display:flex;min-height:76px;align-items:center;justify-content:center;gap:7px;padding:12px}.new-chat-agent-picker__error{display:flex;flex-direction:column;gap:8px;padding:10px;color:hsl(var(--destructive))}.new-chat-agent-picker__error>span,.new-chat-agent-picker__inline-error{white-space:pre-wrap;overflow-wrap:anywhere}.new-chat-agent-picker__error button,.new-chat-agent-picker__load-more{min-height:30px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.new-chat-agent-picker__inline-error{padding:6px 8px;color:hsl(var(--destructive))}.new-chat-agent-picker__load-more{width:100%;margin-top:4px}.new-chat-agent-picker__load-more:disabled{cursor:wait;opacity:.55}.new-chat-agent-picker__spinner{width:13px;height:13px;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-agent-picker-spin .7s linear infinite}.new-chat-agent-picker__trigger:focus-visible,.new-chat-agent-picker__type:focus-visible,.new-chat-agent-picker__runtime:focus-visible,.new-chat-agent-picker__error button:focus-visible,.new-chat-agent-picker__load-more:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}@keyframes new-chat-agent-picker-spin{to{transform:rotate(360deg)}}@media (max-height: 700px) and (min-width: 641px){.new-chat-agent-picker__menus{top:auto;bottom:calc(100% + 7px)}.new-chat-agent-picker__submenu{max-height:min(220px,calc(100dvh - 180px))}}@media (max-width: 640px){.new-chat-agent-picker__menus{width:min(320px,calc(100vw - 88px));max-height:min(420px,calc(100dvh - 168px));flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{width:100%;flex:0 0 auto}.new-chat-agent-picker__submenu{max-height:220px}}@media (prefers-reduced-motion: reduce){.new-chat-agent-picker__trigger,.new-chat-agent-picker__trigger-chevron{transition:none}.new-chat-agent-picker__spinner{animation:none}}.new-chat-workspace-tabs{position:relative;z-index:1;display:flex;align-self:flex-start;width:100%;height:76px;margin:0 0 -26px;padding:8px 10px 34px;align-items:flex-start;gap:6px;overflow-x:auto;overflow-y:hidden;border-radius:16px 16px 13px 13px;background:hsl(var(--muted) / .72);box-sizing:border-box;scrollbar-width:none}.new-chat-workspace-tabs::-webkit-scrollbar{display:none}.new-chat-workspace-tabs__tab{position:relative;display:inline-flex;flex:0 0 104px;width:104px;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:14px;font-weight:400;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.new-chat-workspace-tabs__tab:hover:not(:disabled):not(.is-active){background:hsl(var(--background) / .56);color:hsl(var(--foreground))}.new-chat-workspace-tabs__tab.is-active{color:hsl(var(--foreground));font-weight:400}.new-chat-workspace-tabs__slider{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid hsl(var(--border) / .76);border-radius:inherit;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035);pointer-events:none}.new-chat-workspace-tabs__tab:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-workspace-tabs__tab:disabled{cursor:not-allowed;opacity:.48}.new-chat-workspace-tabs__icon{position:relative;z-index:1;width:17px;height:17px;flex:0 0 auto}.new-chat-workspace-tabs__skill-icon{display:inline-grid;place-items:center}.new-chat-workspace-tabs__skill-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .2s cubic-bezier(.22,1,.36,1)}.new-chat-workspace-tabs__skill-shape.is-triangle{clip-path:inset(0 18% 50% 18%);transform-origin:50% 30%}.new-chat-workspace-tabs__skill-shape.is-circle{clip-path:inset(47% 50% 0 0);transform-origin:28% 72%}.new-chat-workspace-tabs__skill-shape.is-square{clip-path:inset(47% 0 0 50%);transform-origin:72% 72%}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-box:view-box;transform-origin:12px 18.5px;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-triangle{transform:translateY(-1px) scale(1.04)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-circle{transform:translate(-.6px,.6px) rotate(-6deg)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-square{transform:translate(.7px,.5px) rotate(6deg)}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-origin:3.25px 9px}.new-chat-workspace-tabs__tab:hover:not(:disabled) .video-generate-icon__clapper{transform:rotate(-14deg)}.new-chat-workspace-tabs__label{position:relative;z-index:1}.new-chat-skill-picker{position:relative;flex:0 0 auto;min-width:0}.new-chat-skill-controls{position:absolute;z-index:5;right:52px;bottom:10px;left:52px;display:flex;min-width:0;align-items:center;gap:4px}.new-chat-skill-controls__style,.new-chat-skill-controls__model{min-width:0}.new-chat-skill-controls__style{flex:0 1 auto;max-width:180px}.new-chat-skill-controls__model{flex:0 1 auto;max-width:240px;margin-left:auto}.new-chat-skill-controls__style .new-chat-compact-select,.new-chat-skill-controls__model .new-chat-compact-select{width:fit-content;max-width:100%}.new-chat-skill-controls__style .new-chat-compact-select__trigger,.new-chat-skill-controls__model .new-chat-compact-select__trigger{width:auto;max-width:100%}.new-chat-skill-controls__model .new-chat-compact-select__menu{right:0;left:auto}.new-chat-skill-picker__trigger{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-skill-picker__trigger:hover,.new-chat-skill-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-skill-picker__trigger:focus-visible,.new-chat-skill-picker__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-skill-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-skill-picker__chevron,.new-chat-skill-picker__check{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-skill-picker__chevron{transition:transform .14s ease}.new-chat-skill-picker__trigger[aria-expanded=true] .new-chat-skill-picker__chevron{transform:rotate(180deg)}.new-chat-skill-picker__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:180px;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-skill-picker__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:34px;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.new-chat-skill-picker__option:hover,.new-chat-skill-picker__option.is-active{background:hsl(var(--accent))}.new-chat-skill-picker__check{color:hsl(var(--primary))}.new-chat-compact-select{position:relative;min-width:0;max-width:190px}.new-chat-compact-select__trigger{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;gap:5px;padding:2px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-compact-select__trigger:focus-visible,.new-chat-compact-select__search input:focus-visible,.new-chat-compact-select__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-compact-select__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-compact-select__label{flex:0 0 auto;color:hsl(var(--muted-foreground) / .76)}.new-chat-compact-select__value{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__value.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.new-chat-compact-select__chevron,.new-chat-compact-select__check{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-compact-select__chevron{transition:transform .14s ease}.new-chat-compact-select__spinner{width:13px;height:13px;flex:0 0 auto;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-compact-select-spin .7s linear infinite}@keyframes new-chat-compact-select-spin{to{transform:rotate(360deg)}}.new-chat-compact-select__trigger[aria-expanded=true] .new-chat-compact-select__chevron{transform:rotate(180deg)}.new-chat-compact-select__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:min(240px,calc(100vw - 32px));padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .28),0 3px 10px hsl(var(--foreground) / .05)}.new-chat-compact-select__search{display:block;padding:2px 2px 5px}.new-chat-compact-select__search input{width:100%;min-height:32px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.new-chat-compact-select__list{max-height:240px;overflow-y:auto}.new-chat-compact-select__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:36px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-compact-select__option:hover,.new-chat-compact-select__option.is-active{background:hsl(var(--accent))}.new-chat-compact-select__option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-compact-select__option-copy strong,.new-chat-compact-select__option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__option-copy strong{font-size:13px;font-weight:550}.new-chat-compact-select__option-copy small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-compact-select__check{color:hsl(var(--primary))}.new-chat-compact-select__status{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.new-chat-compact-select__status.is-error{color:hsl(var(--destructive))}.new-chat-compact-select__status button{flex:0 0 auto;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}@media (max-width: 520px){.new-chat-workspace-tabs__tab{gap:5px;padding:0 6px;font-size:13px}.new-chat-workspace-tabs__icon{width:16px;height:16px}.new-chat-skill-controls>.new-chat-compact-select{flex:1 1 0}.new-chat-skill-picker__trigger{padding-right:5px;padding-left:4px;font-size:13px}.new-chat-compact-select__trigger{padding-right:5px;padding-left:5px;gap:3px}.new-chat-compact-select__label{display:none}}@media (prefers-reduced-motion: reduce){.new-chat-workspace-tabs__tab,.new-chat-skill-picker__trigger,.new-chat-skill-picker__chevron,.new-chat-compact-select__trigger,.new-chat-compact-select__chevron{transition:none}.new-chat-compact-select__spinner{animation:none}.new-chat-workspace-tabs__skill-shape,.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transition:none}}.new-chat-skill-target-picker{position:relative;min-width:0;flex:0 1 220px}.new-chat-skill-target-picker__trigger{max-width:100%}.new-chat-skill-target-picker__menus.is-above{top:auto;bottom:calc(100% + 7px)}.new-chat-skill-target-picker__menus>.new-chat-agent-picker__menu,.new-chat-skill-target-picker__submenu{max-height:var(--new-chat-skill-menu-max-height, 286px);overflow-y:auto;overscroll-behavior:contain}.new-chat-skill-target-picker__space{grid-template-columns:minmax(0,1fr) 16px}.new-chat-skill-target-picker__space>span,.new-chat-skill-target-picker__skill>span,.new-chat-skill-target-picker__skill>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-skill-target-picker__space.is-previewed{background:hsl(var(--accent))}.new-chat-skill-target-picker__skill{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.new-chat-skill-target-picker__skill>span{grid-column:1;font-weight:400}.new-chat-skill-target-picker__skill>small{grid-column:1}.new-chat-skill-target-picker__skill>.new-chat-agent-picker__check{grid-column:2;grid-row:1 / span 2}.new-chat-skill-target-picker__empty{display:grid;min-height:76px;place-items:center;padding:12px;color:hsl(var(--muted-foreground));font-size:12px}@media (prefers-reduced-motion: reduce){.new-chat-skill-target-picker__spinner{animation:none}}.new-chat-video-controls{position:absolute;z-index:0;top:calc(100% - 8px);right:16px;left:16px;display:flex;min-width:0;flex-direction:column;gap:12px;padding:24px 14px 12px;border:0;border-radius:0 0 14px 14px;background:hsl(var(--muted) / .72);color:hsl(var(--foreground));transform-origin:top center}.new-chat-video-controls__parameters{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:8px;background:hsl(var(--background) / .54)}.new-chat-video-task-mode{position:absolute;z-index:5;bottom:10px;left:52px;width:fit-content;min-width:0;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select{width:fit-content;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select__trigger{width:auto;min-width:96px;max-width:220px;padding-right:10px;padding-left:10px}.new-chat-video-generation-model{position:absolute;z-index:5;right:52px;bottom:10px;display:inline-flex;min-width:0;min-height:36px;max-width:290px;align-items:center;gap:5px;padding:2px 8px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-generation-model strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-controls__field{min-width:0}.new-chat-video-controls__parameters>:not(:first-child){border-left:1px solid hsl(var(--border) / .62)}.new-chat-video-controls .new-chat-compact-select{width:100%;max-width:none}.new-chat-video-controls .new-chat-compact-select__trigger,.new-chat-video-duration{width:100%;min-height:36px;border:0;border-radius:0;background:transparent}.new-chat-video-controls__parameters>:first-child,.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:8px 0 0 8px}.new-chat-video-controls__parameters>:last-child{border-radius:0 8px 8px 0}.new-chat-video-controls .new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-video-controls .new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--background) / .92)}.new-chat-video-duration{display:grid;min-width:0;grid-template-columns:72px minmax(52px,1fr);align-items:center;gap:8px;padding:2px 8px}.new-chat-video-duration.is-disabled{opacity:.48}.new-chat-video-duration__header{display:flex;align-items:center;justify-content:space-between;gap:4px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-duration__header output{color:hsl(var(--foreground));font-weight:550}.new-chat-video-duration input{width:100%;height:16px;margin:0;accent-color:hsl(var(--primary));cursor:pointer}.new-chat-video-duration input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:hsl(var(--muted-foreground) / .24)}.new-chat-video-duration input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:hsl(var(--foreground) / .72);-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-chat-video-duration input:disabled{cursor:not-allowed}.new-chat-video-duration:focus-within{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-controls__assets{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-chat-video-controls__assets.is-single{grid-template-columns:minmax(0,1fr)}.composer-input-stack.has-inline-asset .comp-input{padding-left:96px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:96px;max-width:calc(100% - 106px)}.new-chat-inline-video{position:absolute;z-index:3;top:3px;left:10px;width:70px;height:66px}.new-chat-inline-video__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-inline-video__tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;overflow:hidden;box-sizing:border-box;border:1px dashed hsl(var(--muted-foreground) / .5);border-radius:10px;background:hsl(var(--muted) / .45);color:hsl(var(--muted-foreground));font-size:12px;line-height:1;cursor:pointer;transform:rotate(-6deg);transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .15s ease-out,background-color .15s ease-out}.new-chat-inline-video__tile:hover,.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile,.new-chat-inline-video:focus-within .new-chat-inline-video__tile{border-color:hsl(var(--muted-foreground) / .72);background:hsl(var(--muted) / .68);transform:rotate(0)}.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile{outline:2px solid hsl(var(--primary) / .42);outline-offset:2px}.new-chat-inline-video__tile svg{width:22px;height:22px;flex:0 0 auto}.new-chat-inline-video__tile img,.new-chat-inline-video__tile video{width:100%;height:100%;display:block;object-fit:cover}.new-chat-inline-video__remove{position:absolute;z-index:2;top:-5px;right:-5px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;opacity:0;transition:opacity .14s ease-out,color .14s ease-out}.new-chat-inline-video:hover .new-chat-inline-video__remove,.new-chat-inline-video:focus-within .new-chat-inline-video__remove{opacity:1}.new-chat-inline-video__remove:hover{color:hsl(var(--foreground))}.new-chat-inline-video__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px;opacity:1}.new-chat-inline-video__remove svg{width:13px;height:13px}.new-chat-inline-video.is-disabled{opacity:.48}.new-chat-inline-video.is-disabled .new-chat-inline-video__tile,.new-chat-inline-video__remove:disabled{cursor:not-allowed}.new-chat-video-controls__model-hint{min-height:18px;display:flex;align-items:center;justify-content:center;margin:-2px 2px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.new-chat-video-controls__storage-unavailable{min-height:18px;margin:-3px 2px -4px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;text-align:center}.new-chat-video-model-spinner{width:13px;height:13px;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:new-chat-video-model-spin .72s linear infinite}@keyframes new-chat-video-model-spin{to{transform:rotate(360deg)}}.new-chat-video-asset{position:relative;min-width:0}.new-chat-video-asset__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-video-asset__label{display:grid;min-height:50px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;border:1px dashed hsl(var(--border) / .72);border-radius:8px;background:hsl(var(--background) / .36);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.new-chat-video-asset__label:hover{border-color:hsl(var(--muted-foreground) / .48);background:hsl(var(--background) / .8)}.new-chat-video-asset__input:focus-visible+.new-chat-video-asset__label{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset.is-disabled{opacity:.48}.new-chat-video-asset.is-disabled .new-chat-video-asset__label{cursor:not-allowed}.new-chat-video-asset__icon{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:7px;background:hsl(var(--accent));color:hsl(var(--muted-foreground))}.new-chat-video-asset__icon svg{width:15px;height:15px}.new-chat-video-asset__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-video-asset__title{display:flex;min-width:0;align-items:baseline;gap:6px;font-size:13px;font-weight:550}.new-chat-video-asset__title small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:450}.new-chat-video-asset__value{overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-asset__value.is-selected{color:hsl(var(--foreground) / .78)}.new-chat-video-asset__action{padding-right:2px;color:hsl(var(--foreground) / .74);font-size:12px;font-weight:550}.new-chat-video-asset__remove{position:absolute;z-index:1;top:50%;right:7px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transform:translateY(-50%)}.new-chat-video-asset__remove:hover{color:hsl(var(--foreground))}.new-chat-video-asset__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset__remove:disabled{cursor:not-allowed}.new-chat-video-asset__remove svg{width:14px;height:14px}.new-chat-video-asset:has(.new-chat-video-asset__remove) .new-chat-video-asset__action{visibility:hidden}@media (max-width: 620px){.new-chat-video-controls{right:16px;left:16px;padding-right:12px;padding-left:12px}.new-chat-video-controls__parameters{grid-template-columns:minmax(0,1fr)}.new-chat-video-controls__parameters>*{border-left:0;border-top:1px solid hsl(var(--border) / .62);border-radius:0!important}.new-chat-video-controls__parameters>:first-child{border-top:0;border-radius:8px 8px 0 0!important}.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:inherit}.new-chat-video-controls__parameters>:last-child{border-radius:0 0 8px 8px!important}.new-chat-video-controls__assets{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.new-chat-video-model-spinner{border-right-color:currentColor;animation:none}}@media (max-width: 520px){.new-chat-video-task-mode,.new-chat-video-task-mode .new-chat-compact-select,.new-chat-video-task-mode .new-chat-compact-select__trigger{max-width:132px}.new-chat-video-generation-model{max-width:84px}.new-chat-video-generation-model>span{display:none}.composer-input-stack.has-inline-asset .comp-input{padding-left:84px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:84px;max-width:calc(100% - 94px)}.new-chat-inline-video{width:60px;height:60px}}@media (prefers-reduced-motion: reduce){.new-chat-video-asset__label,.new-chat-inline-video__tile,.new-chat-inline-video__remove{transition:none}.new-chat-inline-video__tile{transform:none}}.stk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 6vh}.stk-head{text-align:center;margin-bottom:26px}.stk-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em}.stk-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.stk-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}.stk-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,background .12s}.stk-card:hover{border-color:hsl(var(--ring) / .35);background:hsl(var(--foreground) / .02);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.stk-card-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.stk-card-icon svg{width:21px;height:21px}.stk-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.stk-card-title{font-size:15px;font-weight:600}.stk-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.stk-card-status{flex-shrink:0;padding:4px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.stk-card-arrow{flex-shrink:0;width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.stk-card:hover .stk-card-arrow{opacity:1;transform:translate(0)}.stk-card-disabled{opacity:.5;cursor:not-allowed}.stk-card-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--card));box-shadow:none}.stk-card-disabled .stk-card-arrow{display:none}.stk-footer{margin-top:18px;width:100%;max-width:520px;display:flex;justify-content:center}.stk-import{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px dashed hsl(var(--border));border-radius:9px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.stk-import:hover{color:hsl(var(--foreground));border-color:hsl(var(--ring) / .4);background:hsl(var(--foreground) / .03)}.stk-import svg{width:15px;height:15px}@layer components{._Container_1tuad_1{position:relative;display:flex}._Container_1tuad_1[data-has-label]{align-items:flex-start}._Container_1tuad_1[data-orientation=right]{flex-direction:row-reverse}._Container_1tuad_1>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._Checkbox_1tuad_22{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;max-width:18px;height:18px;padding:0;border-radius:var(--radius-xs);background-color:transparent;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}._Checkbox_1tuad_22,:where([data-theme=light]) ._Checkbox_1tuad_22{border:1px solid var(--gray-200)}:where([data-theme=dark]) ._Checkbox_1tuad_22{border:1px solid var(--gray-500)}[data-has-label] ._Checkbox_1tuad_22{top:1px}@media (hover: hover) and (pointer: fine){._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover,:where([data-theme=light]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-600)}}._Checkbox_1tuad_22[data-state=indeterminate],._Checkbox_1tuad_22[data-state=checked]{border-color:var(--gray-900);background-color:var(--gray-900)}._Checkbox_1tuad_22:focus{outline:none}._Checkbox_1tuad_22:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._Checkbox_1tuad_22[data-disabled]{cursor:not-allowed}._Checkbox_1tuad_22[data-disabled],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-150);background:var(--gray-25)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-300);background:var(--gray-200)}._Checkbox_1tuad_22[data-disabled][data-state=checked],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-300);background-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-200);background-color:var(--gray-200)}._CheckMark_1tuad_92{position:absolute;top:0;left:0;width:64%;height:32%;transform:rotate(-45deg) translate(-10%,100%);transform-origin:center;transition:opacity .15s ease,transform .15s ease}@starting-style{._CheckMark_1tuad_92{opacity:0}}[data-state=indeterminate] ._CheckMark_1tuad_92{transform:translate(30%,80%)}[data-state=indeterminate] ._CheckMark_1tuad_92:before{opacity:0}._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{position:absolute;display:block;background:var(--gray-0);content:"";will-change:transform}@starting-style{._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{transform:scale(0)}}:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:before,:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:after{background:var(--gray-100)}._CheckMark_1tuad_92:before{top:0;bottom:0;left:0;width:2px;transform-origin:0 0;transition:transform .1s ease 80ms,opacity .2s ease}._CheckMark_1tuad_92 [data-state=indeterminate]:before{opacity:0}._CheckMark_1tuad_92:after{right:0;bottom:0;left:0;height:2px;transform-origin:0 100%;transition:transform .1s ease .16s}._Label_1tuad_162{display:flex;align-items:center;min-height:20px;cursor:pointer;font-size:14px;line-height:20px}[data-disabled] ._Label_1tuad_162{cursor:not-allowed}[data-orientation=left] ._Label_1tuad_162{padding-left:8px}[data-orientation=right] ._Label_1tuad_162{padding-right:8px}}@layer components{._RadioGroup_onrfm_1{display:flex;gap:var(--radio-group-row-gap)}._RadioGroup_onrfm_1:where([data-direction=col]){flex-direction:column;gap:var(--radio-group-col-gap)}._RadioLabel_onrfm_9{display:inline-flex;flex-direction:row;align-items:flex-start;gap:var(--radio-group-item-gap);cursor:pointer;font-size:var(--radio-group-item-font-size);line-height:var(--radio-group-item-line-height)}._RadioLabel_onrfm_9[data-disabled]{cursor:not-allowed;opacity:.5}._RadioLabel_onrfm_9[data-block]{width:100%}._RadioIndicatorWrapper_onrfm_26{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--radio-group-item-line-height)}._RadioIndicatorWrapper_onrfm_26>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._RadioItem_onrfm_43{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);padding:0;border:none;border-radius:var(--radius-full);background-color:transparent;box-shadow:0 0 0 1px var(--radio-group-indicator-border-color) inset;cursor:pointer;transition-duration:var(--transition-duration-basic);transition-property:box-shadow;transition-timing-function:var(--transition-ease-basic)}@media (hover: hover) and (pointer: fine){._RadioItem_onrfm_43:where(:not([data-disabled])):hover{box-shadow:0 0 0 1px var(--radio-group-indicator-border-color-hover) inset}}._RadioItem_onrfm_43[data-disabled]{cursor:not-allowed}._RadioItem_onrfm_43:focus{outline:none}._RadioItem_onrfm_43:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._RadioIndicator_onrfm_26{position:relative;display:inline-grid;align-items:center;justify-content:center;width:100%;height:100%}._RadioIndicator_onrfm_26:before,._RadioIndicator_onrfm_26:after{display:block;content:"";grid-column-start:1;grid-row-start:1;place-self:center center;will-change:transform}._RadioIndicator_onrfm_26:before{width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);border-radius:var(--radius-full);animation:_fade-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-background-color)}._RadioIndicator_onrfm_26:after{width:var(--radio-group-indicator-hole-size);height:var(--radio-group-indicator-hole-size);border-radius:var(--radius-full);animation:_scale-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-hole-background-color)}@keyframes _scale-in_onrfm_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _fade-in_onrfm_1{0%{opacity:0}to{opacity:1}}}.code-browser-trigger{min-height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:color .12s ease,background-color .12s ease}.code-browser-trigger svg{width:13px;height:13px}.code-browser-trigger:hover{background:hsl(var(--foreground) / .04);color:hsl(var(--foreground))}.code-browser-trigger:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.code-browser-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:code-browser-fade-in .14s ease-out}.code-browser-dialog{width:min(1040px,92vw);height:min(720px,84vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:code-browser-rise-in .18s cubic-bezier(.2,.8,.2,1)}.code-browser-head{flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.code-browser-title-wrap{min-width:0;display:flex;align-items:center;gap:10px}.code-browser-title-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:7px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-title-icon svg,.code-browser-close svg{width:16px;height:16px}.code-browser-title-wrap h2,.code-browser-title-wrap p{margin:0}.code-browser-title-wrap h2{color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35}.code-browser-title-wrap p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.code-browser-close{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.code-browser-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-workspace{flex:1;min-height:0;display:flex}.code-browser-sidebar{flex:0 0 220px;min-width:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .22)}.code-browser-sidebar-head,.code-browser-path{flex:0 0 38px;min-height:38px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.code-browser-sidebar-head{justify-content:space-between;padding:0 12px;color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.code-browser-sidebar-head span{font-variant-numeric:tabular-nums;font-weight:500}.code-browser-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.code-browser-file,.code-browser-folder{width:100%;min-height:30px;display:flex;align-items:center;gap:6px;padding-top:4px;padding-right:10px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.code-browser-file:hover,.code-browser-folder:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.code-browser-file.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.code-browser-file svg,.code-browser-folder svg{width:14px;height:14px;flex:0 0 auto}.code-browser-folder>svg:first-child{width:12px;height:12px;transition:transform .12s ease}.code-browser-folder>svg:first-child.is-open{transform:rotate(90deg)}.code-browser-file span,.code-browser-folder span,.code-browser-path span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-browser-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.code-browser-path{gap:7px;padding:0 13px;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.code-browser-path svg{width:13px;height:13px;flex:0 0 auto}.code-browser-editor{flex:1;min-height:0;overflow:hidden}.code-browser-editor>div,.code-browser-editor .cm-theme,.code-browser-editor .cm-editor{height:100%}.code-browser-editor .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.code-browser-empty{height:100%;display:grid;place-items:center;padding:20px;color:hsl(var(--muted-foreground));font-size:12px}@keyframes code-browser-fade-in{0%{opacity:0}to{opacity:1}}@keyframes code-browser-rise-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.code-browser-backdrop{padding:12px}.code-browser-dialog{width:100%;height:min(760px,92vh)}.code-browser-sidebar{flex-basis:168px}}@media (prefers-reduced-motion: reduce){.code-browser-backdrop,.code-browser-dialog{animation:none}}.pp-config-section.pp-resource-section{overflow:visible}.pp-resource-section:has(.pp-deployment-select-trigger[aria-expanded=true]){position:relative;z-index:70}.pp-resource-list{--pp-resource-mode-column: minmax(196px, .34fr);display:flex;flex-direction:column;gap:12px}.pp-resource-item{min-width:0;padding:12px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background))}.pp-resource-name{margin-bottom:10px;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.4}.pp-resource-grid{min-width:0;display:grid;grid-template-columns:var(--pp-resource-mode-column) minmax(0,.66fr);align-items:start;gap:12px}.pp-resource-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-resource-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-resource-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-field>input{width:100%;min-width:0;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;transition:border-color .12s ease,box-shadow .12s ease}.pp-resource-field>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-resource-field>input:disabled{cursor:not-allowed;opacity:.55}.pp-resource-auto-names{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-auto-names>dl{min-width:0;margin:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background))}.pp-resource-auto-names>dl>div{min-width:0;min-height:35px;display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,.66fr);align-items:center;gap:10px;padding:8px 10px}.pp-resource-auto-names>dl>div+div{border-top:1px solid hsl(var(--border) / .72)}.pp-resource-auto-names dt,.pp-resource-auto-names dd{min-width:0;margin:0}.pp-resource-auto-names dd{overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px}.pp-resource-auto-names>small{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-picker{min-width:0;display:flex;flex-direction:column;gap:6px}.pp-resource-status{min-height:17px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-error{min-height:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.pp-resource-error span{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.pp-resource-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-resource-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-resource-validation{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}@media (max-width: 760px){.pp-resource-grid,.pp-resource-fields,.pp-resource-fields-three{grid-template-columns:minmax(0,1fr)}.pp-resource-auto-names>dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (prefers-reduced-motion: reduce){.pp-resource-field>input{transition:none}}.layout{--pp-sidebar-width: 236px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.pp-toolbar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.pp-toolbar-left,.pp-toolbar-actions,.pp-actions{display:flex;align-items:center}.pp-toolbar-left{min-width:0;gap:18px}.pp-toolbar-actions{flex:0 0 auto;gap:8px}.pp-toolbar-back{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;font-weight:500;cursor:pointer}.pp-toolbar-back:hover{color:hsl(var(--foreground))}.pp-toolbar-title{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-secondary{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.pp-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.pp-secondary:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--accent))}.pp-secondary:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.pp-secondary:disabled{opacity:.55;cursor:default}.pp-body{flex:1;min-height:0;min-width:0;display:flex}.pp-files-area{flex:1 1 auto;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.pp-sidebar{flex:0 0 218px;width:218px;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .24)}.pp-sidebar-head,.pp-main-head{flex:0 0 42px;min-height:42px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.pp-sidebar-head{gap:8px;padding:0 9px 0 14px}.pp-project-name{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:650;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.pp-row{width:100%;min-height:29px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.pp-row:hover{background:hsl(var(--foreground) / .045)}.pp-file.pp-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.pp-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-folder .pp-label{color:hsl(var(--muted-foreground))}.pp-ic{width:15px;height:15px;flex:0 0 auto}.pp-chevron{color:hsl(var(--muted-foreground));transition:transform .12s ease}.pp-chevron.pp-open{transform:rotate(90deg)}.pp-icon-btn{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-icon-btn:hover:not(:disabled){background:hsl(var(--foreground) / .07);color:hsl(var(--foreground))}.pp-icon-btn:disabled{opacity:.45;cursor:default}.pp-danger:hover:not(:disabled){color:hsl(var(--destructive))}.pp-new-input{width:calc(100% - 16px);height:30px;margin:2px 8px 6px;padding:0 8px;border:1px solid hsl(var(--ring) / .55);border-radius:4px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-empty,.pp-placeholder{width:100%;padding:28px 16px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.pp-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.pp-main-head{gap:12px;padding:0 10px 0 14px;background:hsl(var(--background))}.pp-path{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-actions{gap:2px}.pp-content{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.pp-codemirror,.pp-codemirror>div,.pp-codemirror .cm-editor{width:100%;height:100%;min-height:0}.pp-codemirror .cm-editor{overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px}.pp-codemirror .cm-scroller{overflow:auto;overscroll-behavior:none;scroll-padding-block:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.58}.pp-codemirror .cm-content{padding:10px 0 0}.pp-codemirror .cm-line{padding:0 14px 0 8px}.pp-codemirror .cm-content>.cm-line:last-child:has(>br:only-child){display:none}.pp-codemirror .cm-gutters{border-right:1px solid hsl(var(--border) / .7);background:hsl(var(--secondary) / .2);color:hsl(var(--muted-foreground) / .65)}.pp-codemirror .cm-activeLine,.pp-codemirror .cm-activeLineGutter{background:hsl(var(--foreground) / .035)}.pp-codemirror .cm-focused{outline:none}.pp-editor-loading{height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12px}.pp-pre{flex:1;width:100%;height:100%;box-sizing:border-box;margin:0;padding:14px 16px 0;overflow:auto;background:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;font-style:normal;font-variant-ligatures:none;font-weight:400;line-height:1.58;-moz-tab-size:2;tab-size:2;white-space:pre}.pp-root.is-deploy{--pp-publish-content-width: min(760px, max(680px, calc(100% - 48px) ));overflow-y:auto}.pp-root.is-deploy.is-embedded{--pp-publish-content-width: 100%}.pp-root.is-deploy .pp-body{flex:0 0 auto;min-height:100%;display:grid;grid-template-rows:auto auto;overflow:visible}.pp-root.is-deploy.has-primary-pane .pp-body{display:flex;justify-content:center;background:hsl(var(--background))}.pp-root.is-deploy.has-primary-pane .pp-config{width:min(760px,100%);background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-head,.pp-root.is-deploy.has-primary-pane .pp-config-actions{border:0;background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-actions{position:sticky;bottom:0;width:var(--pp-publish-content-width);margin:0 auto;justify-content:center;padding:12px 0 18px;background:hsl(var(--background));transform:none}.pp-root.is-deploy.has-primary-pane .pp-deploy-hint{position:absolute;left:18px}.pp-root.is-deploy .pp-files-area{display:none}.pp-release-overview{min-width:0;min-height:0;border-bottom:0;background:transparent}.pp-release-preview{width:var(--pp-publish-content-width);box-sizing:border-box;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 auto;padding:8px 0 12px}.pp-release-preview.is-embedded{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch}.pp-flow-thumbnail{position:relative;height:200px;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px;background:transparent;box-shadow:none}.pp-flow-thumbnail .abc-root,.pp-flow-dialog-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto;border:0;background:transparent}.pp-flow-thumbnail .abc-canvas,.pp-flow-dialog-canvas .abc-canvas{flex:1;min-height:0;background:transparent}.pp-flow-thumbnail .react-flow__pane{cursor:grab}.pp-flow-thumbnail .react-flow__pane:active{cursor:grabbing}.pp-flow-thumbnail .react-flow__controls{display:none}.pp-flow-expand{position:absolute;z-index:5;right:10px;bottom:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit}.pp-flow-expand:hover{background:transparent;color:hsl(var(--foreground))}.pp-flow-expand:focus-visible{outline:2px solid hsl(var(--primary) / .72);outline-offset:2px}.pp-flow-expand svg{width:17px;height:17px}.pp-release-info{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-release-card-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34);color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-release-info-body{padding:14px 18px 16px}.pp-release-info-main{min-width:0}.pp-release-info h2{margin:0;color:hsl(var(--foreground));font-size:18px;font-weight:700;letter-spacing:-.02em}.pp-release-description{display:-webkit-box;margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0 0}.pp-release-facts>div{min-width:0}.pp-release-facts dt{color:hsl(var(--muted-foreground));font-size:13px}.pp-release-facts dd{margin:5px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-release-facts .pp-release-fact-long{display:-webkit-box;overflow:hidden;line-height:1.45;text-overflow:clip;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts .pp-release-prompt{-webkit-line-clamp:3}.pp-artifact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px}.pp-artifact-actions.is-rail{flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0;padding:0}.pp-artifact-actions.is-rail .pp-secondary,.pp-artifact-actions.is-rail .code-browser-trigger{flex:1 1 0;width:100%;min-height:36px;justify-content:center}.pp-artifact-actions .pp-secondary,.pp-artifact-actions .code-browser-trigger{min-height:34px;padding-inline:12px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);box-shadow:none;color:hsl(var(--foreground));font-size:13px}.pp-artifact-actions .pp-secondary:hover,.pp-artifact-actions .code-browser-trigger:hover{background:hsl(var(--secondary))}.pp-flow-backdrop{--cw-workspace-ink: 222 24% 13%;position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px;background:hsl(var(--foreground) / .36);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pp-flow-dialog{width:min(1120px,92vw);height:min(720px,86vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 80px hsl(var(--foreground) / .22)}.pp-flow-dialog>header{flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px 0 22px;border-bottom:1px solid hsl(var(--border))}.pp-flow-dialog>header>div{display:flex;flex-direction:column;gap:3px}.pp-flow-dialog>header strong{font-size:15px;font-weight:680}.pp-flow-dialog>header span{color:hsl(var(--muted-foreground));font-size:10.5px}.pp-flow-dialog>header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-flow-dialog>header button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.pp-flow-dialog>header svg{width:17px;height:17px}.pp-flow-dialog-canvas{flex:1;min-height:0;background:transparent}.pp-config{position:relative;min-width:0;width:auto;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.pp-config-head{width:var(--pp-publish-content-width);flex:0 0 48px;height:48px;box-sizing:border-box;display:flex;align-items:center;margin:0 auto;padding:0;border-bottom:0}.pp-config-title{color:hsl(var(--foreground));font-size:18px;font-weight:650;letter-spacing:-.01em}.pp-env-sub{margin-top:4px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.pp-config-scroll{width:var(--pp-publish-content-width);flex:0 0 auto;min-height:0;box-sizing:border-box;display:block;margin:0 auto;overflow:visible;padding:0 0 88px}.pp-config-actions{position:fixed;z-index:40;left:calc((100vw + var(--pp-sidebar-width, 0px)) / 2);bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;transform:translate(-50%)}.pp-config-actions.is-external{display:none}.pp-config-section{width:100%;min-width:0;box-sizing:border-box;margin:0 0 12px;padding:0 18px 16px;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-config-section:has(.pp-network-region){overflow:visible}.pp-config-section:has(.pp-network-region.is-open){position:relative;z-index:70}.pp-config-section:has(.pp-network-region)>.pp-config-label{border-radius:17px 17px 0 0}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{display:block;margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent;color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent}.pp-env-head .pp-config-label{margin:0;padding:0;border:0;background:transparent}.pp-config-note{margin:-4px 0 10px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-runtime-name-field{display:grid;gap:6px}.pp-runtime-name-field>.pp-config-note,.pp-runtime-name-field>.pp-runtime-name-error{margin:0}.pp-auth-section{overflow:visible}.pp-auth-preserved-note{margin:0}.pp-auth-fields{width:min(100%,560px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.pp-auth-fields>label{min-width:0;display:flex;flex-direction:column;gap:7px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deployment-select{position:relative;min-width:0}.pp-deployment-select-trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.pp-deployment-select-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.pp-deployment-select-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.pp-deployment-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-deployment-select-trigger:disabled{cursor:not-allowed;opacity:.5}.pp-deployment-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-trigger>.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.pp-deployment-select-chevron{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.pp-deployment-select-chevron.is-open{transform:rotate(180deg)}.pp-deployment-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:0;max-height:238px;display:flex;flex-direction:column;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.pp-deployment-select-search{flex-shrink:0;padding:2px 2px 6px}.pp-deployment-select-search>input{width:100%;height:32px;box-sizing:border-box;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-deployment-select-search>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-deployment-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pp-deployment-select-state{flex-shrink:0;padding:9px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-align:center}.pp-deployment-select-option{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.pp-deployment-select-option:hover,.pp-deployment-select-option:focus-visible,.pp-deployment-select-option.is-selected{outline:none;background:hsl(var(--muted) / .5)}.pp-deployment-select-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.pp-deployment-select-name{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-option>svg{width:15px;height:15px;flex-shrink:0;color:hsl(var(--primary))}.pp-deployment-select-badge{flex-shrink:0;padding:1px 5px;border:1px solid hsl(211 90% 48% / .24);border-radius:999px;background:#006fe61a;color:#1863b4;font-size:10px;font-weight:600}.pp-user-pool-picker{min-width:0;display:flex;flex-direction:column;gap:7px}.pp-user-pool-status{min-height:18px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.pp-user-pool-spinner{width:13px;height:13px;flex-shrink:0;animation:pp-spin .9s linear infinite}.pp-user-pool-error{min-height:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.pp-user-pool-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-user-pool-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-instance-note{margin:10px 0 0;color:#d79804;font-size:12px;line-height:1.5}.pp-instance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-instance-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-instance-error{margin:8px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select,.pp-runtime-name-input,.pp-channel-fields input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input,.pp-env-row textarea{width:100%;min-width:0;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}.pp-channel-fields input{height:30px;padding-inline:8px;font-size:11.5px}.pp-config-select:focus,.pp-runtime-name-input:focus,.pp-channel-fields input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus,.pp-env-row textarea:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-runtime-name-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .72)}.pp-runtime-name-input[aria-invalid=true]:focus{box-shadow:0 0 0 2px hsl(var(--destructive) / .1)}.pp-runtime-name-error{margin:-4px 0 10px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select:disabled,.pp-runtime-name-input:disabled,.pp-channel-fields input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input:disabled,.pp-env-row textarea:disabled{opacity:.55}.pp-channel-card{position:relative;width:clamp(154px,33.333%,236px);max-width:100%;height:112px;perspective:1200px;transition:height .18s ease}.pp-channel-card.is-flipped{height:176px}.pp-channel-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1)}.pp-channel-card.is-flipped .pp-channel-card-inner{transform:rotateY(180deg)}.pp-channel-card-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:14px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden}.pp-channel-card-front{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;padding:12px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.pp-channel-card-front:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);box-shadow:0 12px 30px hsl(var(--foreground) / .07);transform:translateY(-1px)}.pp-channel-card-front:focus-visible,.pp-channel-remove:focus-visible{outline:2px solid hsl(var(--ring) / .58);outline-offset:2px}.pp-channel-card-front:disabled{cursor:default}.pp-channel-card-back{padding:10px;transform:rotateY(180deg)}.pp-channel-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-channel-card-head>strong{font-size:12.5px;font-weight:650}.pp-channel-logo{width:42px;height:42px;flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border) / .65);border-radius:12px;background:#fff;box-shadow:0 4px 14px hsl(var(--foreground) / .07)}.pp-channel-logo img{width:30px;height:30px;display:block}.pp-channel-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.pp-channel-card-copy strong{font-size:14px;font-weight:650}.pp-channel-card-copy small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-channel-remove{min-height:24px;padding:0 6px;border:1px solid hsl(var(--destructive) / .14);border-radius:7px;background:hsl(var(--destructive) / .07);color:#863232;cursor:pointer;font:inherit;font-size:10.5px;white-space:nowrap}.pp-channel-remove:hover:not(:disabled){background:hsl(var(--destructive) / .12);color:#782626}.pp-channel-fields{display:flex;flex-direction:column;gap:6px;margin-top:7px}.pp-channel-fields label{min-width:0;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:11px}.pp-channel-fields label>span{color:hsl(var(--foreground));font-weight:560}.pp-channel-fields small{margin-left:5px;color:hsl(var(--destructive));font-size:9px;font-weight:500}.pp-network-layout{width:min(100%,560px);display:grid;grid-template-columns:minmax(132px,.36fr) minmax(0,.64fr);align-items:start;gap:24px}.pp-network-region{position:relative;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-region.is-open{z-index:80}.pp-region-trigger{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.pp-region-trigger:hover,.pp-region-trigger[aria-expanded=true]{border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025)}.pp-region-trigger:focus-visible{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-region-trigger:disabled{cursor:not-allowed;opacity:.58;background:hsl(var(--muted) / .32)}.pp-region-help{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-region-chevron{width:15px;height:15px;color:hsl(var(--muted-foreground));transition:transform .15s ease}.pp-region-chevron.is-open{transform:rotate(180deg)}.pp-region-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:81;padding:5px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .12)}.pp-region-option{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.pp-region-option:hover,.pp-region-option:focus-visible,.pp-region-option.is-selected{outline:none;background:hsl(var(--foreground) / .055)}.pp-region-option.is-selected{font-weight:600}.pp-region-option svg{width:15px;height:15px;color:hsl(var(--primary))}.pp-network-modes{display:flex;flex-direction:column;gap:9px}.pp-network-option{min-height:28px;display:flex;align-items:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560;cursor:pointer}.pp-network-option:has(input:checked){color:hsl(var(--foreground))}.pp-network-option:has(input:disabled){cursor:default;opacity:.58}.pp-network-option input{width:15px;height:15px;flex:0 0 15px;display:grid;place-items:center;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,box-shadow .12s ease}.pp-network-option input:before{width:7px;height:7px;border-radius:50%;background:hsl(var(--primary));content:"";transform:scale(0);transition:transform .12s ease-out}.pp-network-option input:checked{border-color:hsl(var(--primary))}.pp-network-option input:checked:before{transform:scale(1)}.pp-network-option input:focus-visible,.pp-network-check input:focus-visible,.pp-evaluation-set-option input:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-network-fields{display:flex;flex-direction:column;gap:12px;min-width:0}.pp-network-fields label:not(.pp-network-check){display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-fields small{font-size:10.5px;font-weight:400}.pp-network-check{display:flex;align-items:center;gap:8px;color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.pp-evaluation-set-option{display:flex;align-items:flex-start;gap:10px;color:hsl(var(--foreground));cursor:pointer}.pp-evaluation-set-option>span{display:flex;flex-direction:column;gap:3px;min-width:0}.pp-evaluation-set-option strong{font-size:13px;font-weight:550;line-height:1.45}.pp-evaluation-set-option small{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-network-check input,.pp-evaluation-set-option input{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.pp-network-check input:before,.pp-evaluation-set-option input:before{width:4px;height:8px;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;content:"";transform:translateY(-1px) rotate(45deg) scale(0);transition:transform .12s ease-out}.pp-network-check input:checked,.pp-evaluation-set-option input:checked{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check input:checked:before,.pp-evaluation-set-option input:checked:before{transform:translateY(-1px) rotate(45deg) scale(1)}.pp-env-section{width:100%;padding-bottom:16px}.pp-env-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.pp-env-head .pp-config-label{display:flex;align-items:center;gap:7px;margin-bottom:0}.pp-env-count{display:inline-flex;align-items:center}.pp-env-table{display:flex;flex-direction:column;margin-top:10px}.pp-env-group{padding:4px 7px 0;border:1px solid hsl(var(--border) / .75);border-radius:6px;background:hsl(var(--secondary) / .16)}.pp-env-group-head{display:flex;align-items:center;justify-content:space-between;padding:5px 1px 3px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.pp-env-group-head small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:450}.pp-env-group-head-custom{margin-top:12px}.pp-env-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid hsl(var(--border) / .65)}.pp-env-row.is-multiline{align-items:start}.pp-env-row input:first-child{font-family:inherit;font-size:13px}.pp-env-row-derived:last-child{border-bottom:0}.pp-env-key-fixed{background:hsl(var(--secondary) / .32)!important;cursor:default}.pp-env-key-cell{min-width:0;min-height:34px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:13px;font-weight:500}.pp-env-key-cell span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.pp-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.pp-env-help:hover .pp-env-help-popover,.pp-env-help:focus-visible .pp-env-help-popover,.pp-env-help:focus-within .pp-env-help-popover{opacity:1;pointer-events:auto}.pp-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-value-wrap{min-width:0;display:grid;gap:4px}.pp-env-value{min-width:0;width:100%}.pp-env-secret-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.pp-env-secret-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer}.pp-env-secret-toggle:hover:not(:disabled){background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.pp-env-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-secret-toggle:disabled{cursor:not-allowed;opacity:.52}.pp-env-secret-toggle svg,.pp-env-secret-spinner{width:16px;height:16px}.pp-env-secret-spinner{animation:pp-spin .8s linear infinite}.pp-env-reveal-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-json-value{min-height:86px;padding:8px 10px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.pp-env-value[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.pp-env-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.pp-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.pp-env-link svg{width:13px;height:13px;flex:0 0 13px}.pp-env-source{color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.pp-env-remove{width:28px;height:28px}.pp-env-add{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pp-env-add:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.pp-env-add:disabled{opacity:.5}.pp-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.pp-step{position:relative;min-height:34px;display:flex;align-items:flex-start;gap:9px}.pp-step:not(:last-child):after{content:"";position:absolute;top:20px;bottom:-2px;left:9px;width:1px;background:hsl(var(--border))}.pp-step-dot{z-index:1;width:19px;height:19px;flex:0 0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10px}.pp-step-body{min-width:0;display:flex;flex-direction:column;padding-top:1px}.pp-step-label{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560}.pp-step-msg{max-width:300px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-step.is-active .pp-step-dot{border-color:hsl(var(--primary));color:hsl(var(--primary))}.pp-step.is-done .pp-step-dot{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-step.is-failed .pp-step-dot{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.pp-error{margin:14px 18px;padding:10px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:5px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-deploy-result{margin:14px 18px 18px;padding:14px;border:1px solid hsl(var(--primary) / .2);border-radius:6px;background:hsl(var(--primary) / .035)}.pp-deploy-result-header{margin-bottom:12px;color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-deploy-result-body{display:flex;flex-direction:column;gap:10px}.pp-deploy-result-warning{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid hsl(42 90% 45% / .25);border-radius:6px;background:#f2ad0d12;color:#9e6310;font-size:12.5px;line-height:1.5}.pp-deploy-result-field{display:flex;flex-direction:column;gap:4px}.pp-deploy-result-field label{color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deploy-result-field code{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.pp-deploy-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pp-confirm-dialog{width:min(420px,calc(100vw - 40px));height:auto;min-height:0}.pp-confirm-head{flex-basis:60px}.pp-confirm-icon{background:#f59f0a1f;color:#ba6708}.pp-confirm-body{padding:24px 20px}.pp-confirm-body p{margin:0;color:hsl(var(--foreground));font-size:14px;line-height:1.65}.pp-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.pp-confirm-actions button{min-width:76px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pp-confirm-actions button:hover{background:hsl(var(--secondary))}.pp-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.pp-confirm-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-confirm-actions .is-primary:hover{background:hsl(var(--primary) / .9)}.pp-deploy-result-btn,.pp-console-link-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:5px;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer}.pp-deploy-result-btn{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-console-link-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.spin{animation:pp-spin .85s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pp-channel-card-inner,.pp-channel-card-front,.pp-deployment-select-chevron,.pp-config-actions .pp-deploy{transition:none}}@media (max-width: 1120px){.pp-release-preview{grid-template-columns:minmax(320px,.9fr) minmax(300px,1.1fr)}.pp-sidebar{flex-basis:190px;width:190px}}@media (max-width: 860px){.layout{--pp-sidebar-width: 204px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root.is-deploy{--pp-publish-content-width: min(88%, calc(100% - 36px) )}.pp-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.pp-toolbar-actions{width:100%}.pp-body{overflow-y:auto;flex-direction:column}.pp-root.is-deploy .pp-body{display:flex}.pp-release-overview{flex:0 0 auto;min-height:460px;border-right:0;border-bottom:0}.pp-release-preview{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:220px auto}.pp-release-info{min-height:200px}.pp-files-area{min-height:520px}.pp-config{width:100%;min-height:680px;border-top:0;border-left:0}.pp-config-scroll{padding-inline:0;padding-bottom:84px}.pp-config-actions{bottom:max(14px,env(safe-area-inset-bottom))}.pp-flow-backdrop{padding:12px}}@media (max-width: 520px){.pp-auth-fields,.pp-network-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pp-env-section{width:100%}}.cw-root{--cw-workspace-gutter: 10px;--cw-workspace-width: 60%;--cw-workbench-toolbar-height: 64px;--cw-workspace-ink: 222 24% 13%;--cw-workspace-accent: 162 44% 32%;--cw-workspace-accent-soft: 156 34% 92%;--cw-workspace-warm: 42 28% 96%;flex:1;min-height:0;display:flex;flex-direction:column;height:100%;color:hsl(var(--foreground));background:hsl(var(--background))}.cw-root.is-validate{--cw-workspace-width: min(88%, 1440px)}.cw-root.is-publish{--cw-workspace-width: min(80%, 1180px)}.cw-workspace-header{position:relative;z-index:12;flex:0 0 auto;width:var(--cw-workspace-width);min-height:48px;display:flex;justify-content:center;align-items:center;margin:12px auto 0;padding:8px 0;background:transparent}.cw-workspace-header h1{margin:0;color:hsl(var(--foreground));font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.02em;white-space:nowrap}.cw-workspace-main{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;width:var(--cw-workspace-width);margin:0 auto;padding:8px 0 20px;background:transparent}.cw-workspace-footer{flex:0 0 auto;display:flex;flex-direction:column;width:var(--cw-workspace-width);gap:12px;margin:0 auto 24px;padding:12px 0 4px;background:transparent}.cw-workspace-nav-actions{width:100%;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:12px;margin:0 auto}.cw-workspace-nav-actions.has-assistant{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"assistant next"}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:first-child,.cw-workspace-nav-actions.has-assistant>span[aria-hidden=true]{display:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-ai-slot{grid-area:assistant}.cw-publish-action-slot{grid-column:3;display:flex;justify-content:flex-end}.cw-publish-action-slot .pp-deploy{position:static;min-width:70px;min-height:38px;transform:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:last-child{grid-area:next}.cw-workspace-ai-slot{min-width:0}.cw-workspace-nav-button{min-height:36px;justify-self:start;padding:0 18px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:background-color .16s ease,border-color .16s ease}.cw-workspace-nav-button:last-child{justify-self:end}.cw-workspace-nav-button:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .55)}.cw-workspace-nav-button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.cw-workspace-nav-button.is-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .86);background:hsl(var(--foreground) / .86)}.cw-workspace-nav-button:focus-visible,.cw-workspace-progress button:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}.cw-workspace-nav-button:disabled{cursor:not-allowed;opacity:.5}.cw-workspace-nav-button.is-placeholder{visibility:hidden;pointer-events:none}.cw-workspace-progress{width:min(132px,40vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 auto}.cw-workspace-progress button{height:12px;padding:4px 0;border:0;background:transparent;cursor:pointer}.cw-workspace-progress button>span{display:block;height:3px;border-radius:999px;background:hsl(var(--muted-foreground) / .16);transition:background-color .16s ease}.cw-workspace-progress button.is-complete>span,.cw-workspace-progress button.is-active>span{background:hsl(var(--foreground) / .46)}.cw-workspace-progress button.is-active>span{height:4px}.cw-workspace-progress button:disabled{cursor:not-allowed}@media (prefers-reduced-motion: reduce){.cw-workspace-nav-button,.cw-workspace-progress button>span{transition:none}}.cw-build-workspace{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.cw-ai-compose{min-width:0}.cw-ai-compose-entry{min-width:0;display:grid;gap:6px}.cw-ai-compose-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 4px 4px 16px;border-radius:16px;background:hsl(var(--panel));box-shadow:inset 0 0 0 1px hsl(var(--border) / .7),0 8px 24px hsl(var(--foreground) / .05);transition:background-color .18s ease,box-shadow .18s ease}.cw-ai-compose.is-generating .cw-ai-compose-form{background:hsl(var(--muted) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .05)}.cw-ai-compose-form input{min-width:0;height:38px;min-height:38px;padding:6px 0;border:0;outline:none;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.cw-ai-compose-form input::placeholder{color:hsl(var(--muted-foreground) / .72)}.cw-ai-compose-form:has(input:focus-visible){background:hsl(var(--background));box-shadow:0 0 0 2px hsl(var(--ring) / .12),inset 0 0 0 1px hsl(var(--ring) / .24)}.cw-ai-compose-form input:focus,.cw-ai-compose-form input:focus-visible{outline:none;box-shadow:none}.cw-ai-compose.is-generating .cw-ai-compose-form input{color:hsl(var(--muted-foreground) / .78);cursor:wait}.cw-ai-compose-form button{height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:0;border-radius:12px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;transition:background-color .15s ease,opacity .15s ease}.cw-ai-compose-form button:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.cw-ai-compose-form button:disabled{cursor:not-allowed;opacity:.34}.cw-ai-requirement-error{margin:0;padding:0 16px;color:hsl(var(--destructive));font-size:12px;line-height:18px}.cw-ai-compose.is-generating .cw-ai-compose-form button:disabled{width:34px;padding:0;background:hsl(var(--foreground));opacity:1}.cw-ai-orb{width:14px;height:14px;display:block;border:1.5px solid hsl(var(--background) / .34);border-top-color:hsl(var(--background));border-radius:50%;animation:cw-ai-orb-spin .72s linear infinite}.cw-ai-orb>span{display:none}@keyframes cw-ai-orb-spin{to{transform:rotate(360deg)}}.cw-ai-compose-success{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:2px 3px 2px 10px;border-radius:12px;background:hsl(var(--background) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .055);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cw-ai-compose-success strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:650}.cw-ai-success-check{position:relative;width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:hsl(var(--foreground))}.cw-ai-success-check:after{position:absolute;top:3px;left:6px;width:4px;height:7px;border:solid hsl(var(--background));border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.cw-ai-regenerate{height:34px;min-height:34px;padding:0 12px;border:0;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:background-color .15s ease}.cw-ai-regenerate:hover{background:hsl(var(--muted-foreground) / .12)}.cw-ai-compose-form button:focus-visible,.cw-ai-regenerate:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}@media (prefers-reduced-motion: reduce){.cw-ai-compose-form,.cw-ai-compose-form button,.cw-ai-regenerate{transition:none}.cw-ai-orb{animation:none}}.cw-ai-error-dialog{width:460px;font-family:inherit}.cw-ai-error-message{max-height:min(320px,50vh);margin:10px 0 18px;overflow:auto;color:hsl(var(--foreground) / .78);font-family:inherit;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.cw-ai-error-close{border-color:transparent;background:hsl(var(--foreground));color:hsl(var(--background))}.cw-ai-error-close:hover{background:hsl(var(--foreground) / .86)}.cw-workspace-alert{position:absolute;z-index:30;top:94px;right:18px;max-width:min(420px,calc(100% - 36px));padding:10px 13px;border:1px solid hsl(var(--destructive) / .2);border-radius:9px;background:hsl(var(--background));box-shadow:0 12px 36px hsl(var(--foreground) / .12);color:hsl(var(--destructive));font-size:12.5px}.cw-editor{flex:1;width:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:0;overflow:hidden}.cw-editor>.abc-root{flex:0 0 200px;width:100%;min-width:0;min-height:200px;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-tree{flex-shrink:0;width:248px;overflow-y:auto;padding:16px 14px;border-right:1px solid hsl(var(--border));background:hsl(var(--panel))}.cw-tree-head{font-size:12px;font-weight:650;letter-spacing:.02em;color:hsl(var(--muted-foreground));padding:0 6px;margin-bottom:10px}.cw-tree-branch{display:flex;flex-direction:column}.cw-tree-node{position:relative;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.cw-tree-node:hover{background:hsl(var(--accent))}.cw-tree-node.is-selected{background:hsl(var(--primary) / .04);border-color:hsl(var(--primary) / .16)}.cw-tree-node.is-invalid{background:hsl(var(--destructive) / .07);border-color:hsl(var(--destructive) / .5)}.cw-tree-node.is-invalid.is-selected{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .6)}.cw-tree-node.is-draggable{cursor:grab}.cw-tree-node.is-draggable:active{cursor:grabbing}.cw-tree-node.is-dragover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .45)}.cw-tree-icon{width:15px;height:15px;flex-shrink:0;opacity:.8}.cw-tree-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cw-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.cw-tree-type{font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground))}.cw-tree-actions{display:flex;align-items:center;gap:1px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .12s ease}.cw-tree-node:hover .cw-tree-actions,.cw-tree-node.is-selected .cw-tree-actions{opacity:1;pointer-events:auto}.cw-tree-children{display:flex;flex-direction:column;gap:2px;margin-top:2px;margin-left:8px;padding-left:8px;border-left:1px solid hsl(var(--border))}.cw-detail{position:relative;flex:1 1 auto;width:100%;max-width:none;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-detail-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:0 4px 16px;background:hsl(var(--background))}.cw-detail-inner{max-width:none;margin:0 auto}.cw-lower{display:flex;gap:0;align-items:flex-start}.cw-detail .cw-form-col{flex:1;min-width:0;max-width:none;margin:0}.cw-debug{flex-shrink:0;width:380px;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid hsl(var(--border));background:hsl(var(--panel));transition:width .22s cubic-bezier(.22,1,.36,1),min-width .22s cubic-bezier(.22,1,.36,1),height .22s cubic-bezier(.22,1,.36,1),min-height .22s cubic-bezier(.22,1,.36,1),flex-basis .22s cubic-bezier(.22,1,.36,1),padding .18s ease}.cw-debug:not(.is-collapsed)>*{animation:cw-debug-content-in .18s ease-out both}.cw-debug.is-collapsed .cw-debug-expand{animation:cw-debug-control-in .18s .06s ease-out both}@keyframes cw-debug-content-in{0%{opacity:0;transform:scale(.985)}}@keyframes cw-debug-control-in{0%{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion: reduce){.cw-debug{transition:none}.cw-debug:not(.is-collapsed)>*,.cw-debug.is-collapsed .cw-debug-expand{animation:none}}.cw-debug-head{flex-shrink:0;height:var(--cw-workbench-toolbar-height);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid hsl(var(--border))}.cw-debug-collapse,.cw-debug-expand{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .12s,background .12s,transform .12s}.cw-debug-collapse{width:24px;height:24px}.cw-debug-collapse:hover,.cw-debug-expand:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.cw-debug-expand:hover{transform:scale(1.06)}.cw-debug.is-collapsed{width:48px;min-width:48px;height:100%;min-height:0;align-items:center;padding-top:14px}.cw-debug-expand{width:34px;height:34px;min-height:34px}.cw-debug-title{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:650;color:hsl(var(--foreground))}.cw-debug-start{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 10px;border:none;border-radius:8px;background:#111;box-shadow:none;color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease,transform .15s ease}.cw-debug-start:hover:not(:disabled){background:#29292b;box-shadow:0 7px 18px #00000029}.cw-debug-start:active:not(:disabled){transform:translateY(0) scale(.98)}.cw-debug-start:disabled{opacity:.45;cursor:default}.cw-debug-sub{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding:10px 16px 14px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.cw-debug-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.cw-debug-body{flex:1;min-height:0;overflow-y:auto;padding:10px 16px 18px}.cw-debug-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-run-icon{width:17px;height:17px;transition:transform .16s cubic-bezier(.22,1,.36,1)}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:translate(1.5px)}@media (prefers-reduced-motion: reduce){.cw-debug-run-icon{transition:none}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:none}}.cw-debug-progress{display:flex;flex-direction:column;gap:8px}.cw-debug-logline{display:flex;align-items:center;gap:8px;min-height:28px;padding:7px 9px;border-radius:9px;background:hsl(var(--foreground) / .04);color:hsl(var(--muted-foreground));font-size:12.5px}.cw-debug-logline .cw-i{color:hsl(var(--foreground))}.cw-debug-error{display:flex;flex-direction:column;gap:12px;color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-debug-error-detail,.cw-debug-msg-error{width:100%;min-width:0;color:hsl(var(--destructive));text-align:left}.cw-debug-error-detail .deploy-error-message-text,.cw-debug-msg-error .deploy-error-message-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.cw-debug-chat{min-height:100%;display:flex;flex-direction:column;gap:18px}.cw-debug-chat-empty{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-msg{display:flex;flex-direction:column;gap:6px;max-width:100%}.cw-debug-msg-user{align-items:flex-end}.cw-debug-msg-assistant{align-items:flex-start}.cw-debug-role{display:none}.cw-debug-content{max-width:100%;color:hsl(var(--foreground));font-size:14px;line-height:1.65;word-break:break-word}.cw-debug-msg-user .cw-debug-content{max-width:88%;padding:9px 14px;border-radius:18px;background:hsl(var(--secondary))}.cw-debug-msg-assistant .cw-debug-content{width:100%}.cw-debug-composer{flex-shrink:0;padding:10px 14px 14px;background:hsl(var(--panel))}.cw-debug-composerbox{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px;border:1px solid hsl(var(--border));border-radius:24px;background:hsl(var(--background))}.cw-debug-input{flex:1;min-width:0;max-height:120px;padding:8px 4px;border:none;outline:none;resize:none;overflow-y:auto;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.5}.cw-debug-input::placeholder{color:hsl(var(--muted-foreground))}.cw-debug-send{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;transition:opacity .15s,transform .1s,background .12s,color .12s}.cw-debug-send{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-debug-send:hover:not(:disabled){opacity:.85}.cw-debug-send:active:not(:disabled){transform:scale(.94)}.cw-debug-send:disabled{opacity:.3;cursor:default}.cw-debug-overlay{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:22px;background:hsl(var(--panel) / .5);backdrop-filter:blur(9px) saturate(.9);-webkit-backdrop-filter:blur(9px) saturate(.9)}.cw-debug-overlay-content{width:min(100%,290px);display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border:1px solid hsl(var(--border) / .72);border-radius:12px;background:hsl(var(--background) / .82);box-shadow:0 10px 30px hsl(var(--foreground) / .08);text-align:center}.cw-debug-overlay-title{color:hsl(var(--foreground));font-size:14px;font-weight:650}.cw-debug-overlay-copy{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55}.cw-debug-overlay-progress{width:100%;display:flex;flex-direction:column;gap:8px}.cw-debug-overlay-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}.cw-debug-ignore{min-height:30px;padding:6px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .1s}.cw-debug-ignore:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--background))}.cw-debug-ignore:active:not(:disabled){transform:scale(.96)}.cw-debug-ignore:disabled{opacity:.45;cursor:default}.cw-validation-workspace{position:relative;flex:1;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.cw-optimization-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:22px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--cw-workspace-warm))}.cw-optimization-head{display:flex;flex-direction:column;gap:5px;padding:0 4px 18px}.cw-optimization-head>span{color:hsl(var(--cw-workspace-ink));font-size:16px;font-weight:700;letter-spacing:-.02em}.cw-optimization-head>small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cw-optimization-list{display:flex;flex-direction:column;gap:8px}.cw-optimization-option{position:relative;width:100%;display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid hsl(var(--border) / .82);border-radius:11px;background:hsl(var(--panel) / .62);color:hsl(var(--foreground));cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.cw-optimization-option:hover{border-color:hsl(var(--cw-workspace-ink) / .24);background:hsl(var(--panel))}.cw-optimization-option.is-disabled{cursor:not-allowed;opacity:.62}.cw-optimization-option.is-disabled:hover{border-color:hsl(var(--border) / .82);background:hsl(var(--panel) / .62)}.cw-optimization-option:has(input:focus-visible){outline:2px solid hsl(var(--cw-workspace-ink) / .34);outline-offset:2px}.cw-optimization-option input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.cw-optimization-check{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;border:1px solid hsl(var(--foreground) / .24);border-radius:5px;background:hsl(var(--panel));color:#fff}.cw-optimization-check .cw-i{width:11px;height:11px;stroke-width:2.4}.cw-optimization-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.cw-optimization-copy strong{color:hsl(var(--cw-workspace-ink));font-size:12.5px;font-weight:650}.cw-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.45}.cw-validation-content{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-ab-workspace{flex:1;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.cw-ab-stage{position:relative;flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{min-height:100%;display:grid;grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr));grid-auto-rows:minmax(420px,1fr);align-items:stretch;gap:12px}.cw-ab-card{min-width:0;min-height:420px;display:flex;flex-direction:column;perspective:1400px}.cw-ab-card-inner{position:relative;width:100%;min-height:420px;flex:1;transform-style:preserve-3d;transition:transform .44s cubic-bezier(.22,1,.36,1)}.cw-ab-card-inner.is-flipped{transform:rotateY(180deg)}.cw-ab-card-face{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px dashed hsl(var(--foreground) / .2);border-radius:16px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:border-color .16s ease,background-color .16s ease}.cw-ab-card-back{transform:rotateY(180deg);overflow-x:hidden;overflow-y:auto}.cw-ab-card-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px 9px 14px}.cw-ab-card-title{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ab-card-title strong{font-size:13.5px;font-weight:680}.cw-ab-card-title span{max-width:150px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-ab-card-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.cw-ab-config-trigger,.cw-ab-remove{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11px;font-weight:400}.cw-ab-config-trigger{background:transparent;color:hsl(var(--muted-foreground))}.cw-ab-config-trigger:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-remove:hover{background:hsl(var(--secondary) / .62);color:hsl(var(--foreground))}.cw-ab-config-trigger:disabled,.cw-ab-remove:disabled{cursor:default;opacity:.45}.cw-ab-remove{width:28px;padding:0;background:transparent}.cw-ab-config-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px;background:hsl(var(--background) / .94)}.cw-ab-config-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}.cw-ab-config-head strong{font-size:16px;font-weight:680}.cw-ab-config-head span{color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-config-head>.cw-ab-config-head-actions{flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;gap:6px}.cw-ab-config-head-actions .cw-ab-config-remove{width:32px;height:32px}.cw-ab-config-done{min-height:32px;padding:0 11px;border:0;border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650}.cw-ab-config-done-wrap{position:relative;flex:0 0 auto;display:inline-flex;border-radius:8px}.cw-ab-config-done:disabled{background:hsl(var(--secondary) / .82);color:hsl(var(--muted-foreground) / .68);cursor:not-allowed}.cw-ab-config-head .cw-ab-config-done-tip{position:absolute;z-index:8;right:0;top:calc(100% + 7px);bottom:auto;width:max-content;max-width:190px;padding:6px 8px;border-radius:7px;background:hsl(var(--foreground));color:#fff;font-size:11px;font-weight:400;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.cw-ab-config-done-wrap.is-disabled:hover .cw-ab-config-done-tip,.cw-ab-config-done-wrap.is-disabled:focus-visible .cw-ab-config-done-tip{opacity:1;transform:translateY(0)}.cw-ab-config-done-wrap:focus-visible{outline:2px solid hsl(var(--foreground) / .18);outline-offset:2px}.cw-ab-config{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;padding:12px 16px 16px;background:hsl(var(--background))}.cw-ab-config>label,.cw-ab-config fieldset{min-width:0;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}.cw-ab-config>label>span,.cw-ab-config legend{color:hsl(var(--muted-foreground));font-size:13px;font-weight:650}.cw-ab-config legend{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-ab-config legend em{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-style:normal;font-weight:550}.cw-ab-config input[type=text],.cw-ab-config>label>input,.cw-ab-config>label>textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.cw-ab-config>label>textarea{min-height:58px;max-height:132px;resize:vertical;line-height:1.55}.cw-ab-optimization-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cw-ab-optimization-checkbox{display:inline-flex;align-items:center;gap:0;padding:8px 9px;border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));font-size:12.5px;cursor:not-allowed;opacity:.5}.cw-ab-optimization-checkbox>label{padding-left:7px;color:inherit;font-size:inherit}.cw-ab-config>p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cw-ab-conversation{flex:1;min-height:0;overflow-y:auto;padding:14px}.cw-ab-empty{height:100%;min-height:210px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.cw-ab-launch-hint{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-ab-ready-title{color:hsl(var(--foreground));font-size:20px;font-weight:760;line-height:1.1}.cw-ab-starting{align-content:center;gap:8px}.cw-ab-starting .cw-i{width:18px;height:18px}.cw-ab-start{min-width:118px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:9px;background:hsl(var(--secondary) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:580;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-start:hover:not(:disabled){background:hsl(var(--secondary));box-shadow:none}.cw-ab-start:disabled{background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground) / .62);cursor:not-allowed}.cw-ab-start .cw-i{width:15px;height:15px}.cw-ab-deploy-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px 12px}.cw-ab-trace{min-height:32px;margin-right:auto;padding:0 10px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:500;transition:background-color .16s ease,color .16s ease}.cw-ab-trace:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-trace:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-ab-trace:disabled{color:hsl(var(--muted-foreground) / .48);cursor:not-allowed}.cw-ab-footer-start{min-width:0;background:hsl(var(--secondary) / .58)}.cw-ab-deploy{min-height:32px;padding:0 13px;border:0;border-radius:8px;background:#111;color:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:620;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-deploy:hover:not(:disabled){background:#29292b;box-shadow:0 6px 16px #00000024}.cw-ab-deploy:disabled{cursor:not-allowed;opacity:.42}.cw-ab-add{min-height:48px;align-self:stretch;justify-content:center;padding-inline:18px;white-space:nowrap}.cw-ab-composer{position:relative;z-index:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:18px var(--cw-workspace-gutter) 18px;background:hsl(var(--background))}.cw-ab-composer .cw-debug-composerbox{width:100%;min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;background:#fff;box-shadow:0 8px 22px hsl(var(--foreground) / .045)}.cw-ab-composer .cw-debug-input{background:#fff}.cw-debug.is-standalone{flex:1;width:100%;min-width:0;border-left:0;background:transparent}.cw-debug.is-standalone .cw-debug-head{height:58px;padding-inline:22px;background:hsl(var(--panel) / .7)}.cw-debug.is-standalone .cw-debug-title{font-size:15px}.cw-debug.is-standalone .cw-debug-body{padding:22px clamp(18px,5vw,72px) 28px}.cw-debug.is-standalone .cw-debug-chat{width:min(100%,840px);margin:0 auto}.cw-debug.is-standalone .cw-debug-chat-empty{min-height:260px;border:1px dashed hsl(var(--border));border-radius:16px;background:hsl(var(--panel) / .56)}.cw-debug.is-standalone .cw-debug-composer{padding:12px 210px 20px clamp(18px,5vw,72px);background:transparent}.cw-debug.is-standalone .cw-debug-composerbox{width:min(100%,840px);min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;box-shadow:0 12px 32px hsl(var(--foreground) / .06)}.cw-debug.is-standalone .cw-debug-overlay{background:hsl(var(--background) / .68)}.cw-debug.is-standalone .cw-debug-overlay-content{width:min(100%,390px);padding:28px;border-radius:16px}.cw-validation-prototype{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:clamp(26px,4vw,56px)}.cw-validation-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 28px;max-width:1040px}.cw-eyebrow{color:hsl(var(--cw-workspace-accent));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.15em}.cw-validation-page-head h2{margin:5px 0 4px;color:hsl(var(--cw-workspace-ink));font-size:clamp(24px,3vw,34px);font-weight:720;letter-spacing:-.045em}.cw-validation-page-head p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.cw-prototype-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid hsl(var(--cw-workspace-ink));border-radius:8px;background:hsl(var(--cw-workspace-ink));color:hsl(var(--background));font:inherit;font-size:12px;font-weight:650}.cw-prototype-action:disabled{cursor:not-allowed;opacity:.72}.cw-dataset-summary,.cw-variant-grid,.cw-metric-board,.cw-prototype-table,.cw-run-list,.cw-prototype-note{width:min(100%,1040px);margin-inline:auto}.cw-dataset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 10px 32px hsl(var(--foreground) / .035)}.cw-dataset-summary>div{display:flex;flex-direction:column;gap:4px;padding:17px 20px}.cw-dataset-summary>div+div{border-left:1px solid hsl(var(--border))}.cw-dataset-summary strong{color:hsl(var(--cw-workspace-ink));font-size:22px;letter-spacing:-.04em}.cw-dataset-summary span{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-table{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-prototype-row{min-height:54px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(170px,1fr) 82px;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.cw-prototype-row.is-head{min-height:38px;border-top:0;background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.cw-prototype-row>strong{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-status-pill,.cw-run-status,.cw-run-kind{justify-self:start;padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.cw-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.cw-variant-card{position:relative;overflow:hidden;padding:20px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel));box-shadow:0 12px 34px hsl(var(--foreground) / .04)}.cw-variant-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:hsl(var(--foreground) / .22)}.cw-variant-card.is-candidate:before{background:hsl(var(--cw-workspace-accent))}.cw-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.cw-variant-head small{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));font-size:9.5px;letter-spacing:0;text-transform:none}.cw-variant-card>strong{color:hsl(var(--cw-workspace-ink));font-size:17px;letter-spacing:-.025em}.cw-variant-card>p{min-height:42px;margin:7px 0 22px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.cw-variant-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.cw-variant-card dl>div{padding:9px 10px;border-radius:8px;background:hsl(var(--secondary) / .5)}.cw-variant-card dt{color:hsl(var(--muted-foreground));font-size:9.5px}.cw-variant-card dd{margin:3px 0 0;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px}.cw-metric-board{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-metric-head,.cw-metric-row{display:grid;grid-template-columns:minmax(170px,1fr) 100px 100px 88px;align-items:center;gap:12px;padding:11px 16px}.cw-metric-head{grid-template-columns:auto auto minmax(0,1fr);min-height:48px;border-bottom:1px solid hsl(var(--border))}.cw-metric-head .cw-i{width:15px;color:hsl(var(--cw-workspace-accent))}.cw-metric-head strong{font-size:12px}.cw-metric-head span{justify-self:end;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-metric-row{min-height:44px;color:hsl(var(--muted-foreground));font-size:11px}.cw-metric-row+.cw-metric-row{border-top:1px solid hsl(var(--border) / .7)}.cw-metric-row strong{color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cw-metric-row em{color:hsl(var(--cw-workspace-accent));font-size:10.5px;font-style:normal;font-weight:650}.cw-run-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-run-row{min-height:72px;display:grid;grid-template-columns:36px minmax(220px,1fr) 70px 110px 72px;align-items:center;gap:12px;padding:11px 16px}.cw-run-row+.cw-run-row{border-top:1px solid hsl(var(--border))}.cw-run-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-run-icon .cw-i{width:14px;height:14px}.cw-run-row>div{min-width:0}.cw-run-row strong{color:hsl(var(--foreground));font-size:12px}.cw-run-row p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-run-row time{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-run-status.is-running{background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-prototype-note{display:flex;align-items:center;gap:7px;margin-top:14px;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-note .cw-i{width:13px;height:13px}.cw-publish-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:hsl(var(--muted-foreground));font-size:12px}.cw-publish-loading .cw-i{width:22px;height:22px;margin-bottom:5px;color:hsl(var(--cw-workspace-accent))}.cw-publish-loading strong{color:hsl(var(--foreground));font-size:14px}.cw-header{flex-shrink:0;display:flex;align-items:flex-start;gap:16px;padding:18px 24px 16px;border-bottom:1px solid hsl(var(--border))}.cw-header-title{flex:1;min-width:0}.cw-header-mode{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.cw-title{margin:5px 0 2px;font-size:21px;font-weight:650;letter-spacing:-.02em}.cw-subtitle{margin:0;font-size:13px;color:hsl(var(--muted-foreground))}.cw-progress-pill{flex-shrink:0;margin-top:2px;padding:5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.cw-body{flex:1;min-height:0;overflow-y:auto}.cw-center{display:flex;align-items:flex-start;justify-content:center;gap:32px;max-width:960px;margin:0 auto;padding:32px 24px 80px}.cw-form-col{flex:1 1 auto;min-width:0;max-width:640px;display:flex;flex-direction:column;gap:12px}.cw-section{scroll-margin-top:24px;padding:0;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker)){overflow:visible}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker))>.cw-sec-head{border-radius:17px 17px 0 0}.cw-sec-body{padding:2px 18px 6px}.cw-sec-title{margin:0;font-size:14px;font-weight:620;letter-spacing:-.01em;color:hsl(var(--foreground))}.cw-sec-hint{margin:0;font-size:13px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-form{display:flex;flex-direction:column;gap:0}.cw-section-desc{margin:0;font-size:13px;line-height:1.6;color:hsl(var(--muted-foreground))}.cw-field{display:grid;grid-template-columns:minmax(124px,.34fr) minmax(0,1fr);align-items:start;column-gap:16px;row-gap:6px;padding:11px 0}.cw-form>.cw-field+.cw-field,.cw-form>.cw-toggle+.cw-toggle,.cw-form>.cw-field+.cw-toggle,.cw-form>.cw-toggle+.cw-field,.cw-toggle-stack>.cw-field,.cw-toggle-stack>.cw-toggle+.cw-toggle{border-top:1px dashed hsl(var(--border) / .8)}.cw-field>.cw-label,.cw-field>.cw-remote-center-head{grid-column:1;align-self:start}.cw-field:has(>.cw-input)>.cw-label{align-self:center}.cw-field:has(>.cw-model-picker)>.cw-label{align-self:center}.cw-field>:not(.cw-label):not(.cw-remote-center-head){grid-column:2;min-width:0}.cw-form>.cw-more-options{margin:10px 0 10px calc(34% + 16px)}.cw-form>.cw-model-more-options{margin-left:0}.cw-help:not(.cw-a2a-space-status):not(.cw-dependency-hint),.cw-section-desc:not(.cw-dependency-hint),.cw-remote-center-description,.cw-ctool-desc,.cw-skill-result-desc{display:none}.cw-dependency-hint{margin:0 0 14px calc(34% + 16px)}.cw-field>.cw-dependency-hint{grid-column:2;margin:0}.cw-more-options{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:-4px;padding:4px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:560;cursor:pointer;transition:color .14s ease}.cw-more-options:hover,.cw-more-options:focus-visible{color:hsl(var(--foreground))}.cw-more-options:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:3px;border-radius:4px}.cw-more-options-chevron{width:14px;height:14px;transition:transform .18s ease}.cw-more-options-chevron.is-open{transform:rotate(90deg)}.cw-more-options-count{margin-left:2px;padding:2px 7px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:10.5px;font-weight:600}.cw-model-advanced{display:flex;flex-direction:column;gap:20px;overflow:hidden}.cw-label-with-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.cw-label-with-link a{display:inline-flex;align-items:center;gap:3px;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.3;text-decoration:none}.cw-label-with-link a:hover,.cw-label-with-link a:focus-visible{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}.cw-label-with-link a svg{width:10px;height:10px}.cw-model-source-field{align-items:center}.cw-model-source-field>.cw-label{align-self:center}.cw-model-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-model-source-option{min-width:0;min-height:36px;display:flex;align-items:stretch;overflow:hidden;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.cw-model-source-option:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .22)}.cw-model-source-option.is-disabled{background:hsl(var(--muted) / .18);color:hsl(var(--muted-foreground));opacity:.7}.cw-model-source-option.is-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--muted) / .18)}.cw-model-source-option.is-on{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .055);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.cw-model-source-option>.flex{flex:1;min-width:0}.cw-model-source-control{width:100%;min-height:100%;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;color:inherit;cursor:pointer;font-size:12.5px;font-weight:560}.cw-model-source-option.is-disabled .cw-model-source-control{cursor:not-allowed}.cw-model-source-coming-soon{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;line-height:1.3}.cw-label{font-size:13px;font-weight:400;color:hsl(var(--foreground))}.cw-req{margin-left:2px;color:hsl(var(--destructive))}.cw-help{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-remote-center-head{display:flex;flex-direction:column;gap:6px}.cw-remote-center-description{display:block;max-width:560px;margin:0;line-height:1.6}.cw-a2a-space-picker{position:relative;display:flex;flex-direction:column;gap:8px}.cw-model-picker-stack{display:grid;min-width:0;gap:12px}.cw-model-picker-field{display:grid;min-width:0;gap:6px}.cw-model-picker-label{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.45}.cw-a2a-space-picker.is-open{z-index:80}.cw-a2a-space-row{display:flex;align-items:center;gap:8px}.cw-a2a-space-select-wrap{position:relative;flex:1;min-width:0}.cw-a2a-space-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.cw-a2a-space-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.cw-a2a-space-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background-color:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.cw-a2a-space-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-trigger:disabled{cursor:not-allowed;opacity:.5}.cw-a2a-space-trigger.is-error{box-shadow:0 0 0 1px hsl(var(--destructive) / .55)}.cw-a2a-space-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.cw-a2a-space-trigger-icon{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.cw-a2a-space-trigger[aria-expanded=true] .cw-a2a-space-trigger-icon{transform:rotate(180deg)}.cw-a2a-space-menu{position:absolute;z-index:81;top:calc(100% + 6px);left:0;width:100%;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08);font-size:12px}.cw-catalog-menu{width:min(460px,calc(100vw - 64px))}.cw-catalog-menu-portal{position:fixed;z-index:1000;display:flex;min-height:0;flex-direction:column;overflow:hidden}.cw-picker-search{padding:4px 4px 6px;border-bottom:1px solid hsl(var(--border) / .72)}.cw-picker-search-input{width:100%;height:30px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.cw-picker-search-input:focus{border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 2px hsl(var(--ring) / .1)}.cw-picker-options{max-height:188px;overflow-y:auto;padding-top:4px;overscroll-behavior:contain}.cw-picker-empty{padding:14px 10px;color:hsl(var(--muted-foreground));text-align:center}.cw-a2a-space-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-option:hover,.cw-a2a-space-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.cw-a2a-space-option.is-selected{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-catalog-options{min-height:0;max-height:none;flex:1;scrollbar-gutter:stable}.cw-model-key-option{justify-content:space-between;gap:12px}.cw-model-key-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-key-option>span{flex:1}.cw-model-option{min-height:48px;justify-content:space-between;gap:14px;white-space:normal}.cw-model-option.is-activation-link{cursor:pointer}.cw-model-option:disabled{cursor:default;opacity:.62}.cw-model-option:disabled:hover{background:transparent}.cw-model-option-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.cw-model-option-copy strong,.cw-model-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-option-copy strong{font-size:12.5px;font-weight:620}.cw-model-option-copy small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cw-model-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:hsl(var(--muted) / .68);color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.25}.cw-model-status:before{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor;content:""}.cw-model-status.is-available{background:#34b2621f;color:#2a844b}.cw-model-status.is-retiring{background:#eda01d1f;color:#a2631a}.cw-model-status.is-unavailable,.cw-model-status.is-unknown{background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground))}.cw-a2a-space-refresh{flex-shrink:0;width:36px;height:36px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s ease,background-color .12s ease}.cw-a2a-space-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .4)}.cw-a2a-space-refresh:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-status{display:inline-flex;align-items:center;gap:6px}.cw-a2a-space-error{align-items:flex-start;padding:9px 11px;font-size:12.5px}.cw-viking-kb-picker{gap:6px}.cw-viking-kb-inline-status{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.cw-viking-kb-menu{padding:3px;box-shadow:0 6px 18px hsl(var(--foreground) / .06)}.cw-viking-kb-menu .cw-picker-options{max-height:min(112px,calc(100vh - 310px))}.cw-viking-kb-menu .cw-a2a-space-option{min-height:28px;padding:5px 9px;line-height:1.25}.cw-viking-kb-refresh{color:hsl(var(--foreground) / .72)}.cw-viking-kb-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .28);background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.cw-viking-kb-refresh:disabled{color:hsl(var(--muted-foreground))}.cw-error-text{font-size:12px;color:hsl(var(--destructive))}.cw-env-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:5px}.cw-env-field{display:flex;min-width:0;flex-direction:column;gap:6px}.cw-env-field-head{display:grid;min-width:0;gap:3px;color:hsl(var(--foreground));font-size:12px;font-weight:560}.cw-env-field-title{display:inline-flex;min-width:0;align-items:center;gap:5px}.cw-env-field-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.cw-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.cw-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.cw-env-help:hover .cw-env-help-popover,.cw-env-help:focus-visible .cw-env-help-popover,.cw-env-help:focus-within .cw-env-help-popover{opacity:1;pointer-events:auto}.cw-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.cw-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.cw-env-link svg{width:13px;height:13px;flex:0 0 13px}.cw-env-field-head code{display:block;max-width:100%;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.cw-env-empty{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12px}.cw-input{min-width:0;width:100%;min-height:38px;padding:9px 12px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.cw-input::placeholder{color:hsl(var(--muted-foreground))}.cw-input:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.cw-input.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-env-textarea{min-height:96px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.cw-env-error{margin-top:-2px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.4}.cw-textarea{width:100%;padding:11px 13px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .12s,box-shadow .12s}.cw-textarea::placeholder{color:hsl(var(--muted-foreground))}.cw-textarea:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-textarea.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}@keyframes cw-error-shake-a{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes cw-error-shake-b{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.cw-error-shake-0{animation:cw-error-shake-a .28s ease-in-out}.cw-error-shake-1{animation:cw-error-shake-b .28s ease-in-out}@media (prefers-reduced-motion: reduce){.cw-error-shake-0,.cw-error-shake-1{animation:none}}.cw-textarea-sm{min-height:80px;max-height:160px;overflow-y:auto}.cw-textarea-lg{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cw-markdown-loading,.cw-markdown-editor:not(.mdxeditor-popup-container){min-height:340px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background))}.cw-markdown-loading{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px}.cw-markdown-editor:not(.mdxeditor-popup-container){display:flex;flex-direction:column;max-height:420px;overflow:hidden;color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.cw-markdown-editor:not(.mdxeditor-popup-container):focus-within{border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-editor:not(.mdxeditor-popup-container).is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-toolbar{flex-shrink:0;min-height:40px;padding:5px 8px;border:0;border-bottom:1px solid hsl(var(--border));border-radius:0;background:hsl(var(--muted) / .38)}.cw-markdown-toolbar button,.cw-markdown-toolbar [role=combobox]{color:hsl(var(--foreground))}.cw-markdown-content{min-height:298px;max-height:360px;overflow-y:auto;padding:18px 20px 28px;color:hsl(var(--foreground));font-size:14px;line-height:1.7}.cw-markdown-content:focus{outline:none}.cw-markdown-content h1,.cw-markdown-content h2,.cw-markdown-content h3{margin:1.1em 0 .45em;color:hsl(var(--foreground));font-weight:650;line-height:1.3}.cw-markdown-content h1:first-child,.cw-markdown-content h2:first-child,.cw-markdown-content h3:first-child{margin-top:0}.cw-markdown-content h1{font-size:20px}.cw-markdown-content h2{font-size:17px}.cw-markdown-content h3{font-size:15px}.cw-markdown-content p{margin:0 0 .8em}.cw-markdown-content ul,.cw-markdown-content ol{margin:.5em 0 .9em;padding-left:1.5em}.cw-markdown-content ul{list-style:disc outside}.cw-markdown-content ol{list-style:decimal outside}.cw-markdown-content li{display:list-item}.cw-markdown-content blockquote{margin:.8em 0;padding-left:12px;border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.cw-markdown-error{display:block;margin-top:6px;color:hsl(var(--destructive));font-size:12px}.cw-tag-editor{display:flex;flex-direction:column;gap:12px}.cw-tag-inputrow{display:flex;gap:8px}.cw-tag-inputrow .cw-input{flex:1}.cw-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.cw-presets-label{font-size:11.5px;color:hsl(var(--muted-foreground));margin-right:2px}.cw-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12.5px;white-space:nowrap}.cw-chip-ghost{border:1px dashed hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;transition:background .12s,color .12s,border-color .12s}.cw-chip-ghost:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-chip-sub{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-pills{display:flex;flex-wrap:wrap;gap:8px}.cw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:13px}.cw-pill-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-pill-x:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.cw-empty-line{margin:0;font-size:12.5px;color:hsl(var(--muted-foreground))}.cw-check-inline{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:13px;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.cw-check-inline input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:hsl(var(--primary));cursor:pointer}.cw-checklist{display:flex;flex-direction:column;gap:8px}.cw-tools-list-shell{min-width:0;container-type:inline-size}.cw-tool-config{padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--muted) / .28)}.cw-tool-config-head{display:flex;flex-direction:column;gap:3px}.cw-checklist-tools{--cw-checklist-row-height: 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(var(--cw-checklist-row-height),auto);max-height:var(--cw-checklist-max-height);padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-checklist-tools .cw-check{min-height:var(--cw-checklist-row-height);align-items:center;padding:8px 10px}.cw-checklist-tools .cw-check-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@container (max-width: 575px){.cw-checklist-tools{grid-template-columns:minmax(0,1fr)}}.cw-check{display:flex;align-items:flex-start;gap:0;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-check>label{flex:1;min-width:0;padding-left:12px;color:inherit;cursor:pointer}.cw-checklist-tools .cw-check>label{padding-left:10px}.cw-check:hover{background:hsl(var(--foreground) / .05)}.cw-check.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-check-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-check-title{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.cw-check-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-segmented{display:flex;flex-wrap:wrap;gap:8px}.cw-seg{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:11px 13px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-seg:hover{background:hsl(var(--foreground) / .05)}.cw-seg.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-seg-title{font-size:13px;font-weight:600;color:hsl(var(--foreground))}.cw-seg-desc{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-foreground))}.cw-ctool{display:flex;flex-direction:column;gap:12px}.cw-ctool-inputs{display:flex;flex-wrap:wrap;gap:8px}.cw-ctool-inputs .cw-input{flex:1 1 180px}.cw-ctool-list{display:flex;flex-direction:column;gap:8px}.cw-ctool-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--card))}.cw-ctool-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.cw-ctool-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ctool-name{font-size:13.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--foreground));word-break:break-word}.cw-ctool-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp,.cw-mcp-list{display:flex;flex-direction:column;gap:12px}.cw-mcp-row{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card))}.cw-mcp-rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-mcp-transport{display:inline-flex;gap:6px}.cw-seg-sm{flex:0 0 auto;min-width:72px;flex-direction:row;align-items:center;justify-content:center;text-align:center;padding:6px 16px;border-radius:9px}.cw-seg-sm .cw-seg-title{font-size:12.5px}.cw-mcp-note{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp-warning{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border:1px solid #b4530940;border-radius:8px;background:#b453091a;color:#b45309;font-size:12.5px;line-height:1.5}.cw-mcp-warning svg{flex:0 0 auto;width:15px;height:15px;margin-top:2px}.cw-mcp .cw-add-sub{margin-top:0}.cw-mcp-field{align-items:center}.cw-mcp-field>.cw-label{align-self:center}.cw-subfield{margin:0;padding:9px 0;border:0;border-radius:0;background:transparent}.cw-toggle-stack{gap:0}.cw-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:9px 0;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.cw-toggle:hover{background:hsl(var(--muted) / .18)}.cw-toggle.is-on{background:hsl(var(--muted) / .24);box-shadow:none}.cw-toggle-text{grid-column:1;grid-row:1;margin-left:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-toggle-title{font-size:14px;font-weight:600}.cw-toggle-help{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-switch{grid-column:2;grid-row:1;justify-self:end;flex-shrink:0;display:flex;align-items:center;width:42px;height:24px;padding:2px;border-radius:999px;background:hsl(var(--border));transition:background .18s}.cw-toggle.is-on .cw-switch{background:hsl(var(--primary));justify-content:flex-end}.cw-switch-knob{display:block;width:20px;height:20px;border-radius:50%;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .2)}.cw-sub-list{display:flex;flex-direction:column;gap:14px}.cw-sub{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .03)}.cw-sub-head{display:flex;align-items:center;justify-content:space-between}.cw-sub-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.cw-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-icon-btn:not(:disabled):hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cw-icon-danger:not(:disabled):hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.cw-sub-head-actions{display:inline-flex;align-items:center;gap:2px}.cw-sub-list-wrap{display:flex;flex-direction:column}.cw-agent-type-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0}.cw-agent-type-option{position:relative;min-width:0;min-height:42px;display:flex;align-items:center;gap:10px;padding:0;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.cw-agent-type-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-agent-type-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-agent-type-option.is-disabled{color:hsl(var(--muted-foreground) / .52);cursor:not-allowed}.cw-agent-type-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-agent-type-control{align-self:stretch;flex:1;width:100%;min-width:0;min-height:100%;box-sizing:border-box;padding:10px 12px;color:inherit;cursor:inherit}.cw-agent-type-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-agent-type-copy strong{font-size:13px;font-weight:650}.cw-agent-type-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.cw-agent-type-disabled-hint{position:absolute;top:calc(100% + 17px);right:0;width:max-content;max-width:220px;padding:7px 10px;border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--popover));box-shadow:0 8px 24px hsl(var(--foreground) / .1);color:hsl(var(--popover-foreground));font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.cw-agent-type-option.is-disabled:hover .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus-visible .cw-agent-type-disabled-hint{opacity:1;transform:translateY(0)}.cw-agent-type-option:focus-within,.cw-agent-type-option:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-add-sub{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;width:100%;border:1px dashed hsl(var(--border));border-radius:12px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cw-add-sub:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-review{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;background:hsl(var(--card))}.cw-review-row{display:flex;gap:18px;padding:13px 16px;border-bottom:1px solid hsl(var(--border))}.cw-review-row:last-child{border-bottom:none}.cw-review-key{flex-shrink:0;width:110px;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground))}.cw-review-val{flex:1;min-width:0;font-size:13.5px}.cw-review-strong{font-weight:600}.cw-review-muted{color:hsl(var(--muted-foreground))}.cw-review-pre{margin:0;padding:10px 12px;background:hsl(var(--muted));border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.cw-review-chips,.cw-review-subs{display:flex;flex-wrap:wrap;gap:6px}.cw-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.cw-tag-on{background:#22c35d24;color:#1c7d3f}.cw-tag-off{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.cw-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:background .13s,opacity .13s,border-color .13s,transform .1s}.cw-btn:active{transform:scale(.98)}.cw-btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-btn-primary:hover:not(:disabled){opacity:.88}.cw-btn-primary:disabled{opacity:.4;cursor:default}.cw-btn-ghost{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.cw-btn-ghost:hover{background:hsl(var(--accent))}.cw-btn-soft{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));flex-shrink:0}.cw-btn-soft:hover:not(:disabled){background:hsl(var(--accent))}.cw-btn-soft:disabled{opacity:.45;cursor:default}.cw-i{width:16px;height:16px;flex-shrink:0}.cw-i-sm{width:14px;height:14px}.cw-root-preview{height:100%}.cw-preview-body{flex:1;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-preview-body>*{flex:1;min-height:0}.cw-skillhub{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.cw-skill-searchrow{display:flex;gap:8px}.cw-skill-searchbox{position:relative;flex:1;min-width:0;display:flex;align-items:center}.cw-skill-searchicon{position:absolute;left:11px;color:hsl(var(--muted-foreground));pointer-events:none}.cw-skill-input{padding-left:36px}.cw-skill-input:focus,.cw-skill-input:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:1px;border-color:hsl(var(--ring) / .48);background:hsl(var(--background));box-shadow:none}.cw-skill-selected{display:flex;flex-direction:column;gap:8px}.cw-skill-selected-label{font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground))}.cw-skill-results{display:flex;flex-direction:column;gap:8px;max-height:472px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-skill-result{flex-shrink:0;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s;min-height:72px}.cw-skill-result:hover{background:hsl(var(--foreground) / .05)}.cw-skill-result.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-skill-result-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));transition:background .12s,border-color .12s,color .12s}.cw-skill-result.is-on .cw-skill-result-icon{background:hsl(var(--foreground));border-color:hsl(var(--foreground));color:hsl(var(--background))}.cw-skill-result-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-skill-result-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground));word-break:break-word}.cw-skill-result-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-skill-result-repo{font-size:11px;font-family:inherit;line-height:1.4;color:hsl(var(--muted-foreground));word-break:break-all}.cw-skill-loading{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.cw-spin{animation:cw-spin .8s linear infinite}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-skillspane{display:flex;flex-direction:column;gap:10px;padding:10px 0 12px}.cw-skill-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.cw-skill-add:hover{border-color:hsl(var(--foreground) / .34);background:transparent;color:hsl(var(--foreground))}.cw-skill-add:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .25)}.cw-skill-add-icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.cw-skill-dialog-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#15181e47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cw-skill-dialog{width:min(680px,calc(100vw - 32px));height:min(640px,calc(100dvh - 40px));min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 72px #10131933}.cw-skill-dialog-head{flex-shrink:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;border-bottom:1px solid hsl(var(--border))}.cw-skill-dialog-head h3{margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.cw-skill-dialog-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-skill-dialog-close:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-skill-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.cw-skill-sourcetabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:44px;padding:4px;overflow:hidden;border:1px solid hsl(var(--border) / .55);border-radius:10px;background:hsl(var(--secondary) / .58)}.cw-skill-tab-slider{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:var(--cw-skill-tab-slider-width);border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--background));transform:translate(var(--cw-active-skill-tab-offset));transition:transform .24s cubic-bezier(.22,1,.36,1)}.cw-skill-pickertab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background .16s,color .16s}.cw-skill-pickertab:hover{background:hsl(var(--foreground) / .035);color:hsl(var(--foreground))}.cw-skill-pickertab.is-on{background:transparent;color:hsl(var(--foreground))}.cw-skill-pickertab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-skill-tabbody{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.cw-selected-skill-list{display:flex;flex-direction:column;gap:7px;max-height:347px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-selected-skill-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card))}.cw-selected-skill-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-selected-skill-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-selected-skill-name{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-detail{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-selected-skill-remove:hover{background:hsl(var(--destructive) / .09);color:hsl(var(--destructive))}.cw-local{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.cw-local-dropzone{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 14px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .15s,color .15s}.cw-local-drop-icon{width:20px;height:20px;color:hsl(var(--muted-foreground))}.cw-local-dropzone.is-dragging{border-color:hsl(var(--foreground) / .48);color:hsl(var(--foreground))}.cw-local-drop-hint{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px}.cw-local-dropzone.is-dragging .cw-local-drop-hint,.cw-local-dropzone.is-dragging .cw-local-drop-icon{color:hsl(var(--foreground))}.cw-local-hint{margin:0;font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-skillspace{height:100%;min-height:0;display:flex;flex-direction:column}.cw-skillspace-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}.cw-skillspace-select{width:100%;flex:1;min-width:0}.cw-skillspace-region-label{flex-shrink:0;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted) / .52);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;white-space:nowrap}.cw-skillspace-console-link{flex-shrink:0;padding:9px 12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.cw-skillspace-console-link .cw-i{display:block}.cw-skill-result-version{color:hsl(var(--muted-foreground));font-weight:400;font-size:11px;margin-left:4px}.cw-skill-result-repo .cw-i{vertical-align:-2px;margin-right:2px}@media (max-width: 1280px){.cw-root{--cw-workspace-width: calc(100% - 48px) }.cw-workspace-header{padding-inline:16px}.cw-debug{width:280px}.cw-tree{width:208px}}@media (max-width: 1080px){.cw-editor{overflow:hidden}.cw-tree{height:auto}.cw-detail{flex:1 1 auto;width:100%;max-width:none;min-height:0}.cw-debug{flex:0 0 100%;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px;border-left:none;border-top:1px solid hsl(var(--border))}.cw-debug.is-collapsed{flex:0 0 48px;width:100%;min-width:0;height:48px;min-height:48px;align-items:flex-end;padding:7px 12px}.cw-debug.is-collapsed .cw-debug-expand{width:34px;min-height:34px}.cw-lower{gap:0}.cw-detail .cw-form-col{max-width:100%}}@media (max-width: 860px){.cw-root{--cw-workspace-gutter: 8px;--cw-workspace-width: calc(100% - 16px) }.cw-workspace-header{min-height:50px;padding:6px 10px}.cw-workspace-header h1{font-size:17px}.cw-validation-workspace{display:flex}.cw-ab-stage{padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr))}.cw-ab-composer{padding-inline:var(--cw-workspace-gutter)}.cw-editor{flex-direction:column;overflow-x:hidden;overflow-y:hidden}.cw-editor>.abc-root{flex:0 0 180px;width:100%;min-width:0;min-height:180px}.cw-tree{width:100%;height:auto;max-height:220px;border-right:0;border-bottom:1px solid hsl(var(--border))}.cw-detail{flex:1 1 auto;width:100%;max-width:none;height:auto;min-height:0;border-left:0}.cw-detail-scroll{padding:16px 12px 20px}.cw-debug{flex:none;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px}.cw-debug.is-collapsed{width:100%;height:48px;min-height:48px}.cw-center{gap:0;padding:24px 16px 64px}.cw-form-col{max-width:100%}}@media (max-width: 700px){.cw-workspace-header h1{text-align:center}.cw-workspace-nav-actions{grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr)}.cw-workspace-nav-button{padding-inline:12px}.cw-form>.cw-more-options,.cw-dependency-hint{margin-left:0}.cw-field{grid-template-columns:minmax(0,1fr);row-gap:8px}.cw-field>.cw-label,.cw-field>.cw-remote-center-head,.cw-field>:not(.cw-label):not(.cw-remote-center-head),.cw-field>.cw-dependency-hint{grid-column:1}.cw-optimization-list,.cw-ab-grid,.cw-ab-config{grid-template-columns:minmax(0,1fr)}.cw-ab-composer{grid-template-columns:minmax(0,1fr);padding-bottom:12px}.cw-ab-add{width:100%}.cw-dataset-summary>div+div{border-top:1px solid hsl(var(--border));border-left:0}}.package-create{flex:1;min-width:0;min-height:0;display:flex;color:hsl(var(--foreground))}.package-create-preview{height:100%}.package-create-preview>*{flex:1;min-width:0;min-height:0}.package-source-pane{padding:16px 18px 18px}.package-source-label{margin-bottom:10px;color:hsl(var(--foreground));font-size:15px;font-weight:650}.package-dropzone{min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.package-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:3px}.package-dropzone.is-dragging{border-color:hsl(var(--primary) / .62);background:hsl(var(--primary) / .045)}.package-dropzone.is-ready{background:hsl(var(--background))}.package-dropzone>strong{max-width:100%;overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.package-dropzone>span{max-width:420px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.package-upload-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}.package-upload-actions button{min-height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.package-upload-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.package-upload-secondary:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary))}.package-upload-actions button:disabled{cursor:default;opacity:.45}.package-upload-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.package-dropzone input{display:none}.package-create-error{flex:0 0 auto;margin-top:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));font-size:13px;line-height:1.5}@media (max-width: 860px){.package-dropzone{min-height:140px}}@media (prefers-reduced-motion: reduce){.package-dropzone,.package-upload-actions button{transition:none}}.studio-update-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:32px;padding:0 10px;border:1px solid #1664ff;border-radius:8px;background:#1664ff;color:#fff;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle{gap:0;width:32px;min-width:32px;padding:0;overflow:hidden;white-space:nowrap;transition:width .18s ease,gap .18s ease,padding .18s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle:hover,.studio-update-trigger.is-idle:focus-visible{gap:7px;width:124px;padding:0 10px;border-color:#1664ff;background:#1664ff;color:#fff}.studio-update-trigger.is-idle>span{max-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:max-width .18s ease,opacity .12s ease,transform .18s ease}.studio-update-trigger.is-idle:hover>span,.studio-update-trigger.is-idle:focus-visible>span{max-width:86px;opacity:1;transform:translate(0)}.studio-update-trigger.is-submitting{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.studio-update-trigger.is-error{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--destructive))}.studio-update-trigger.is-published{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.studio-update-icon{width:17px;height:17px;flex:0 0 17px}.studio-update-dialog{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;width:min(500px,calc(100vw - 32px));max-width:calc(100vw - 32px);min-width:0;overflow:hidden}.studio-update-dialog.is-progress{width:min(760px,calc(100vw - 32px));height:min(700px,calc(100dvh - 32px));grid-template-rows:auto minmax(0,1fr) auto}.studio-update-dialog.is-progress>.studio-update-progress-body,.studio-update-dialog.is-progress>.studio-update-error-panel{grid-row:2;min-height:0}.studio-update-dialog.is-progress>.confirm-actions{grid-row:3}.studio-update-progress-body{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-height:0}.studio-update-progress-body .studio-update-live-log,.studio-update-error-panel .studio-update-live-log{display:flex;min-height:0;flex-direction:column}.studio-update-progress-body .studio-update-log-lines,.studio-update-error-panel .studio-update-log-lines{min-height:0;max-height:none;flex:1;overflow-y:auto}.studio-update-dialog>.studio-update-dialog-mark{grid-column:1;grid-row:1}.studio-update-dialog>.confirm-title{grid-column:2;grid-row:1;align-self:start;margin:5px 0 12px}.studio-update-dialog>:not(.studio-update-dialog-mark,.confirm-title){grid-column:1 / -1;width:100%;max-width:100%;min-width:0}.studio-update-dialog .confirm-text,.studio-update-dialog .studio-update-changelog li,.studio-update-dialog .studio-update-changelog p,.studio-update-dialog .studio-update-error,.studio-update-dialog .studio-update-progress small,.studio-update-dialog .studio-update-progress-note,.studio-update-dialog .studio-update-console-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.studio-update-field{position:relative;display:grid;gap:6px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-version-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.studio-update-version-trigger:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.studio-update-version-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.studio-update-version-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.studio-update-version-trigger>svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.studio-update-version-trigger>span,.studio-update-version-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-update-version-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.studio-update-version-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:100%;max-height:190px;padding:4px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel, var(--background)));box-shadow:0 12px 28px hsl(var(--foreground) / .1),0 2px 8px hsl(var(--foreground) / .05);overscroll-behavior:contain}.studio-update-version-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer}.studio-update-version-option:hover,.studio-update-version-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.studio-update-version-option.is-selected{background:hsl(var(--primary) / .08)}.studio-update-version-option>svg{width:15px;height:15px;flex:0 0 15px;color:hsl(var(--primary));stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.studio-update-dialog-mark{display:inline-grid;flex:0 0 30px;width:30px;height:30px;margin-bottom:12px;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-update-dialog-mark svg{width:18px;height:18px}.studio-update-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-versions div:last-child{grid-column:1 / -1}.studio-update-versions dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-versions dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.studio-update-changelog{margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px}.studio-update-changelog>div{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:500}.studio-update-changelog ul{display:block;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;list-style:disc outside;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li{display:list-item;margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-changelog li+li{margin-top:5px}.studio-update-changelog p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-confirm{border-color:transparent;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-update-confirm:hover{background:hsl(var(--primary) / .88)}.studio-update-error{margin-bottom:12px;color:hsl(var(--destructive))}.studio-update-error-panel{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-width:0;min-height:0}.studio-update-error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.studio-update-error-meta>div{min-width:0;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-error-meta dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-error-meta dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.studio-update-log-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid hsl(var(--border));border-bottom:0;border-radius:8px 8px 0 0;background:hsl(var(--muted) / .28);color:hsl(var(--foreground));font-size:11px;font-weight:500}.studio-update-log-header>span{display:inline-flex;align-items:center;gap:6px}.studio-update-log-header i{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.studio-update-log-header i.is-active{background:#1664ff;box-shadow:0 0 0 3px #1664ff1c}.studio-update-log-header i.is-complete{background:#29ae60}.studio-update-log-header i.is-error{background:hsl(var(--destructive))}.studio-update-log-header small{color:hsl(var(--muted-foreground));font-size:10px;font-weight:400}.studio-update-log-header button{padding:2px 0;border:0;background:transparent;color:hsl(var(--primary));font:inherit;cursor:pointer}.studio-update-log-header button:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-log-header button:disabled{color:hsl(var(--muted-foreground));cursor:default;text-decoration:none}.studio-update-log-lines{min-height:92px;max-height:min(210px,29vh);padding:11px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:0 0 8px 8px;background:hsl(var(--foreground) / .035);color:hsl(var(--foreground));font-family:inherit;font-size:11px;line-height:1.55;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-log-lines:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-2px}.studio-update-log-lines>div+div{margin-top:3px}.studio-update-log-lines p{margin:0;color:hsl(var(--muted-foreground))}.studio-update-console-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:hsl(var(--primary));font-size:11px;font-weight:500;text-decoration:none}.studio-update-console-link:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.studio-update-progress-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-progress-summary span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-summary strong{overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-progress{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none}.studio-update-progress li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-height:38px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-progress li:not(:last-child):after{position:absolute;top:14px;bottom:-2px;left:5px;width:1px;background:hsl(var(--border));content:""}.studio-update-progress li.is-complete:not(:last-child):after{background:#1664ff}.studio-update-progress-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:2px;border:2px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.studio-update-progress li.is-active,.studio-update-progress li.is-complete{color:hsl(var(--foreground))}.studio-update-progress li.is-active .studio-update-progress-dot{border-color:#1664ff;box-shadow:0 0 0 3px #1664ff1f}.studio-update-progress li.is-complete .studio-update-progress-dot{border-color:#1664ff;background:#1664ff}.studio-update-progress li>div{display:grid;gap:3px;min-width:0}.studio-update-progress small{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-note{margin:12px 0 18px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.new-chat-video-task-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:new-chat-video-task-fade .14s ease-out}.new-chat-video-task-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:new-chat-video-task-rise .18s cubic-bezier(.2,.8,.2,1)}.new-chat-video-task-dialog__head{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 20px;border-bottom:1px solid hsl(var(--border))}.new-chat-video-task-dialog__close svg{width:17px;height:17px}.new-chat-video-task-dialog__head h2,.new-chat-video-task-dialog__head p{margin:0}.new-chat-video-task-dialog__head h2{width:fit-content;color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35;outline:0}.new-chat-video-task-dialog__head p{overflow:hidden;margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-dialog__close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.new-chat-video-task-dialog__close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.new-chat-video-task-dialog button:focus-visible,.new-chat-video-task-dialog a:focus-visible,.new-chat-video-task-dialog video:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.new-chat-video-task-dialog__body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;overscroll-behavior:contain}.new-chat-video-task-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.new-chat-video-task-steps li{min-width:0;padding:0 0 8px;border-bottom:2px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.4}.new-chat-video-task-step__label{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-step__label>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.new-chat-video-task-step__loading{width:13px;height:13px;flex:0 0 auto;animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-steps li.is-active,.new-chat-video-task-steps li.is-done,.new-chat-video-task-steps li.is-failed{color:hsl(var(--foreground))}.new-chat-video-task-steps li.is-active{border-color:hsl(var(--primary))}.new-chat-video-task-steps li.is-done{border-color:#91cab1}.new-chat-video-task-steps li.is-failed{border-color:hsl(var(--destructive))}.new-chat-video-task-error{padding:12px 14px;border:1px solid hsl(var(--destructive) / .22);border-radius:9px;background:hsl(var(--destructive) / .05);color:hsl(var(--foreground))}.new-chat-video-task-error p{margin:0}.new-chat-video-task-error p{color:hsl(var(--foreground));font-size:13px;line-height:1.55}.new-chat-video-task-prompt{min-width:0;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas))}.new-chat-video-task-prompt h3,.new-chat-video-task-prompt p{margin:0}.new-chat-video-task-prompt h3{color:hsl(var(--foreground));font-size:12px;font-weight:620}.new-chat-video-task-prompt p{max-height:144px;overflow-y:auto;margin-top:7px;color:hsl(var(--foreground) / .78);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-preview{min-height:224px;display:grid;place-items:center;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:#161618}.new-chat-video-task-preview video{width:100%;max-height:360px;display:block;object-fit:contain}.new-chat-video-task-preview.is-loading{align-content:center;gap:8px;padding:24px;background:hsl(var(--canvas));color:hsl(var(--muted-foreground));text-align:center}.new-chat-video-task-preview__loading{width:20px;height:20px;color:hsl(var(--muted-foreground));animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-preview.is-loading strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.new-chat-video-task-preview.is-loading>span:last-child{font-size:12px}.new-chat-video-task-dialog__actions{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.new-chat-video-task-dialog__actions p{min-width:0;margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-dialog__actions p.is-warning{color:hsl(var(--destructive));font-weight:500}.new-chat-video-task-dialog__actions>div{display:flex;flex:0 0 auto;gap:8px}.new-chat-video-task-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.new-chat-video-task-button:hover{background:hsl(var(--secondary))}.new-chat-video-task-button.is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.new-chat-video-task-button.is-primary:hover{background:hsl(var(--primary) / .9)}.new-chat-video-task-button svg{width:15px;height:15px}@keyframes new-chat-video-task-fade{0%{opacity:0}to{opacity:1}}@keyframes new-chat-video-task-rise{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes new-chat-video-task-spin{to{transform:rotate(360deg)}}@media (max-width: 620px){.new-chat-video-task-backdrop{padding:12px}.new-chat-video-task-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.new-chat-video-task-steps{grid-template-columns:minmax(0,1fr);gap:10px}.new-chat-video-task-dialog__actions{align-items:stretch;flex-direction:column}.new-chat-video-task-dialog__actions>div{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.new-chat-video-task-backdrop,.new-chat-video-task-dialog,.new-chat-video-task-step__loading,.new-chat-video-task-preview__loading{animation:none}}.sandbox-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid hsl(268 58% 58% / .34);background:#f4eefb;color:#5b318c;font:inherit;font-weight:600;cursor:pointer;transition:background-color .14s ease-out,border-color .14s ease-out}.sandbox-entry svg{width:15px;height:15px;flex:0 0 auto}.sandbox-entry:hover:not(:disabled){border-color:#803ecc85;background:#ece2f9}.sandbox-entry:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-entry:disabled{cursor:default;opacity:.72}.sandbox-entry--composer{min-height:30px;padding:0 13px;border-radius:999px;font-size:12px}.sandbox-entry--header{min-height:32px;padding:0 10px;border-radius:7px;font-size:12px}.sandbox-entry.is-active{border-style:dashed}.sandbox-new-chat-entry{display:flex;justify-content:center;min-height:30px}.composer-slot{width:100%;min-width:0}.sandbox-composer-wrap{position:relative;z-index:50}.sandbox-session-warning{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;width:calc(100% - 32px);max-width:736px;min-height:24px;margin:0 auto 6px;color:#c7840f;font-size:12px}.sandbox-session-warning-dot{display:none}.sandbox-session-warning-copy{grid-column:2;white-space:nowrap;text-align:center}.sandbox-session-warning button{grid-column:3;justify-self:end;padding:3px 5px;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-weight:580;cursor:pointer}.sandbox-session-warning button:hover{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.sandbox-composer-wrap .composer-box{display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(44px,auto) 36px;align-items:center;gap:2px 8px;min-height:104px;padding:10px 8px 8px;border-radius:24px}.sandbox-composer-wrap .comp-input{grid-row:1;grid-column:1 / -1;align-self:stretch;width:100%;min-height:44px;padding:8px 10px 4px}.sandbox-composer-wrap .sandbox-composer-input{grid-row:1;grid-column:1 / -1;align-self:stretch;display:flex;flex-flow:row wrap;align-content:flex-start;align-items:center;gap:6px;min-height:44px;padding:5px 10px 2px}.sandbox-composer-input>.invocation-chips{flex:0 1 auto}.sandbox-composer-input>.comp-input{flex:1 1 180px;min-width:120px;min-height:28px;padding:4px 0;line-height:20px}.sandbox-codex-composer .composer-command-menu{z-index:100;display:flex;max-height:min(420px,calc(100vh - 180px));flex-direction:column}.sandbox-codex-composer .composer-command-list{min-height:0;max-height:none}.sandbox-composer-wrap .composer-left-controls{grid-row:2;grid-column:1;justify-self:start}.composer-left-controls{display:flex;align-items:center;gap:2px;min-width:0}.sandbox-composer-control{width:32px;height:32px}.sandbox-composer-control svg{width:16px;height:16px}.sandbox-composer-control.is-locked{color:hsl(var(--muted-foreground) / .56)}.sandbox-codex-composer .composer-menu-separator{height:1px;margin:4px 6px;background:hsl(var(--border))}.turn--system{width:100%;align-items:stretch;margin-bottom:16px}.sandbox-activity-record{width:100%;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--muted-foreground))}.sandbox-activity-summary{display:grid;grid-template-columns:7px auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.45}.sandbox-activity-dot{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .68)}.sandbox-activity-label{padding-right:7px;border-right:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11px;font-weight:600}.sandbox-activity-summary strong{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-weight:560}.sandbox-activity-summary time{color:hsl(var(--muted-foreground));font-size:11px;white-space:nowrap}.sandbox-activity-details{display:grid;gap:5px;margin:8px 0 0 21px}.sandbox-activity-details>div{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px;font-size:12px;line-height:1.5}.sandbox-activity-details dt,.sandbox-activity-details dd{min-width:0;margin:0}.sandbox-activity-details dt{color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-activity-details dd{overflow-wrap:break-word;color:hsl(var(--foreground))}.sandbox-activity-details code{font:inherit;font-size:11px;line-height:1.5;white-space:pre-wrap}.sandbox-composer-wrap .comp-send{grid-row:2;grid-column:2}.main.is-sandbox-session{position:relative;isolation:isolate;background:linear-gradient(to bottom,#f4edfd,#f8f3fc,#fbf8fc 48%,hsl(var(--panel)) 76%)}.main.is-sandbox-session:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 78% 40% at 18% 0%,hsl(244 82% 84% / .24),transparent 70%),radial-gradient(ellipse 70% 36% at 52% 0%,hsl(284 70% 86% / .2),transparent 72%),radial-gradient(ellipse 64% 38% at 88% 2%,hsl(324 66% 88% / .16),transparent 72%),linear-gradient(to bottom,hsl(var(--panel) / 0),hsl(var(--panel) / .18) 42%,hsl(var(--panel)) 76%);filter:blur(24px);opacity:1;animation:sandbox-smoke-enter .42s ease-out both}.main.is-sandbox-session>*{position:relative;z-index:1}.sandbox-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-dialog{width:min(440px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-dialog-enter .18s ease-out both}.sandbox-dialog-visual{position:relative;display:grid;height:112px;place-items:center;overflow:hidden;border-bottom:1px solid hsl(var(--border));background:radial-gradient(circle at 35% 70%,hsl(256 68% 78% / .34),transparent 40%),radial-gradient(circle at 68% 30%,hsl(276 66% 72% / .28),transparent 42%),#f9f8fc}.sandbox-dialog-orbit{position:absolute;width:104px;height:44px;border:1px solid hsl(268 52% 54% / .22);border-radius:50%;transform:rotate(-12deg)}.sandbox-dialog-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid hsl(268 58% 58% / .3);border-radius:14px;background:hsl(var(--panel) / .9);color:#68389f;box-shadow:0 8px 24px #6c38a824}.sandbox-dialog-icon svg{width:23px;height:23px}.sandbox-spinner{width:21px;height:21px;border:2px solid hsl(268 48% 42% / .2);border-top-color:currentColor;border-radius:50%;animation:sandbox-spin .8s linear infinite}.sandbox-dialog-copy{padding:22px 24px 20px;text-align:center}.sandbox-dialog-copy h2{margin:0 0 8px;color:hsl(var(--foreground));font-size:17px;font-weight:650}.sandbox-dialog-copy p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.65}.sandbox-dialog-copy .sandbox-dialog-error{color:hsl(var(--destructive))}.sandbox-dialog-field{display:grid;gap:6px;margin-top:16px;text-align:left}.sandbox-dialog-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.sandbox-dialog-field-label>:last-child{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400}.sandbox-dialog-field input{width:100%;height:36px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.sandbox-dialog-field input:focus-visible{border-color:hsl(var(--primary) / .64);box-shadow:0 0 0 2px hsl(var(--primary) / .14)}.sandbox-dialog-field input:disabled{cursor:default;opacity:.66}.sandbox-dialog-persistence{display:grid;gap:3px;margin-top:12px;text-align:left}.sandbox-dialog-persistence-control{justify-self:start;color:hsl(var(--foreground));font-weight:550}.sandbox-dialog-persistence-description{margin:0 0 0 26px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.sandbox-dialog-persistence-description.is-warning{color:#9e6b1a}.sandbox-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-dialog-actions button{min-width:80px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-dialog-actions button:hover{background:hsl(var(--secondary))}.sandbox-dialog-actions button:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-dialog-actions .is-primary{border-color:#68389f;background:#68389f;color:hsl(var(--primary-foreground))}.sandbox-dialog-actions .is-primary:hover{background:#5b318c}@keyframes sandbox-spin{to{transform:rotate(360deg)}}@keyframes sandbox-dialog-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-smoke-enter{0%{opacity:0}to{opacity:1}}.sandbox-codex-composer .composer-command-head small{max-width:210px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sandbox-codex-composer .composer-command-icon--command,.sandbox-codex-composer .composer-command-icon--model{font-size:16px;font-weight:700;line-height:1}.sandbox-codex-composer .composer-command-icon--command{background:hsl(var(--accent));color:hsl(var(--foreground))}.sandbox-codex-composer .composer-command-icon--model{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-token-usage{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-right:auto}.sandbox-token-usage>span{display:inline-flex;align-items:baseline;gap:4px;padding:3px 7px;border:1px solid hsl(var(--border) / .76);border-radius:6px;background:hsl(var(--muted) / .42);color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-token-usage small{font-size:9px;font-weight:560}.sandbox-token-usage strong{color:hsl(var(--foreground) / .76);font-size:10px;font-weight:600;line-height:1.2}@media (max-width: 700px){.sandbox-entry--header span{display:none}.sandbox-entry--header{width:32px;padding:0}.sandbox-session-warning{grid-template-columns:1fr auto;width:calc(100% - 16px)}.sandbox-session-warning-copy{grid-column:1;white-space:normal;text-align:left}.sandbox-session-warning button{grid-column:2}.sandbox-activity-summary{grid-template-columns:7px auto minmax(0,1fr)}.sandbox-activity-summary time{grid-column:3}.sandbox-activity-details>div{grid-template-columns:1fr;gap:1px}}@media (prefers-reduced-motion: reduce){.sandbox-entry,.sandbox-dialog,.main.is-sandbox-session:before{animation:none;transition:none}}.sandbox-control-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sandbox-control-fade .14s ease-out}.sandbox-control-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:sandbox-control-rise .18s cubic-bezier(.2,.8,.2,1)}.sandbox-control-head{min-height:60px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 17px;border-bottom:1px solid hsl(var(--border))}.sandbox-control-head-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-head-icon svg{width:17px;height:17px}.sandbox-control-head h2,.sandbox-control-head p{margin:0}.sandbox-control-head h2{color:hsl(var(--foreground));font-size:14px;font-weight:660;line-height:1.35}.sandbox-control-head p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-control-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-control-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-dialog button:focus-visible,.sandbox-control-dialog input:focus-visible,.sandbox-control-dialog iframe:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.sandbox-control-close svg{width:16px;height:16px}.sandbox-control-body{min-height:0;overflow:auto;padding:18px}.sandbox-control-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.sandbox-control-actions button,.sandbox-control-state button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:590;text-decoration:none;cursor:pointer}.sandbox-control-actions button:hover:not(:disabled),.sandbox-control-state button:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary))}.sandbox-control-actions button.is-primary,.sandbox-control-state button{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sandbox-control-actions button:disabled{cursor:default;opacity:.5}.sandbox-control-actions svg{width:13px;height:13px}.sandbox-choice-group{margin:0 0 18px;padding:0;border:0}.sandbox-settings-dialog{width:min(720px,calc(100vw - 40px))}.sandbox-choice-group legend{margin-bottom:8px;color:hsl(var(--foreground));font-size:12px;font-weight:650}.sandbox-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sandbox-choice-list button{min-width:0;min-height:72px;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-choice-list button:hover:not(:disabled),.sandbox-choice-list button.is-active{border-color:hsl(var(--primary) / .42);background:hsl(var(--accent))}.sandbox-choice-list button.is-danger:hover:not(:disabled),.sandbox-choice-list button.is-danger.is-active{border-color:hsl(var(--destructive) / .38);background:hsl(var(--destructive) / .06)}.sandbox-choice-list button>i{width:12px;height:12px;flex:0 0 auto;margin-top:2px;border:1px solid hsl(var(--border));border-radius:50%}.sandbox-choice-list button.is-active>i{border:3px solid hsl(var(--primary));background:hsl(var(--background))}.sandbox-choice-list button>span{min-width:0;display:grid;gap:5px}.sandbox-choice-list strong{color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-choice-list small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.sandbox-network-toggle{min-height:54px;display:flex;align-items:center;gap:12px;margin-top:2px;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .24)}.sandbox-network-toggle>span{min-width:0;flex:1;display:grid;gap:3px}.sandbox-network-toggle strong{font-size:11px}.sandbox-network-toggle small{color:hsl(var(--muted-foreground));font-size:11px}.sandbox-network-toggle input{width:16px;height:16px;accent-color:hsl(var(--primary))}.sandbox-network-toggle.is-disabled{opacity:.62}.sandbox-control-note,.sandbox-control-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(42 70% 52% / .25);border-radius:8px;background:#fcf8ed;color:#916622;font-size:12px;line-height:1.55}.sandbox-control-note.is-danger,.sandbox-control-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.sandbox-workspace-dialog{width:min(600px,calc(100vw - 40px))}.sandbox-workspace-input{display:grid;gap:7px;color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-workspace-input>div{display:flex;gap:7px}.sandbox-workspace-input input{min-width:0;height:36px;flex:1;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.sandbox-workspace-input input:focus{border-color:hsl(var(--primary) / .55);box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.sandbox-workspace-input button{width:64px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .35);color:hsl(var(--foreground));font:inherit;font-size:11px;cursor:pointer}.sandbox-directory-browser{height:268px;margin-top:14px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .14)}.sandbox-directory-head{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;font-size:10px}.sandbox-directory-head span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-head svg{width:13px}.sandbox-directory-list{height:calc(100% - 36px);overflow:auto;padding:5px}.sandbox-directory-list button{width:100%;min-height:34px;display:grid;grid-template-columns:18px minmax(0,auto) minmax(0,1fr) 16px;align-items:center;gap:7px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11px;text-align:left;cursor:pointer}.sandbox-directory-list button:hover{background:hsl(var(--foreground) / .05)}.sandbox-directory-list button>svg:first-child{width:15px;color:hsl(var(--foreground))}.sandbox-directory-list button>svg:last-child{width:13px;color:hsl(var(--muted-foreground))}.sandbox-directory-list button small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-empty{display:grid;min-height:120px;place-items:center;color:hsl(var(--muted-foreground));font-size:11px}.sandbox-tool-dialog{width:min(1120px,calc(100vw - 44px));height:min(760px,calc(100vh - 48px));max-height:none}.sandbox-tool-toolbar{min-height:42px;display:flex;align-items:center;gap:12px;padding:5px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .2)}.sandbox-tool-toolbar>span{display:inline-flex;align-items:center;gap:7px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.sandbox-tool-toolbar>span i{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .5)}.sandbox-tool-toolbar>span i.is-ready{background:#2ab262}.sandbox-tool-toolbar>span i.is-loading{background:#e9ab1c}.sandbox-tool-surface{flex:1;min-height:0;display:grid;overflow:hidden;background:hsl(var(--secondary) / .2)}.sandbox-tool-dialog--terminal .sandbox-tool-surface{background:#15171e}.sandbox-tool-surface iframe{width:100%;height:100%;border:0;background:hsl(var(--background))}.sandbox-control-state{display:grid;place-items:center;align-content:center;gap:8px;padding:28px;color:hsl(var(--muted-foreground));text-align:center}.sandbox-control-state>svg{width:22px;height:22px;color:hsl(var(--foreground))}.sandbox-control-state strong{color:hsl(var(--foreground));font-size:13px}.sandbox-control-state span{max-width:420px;font-size:11px;line-height:1.55}.sandbox-approval-dialog{width:min(560px,calc(100vw - 40px))}.sandbox-approval-reason{margin-bottom:11px;color:hsl(var(--foreground));font-size:12px;line-height:1.55}.sandbox-approval-dialog pre{max-height:240px;margin:0 0 10px;overflow:auto;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:#181a21;color:#e0e6eb;font:inherit;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.sandbox-approval-meta{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-approval-meta code{color:hsl(var(--foreground));font:inherit;font-size:10px}.sandbox-approval-actions{flex-wrap:wrap}.sandbox-threads-dialog{width:min(620px,calc(100vw - 40px))}.sandbox-thread-list{display:grid;max-height:min(520px,64vh);overflow-y:auto;padding:7px}.sandbox-thread-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:62px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-thread-list>button:hover{background:hsl(var(--accent))}.sandbox-thread-list>button.is-active{background:hsl(var(--muted) / .7);cursor:default}.sandbox-thread-list>button>span{display:grid;min-width:0;gap:4px}.sandbox-thread-list strong,.sandbox-thread-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-thread-list strong{font-size:12px;font-weight:620}.sandbox-thread-list small,.sandbox-thread-list time{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-thread-list svg{width:14px;height:14px;color:hsl(var(--muted-foreground))}@keyframes sandbox-control-fade{0%{opacity:0}to{opacity:1}}@keyframes sandbox-control-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.sandbox-control-backdrop{padding:10px}.sandbox-control-dialog{width:100%;max-height:calc(100vh - 20px)}.sandbox-tool-dialog{height:calc(100vh - 20px)}.sandbox-choice-list,.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:1fr}.sandbox-choice-list button{min-height:58px}.sandbox-control-head p{display:none}.sandbox-control-actions>button{flex:1}}@media (prefers-reduced-motion: reduce){.sandbox-control-backdrop,.sandbox-control-dialog{animation:none}}.sandbox-agent-details{display:grid;align-content:start;gap:20px;width:min(920px,100%);height:100%;min-height:0;margin:0 auto;padding:28px 32px;overflow:auto}.sandbox-agent-details-header{display:grid;gap:20px}.sandbox-agent-back{display:inline-flex;width:fit-content;height:32px;align-items:center;gap:6px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;font-weight:550;cursor:pointer}.sandbox-agent-back:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.sandbox-agent-back:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-back svg{width:16px;height:16px;flex:0 0 auto}.sandbox-agent-details-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650}.sandbox-agent-details-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px}.sandbox-agent-detail-error{padding:10px 12px;border:1px solid hsl(var(--destructive) / .3);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px}.sandbox-agent-detail-panel{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.sandbox-agent-detail-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 24px}.sandbox-agent-detail-panel dl>div{min-width:0;padding:16px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:nth-last-child(-n+2){border-bottom:0}.sandbox-agent-detail-panel dl>div:nth-child(odd){padding-right:24px}.sandbox-agent-detail-panel dl>div:nth-child(2n){padding-left:24px}.sandbox-agent-detail-panel dl>.is-wide{grid-column:1 / -1;padding-right:0}.sandbox-agent-detail-panel dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-detail-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:520}.sandbox-agent-detail-panel footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .25)}.sandbox-agent-detail-panel footer button{height:34px;padding:0 14px;border-radius:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-agent-delete{border:1px solid hsl(var(--destructive) / .34);background:hsl(var(--panel));color:hsl(var(--destructive))}.sandbox-agent-open{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-agent-detail-panel footer button:disabled{cursor:default;opacity:.58}@media (max-width: 720px){.sandbox-agent-details{padding:20px 16px}.sandbox-agent-detail-panel dl{grid-template-columns:1fr;padding:8px 16px}.sandbox-agent-detail-panel dl>div,.sandbox-agent-detail-panel dl>div:nth-child(odd),.sandbox-agent-detail-panel dl>div:nth-child(2n){padding:14px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:last-child{border-bottom:0}}@layer components{._SegmentedControl_1sl7d_1{--segmented-control-option-radius: calc( var(--segmented-control-radius) - var(--segmented-control-gutter) );position:relative;overflow:auto;display:inline-flex;flex-wrap:nowrap;gap:var(--segmented-control-gap);height:var(--segmented-control-size);padding:var(--segmented-control-gutter);border-radius:var(--segmented-control-radius);background:var(--segmented-control-background);font-size:var(--segmented-control-font-size);font-weight:var(--segmented-control-font-weight);-ms-overflow-style:none;scrollbar-width:none;vertical-align:middle;white-space:nowrap}._SegmentedControl_1sl7d_1::-webkit-scrollbar{width:0;height:0}._SegmentedControl_1sl7d_1::-webkit-scrollbar-track,._SegmentedControl_1sl7d_1::-webkit-scrollbar-thumb{background:transparent}._SegmentedControl_1sl7d_1:where([data-block]){overflow:hidden;display:flex;width:100%;white-space:wrap}._SegmentedControl_1sl7d_1:where([data-size="3xs"]){--segmented-control-size: var(--control-size-3xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size="2xs"]){--segmented-control-size: var(--control-size-2xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=xs]){--segmented-control-size: var(--control-size-xs);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=sm]){--segmented-control-size: var(--control-size-sm);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-size=md]){--segmented-control-size: var(--control-size-md);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=lg]){--segmented-control-size: var(--control-size-lg);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=xl]){--segmented-control-size: var(--control-size-xl);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-lg);--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-size="2xl"]){--segmented-control-size: var(--control-size-2xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-size="3xl"]){--segmented-control-size: var(--control-size-3xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-gutter-size="2xs"]){--segmented-control-option-gutter: var(--control-gutter-2xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xs]){--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=sm]){--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-gutter-size=md]){--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-gutter-size=lg]){--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xl]){--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-pill]){--segmented-control-radius: var(--radius-full);--segmented-control-option-radius: var(--radius-full)}._SegmentedControlOption_1sl7d_140{position:relative;padding:0 var(--segmented-control-option-gutter);border-radius:var(--segmented-control-option-radius);color:var(--color-text-secondary);cursor:pointer;line-height:1;transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,color;transition-timing-function:var(--transition-ease-basic)}._SegmentedControlOption_1sl7d_140:focus{outline:0}:where(._SegmentedControl_1sl7d_1[data-block]) ._SegmentedControlOption_1sl7d_140{flex:1}:where(._SegmentedControl_1sl7d_1[data-pill]) ._SegmentedControlOption_1sl7d_140{padding:0 calc(var(--segmented-control-option-gutter) * var(--control-gutter-pill-scaling))}._SegmentedControlOption_1sl7d_140[data-state=on]:focus-visible{outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140:before{position:absolute;inset:var(--segmented-control-option-highlight-gutter);border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-option-highlight-background-color);content:"";opacity:0;pointer-events:none;transform:scale(1);transition-duration:var(--transition-duration-basic);transition-property:opacity,transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SegmentedControlOption_1sl7d_140:active:before{transform:scale(var(--scale),.97)}._SegmentedControlOption_1sl7d_140 svg{display:block}@media (hover: hover) and (pointer: fine){._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover:before{opacity:.5}}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):focus-visible{color:var(--color-text);outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):active:before{opacity:.75}._SegmentedControlOption_1sl7d_140[data-state=on]{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-disabled]{cursor:not-allowed;opacity:.5}._SegmentedControlOption_1sl7d_140[data-disabled]:before{opacity:0!important}._SegmentedControlThumb_1sl7d_219{position:absolute;top:var(--segmented-control-gutter);bottom:var(--segmented-control-gutter);left:0;border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-thumb-background);box-shadow:var(--segmented-control-thumb-shadow);pointer-events:none;will-change:transform}}.sandbox-agent-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;background:hsl(var(--canvas))}.sandbox-agent-workspace>header{display:flex;min-width:0;min-height:62px;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.sandbox-agent-workspace-title{display:flex;min-width:0;align-items:center;gap:10px}.sandbox-agent-workspace-title>button{display:inline-grid;width:24px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-agent-workspace-title>button:hover{color:hsl(var(--foreground))}.sandbox-agent-workspace-title svg{width:17px;height:17px}.sandbox-agent-workspace-title>div{min-width:0}.sandbox-agent-workspace-title h1{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.sandbox-agent-workspace-title p{display:flex;align-items:center;gap:7px;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-workspace-status{display:inline-flex;min-height:18px;align-items:center;padding:0 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:550;line-height:1}.sandbox-agent-workspace-status[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.sandbox-agent-workspace-tabs{width:200px;flex:0 0 auto}.sandbox-agent-workspace button:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-workspace-surface{min-width:0;min-height:0;overflow:hidden}.sandbox-agent-workspace-surface iframe{display:block;width:100%;height:100%;border:0;background:hsl(var(--panel))}.sandbox-agent-workspace-state{display:grid;height:100%;place-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.sandbox-agent-workspace-state p{margin:0}.sandbox-agent-workspace-state.is-error{color:hsl(var(--destructive))}.sandbox-agent-workspace-state button{justify-self:center;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}@media (max-width: 720px){.sandbox-agent-workspace>header{align-items:stretch;flex-direction:column}.sandbox-agent-workspace-tabs{width:100%}}.auth-expired-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .22);backdrop-filter:blur(5px) saturate(.88);-webkit-backdrop-filter:blur(5px) saturate(.88)}.auth-expired-dialog{position:relative;width:min(400px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 28px 80px hsl(var(--foreground) / .2),0 2px 8px hsl(var(--foreground) / .06);animation:auth-expired-enter .18s cubic-bezier(.22,1,.36,1) both}.auth-expired-mark{display:grid;width:32px;height:32px;margin:32px auto 0;place-items:center;color:hsl(var(--foreground))}.auth-expired-mark svg{width:21px;height:21px;stroke-width:1.8}.auth-expired-copy{padding:22px 32px 28px;text-align:center}.auth-expired-copy h2{margin:0;color:hsl(var(--foreground));font-size:19px;font-weight:650;letter-spacing:-.01em}.auth-expired-copy>p:last-child{margin:11px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.7}.auth-expired-copy .auth-expired-error{margin-top:10px;color:hsl(var(--destructive))}.auth-expired-actions{padding:0 16px 16px}.auth-expired-actions button{width:100%;height:38px;border:1px solid hsl(var(--foreground));border-radius:9px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.auth-expired-actions button:hover{opacity:.88}.auth-expired-actions button:active{transform:translateY(1px)}.auth-expired-actions button:focus-visible{outline:3px solid hsl(var(--ring) / .28);outline-offset:2px}.auth-expired-actions button:disabled{cursor:wait;opacity:.58}@keyframes auth-expired-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-expired-dialog{animation:none}}.issue-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:issue-feedback-fade-in .14s ease-out}.issue-feedback-dialog{width:min(480px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:issue-feedback-rise-in .18s cubic-bezier(.2,.8,.2,1)}.issue-feedback-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid hsl(var(--border))}.issue-feedback-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.issue-feedback-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.issue-feedback-close svg,.issue-feedback-success-mark svg{width:16px;height:16px}.issue-feedback-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.issue-feedback-body,.issue-feedback-success{min-height:0;overflow-y:auto;padding:20px}.issue-feedback-intro{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-privacy{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.issue-feedback-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.issue-feedback-chip{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.issue-feedback-chip:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-chip[aria-pressed=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.issue-feedback-field{display:grid;gap:8px;color:hsl(var(--foreground));font-size:13px;font-weight:550}.issue-feedback-field textarea{width:100%;min-height:112px;resize:vertical;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400;line-height:1.55}.issue-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.issue-feedback-error{margin:12px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.issue-feedback-success{min-height:220px;display:grid;grid-template-columns:36px 1fr;gap:12px;align-content:center;align-items:center;animation:issue-feedback-success-in .18s ease-out}.issue-feedback-success-mark{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#24a8541a;color:#238b49;animation:issue-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.issue-feedback-success-mark:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:12px;content:"";opacity:0;animation:issue-feedback-success-ring .44s ease-out}.issue-feedback-success-mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:issue-feedback-check-draw .28s .1s ease-out forwards}.issue-feedback-success h3{margin:0 0 4px;font-size:15px;font-weight:600}.issue-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.issue-feedback-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.issue-feedback-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.issue-feedback-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.issue-feedback-close:focus-visible,.issue-feedback-chip:focus-visible,.issue-feedback-field textarea:focus-visible,.issue-feedback-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.issue-feedback-dialog button:disabled,.issue-feedback-dialog textarea:disabled{cursor:not-allowed;opacity:.55}@keyframes issue-feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes issue-feedback-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes issue-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes issue-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes issue-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes issue-feedback-check-draw{to{stroke-dashoffset:0}}@media (max-width: 560px){.issue-feedback-backdrop{padding:16px}.issue-feedback-dialog{max-height:calc(100vh - 32px)}}@media (prefers-reduced-motion: reduce){.issue-feedback-backdrop,.issue-feedback-dialog,.issue-feedback-success,.issue-feedback-success-mark,.issue-feedback-success-mark:after,.issue-feedback-success-mark path{animation:none}.issue-feedback-success-mark path{stroke-dashoffset:0}}.share-message-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:share-message-fade-in .14s ease-out}.share-message-dialog{width:min(720px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:share-message-rise-in .18s cubic-bezier(.2,.8,.2,1)}.share-message-export{position:fixed;top:0;left:-100000px;width:816px;box-sizing:border-box;padding:24px;overflow:visible;background:hsl(var(--background));color:hsl(var(--foreground));pointer-events:none}.share-message-export>.turn{width:100%;max-width:100%;margin-right:0;margin-left:0;opacity:1!important;transform:none!important;animation:none!important}.share-message-export>.turn:not(:last-of-type){margin-bottom:24px}.share-message-export>.turn:last-of-type{margin-bottom:0}.share-message-export-note{margin:24px 0 0;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.5;text-align:center}.share-message-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 20px;border-bottom:1px solid hsl(var(--border));flex:0 0 auto}.share-message-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.share-message-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.share-message-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.share-message-close svg{width:16px;height:16px}.share-message-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.share-message-body{min-height:260px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px;background:hsl(var(--canvas))}.share-message-generating,.share-message-failure{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px}.share-message-failure p,.share-message-error{margin:0;color:hsl(var(--destructive));font-size:12.5px;line-height:1.55;text-align:center}.share-message-failure button{height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-preview{width:min(100%,816px);margin:0 auto;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.share-message-preview img{display:block;width:100%;height:auto}.share-message-error{margin-top:12px}.share-message-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border));flex:0 0 auto}.share-message-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-actions button:hover:not(:disabled),.share-message-failure button:hover{background:hsl(var(--secondary))}.share-message-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.share-message-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.share-message-actions button:disabled{cursor:not-allowed;opacity:.5}.share-message-close:focus-visible,.share-message-failure button:focus-visible,.share-message-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}@keyframes share-message-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-message-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 560px){.share-message-backdrop{padding:16px}.share-message-dialog{max-height:calc(100vh - 32px)}.share-message-head p{display:none}.share-message-actions{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.share-message-backdrop,.share-message-dialog{animation:none}}@layer components{._Popover_1wdpp_3{overflow:auto;width:var(--popover-width, auto);min-width:var(--popover-min-width, 300px);max-width:min(var(--popover-max-width, 700px),var(--radix-popover-content-available-width));max-height:var(--radix-popover-content-available-height);border-radius:var(--popover-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);-webkit-overflow-scrolling:touch;transform-origin:var(--radix-popover-content-transform-origin);will-change:transform}._Popover_1wdpp_3:focus{outline:none}._Popover_1wdpp_3[data-translucent]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(360deg,#f7f7f87f,#f7f7f8)}:where([data-theme=dark]) ._Popover_1wdpp_3[data-translucent]{background:linear-gradient(360deg,#56586940,#5658697d)}._Popover_1wdpp_3[data-animate=shake]{animation:_shake_1wdpp_1 .4s ease}._Transition_1wdpp_1[data-entering] ._Popover_1wdpp_3{opacity:0;transform:scale(.95)}._Transition_1wdpp_1[data-entering-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-entering][data-interrupted] ._Popover_1wdpp_3{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Transition_1wdpp_1[data-exiting] ._Popover_1wdpp_3{opacity:1;transform:scale(1)}._Transition_1wdpp_1[data-exiting-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-exiting][data-interrupted] ._Popover_1wdpp_3{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}@keyframes _shake_1wdpp_1{0%{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}to{transform:translate(0)}}}@layer components{._Container_13560_1{--textarea-line-height: 20px;--textarea-font-weight: var(--font-weight-normal);--textarea-color: var(--color-text);--textarea-gutter-y: calc(.5 * calc(var(--textarea-base-height) - var(--textarea-line-height)));--textarea-min-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-min-rows)) );--textarea-max-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-max-rows)) )}._Container_13560_1:where([data-size="3xs"]){--textarea-base-height: var(--control-size-3xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size="2xs"]){--textarea-base-height: var(--control-size-2xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=xs]){--textarea-base-height: var(--control-size-xs);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=sm]){--textarea-base-height: var(--control-size-sm);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-size=md]){--textarea-base-height: var(--control-size-md);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=lg]){--textarea-base-height: var(--control-size-lg);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=xl]){--textarea-base-height: var(--control-size-xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-lg);--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-size="2xl"]){--textarea-base-height: var(--control-size-2xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-size="3xl"]){--textarea-base-height: var(--control-size-3xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-gutter-size="2xs"]){--textarea-gutter-x: var(--control-gutter-2xs)}._Container_13560_1:where([data-gutter-size=xs]){--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-gutter-size=sm]){--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-gutter-size=md]){--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-gutter-size=lg]){--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-gutter-size=xl]){--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1{position:relative;overflow:hidden;display:flex;width:100%;border-radius:var(--textarea-radius);color:var(--textarea-color);cursor:text;font-size:var(--textarea-font-size);font-weight:var(--textarea-font-weight);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_13560_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_13560_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_13560_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_13560_1[data-disabled]{cursor:not-allowed;opacity:.5}._Textarea_13560_174{display:block;width:100%;max-width:100%;min-height:var(--textarea-min-height);max-height:var(--textarea-max-height);padding:var(--textarea-gutter-y) var(--textarea-gutter-x);border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;box-shadow:none;color:inherit;filter:none;font-size:inherit;font-weight:inherit;line-height:var(--textarea-line-height);resize:none}._Textarea_13560_174:focus{outline:0}._Textarea_13560_174:disabled{cursor:not-allowed}._Textarea_13560_174::-moz-placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174::placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174:-webkit-autofill{animation:_native-autofill-in_13560_1 1ms}._Textarea_13560_174:-webkit-autofill,._Textarea_13560_174:-webkit-autofill:focus,._Textarea_13560_174:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill-and-obscured,._Textarea_13560_174:-webkit-autofill-strong-password,._Textarea_13560_174:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill:first-line{font-size:16px!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Textarea_13560_174::-webkit-resizer{visibility:hidden}@keyframes _native-autofill-in_13560_1{0%{opacity:1}to{opacity:1}}}.response-annotation-anchor{position:fixed;z-index:80;width:1px;pointer-events:none}.response-annotation-popover{--response-annotation-surface: 48 100% 97%;--response-annotation-excerpt: 47 86% 93%;--response-annotation-border: 43 72% 82%;width:min(360px,calc(100vw - 24px));border:1px solid hsl(var(--response-annotation-border));border-radius:12px;background:hsl(var(--response-annotation-surface))}.response-annotation-form{display:grid;gap:12px;padding:12px}.response-annotation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.response-annotation-header h2{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600}.response-annotation-form blockquote{max-height:82px;margin:0;padding:8px 10px;overflow:auto;border-left:2px solid hsl(var(--response-annotation-border));border-radius:0 7px 7px 0;background:hsl(var(--response-annotation-excerpt));color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap}.response-annotation-field{display:grid;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.response-annotation-field textarea{min-height:78px;background:hsl(var(--background));font-family:inherit;font-size:13px;font-weight:400;line-height:1.55}.response-annotation-error{margin:-4px 0 0;font-size:11.5px;line-height:1.45}.response-annotation-error{color:hsl(var(--destructive))}.response-annotation-actions{display:flex;justify-content:flex-end;gap:8px}.response-annotation-action{font-size:12px}.response-annotation-success{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.response-annotation-success strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.response-annotation-success p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}:where([data-theme=dark]) .response-annotation-popover{--response-annotation-surface: 43 22% 14%;--response-annotation-excerpt: 43 25% 18%;--response-annotation-border: 42 32% 30%}@media (prefers-reduced-motion: reduce){.response-annotation-popover{transition:none}}.platform-feedback-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.platform-feedback-header{flex:0 0 auto}.platform-feedback-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.platform-feedback-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.platform-feedback-scroll{min-height:0;overflow-y:auto;padding:24px 0 40px}.platform-feedback-form,.platform-feedback-success{width:min(720px,100%)}.platform-feedback-form{display:grid;gap:24px}.platform-feedback-section{display:grid;gap:12px}.platform-feedback-section-heading{display:flex;align-items:center;gap:8px}.platform-feedback-section h2,.platform-feedback-field>span{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600;line-height:1.45}.platform-feedback-section-heading>span,.platform-feedback-suggestions>span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.platform-feedback-pills{display:flex;flex-wrap:wrap;gap:8px}.platform-feedback-pills button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;transition:background .14s ease,border-color .14s ease}.platform-feedback-pills button:hover:not(:disabled){background:hsl(var(--secondary))}.platform-feedback-pills button[aria-pressed=true]{border-color:hsl(var(--primary) / .42);background:hsl(var(--primary) / .08)}.platform-feedback-field{display:grid;gap:8px}.platform-feedback-field textarea{width:100%;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:1.55}.platform-feedback-field textarea{min-height:132px;resize:vertical}.platform-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.platform-feedback-suggestions{display:grid;gap:8px}.platform-feedback-privacy{margin:0;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.platform-feedback-error{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.platform-feedback-actions{display:flex;justify-content:flex-end}.platform-feedback-actions button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:1px solid hsl(var(--primary));border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.platform-feedback-actions button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.platform-feedback-success{min-height:280px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-content:center;align-items:center;animation:platform-feedback-success-in .18s ease-out}.platform-feedback-success-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#24a8541a;color:#238b49;animation:platform-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.platform-feedback-success-icon:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:13px;content:"";opacity:0;animation:platform-feedback-success-ring .44s ease-out}.platform-feedback-success-icon svg{width:16px;height:16px}.platform-feedback-success-icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:platform-feedback-check-draw .28s .1s ease-out forwards}.platform-feedback-success h2{margin:0 0 4px;font-size:15px;font-weight:600}.platform-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.platform-feedback-pills button:focus-visible,.platform-feedback-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:2px}.platform-feedback-field textarea:focus-visible{border-color:hsl(var(--ring) / .58);outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .3)}.platform-feedback-page button:disabled,.platform-feedback-page textarea:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 720px){.platform-feedback-page{padding:24px 20px 0}}@media (max-width: 560px){.platform-feedback-page{padding-inline:16px}}@keyframes platform-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes platform-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes platform-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes platform-feedback-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.platform-feedback-pills button,.platform-feedback-success,.platform-feedback-success-icon,.platform-feedback-success-icon:after,.platform-feedback-success-icon path{transition:none;animation:none}.platform-feedback-success-icon path{stroke-dashoffset:0}}.PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:#00000080;color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:#0000004d;box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0} +======== +*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.builtin-tool-head{--builtin-tool-accent: 215 18% 42%;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:3px 7px 3px 3px;border:0;border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;transition:color .12s ease}.builtin-tool-head[data-tool-tone=search]{--builtin-tool-accent: 211 62% 42%}.builtin-tool-head[data-tool-tone=image]{--builtin-tool-accent: 28 67% 42%}.builtin-tool-head[data-tool-tone=video]{--builtin-tool-accent: 260 38% 48%}.builtin-tool-head[data-tool-tone=presentation]{--builtin-tool-accent: 252 38% 52%}.builtin-tool-head[data-tool-tone=memory]{--builtin-tool-accent: 174 52% 34%}.builtin-tool-head[data-tool-tone=knowledge]{--builtin-tool-accent: 225 48% 45%}.builtin-tool-head[data-tool-tone=skill]{--builtin-tool-accent: 154 50% 34%}.builtin-tool-head[data-tool-tone=sandbox]{--builtin-tool-accent: 32 67% 42%}.builtin-tool-head:hover{color:hsl(var(--foreground))}.builtin-tool-icon{position:relative;width:20px;height:26px;flex:0 0 20px;display:grid;place-items:center;color:hsl(var(--builtin-tool-accent))}.builtin-tool-icon>svg{width:18px;height:18px}.builtin-tool-label{font-size:14.5px;font-weight:400;line-height:1.35}.builtin-tool-head.is-done .builtin-tool-label{color:hsl(var(--muted-foreground))}.builtin-tool-chevron{width:13px;height:13px;flex:0 0 13px;opacity:.58;transition:transform .18s ease}.builtin-tool-chevron.is-open{transform:rotate(90deg)}.skill-conversation{min-height:220px;margin:0 0 16px;padding:8px 0 18px}.skill-conversation .bubble{font-size:13px;line-height:1.65}.skill-conversation .think-head,.skill-conversation .tool-head,.skill-conversation .builtin-tool-head{display:grid;grid-template-columns:20px minmax(0,1fr) 13px;align-items:center;gap:8px;width:100%;min-height:38px;padding:4px 0;text-align:left}.skill-conversation .think-label,.skill-conversation .tool-name,.skill-conversation .builtin-tool-label{min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere;text-align:left}.skill-conversation .think-icon,.skill-conversation .tool-icon,.skill-conversation .builtin-tool-icon{width:20px;height:26px}.skill-conversation .chev,.skill-conversation .tool-chevron,.skill-conversation .builtin-tool-chevron{justify-self:end}.skill-generation{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:hsl(var(--background));color:hsl(var(--foreground))}.skillcenter{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.skillcenter-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.skillcenter-page-heading{min-width:0}.skillcenter-page-heading--back{display:flex;align-items:center;gap:8px}.skillcenter-page-heading--back>div{min-width:0}.skillcenter-page-heading h1{max-width:min(620px,55vw);margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.skillcenter-page-heading p{display:-webkit-box;max-width:680px;margin:6px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skillcenter-back{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-back svg{width:18px;height:18px}.skillcenter-search{width:min(320px,38vw);height:36px;flex:0 0 auto;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.skillcenter-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.skillcenter-search svg{width:16px;height:16px;flex:0 0 16px}.skillcenter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.skillcenter-search input::placeholder{color:hsl(var(--muted-foreground))}.skillcenter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.skillcenter-toolbar-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.my-agent-type-bar.skillcenter-list-toolbar{justify-content:flex-end}.skillcenter-detail-facts{min-width:0;display:flex;align-items:center;gap:24px}.skillcenter-detail-facts>div{min-width:72px;display:grid;gap:3px}.skillcenter-detail-facts span{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.2}.skillcenter-detail-facts strong{max-width:220px;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-primary-action,.skillcenter-secondary-action{min-width:max-content;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.skillcenter-primary-action{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.skillcenter-primary-action:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.skillcenter-secondary-action:hover{background:hsl(var(--secondary))}.skillcenter-secondary-action.is-danger{color:hsl(var(--destructive))}.skillcenter-secondary-action.is-danger:hover:not(:disabled){border-color:hsl(var(--destructive) / .24);background:hsl(var(--destructive) / .06)}.skillcenter-secondary-action:disabled{cursor:not-allowed;opacity:.48}.skillcenter-primary-action:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.skillcenter-primary-action svg{width:15px;height:15px}.skillcenter-disabled-action{position:relative;display:inline-flex;border-radius:8px}.skillcenter-disabled-action.is-disabled{cursor:not-allowed}.skillcenter-disabled-action.is-disabled>button{cursor:inherit}.skillcenter-disabled-tooltip{position:absolute;z-index:30;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.skillcenter-disabled-action.is-top .skillcenter-disabled-tooltip{bottom:calc(100% + 8px);transform:translate(-50%,3px)}.skillcenter-disabled-action.is-bottom .skillcenter-disabled-tooltip{top:calc(100% + 8px);transform:translate(-50%,-3px)}.skillcenter-disabled-action.is-inside .skillcenter-disabled-tooltip{top:50%;transform:translate(-50%,calc(-50% + 3px))}.skillcenter-disabled-action.is-disabled:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled:focus-visible .skillcenter-disabled-tooltip{opacity:1}.skillcenter-disabled-action.is-disabled.is-top:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-top:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-bottom:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-bottom:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-inside:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-inside:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%,-50%)}.skillcenter-disabled-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.skillcenter-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.skillcenter-space-card{position:relative}.my-agent-card.skillcenter-space-card{overflow:visible}.my-agent-card.skillcenter-space-card:hover{transform:none}.skillcenter-back:focus-visible,.skillcenter-primary-action:focus-visible,.skillcenter-secondary-action:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.my-agent-actions.skillcenter-card-actions{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr)) 28px}.skillcenter-card-actions .skillcenter-card-more{width:28px;min-height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-card-more:hover,.skillcenter-card-more[aria-expanded=true]{background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.skillcenter-card-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:1px}.skillcenter-card-menu{position:relative;z-index:30}.skillcenter-card-more svg{width:16px;height:16px}.skillcenter-card-menu__popover{position:absolute;z-index:20;right:0;bottom:calc(100% + 6px);width:132px;box-sizing:border-box;padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .14)}.skillcenter-card-menu__popover button{width:100%;min-height:32px;display:flex;align-items:center;padding:0 9px;border:0;border-radius:5px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.skillcenter-card-menu__popover button:hover,.skillcenter-card-menu__popover button:focus-visible{outline:0;background:hsl(var(--secondary))}.skillcenter-card-menu__popover button.is-danger{color:hsl(var(--destructive))}.skillcenter-card-menu__popover button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.skillcenter-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.skillcenter-table th{height:42px;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:11px;font-weight:560;text-align:left}.skillcenter-table th:first-child{width:auto}.skillcenter-table th:nth-child(2){width:104px}.skillcenter-table th:nth-child(3){width:180px}.skillcenter-table td{height:72px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.skillcenter-table tbody tr:last-child td{border-bottom:0}.skillcenter-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.skillcenter-table__skill button{width:100%;display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.skillcenter-table__title-row{min-width:0;display:flex;align-items:center;gap:7px}.skillcenter-table__skill strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__skill .skillcenter-table__version-badge{flex:0 0 auto;padding:2px 6px;overflow:visible;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .6);color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.2}.skillcenter-table__skill .skillcenter-table__description{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__actions-heading{text-align:right!important}.skillcenter-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.skillcenter-table__actions button,.skill-detail-actions button{min-height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skillcenter-table__actions button:hover:not(:disabled),.skill-detail-actions button:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-table__actions button:disabled,.skill-detail-actions button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table__actions button.is-danger{color:hsl(var(--destructive))}.skillcenter-inline-error{margin-top:16px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors.is-full-page{min-height:260px;align-items:center;justify-content:center;margin:0;border:0;background:transparent}.skillcenter-space-errors__content{min-width:0;width:min(680px,100%);display:grid;gap:10px}.skillcenter-space-errors__content>strong{font-size:13px;font-weight:600}.skillcenter-space-errors__content>section{min-width:0;display:grid;gap:4px}.skillcenter-space-errors__content>section>span{color:hsl(var(--foreground));font-size:11.5px;font-weight:600}.skillcenter-space-errors .skill-error-details{min-width:0;width:100%;color:inherit}.skillcenter-space-errors .skill-error-details__summary,.skillcenter-space-errors .skill-error-details__original{text-align:left}.skillcenter-space-errors .skill-error-details summary{margin-left:0}.skillcenter-space-errors>button{min-height:30px;flex:0 0 auto;padding:0 10px;border:1px solid hsl(var(--destructive) / .22);border-radius:7px;background:hsl(var(--panel));color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px}.skillcenter-page-state{min-height:300px;display:grid;place-items:center}.skillcenter-page-state.is-error{color:hsl(var(--destructive))}.skill-error-details{width:min(620px,100%);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:left}.skill-error-details__summary{text-align:center}.skill-error-details__original{margin-top:7px;color:hsl(var(--destructive));overflow-wrap:anywhere;text-align:center}.skill-error-details details{margin-top:9px}.skill-error-details summary{width:max-content;margin:0 auto;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.skill-error-details pre{max-height:220px;margin:8px 0 0;padding:10px 12px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .45);color:hsl(var(--foreground));font:inherit;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.skill-inline-error .skill-error-details,.skill-generation__action-error .skill-error-details{width:100%;color:inherit}.skill-inline-error .skill-error-details__summary,.skill-inline-error .skill-error-details__original,.skill-generation__action-error .skill-error-details__summary,.skill-generation__action-error .skill-error-details__original{text-align:left}.skill-inline-error .skill-error-details summary,.skill-generation__action-error .skill-error-details summary{margin-left:0}.skillcenter-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:hsl(var(--muted-foreground));font-size:12.5px}.skillcenter .skillcenter-pager{height:44px;margin-top:20px;padding:0;border-top:0}.skillcenter .skillcenter-pager-actions{padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel))}.skillcenter .skillcenter-pager button{width:28px;height:28px}.skill-detail-heading{flex:1 1 auto;overflow:hidden}.skill-detail-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.skill-detail-actions button{flex:0 0 auto;white-space:nowrap}.skill-detail-content--files{min-height:0}.skill-detail-content--files .skill-file-browser{min-height:420px;height:min(58vh,620px);border-top:1px solid hsl(var(--border))}.skill-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .28)}.skill-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(680px,calc(100vh - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 18px 48px hsl(var(--foreground) / .18)}.skill-dialog>header,.skill-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 16px}.skill-dialog>header{border-bottom:1px solid hsl(var(--border))}.skill-dialog>footer{justify-content:flex-end;border-top:1px solid hsl(var(--border))}.skill-dialog h2{margin:0;font-size:17px;font-weight:620}.skill-dialog>header>button{min-width:36px;min-height:32px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-dialog__body{min-height:0;padding:16px;overflow-y:auto}.skill-dialog__body label{display:grid;gap:6px;margin-bottom:14px;font-size:13px;font-weight:550}.skill-dialog__body input,.skill-dialog__body textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.skill-dialog__body input{min-height:36px;padding:6px 9px}.skill-dialog__body textarea{min-height:88px;padding:9px;resize:vertical}.skill-dialog__body p{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-dialog__file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:hsl(var(--muted) / .6);font-size:12px}.skill-dialog__file strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.skill-dialog__file span{flex:0 0 auto;color:hsl(var(--muted-foreground))}.skill-upload-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px))}.skill-upload-dialog__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.skill-upload-dropzone{width:100%;min-height:min(42vh,360px);display:grid;place-content:center;gap:8px;box-sizing:border-box;padding:32px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.skill-upload-dropzone:hover,.skill-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.skill-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-upload-dropzone strong{font-size:15px;font-weight:600}.skill-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:13px}.skill-add-dialog{grid-template-rows:auto minmax(0,1fr);width:min(460px,100%)}.skill-add-dialog>header>div{min-width:0}.skill-add-dialog>header p{margin:2px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.skill-add-dialog__options{display:grid;gap:10px;padding:16px}.skill-add-dialog__options>.skillcenter-disabled-action,.skill-add-dialog__options>.skillcenter-disabled-action>button{width:100%}.skill-add-dialog__options button{min-height:76px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.skill-add-dialog__options button:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .48)}.skill-add-dialog__options button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-add-dialog__options button:disabled{cursor:not-allowed;opacity:.52}.skill-add-dialog__options strong{font-size:13.5px;font-weight:600}.skill-add-dialog__options button>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.skill-generation__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:32px 32px 0;background:hsl(var(--background))}.skill-generation__header h1,.skill-generation__header p,.skill-generation__activity h2,.skill-generation__files h2{margin:0}.skill-generation__header h1{font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.skill-generation__header p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.skill-generation__ttl{color:hsl(var(--muted-foreground));font-size:12px}.skill-button{min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer}.skill-button:hover:not(:disabled){background:hsl(var(--muted) / .72)}.skill-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.skill-button:disabled{cursor:not-allowed;opacity:.5}.skill-button--quiet{background:transparent}.skill-button--primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-button--primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.skill-generation__setup{min-height:0;flex:1;margin:21px 29px 0;padding:3px 3px 48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.skill-generation__setup>label,.skill-generation__group label{display:grid;gap:6px;margin-bottom:16px;font-size:14px;font-weight:400}.skill-generation textarea,.skill-generation input{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400}.skill-generation input{height:36px;padding:0 10px}.skill-generation textarea{min-height:88px;padding:9px 10px;line-height:1.55;resize:vertical}.skill-generation textarea:focus-visible,.skill-generation input:focus-visible{outline:none;border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-generation input[aria-invalid=true]{border-color:hsl(var(--destructive) / .55);box-shadow:0 0 0 1px hsl(var(--destructive) / .12)}.skill-generation__field-help,.skill-generation__field-error{min-height:18px;font-size:12px;font-weight:400;line-height:1.5}.skill-generation__field-help{color:hsl(var(--muted-foreground))}.skill-generation__field-error{color:hsl(var(--destructive))}.skill-generation__section-head{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.skill-generation__section-head.is-basic{margin-top:0}.skill-generation__section-head div{display:grid;gap:2px}.skill-generation__section-head strong{font-size:17px;font-weight:620}.skill-generation__section-head span{color:hsl(var(--muted-foreground));font-size:12px}.skill-generation__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;isolation:isolate}.skill-generation__group{position:relative;min-width:0;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))}.skill-generation__group header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.skill-generation__group header button{border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__group label{margin-bottom:10px;font-size:12px}.skill-generation__group textarea{min-height:72px}.skill-generation__add-group{min-width:0;display:grid;place-items:center;padding:16px;border:1px dashed hsl(var(--border));border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.skill-generation__add-group:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .3);color:hsl(var(--foreground))}.skill-generation__add-group:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-generation__setup-actions{display:flex;justify-content:flex-end;margin-top:18px}.skill-config-select{position:relative;z-index:1;display:grid;gap:6px;margin-bottom:10px}.skill-config-select.is-open{z-index:100}.skill-config-select__label{color:hsl(var(--foreground));font-size:12px;font-weight:400;line-height:1.45}.skill-required-mark{margin-left:3px;color:hsl(var(--destructive))}.skill-config-select__trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.skill-config-select__trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.skill-config-select__trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.skill-config-select__trigger:disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable{padding:0 0 0 12px;cursor:text}.skill-config-select__trigger.is-editable.is-disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable:focus-within{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger.is-editable input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:none;background:transparent;color:inherit;font:inherit}.skill-config-select__trigger.is-editable input::placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__toggle{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:0;border:0;border-radius:0 5px 5px 0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skill-config-select__toggle:hover:not(:disabled){background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.skill-config-select__toggle:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-3px}.skill-config-select__toggle:disabled{cursor:default;opacity:.45}.skill-config-select__trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-config-select__trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__trigger svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground));transition:transform .16s ease}.skill-config-select__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.skill-config-select__menu{position:absolute;z-index:21;top:calc(100% + 6px);left:0;width:100%;max-height:238px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.skill-config-select__option{width:100%;min-height:34px;display:flex;align-items:center;padding:8px 10px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.skill-config-select__option:hover,.skill-config-select__option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.skill-config-select__option.is-selected{background:hsl(var(--primary) / .08)}.skill-config-select__empty{padding:9px 10px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.skill-config-select__error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.skill-inline-error,.skill-inline-notice,.skill-validation-errors{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:12.5px;line-height:1.5}.skill-inline-error,.skill-validation-errors{border:1px solid hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.skill-inline-error button{margin-left:10px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.skill-inline-notice{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .55);color:hsl(var(--muted-foreground))}.skill-validation-errors p{margin:4px 0 0}.skill-validation-errors button{min-height:30px;margin-top:10px;padding:0 10px;border:1px solid hsl(var(--destructive) / .25);border-radius:6px;background:hsl(var(--panel));color:hsl(var(--destructive));font:inherit;font-size:11.5px;cursor:pointer}.skill-validation-errors button:disabled{cursor:not-allowed;opacity:.5}.skill-generation__workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;flex:1}.skill-generation__candidate-tabs{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.skill-generation__candidate-tabs button{display:block;min-width:260px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));text-align:left;cursor:pointer}.skill-generation__candidate-tabs button.is-active{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.skill-generation__summary-row{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.skill-generation__summary-row+.skill-generation__summary-row{margin-top:7px}.skill-generation__summary-row>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.skill-generation__summary-row>strong{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skill-generation__candidate-summary{width:100%;min-width:0}.skill-generation__candidate{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:12px;gap:12px}.skill-generation__activity,.skill-generation__files{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.skill-generation__activity>header,.skill-generation__files>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-bottom:1px solid hsl(var(--border))}.skill-generation__activity>header{min-height:0;padding:12px 14px}.skill-generation__activity h2,.skill-generation__files h2{font-size:14px;font-weight:600}.skill-generation__files header button{border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__spinner{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;animation:skill-generation-spin .9s linear infinite}.skill-generation__spinner circle{opacity:.2}.skill-generation__activity .skill-conversation{flex:1;min-height:0;overflow-y:auto;padding:12px}.skill-generation__files-empty{display:grid;flex:1;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.skill-generation__ready-actions{grid-column:1 / -1;display:flex;min-width:0;align-items:flex-end;gap:10px}.skill-generation__publish-target{width:min(320px,36%);min-width:240px}.skill-generation__publish-target .skill-config-select{margin-bottom:0}.skill-generation__followup{grid-column:1 / -1;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--background))}.skill-generation__ready-actions .skill-generation__followup{min-width:0;flex:1}.skill-generation__followup textarea{min-width:0;min-height:36px;max-height:120px;flex:1;box-sizing:border-box;padding:8px 4px;resize:none;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.skill-generation__followup textarea::placeholder{color:hsl(var(--muted-foreground))}.skill-generation__followup .skill-button{height:36px;min-height:36px}.skill-generation__action-error{grid-column:1 / -1;margin-top:-4px}.skill-file-browser{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:0;flex:1}.skill-file-tree{min-width:0;overflow:auto;border-right:1px solid hsl(var(--border));padding:6px 0}.skill-file-tree__row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:30px;padding-top:4px;padding-right:8px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;white-space:nowrap}button.skill-file-tree__row{cursor:pointer}button.skill-file-tree__row:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.skill-file-tree__row.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.skill-file-tree__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.skill-file-tree__row>svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skill-file-tree__row small{color:hsl(var(--muted-foreground));font-size:10px}.skill-file-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.skill-file-preview>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:4px 9px;border-bottom:1px solid hsl(var(--border));font-size:11.5px}.skill-file-preview>header>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-preview>header div{display:flex;gap:4px}.skill-file-preview>header button{min-height:28px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skill-file-preview__body{min-width:0;min-height:0;overflow:auto}.skill-file-preview__body .cm-editor{height:100%}.skill-file-preview__markdown{padding:16px}.skill-file-preview__frontmatter{display:grid;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:8px;background:hsl(var(--secondary) / .5)}.skill-file-preview__frontmatter>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}.skill-file-preview__frontmatter dt{color:hsl(var(--muted-foreground));font-size:11px;font-weight:500}.skill-file-preview__frontmatter dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.skill-file-preview__markdown-body>:first-child{margin-top:0}.skill-file-preview__body img{display:block;max-width:calc(100% - 32px);max-height:calc(100% - 32px);margin:16px auto;object-fit:contain}.skill-file-preview__binary{display:grid;place-content:center;gap:5px;height:100%;padding:20px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}@media (max-width: 980px){.skill-generation__groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-generation__candidate{grid-template-columns:1fr;overflow-y:auto}.skill-generation__activity,.skill-generation__files{min-height:420px}.skill-generation__ready-actions{grid-column:1;align-items:stretch;flex-direction:column}.skill-generation__publish-target{width:100%;min-width:0}.skill-generation__followup{grid-column:1}}@media (max-width: 760px){.skillcenter{padding:24px 20px 0}.skillcenter-page-header{flex-direction:column;gap:16px}.skillcenter-page-heading h1{max-width:calc(100vw - 40px)}.skillcenter-page-heading--back h1{max-width:calc(100vw - 82px)}.skillcenter-search{width:100%}.skillcenter-toolbar{align-items:flex-start;flex-direction:column}.skillcenter-detail-facts{width:100%;justify-content:space-between;gap:12px}.skillcenter-detail-facts>div{min-width:0}.skillcenter-toolbar-actions{width:100%}.skillcenter-results{margin-top:22px}.skill-generation__header{padding:24px 20px 0}.skill-generation__setup{margin:17px 17px 0}}@media (max-width: 560px){.skill-generation__groups{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.skillcenter-disabled-tooltip{transition:none}.skill-generation *,.skill-generation *:before,.skill-generation *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.skill-generation__spinner{animation:none!important}}@keyframes skill-generation-spin{to{transform:rotate(360deg)}}.my-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.my-agents-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.my-agents-heading{min-width:0}.my-agents-title-row{display:flex;align-items:center;gap:8px}.my-agents-heading h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.my-agents-heading p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.my-agent-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.my-agent-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.my-agent-search svg{width:16px;height:16px;flex:0 0 16px}.my-agent-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.my-agent-search input::placeholder{color:hsl(var(--muted-foreground))}.my-agent-search input::-webkit-search-cancel-button{cursor:pointer}.my-agent-type-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.my-agent-type-pills{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.my-agent-type-pill{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.my-agent-type-pill:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.my-agent-type-pill.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.my-agent-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.my-agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.my-agent-inline-error{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.my-agent-inline-error span{min-width:0;overflow-wrap:anywhere}.my-agent-inline-error button{flex:0 0 auto;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.my-agent-card{width:100%;height:auto;box-sizing:border-box;border-radius:12px;background:hsl(var(--secondary) / .82)}.my-agent-create-primary{min-width:max-content;height:32px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.my-agent-create-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.my-agent-create-primary:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.my-agent-create-primary svg{width:14px;height:14px;flex:0 0 14px}.my-agent-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:0;animation:my-agent-card-enter .22s ease-out both;transition:transform .16s ease}.my-agent-card:hover{transform:translateY(-1px)}.my-agent-card-content{flex:0 0 auto;min-width:0;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;padding:16px;position:relative;z-index:1;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.my-agent-card-title{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.my-agent-card-title-copy{min-width:0}.my-agent-card-badges{display:flex;flex:0 0 auto;align-items:center;gap:6px}.my-agent-region-badge{min-height:22px;display:inline-flex;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600;line-height:1}.my-agent-draft-badge,.my-agent-deploying-badge{min-height:22px;display:inline-flex;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(43 90% 48% / .3);border-radius:999px;background:#fabf0f24;color:#a36f14;font-size:10px;font-weight:600;line-height:1}.my-agent-card-badges .runtime-owner-badge{min-height:22px;display:inline-flex;align-items:center;padding:0 8px;line-height:1}.my-agent-session-id{display:block;margin-top:3px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.my-agent-card h3{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:650;line-height:1.4;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.my-agent-description{min-height:40px;display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.my-agent-status-label{display:inline-flex;min-height:22px;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:550;line-height:1}.my-agent-status-label[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.my-agent-status-label[data-wakeable]{border-color:#e9aa0c4d;background:#fabf0f24;color:#a36f14}.my-agent-meta,.my-agent-meta dt,.my-agent-meta dd{margin:0}.my-agent-meta{display:grid;gap:5px;margin-top:12px}.my-agent-meta>div{display:flex;align-items:center}.my-agent-meta dt,.my-agent-meta dd{font-size:12px;line-height:1.4}.my-agent-meta dt{color:hsl(var(--muted-foreground))}.my-agent-meta dd{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at,.my-agent-region,.my-agent-expiry{width:100%;display:flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground))}.my-agent-created-at dt,.my-agent-region dt,.my-agent-expiry dt{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at dd,.my-agent-region dd,.my-agent-expiry dd{color:hsl(var(--muted-foreground));font-weight:400}.my-agent-expiry.is-expiring dd{color:#a36f14;font-weight:550}.my-agent-region dd{min-width:0;overflow:hidden;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.my-agent-actions{flex:0 0 42px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px 8px 7px;position:relative;z-index:0;border-radius:0 0 12px 12px;background:hsl(var(--secondary) / .82)}.my-agent-actions button{min-width:0;min-height:28px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.my-agent-actions button:hover:not(:disabled){background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.my-agent-actions button:disabled{cursor:default;opacity:.48}.my-agent-actions .my-agent-use{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:hsl(var(--foreground))}.my-agent-actions .my-agent-details{background:hsl(var(--background) / .56)}.my-agent-actions .my-agent-delete{color:hsl(var(--destructive))}.my-agent-actions .my-agent-delete:hover:not(:disabled){background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.my-agent-actions .my-agent-use:hover:not(:disabled){background:hsl(var(--background) / .72)}.my-agent-actions .my-agent-use.is-connected,.my-agent-actions .my-agent-use.is-connected:disabled{background:transparent;color:#1d7c40;opacity:1}.my-agent-use-spinner{width:11px;height:11px;flex:0 0 11px;box-sizing:border-box;border:1.25px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-gap-spin .7s linear infinite}.my-agent-loading-mark{box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-gap-spin .72s linear infinite}.my-agent-loading-mark{width:14px;height:14px;flex:0 0 14px}.my-agent-initial-loading,.my-agent-load-more,.my-agent-empty{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12.5px}.my-agent-initial-loading{min-height:180px;gap:8px}.my-agent-load-more{min-height:54px;gap:8px;padding-top:6px}.my-agent-empty-message{width:100%;height:100%;min-height:220px;display:grid;place-items:center}.my-agent-sandbox-empty-title{max-width:none;white-space:nowrap;text-wrap:nowrap}.my-agent-empty{min-height:220px;flex-direction:column;gap:7px}.my-agent-empty p,.my-agent-empty span{margin:0}.my-agent-empty p{white-space:pre-wrap;overflow-wrap:anywhere;color:inherit;font-size:inherit;font-weight:400}.my-agent-empty button{height:30px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px}.my-agent-actions button:focus-visible,.my-agent-type-pill:focus-visible,.my-agent-create-primary:focus-visible,.my-agent-empty button:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:-2px}@keyframes my-agent-card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){.my-agents-page{padding:24px 20px 0}.my-agents-header{flex-direction:column;gap:16px}.my-agent-search{width:100%}.my-agent-type-bar{align-items:stretch;flex-direction:column;gap:12px}.my-agent-create-primary{align-self:flex-end}.my-agent-results{padding-bottom:44px}}@media (max-width: 560px){.my-agents-page{padding-inline:16px}}@media (prefers-reduced-motion: reduce){.my-agent-card,.my-agent-loading-mark{animation:none}.my-agent-card,.my-agent-actions button,.my-agent-type-pill,.my-agent-create-primary,.my-agent-search{transition:none}.my-agent-use-spinner{animation:none}.my-agent-card:hover{transform:none}}.aw-root{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.aw-agent-head h2,.aw-eval-head h2,.aw-section-head h3{margin:0;color:hsl(var(--foreground));letter-spacing:-.025em}.aw-agent-head p,.aw-eval-head p,.aw-section-head p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.aw-view-tabs,.aw-agent-title-row,.aw-card-head,.aw-section-head,.aw-case-filters,.aw-eval-head{display:flex;align-items:center}.aw-view-tabs{flex:0 0 auto;gap:26px;padding:0 24px;border-bottom:1px solid hsl(var(--border))}.aw-view-tabs button,.aw-case-filters button{border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.aw-view-tabs button{position:relative;min-height:44px;padding:0;font-size:14px;font-weight:580}.aw-view-tabs button.is-active{color:hsl(var(--foreground))}.aw-view-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:hsl(var(--foreground))}.aw-run{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;transition:opacity .16s ease,transform .16s ease}.aw-run:not(:disabled):hover{transform:translateY(-1px)}.aw-root button:focus-visible,.aw-root input:focus-visible,.aw-root textarea:focus-visible,.aw-root select:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-run svg{width:15px;height:15px}.aw-run:disabled,.aw-create-card:disabled{cursor:default;opacity:.42}.aw-workspace-frame{flex:1;min-height:0;position:relative}.aw-workspace{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:304px minmax(0,1fr)}.aw-root.is-detail-only .aw-view-tabs,.aw-root.is-detail-only .aw-sidebar{display:none}.aw-root.is-detail-only .aw-workspace{grid-template-columns:minmax(0,1fr)}.aw-root.is-detail-only{font-size:14px}.aw-root.is-detail-only .aw-agent-head{padding-top:24px}.aw-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 12px 22px 24px}.aw-search{height:40px;min-height:40px;flex:0 0 40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--foreground) / .12);border-radius:10px;background:transparent;transition:border-color .16s ease,background-color .16s ease}.aw-search:focus-within{border-color:hsl(var(--foreground) / .16);background:hsl(var(--secondary) / .42);box-shadow:none}.aw-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;line-height:1}.aw-search input::placeholder{color:hsl(var(--muted-foreground) / .82)}.aw-search input:focus,.aw-search input:focus-visible,.aw-case-search input:focus,.aw-case-search input:focus-visible{outline:none!important;box-shadow:none}.aw-agent-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;margin-top:14px;overflow-y:auto}.aw-selection-toolbar{flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:8px;margin-top:10px}.aw-selection-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-selection-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-selection-toolbar button:disabled{cursor:default;opacity:.42}.aw-selection-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-selection-count{flex:1;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;white-space:nowrap}.aw-selection-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-selection-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-delete-error{margin-top:8px;padding:8px 10px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-agent-item,.aw-agent-check{width:100%;min-height:72px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid hsl(var(--foreground) / .1);border-radius:14px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,border-color .16s ease}.aw-agent-item:hover,.aw-agent-check:hover{border-color:hsl(var(--foreground) / .18);background:hsl(var(--secondary) / .42)}.aw-agent-item.is-active{border-color:hsl(var(--foreground) / .42);background:hsl(var(--secondary) / .28)}.aw-agent-item[draggable=true]{cursor:grab}.aw-agent-item[draggable=true]:active{cursor:grabbing}.aw-agent-item.is-dragging{opacity:.46}.aw-agent-item.is-drop-target{border-color:hsl(var(--foreground) / .46);background:hsl(var(--secondary) / .54)}.aw-agent-item.is-drop-before{box-shadow:inset 0 2px hsl(var(--foreground) / .44)}.aw-agent-item.is-drop-after{box-shadow:inset 0 -2px hsl(var(--foreground) / .44)}.aw-agent-item.is-selecting{gap:10px}.aw-agent-item.is-selected-for-delete{border-color:hsl(var(--foreground) / .36);background:hsl(var(--secondary) / .44)}.aw-agent-item.is-selection-disabled{opacity:.58}.aw-select-marker{width:16px;height:16px;flex:0 0 16px;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background))}.aw-select-marker.is-checked{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.aw-select-marker.is-checked:after{content:"";width:7px;height:4px;border-bottom:1.6px solid hsl(var(--background));border-left:1.6px solid hsl(var(--background));transform:rotate(-45deg) translateY(-1px)}.aw-agent-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.aw-agent-name-row{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-name-row>strong{min-width:0;flex:1}.aw-version-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;line-height:1.2}.aw-draft-badge{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f0ebe0;color:#675332;font-size:10px;font-weight:680;line-height:1.2}.aw-draft-badge.is-deploying{background:#e4eaf2;color:#2d5080}.aw-draft-badge.is-error{background:#dc28281f;color:hsl(var(--destructive))}.aw-draft-badge.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.aw-agent-copy strong,.aw-agent-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-agent-copy strong{font-size:13px;font-weight:650}.aw-agent-copy small{color:hsl(var(--muted-foreground));font-size:11px}.aw-agent-item>svg{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .14s ease,transform .14s ease}.aw-agent-item:hover>svg,.aw-agent-item.is-active>svg{opacity:1}.aw-agent-item:hover>svg{transform:translate(2px)}.aw-agent-check{position:relative}.aw-agent-check>input{position:absolute;width:1px;height:1px;opacity:0}.aw-check-mark{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--foreground) / .22);border-radius:5px;background:hsl(var(--background));color:transparent}.aw-check-mark svg{width:11px;height:11px}.aw-agent-check:has(input:checked) .aw-check-mark{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.aw-agent-check:has(input:focus-visible){outline:2px solid hsl(var(--ring) / .42);outline-offset:-2px}.aw-list-empty{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:28px 12px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-list-error{display:flex;flex-direction:column;align-items:center;gap:10px}.aw-list-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}.aw-create-card{width:100%;min-height:48px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px dashed hsl(var(--foreground) / .28);border-radius:14px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:border-color .16s ease,color .16s ease}.aw-create-card:hover:not(:disabled){border-color:hsl(var(--foreground) / .5);color:hsl(var(--foreground))}.aw-create-card svg{width:15px;height:15px}.aw-list-count{flex:0 0 auto;padding-top:10px;color:hsl(var(--muted-foreground));font-size:10.5px;text-align:center}.aw-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background))}.aw-detail-loading{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.aw-detail-loading-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background) / .94);box-shadow:0 14px 40px hsl(var(--foreground) / .1)}.aw-detail-loading-card>span:not(.loading-gap-spinner){display:flex;flex-direction:column;gap:2px}.aw-detail-loading-card>.loading-gap-spinner{width:18px;height:18px;flex:0 0 18px}.aw-detail-loading-card strong{font-size:13px;font-weight:650}.aw-detail-loading-card small{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-empty-selection{align-items:center;justify-content:center}.aw-empty-selection p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.aw-agent-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}.aw-agent-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.aw-head-delete{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--destructive) / .24);border-radius:999px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:620}.aw-head-delete:hover:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-head-delete:disabled{cursor:default;opacity:.46}.aw-head-delete svg{width:14px;height:14px}.aw-head-delete--draft{border-color:hsl(var(--border));background:transparent;color:hsl(var(--foreground))}.aw-head-delete--draft:hover:not(:disabled){background:hsl(var(--secondary) / .54)}.aw-head-delete.studio-update-action{border:1px solid hsl(var(--destructive) / .34);background:#ffffffc2;color:hsl(var(--destructive));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.aw-head-delete.studio-update-action:hover:not(:disabled){border:1px solid hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.aw-agent-title-row{gap:8px}.aw-agent-head h2,.aw-eval-head h2{overflow:hidden;font-size:20px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.aw-agent-title-row>span,.aw-eval-head>div>span{padding:2px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px}.aw-agent-head p{max-width:720px;overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.aw-update{align-self:center}.aw-update-wrap{position:relative;align-self:center;display:inline-flex;border-radius:999px}.aw-update-wrap.is-disabled{cursor:not-allowed}.aw-update-wrap.is-disabled .aw-update{cursor:inherit}.aw-update-spinner{width:14px;height:14px;flex-basis:14px;border-color:currentColor;border-right-color:transparent}.aw-update-disabled-reason{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:260px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .14s ease,transform .14s ease}.aw-update-wrap.is-disabled:hover .aw-update-disabled-reason,.aw-update-wrap.is-disabled:focus-visible .aw-update-disabled-reason{opacity:1;transform:translate(-50%)}.aw-update-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}@media (prefers-reduced-motion: reduce){.aw-update-disabled-reason{transition:none}}.aw-talk svg{width:15px;height:15px}.aw-agent-tabs{flex:0 0 auto;display:flex;gap:24px;margin:0 24px;padding:0;border-bottom:1px solid hsl(var(--border))}.aw-agent-tabs button{position:relative;min-height:42px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:14px;font-weight:580}.aw-agent-tabs button.is-active{color:hsl(var(--foreground))}.aw-agent-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:hsl(var(--foreground))}.aw-agent-tabs button:disabled{cursor:default}.aw-content{flex:1;min-height:0;overflow-y:auto;margin-top:14px;padding:0 24px 80px}.aw-basic-stack,.aw-usage{display:flex;flex-direction:column;gap:16px}.aw-usage-intro h3,.aw-usage-intro p,.aw-usage-users-head h3,.aw-usage-summary{margin:0}.aw-usage-intro h3,.aw-usage-users-head h3{color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-usage-intro p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-usage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aw-usage-summary>div{min-width:0;padding:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-usage-summary dt{color:hsl(var(--muted-foreground));font-size:12px;font-weight:500}.aw-usage-summary dd{margin:8px 0 0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25}.aw-usage-users-head{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.aw-usage-users-head .text-shimmer{flex:0 0 auto;font-size:12px}.aw-usage-state{min-height:116px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55;text-align:center}.aw-usage-state.is-error{flex-direction:column;color:hsl(var(--destructive));white-space:pre-wrap;overflow-wrap:anywhere}.aw-usage-state button,.aw-usage-pagination button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-usage-state button:hover,.aw-usage-pagination button:hover:not(:disabled){background:hsl(var(--secondary) / .5)}.aw-usage-state button:focus-visible,.aw-usage-pagination button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-usage-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-usage-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-usage-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aw-usage-table th,.aw-usage-table td{padding:13px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:middle}.aw-usage-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-usage-table th:first-child,.aw-usage-table td:first-child{width:48%}.aw-usage-table th:nth-child(2),.aw-usage-table td:nth-child(2){width:18%}.aw-usage-table td strong,.aw-usage-table td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-usage-table td strong{font-weight:600}.aw-usage-table td small{margin-top:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.aw-usage-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px}.aw-usage-pagination span{min-width:92px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-usage-pagination button:disabled{opacity:.48;cursor:not-allowed}.aw-integration-stack{display:flex;flex-direction:column;gap:16px}.aw-integration-intro h3,.aw-integration-intro p,.aw-integration-panel h3,.aw-integration-panel h4,.aw-integration-panel dl,.aw-integration-panel dd{margin:0}.aw-integration-intro h3{font-size:15px;font-weight:620}.aw-integration-intro p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-body{display:flex;min-width:0;flex-direction:column;gap:12px}.aw-integration-protocol-tabs{position:relative;display:grid;width:min(240px,100%);height:36px;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.aw-integration-protocol-slider{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc((100% - 9px)/2);border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .05);transition:transform .24s cubic-bezier(.22,1,.36,1)}.aw-integration-protocol-tabs.is-a2a .aw-integration-protocol-slider{transform:translate(calc(100% + 3px))}.aw-integration-protocol-tabs button{position:relative;z-index:1;min-width:0;min-height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;transition:background-color .16s ease,color .16s ease}.aw-integration-protocol-tabs button:hover{background:hsl(var(--panel) / .45);color:hsl(var(--foreground))}.aw-integration-protocol-tabs button[aria-selected=true]{color:hsl(var(--foreground));font-weight:620}.aw-integration-protocol-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-panel{min-width:0;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-integration-panel.has-example{display:flex;flex-direction:column;gap:20px}.aw-integration-panel header{display:flex;align-items:center;margin-bottom:4px}.aw-integration-panel h3{color:hsl(var(--foreground));font-size:14px;font-weight:620}.aw-integration-panel dl{display:grid;align-content:start;gap:12px}.aw-integration-panel dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px}.aw-integration-panel dt{color:hsl(var(--muted-foreground));font-size:12px}.aw-integration-panel dd{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55}.aw-integration-secret{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px}.aw-integration-secret-value{min-width:52px;overflow-wrap:anywhere}.aw-integration-secret-toggle{display:inline-grid;width:28px;height:28px;flex:0 0 28px;padding:0;place-items:center;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.aw-integration-secret-toggle:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-integration-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-secret-toggle:disabled{cursor:wait;opacity:.62}.aw-integration-secret-toggle svg,.aw-integration-secret-toggle .loading-gap-spinner{width:16px;height:16px}.aw-integration-secret-error{flex-basis:100%;color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-integration-example{min-width:0}.aw-integration-example h4{margin-bottom:8px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.aw-integration-example-code.md{min-width:0;font-size:12px}.aw-integration-example-code.md pre{max-height:360px;margin:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary))}.aw-integration-example-code.md pre code{display:block;min-width:max-content;padding:14px 16px;line-height:1.55}.aw-integration-error{display:flex;align-items:center;gap:8px;min-height:36px;padding:10px 12px;border-radius:8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-error{justify-content:space-between;color:hsl(var(--destructive))}.aw-integration-error button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.aw-canvas-card,.aw-details-card{min-width:0;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel))}.aw-canvas-card{overflow:hidden}.aw-canvas-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:13px}.aw-details-card{overflow:hidden}.aw-deploy-progress-card{width:100%;min-width:0;box-sizing:border-box;padding:24px 26px 26px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--panel))}.aw-detail-deployment{flex:0 0 auto;padding:0 24px 16px}.aw-detail-deployment.is-running{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.aw-main.is-deploying .aw-agent-tabs,.aw-main.is-deploying .aw-content,.aw-main.is-deploying .aw-basic-actions{display:none}.aw-deploy-progress-head,.aw-deploy-progress-head>div,.aw-deploy-progress-icon{display:flex;align-items:center}.aw-deploy-progress-head{justify-content:space-between;gap:20px}.aw-deploy-progress-head>div{min-width:0;gap:12px}.aw-deploy-progress-head>div>div{min-width:0}.aw-deploy-progress-icon{width:34px;height:34px;flex:0 0 34px;justify-content:center;border-radius:50%;background:#eaeff5;color:#295189}.aw-deploy-progress-icon svg{width:17px;height:17px}.aw-deploy-progress-card.is-success .aw-deploy-progress-icon{background:#e8f2ee;color:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-icon,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-icon{background:#f5ecea;color:#8d3d34}.aw-deploy-progress-head h3{margin:0;font-size:14px;font-weight:700}.aw-deploy-progress-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;overflow-wrap:anywhere}.aw-deploy-progress-head>strong{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:12px;font-weight:650}.aw-deploy-progress-track{height:5px;margin-top:18px;overflow:hidden;border-radius:999px;background:hsl(var(--secondary))}.aw-deploy-progress-track span{display:block;height:100%;border-radius:inherit;background:#295189;transition:width .32s cubic-bezier(.22,1,.36,1)}.aw-deploy-progress-card.is-success .aw-deploy-progress-track span{background:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-track span,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-track span{background:#8d3d34}.aw-deploy-steps{margin:22px 0 0;padding:0;list-style:none}.aw-deploy-steps li{position:relative;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:0 0 18px}.aw-deploy-steps li:last-child{padding-bottom:0}.aw-deploy-progress-actions{display:flex;justify-content:flex-end;margin-top:20px}.aw-deploy-steps li:not(:last-child):after{content:"";position:absolute;top:28px;bottom:0;left:13px;width:2px;border-radius:999px;background:hsl(var(--border))}.aw-deploy-steps li.is-done:not(:last-child):after{background:#9dcdb8}.aw-deploy-step-marker{position:relative;z-index:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:680}.aw-deploy-step-marker svg{width:14px;height:14px}.aw-deploy-steps li.is-done .aw-deploy-step-marker{border-color:#b3dbca;background:#e8f2ee;color:#2d7656}.aw-deploy-steps li.is-active .aw-deploy-step-marker{border-color:#9eb3d1;background:#eaeff5;color:#295189}.aw-deploy-steps li.is-failed .aw-deploy-step-marker{border-color:#dcbfbc;background:#f5ecea;color:#8d3d34}.aw-deploy-step-copy{min-width:0;padding-top:2px}.aw-deploy-step-copy strong{display:block;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:620;line-height:1.4}.aw-deploy-step-copy p{min-width:0;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.aw-deploy-steps li.is-done .aw-deploy-step-copy strong,.aw-deploy-steps li.is-active .aw-deploy-step-copy strong,.aw-deploy-steps li.is-failed .aw-deploy-step-copy strong{color:hsl(var(--foreground))}.aw-deploy-steps li.is-active .aw-deploy-step-copy p{color:hsl(var(--foreground) / .78)}.aw-deploy-step-log{min-width:0;margin-top:10px}.aw-deploy-log{min-width:0;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--canvas));overflow:hidden}.aw-deploy-log header,.aw-deploy-log header>div,.aw-deploy-log-actions,.aw-deploy-log-actions button{display:flex;align-items:center}.aw-deploy-log header{min-width:0;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.aw-deploy-log.is-collapsed header{border-bottom:0}.aw-deploy-log header>div:first-child{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.aw-deploy-log strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:640;line-height:1.35}.aw-deploy-log span{min-width:0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.aw-deploy-log-actions{flex:0 0 auto;gap:6px}.aw-deploy-log-actions button{min-height:28px;gap:5px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:11.5px;font-weight:560;cursor:pointer}.aw-deploy-log-actions button:hover{background:hsl(var(--muted))}.aw-deploy-log-actions button span{color:inherit;font-size:inherit;line-height:inherit}.aw-deploy-log-actions button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.aw-deploy-log-actions svg{width:13px;height:13px;flex:0 0 auto}.aw-deploy-log pre{max-height:260px;min-width:0;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:hsl(var(--foreground) / .86);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.55}.aw-deploy-log-empty{padding:12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.aw-deploy-log.is-error{border-color:#dcbfbc}.aw-card-head{justify-content:space-between;gap:12px;min-height:48px;padding:0 16px}.aw-card-head strong{font-size:13px;font-weight:680}.aw-card-head span{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-canvas{height:220px;min-height:0;border-top:1px solid hsl(var(--border))}.aw-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;border:0;background:#f9f8f5}.aw-canvas .abc-canvas{flex:1;min-height:0}.aw-canvas .react-flow__controls{transform:scale(.86);transform-origin:bottom left}.aw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 16px 14px}.aw-facts>div{min-height:39px;display:grid;grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);align-items:center;gap:12px;border-top:1px solid hsl(var(--border) / .72)}.aw-facts>div:nth-child(2n){padding-left:20px}.aw-facts>div:nth-child(odd){padding-right:20px}.aw-facts dt{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-facts dd{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aw-facts .aw-fact-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;overflow:visible;white-space:normal}.aw-fact-badges span{max-width:100%;overflow:hidden;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .55);font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aw-status-dot{width:6px;height:6px;display:inline-block;margin-right:6px;border-radius:50%;background:#358d67}.aw-section-head{justify-content:space-between;gap:18px;margin-bottom:16px}.aw-section-head h3{font-size:17px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-filter-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.aw-case-filter-stack{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.aw-case-source-filters{display:flex;flex-wrap:wrap;gap:6px}.aw-case-source-filters button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.aw-case-source-filters button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-case-source-filters button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button{min-width:0;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .22)}.aw-case-summary>button{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:14px 16px;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.aw-case-summary>button:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .36)}.aw-case-summary>button:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:2px}.aw-case-summary strong{color:hsl(var(--foreground));font-size:26px;font-weight:720;line-height:1}.aw-case-summary span{min-width:0;color:hsl(var(--foreground));font-size:12px;font-weight:640}.aw-case-search{width:min(360px,46%);min-width:260px;height:40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .16s ease,box-shadow .16s ease}.aw-case-search:focus-within{border-color:hsl(var(--foreground) / .32);box-shadow:0 0 0 3px hsl(var(--foreground) / .045)}.aw-case-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-case-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.aw-case-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.aw-case-toolbar{min-height:32px;display:flex;align-items:center;gap:8px;margin:-2px 0 14px}.aw-case-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-case-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-case-toolbar button:disabled{cursor:default;opacity:.42}.aw-case-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-case-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-case-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-filters button{min-height:30px;padding:0 12px;border-radius:6px;font-size:12.5px}.aw-case-filters button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .07)}.aw-case-table{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-width:870px;min-height:86px;display:grid;grid-template-columns:minmax(180px,.78fr) minmax(250px,1.16fr) 80px minmax(220px,.94fr) 48px;align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:13px}.aw-case-row:not(.aw-case-row-head){cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.aw-case-row:not(.aw-case-row-head):hover,.aw-case-row.is-focused,.aw-case-row.is-selected-for-delete{background:hsl(var(--secondary) / .28)}.aw-case-row.is-focused{box-shadow:inset 3px 0 hsl(var(--foreground) / .22)}.aw-case-row.is-selected-for-delete{box-shadow:inset 3px 0 hsl(var(--foreground) / .34)}.aw-case-row:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:-2px}.aw-case-row:first-child{border-top:0}.aw-case-row-head{min-height:38px;align-items:center;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-case-action-head{text-align:center}.aw-case-text,.aw-case-output,.aw-case-reason{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-score{color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.5}.aw-case-reason p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-reason.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-title-line{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{flex:1;min-width:0}.aw-case-actions{min-width:0;display:flex;justify-content:center}.aw-case-row strong,.aw-case-row p,.aw-case-row small{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.aw-case-row strong{color:hsl(var(--foreground));font-weight:600;line-height:1.45}.aw-case-row p{margin:0;color:hsl(var(--muted-foreground));line-height:1.5}.aw-case-output-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-output.is-expanded .aw-case-output-preview{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-expand{width:fit-content;min-height:24px;margin-top:2px;padding:0 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.aw-case-expand:hover{background:hsl(var(--secondary) / .55)}.aw-case-row small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35}.aw-case-time{color:hsl(var(--foreground) / .62)!important}.aw-case-delete{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.aw-case-delete:hover:not(:disabled){border-color:hsl(var(--destructive) / .18);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.aw-case-delete:active:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-empty{min-height:116px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px}.aw-case-error{color:hsl(var(--destructive))}.aw-case-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--destructive) / .26);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-deployment-panel{width:100%;box-sizing:border-box;margin:0}.aw-settings-card{padding:18px;border:1px solid hsl(var(--border));border-radius:14px}.aw-optimizations{display:flex;flex-direction:column;gap:16px}.aw-optimization-intro h3{margin:0;color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-optimization-intro p{margin:5px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-optimization-state{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.aw-optimization-state.is-error{color:hsl(var(--destructive))}.aw-optimization-state button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.aw-optimization-table-wrap{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-optimization-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-optimization-table th,.aw-optimization-table td{padding:14px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:top}.aw-optimization-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-optimization-table th:first-child,.aw-optimization-table td:first-child{width:108px}.aw-optimization-table th:nth-child(2),.aw-optimization-table td:nth-child(2){width:142px}.aw-optimization-module{color:hsl(var(--foreground));font-size:13px;font-weight:620;line-height:1.55}.aw-optimization-list{margin:0;padding:0;list-style:none}.aw-optimization-list li{position:relative;padding-left:16px}.aw-optimization-list li+li{margin-top:13px;padding-top:13px;border-top:1px dashed hsl(var(--border))}.aw-optimization-list li:before{position:absolute;top:6px;left:1px;width:5px;height:5px;border-radius:50%;background:hsl(var(--primary) / .72);content:""}.aw-optimization-list li+li:before{top:19px}.aw-optimization-list strong{display:block;font-size:13.5px;font-weight:650;line-height:1.45}.aw-optimization-list p{margin:5px 0 0;color:hsl(var(--muted-foreground));line-height:1.55}.aw-priority{font-size:13px;font-weight:700;line-height:1.5}.aw-priority.is-high{color:hsl(var(--destructive))}.aw-priority.is-medium{color:#93591f}.aw-priority.is-low{color:#28674c}.aw-readonly-config{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aw-readonly-config>div{min-width:0;padding:12px 14px;border-radius:10px;background:hsl(var(--secondary) / .42)}.aw-readonly-config dt{color:hsl(var(--muted-foreground));font-size:11px}.aw-readonly-config dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12px;font-weight:600}.aw-readonly-config dd.is-ready{color:#1d7c40}.aw-basic-actions{position:absolute;z-index:8;bottom:20px;left:50%;display:flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;border-radius:10px;background:transparent;box-shadow:none;transform:translate(-50%)}.aw-eval-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;justify-content:space-between;gap:20px;padding:14px 24px}.aw-evaluation-glass{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .44);color:hsl(var(--foreground));-webkit-backdrop-filter:blur(9px) saturate(118%);backdrop-filter:blur(9px) saturate(118%);transition:background .18s ease,backdrop-filter .18s ease}.aw-evaluation-glass:hover{background:hsl(var(--background) / .52);-webkit-backdrop-filter:blur(11px) saturate(125%);backdrop-filter:blur(11px) saturate(125%)}.aw-evaluation-glass span{padding:8px 13px;border:1px solid hsl(var(--border) / .82);border-radius:999px;background:hsl(var(--background) / .7);box-shadow:0 8px 24px hsl(var(--foreground) / .07);font-size:12.5px;font-weight:620;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.aw-eval-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-run{min-height:38px;padding:0 14px;border-radius:9px}.aw-eval-setup{width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.aw-eval-block{min-width:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px}.aw-eval-agent-grid{max-height:230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding:0 16px 16px}.aw-eval-agent-grid>label{min-height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid hsl(var(--border) / .82);border-radius:10px;cursor:pointer}.aw-eval-agent-grid input,.aw-metric-list input{width:15px;height:15px;accent-color:hsl(var(--foreground))}.aw-eval-agent-grid label>span{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-eval-agent-grid strong,.aw-eval-agent-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-eval-agent-grid strong{font-size:12px;font-weight:620}.aw-eval-agent-grid small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-eval-setting-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:14px}.aw-eval-fields{display:flex;flex-direction:column;gap:13px;padding:0 16px 16px}.aw-eval-fields label{min-height:36px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.aw-eval-fields label>span,.aw-eval-fields label>small{color:hsl(var(--muted-foreground));font-size:11px}.aw-eval-fields select{width:100%;height:34px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11.5px}.aw-metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}.aw-metric-list label{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid hsl(var(--border) / .82);border-radius:9px;cursor:pointer;font-size:11.5px}.aw-eval-history{width:min(820px,100%);margin:0 auto}.aw-history-list{display:flex;flex-direction:column;gap:9px}.aw-history-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 16px;align-items:center;gap:16px;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:11px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.aw-history-list>button:hover{border-color:hsl(var(--foreground) / .2)}.aw-history-list>button>span:first-child,.aw-history-score{display:flex;flex-direction:column;gap:4px}.aw-history-list strong{font-size:12px}.aw-history-list small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-history-score{align-items:flex-end}.aw-history-score strong{font-size:17px}.aw-complete{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#3c866617;color:#28674c;font-size:10.5px;font-weight:620}.aw-complete svg{width:12px;height:12px}.aw-results-empty{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));text-align:center}.aw-results-empty strong{color:hsl(var(--foreground));font-size:12.5px}.aw-results-empty span{font-size:11.5px}@media (max-width: 980px){.aw-workspace{grid-template-columns:260px minmax(0,1fr)}.aw-eval-setting-grid{grid-template-columns:minmax(0,1fr)}.aw-case-row{min-width:790px;grid-template-columns:minmax(160px,.78fr) minmax(220px,1fr) 72px minmax(180px,.82fr) 48px}}@media (max-width: 720px){.aw-view-tabs{padding-inline:16px}.aw-workspace{grid-template-columns:minmax(0,1fr);overflow-y:auto}.aw-sidebar{height:340px;max-height:340px;box-sizing:border-box;padding:18px 16px}.aw-agent-list{min-height:128px}.aw-main{min-height:620px;overflow:visible}.aw-agent-tabs{gap:18px;margin-inline:16px;overflow-x:auto}.aw-agent-head,.aw-eval-head{padding-inline:16px}.aw-content{overflow:visible;padding-inline:16px}.aw-facts{grid-template-columns:minmax(0,1fr)}.aw-facts>div:nth-child(n){padding-right:0;padding-left:0}.aw-eval-agent-grid,.aw-metric-list{grid-template-columns:minmax(0,1fr)}.aw-case-summary,.aw-case-row{min-width:0;grid-template-columns:minmax(0,1fr)}.aw-case-filter-bar{align-items:stretch;flex-direction:column;gap:12px}.aw-case-search{width:100%;min-width:0}.aw-case-row-head{display:none}.aw-case-cell{position:relative;padding-top:20px}.aw-case-cell:before{content:attr(data-label);position:absolute;top:0;left:0;color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.aw-case-actions{justify-content:flex-start}.aw-optimization-table{min-width:680px}.aw-usage-summary{grid-template-columns:minmax(0,1fr)}.aw-usage-pagination{justify-content:space-between}.aw-readonly-config{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.aw-integration-protocol-slider{transition:none}.aw-root *,.aw-root *:before,.aw-root *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.applications-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.applications-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.applications-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.applications-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.applications-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.applications-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.applications-search svg{width:16px;height:16px;flex:0 0 16px}.applications-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.applications-search input::placeholder{color:hsl(var(--muted-foreground))}.applications-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.applications-categories button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.applications-categories button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.applications-categories button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.applications-categories button:focus-visible{outline:2px solid hsl(var(--ring) / .3);outline-offset:2px}.applications-results{flex:1;min-height:0;overflow-y:auto;margin-top:28px;padding-bottom:56px;scrollbar-gutter:stable}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.application-card-wrap{position:relative;min-width:0;display:flex;border-radius:12px}.application-card-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card{width:100%;min-width:0;min-height:96px;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;padding:16px 18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;box-shadow:0 1px 2px hsl(var(--foreground) / .035);animation:application-card-enter .18s ease-out both;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.application-card:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .24);box-shadow:0 4px 14px hsl(var(--foreground) / .06)}.application-card:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card:disabled{cursor:not-allowed;opacity:.5}.application-card:disabled:hover{border-color:hsl(var(--border));background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.application-card-tooltip{position:absolute;z-index:30;top:50%;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 3px));transition:opacity .14s ease,transform .14s ease}.application-card-wrap.is-disabled:hover .application-card-tooltip,.application-card-wrap.is-disabled:focus-visible .application-card-tooltip{opacity:1;transform:translate(-50%,-50%)}.application-card-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-brand-icon{object-fit:contain}.application-card-copy{min-width:0}.application-card-title{display:flex;align-items:center;gap:6px}.application-card-copy h2{min-width:0;margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.application-card-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:16px;box-sizing:border-box;padding:1px 6px;border-radius:999px;background:hsl(var(--destructive));color:#fff;font-size:10px;font-weight:600;line-height:1.2}.application-card-badge.is-success{background:#36ab661f;color:#217343}.application-card-copy p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.applications-empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:hsl(var(--muted-foreground))}.applications-empty svg{width:32px;height:32px;margin-bottom:12px}.applications-empty h2{margin:0;color:hsl(var(--foreground));font-size:15px;font-weight:600}.applications-empty p{margin:6px 0 0;font-size:12.5px}@keyframes application-card-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.applications-page{padding:24px 20px 0}.applications-header{flex-direction:column;gap:16px}.applications-search{width:100%}}@media (prefers-reduced-motion: reduce){.application-card{animation:none;transition:none}.application-card-tooltip{transition:none}}.system-info-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));font-family:inherit}.system-info-page-header{flex:0 0 auto}.system-info-page-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.system-info-page-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.system-info-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;align-content:start;gap:16px;margin-top:24px;padding-bottom:56px}.system-info-section{min-width:0;padding:20px;border-radius:12px;background:hsl(var(--secondary) / .72)}.system-info-section h2{margin:0 0 16px;color:hsl(var(--foreground));font-size:15px;font-weight:600;line-height:1.4}.system-info-summary,.system-info-tool,.system-info-pool dl{margin:0}.system-info-summary>div,.system-info-tool>div{display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);align-items:center;gap:16px}.system-info-summary dt,.system-info-tool dt,.system-info-pool dt{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:400;line-height:1.5}.system-info-summary dd,.system-info-tool dd,.system-info-pool dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.system-info-tool-list{display:grid;gap:8px}.system-info-pool-list{display:grid;gap:16px}.system-info-pool{min-width:0;padding:4px 0}.system-info-empty{color:hsl(var(--muted-foreground));font-weight:400}.system-info-tool{min-width:0;padding:4px 0}.system-info-tool-label{display:flex;align-items:center;gap:7px}.system-info-tool-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(44 88% 43% / .3);border-radius:999px;background:#fac70f2e;color:#976507;font-size:10px;font-weight:600;line-height:1.25;white-space:nowrap}.system-info-pool header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.system-info-pool h3{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.system-info-pool header span{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:10px;font-weight:600;line-height:1.35}.system-info-pool dl{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(120px,.5fr);gap:16px}.system-info-pool dl>div{min-width:0;display:grid;gap:4px}.system-info-loading{display:flex;align-items:center;min-height:24px;color:hsl(var(--muted-foreground));font-size:13px}.system-info-error{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:12px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.system-info-error p,.system-info-empty{margin:0}.system-info-error button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500}.system-info-error button:hover{background:hsl(var(--muted))}.system-info-error button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.system-info-empty{font-size:13px;line-height:1.55}@media (max-width: 760px){.system-info-page{padding:24px 20px 0}.system-info-pool dl{grid-template-columns:1fr;gap:12px}}@media (max-width: 520px){.system-info-summary>div,.system-info-tool>div{grid-template-columns:1fr;gap:4px}}.github-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.github-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.github-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.github-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-back svg{width:16px;height:16px}.github-integration-logo{width:30px;height:30px;flex:0 0 30px;color:hsl(var(--foreground))}.github-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.github-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-integration-layout{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:start;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.github-section-panel{width:100%;min-width:0;box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent}.github-panel-heading p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.6}.github-release-form{margin-top:24px}.github-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.github-field{min-width:0;display:flex;flex-direction:column}.github-field>label,.github-token-label-row>label{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.github-field-requirement{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:500}.github-field-requirement.is-required{color:hsl(var(--destructive))}.github-field input{width:100%;height:38px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.github-field input::placeholder{color:hsl(var(--muted-foreground))}.github-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.github-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.github-region-picker{gap:0;margin:0}.github-region-picker .pp-region-trigger,.github-region-picker .pp-region-option{height:38px;font-size:14px}.github-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.github-token-field{margin-top:16px}.github-token-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.github-token-label-row>a{display:inline-flex;align-items:center;gap:4px;color:#2371e7;font-size:12.5px;font-weight:600;line-height:1.5;text-decoration:none}.github-token-label-row>a:hover{text-decoration:underline}.github-token-label-row>a:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px;border-radius:4px}.github-token-label-row>a svg{width:13px;height:13px}.github-token-input{position:relative}.github-token-input input{padding-right:42px}.github-token-input button{position:absolute;top:5px;right:4px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.github-token-input button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-token-input button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.github-token-input button svg{width:17px;height:17px}.github-submit-message{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-top:16px;padding:10px 12px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.5}.github-submit-message.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.github-submit-message.is-success{border-color:#24894e3d;background:#2bab6012;color:#217343}.github-submit-message a,.github-history-item a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:inherit;font-weight:620;text-decoration:none}.github-submit-message a:hover,.github-history-item a:hover{text-decoration:underline}.github-submit-message svg,.github-history-item svg{width:14px;height:14px}.github-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid hsl(var(--border))}.github-secrets-note{max-width:470px;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-secrets-note strong{color:hsl(var(--foreground));font-weight:600}.github-form-actions button{min-width:126px;height:36px;padding:0 15px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:background-color .16s ease,opacity .16s ease}.github-form-actions button:hover:not(:disabled){background:hsl(var(--foreground) / .84)}.github-form-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-form-actions button:disabled{cursor:wait;opacity:.56}@media (max-width: 680px){.github-integration-page{padding:20px 18px 0}.github-field-grid{grid-template-columns:minmax(0,1fr)}.github-form-actions{align-items:stretch;flex-direction:column}.github-form-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.github-back,.github-field input,.github-form-actions button{transition:none}}.feishu-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.feishu-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.feishu-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.feishu-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.feishu-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.feishu-back:disabled{cursor:not-allowed;opacity:.5}.feishu-back svg{width:16px;height:16px}.feishu-integration-logo{width:30px;height:30px;flex:0 0 30px;object-fit:contain}.feishu-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.feishu-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.feishu-integration-layout{flex:1;min-width:0;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.feishu-section-panel{width:100%;min-width:0}.feishu-panel-description{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.feishu-form{margin-top:24px}.feishu-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.feishu-field{min-width:0;display:flex;flex-direction:column}.feishu-field>label{margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.feishu-field input{width:100%;height:36px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:6px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.feishu-field input::placeholder{color:hsl(var(--muted-foreground))}.feishu-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.feishu-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.feishu-field input:disabled{cursor:not-allowed;opacity:.62}.feishu-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-field-error{margin-top:2px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.feishu-region-picker{position:relative;min-width:0}.feishu-region-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.feishu-region-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.feishu-region-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.feishu-region-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.feishu-region-trigger:disabled{cursor:not-allowed;opacity:.5}.feishu-region-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feishu-region-trigger>svg{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.feishu-region-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.feishu-region-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;box-sizing:border-box;max-height:238px;overflow-y:auto;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.feishu-region-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left}.feishu-region-option:hover,.feishu-region-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.feishu-region-option.is-selected{background:hsl(var(--primary) / .08)}.feishu-secret-input{position:relative}.feishu-secret-input input{padding-right:54px}.feishu-secret-input>button{position:absolute;top:4px;right:4px;height:28px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550}.feishu-secret-input>button:hover:not(:disabled){background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.feishu-secret-input>button:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:-2px}.feishu-secret-input>button:disabled{cursor:not-allowed;opacity:.5}.feishu-deployment-status{margin-top:20px;padding:14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .38)}.feishu-deployment-status.is-succeeded{border-color:#40966452;background:#f1f9f4}.feishu-deployment-status.is-failed{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .045)}.feishu-deployment-heading{min-height:20px;color:hsl(var(--foreground));font-size:13px;line-height:1.5}.feishu-deployment-heading strong{display:inline-flex;align-items:center;gap:6px;font-weight:600}.feishu-deployment-heading svg{width:16px;height:16px;color:#217343}.feishu-deployment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.feishu-deployment-steps li{display:flex;align-items:center;gap:6px;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.feishu-deployment-steps li>span{width:18px;height:18px;display:grid;flex:0 0 18px;place-items:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));font-size:10px}.feishu-deployment-steps li>span svg{width:12px;height:12px}.feishu-deployment-steps li.is-active{color:hsl(var(--foreground));font-weight:550}.feishu-deployment-steps li.is-active>span{border-color:hsl(var(--foreground) / .3)}.feishu-deployment-steps li.is-done>span{border-color:#34895766;color:#217343}.feishu-deployment-error{margin:10px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.55;white-space:pre-wrap}.feishu-deployment-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;color:hsl(var(--muted-foreground));font-size:12px}.feishu-deployment-result>span:first-child{color:hsl(var(--foreground));font-weight:600}.feishu-deployment-result a{display:inline-flex;align-items:center;gap:4px;color:hsl(var(--foreground));font-weight:550;text-decoration:none}.feishu-deployment-result a:hover{text-decoration:underline}.feishu-deployment-result a svg{width:14px;height:14px}.feishu-form-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid hsl(var(--border))}.feishu-secrets-note{display:flex;min-width:0;flex-direction:column;gap:3px}.feishu-secrets-note strong{font-size:12.5px;font-weight:600}.feishu-secrets-note span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-action-buttons{display:flex;flex:0 0 auto;gap:8px}.feishu-submit,.feishu-cancel{height:36px;padding:0 15px;border-radius:7px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.feishu-submit{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.feishu-submit:hover:not(:disabled){opacity:.88}.feishu-submit:disabled{cursor:not-allowed;opacity:.45}.feishu-cancel{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.feishu-cancel:hover{background:hsl(var(--secondary))}.feishu-submit:focus-visible,.feishu-cancel:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}@media (max-width: 760px){.feishu-integration-page{padding:24px 20px 0}.feishu-field-grid{grid-template-columns:1fr}.feishu-deployment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.feishu-form-actions{align-items:stretch;flex-direction:column}.feishu-action-buttons{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.feishu-back,.feishu-field input,.feishu-region-trigger,.feishu-region-trigger>svg{transition:none}}.coding-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.coding-agents-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.coding-agents-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.coding-agents-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-back:disabled{cursor:not-allowed;opacity:.5}.coding-agents-back svg{width:16px;height:16px}.coding-agents-logo{width:32px;height:32px;flex:0 0 32px;color:hsl(var(--foreground))}.coding-agents-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.coding-agents-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.coding-agents-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.coding-agents-content{width:100%;display:flex;flex-direction:column;gap:14px}.coding-agents-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.coding-agents-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coding-agents-section-heading>div{display:flex;align-items:center;gap:9px}.coding-agents-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.coding-agents-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.coding-agents-section-heading>button,.coding-agents-error-row button{min-height:28px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.coding-agents-section-heading>button:hover:not(:disabled),.coding-agents-error-row button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-section-heading>button:focus-visible,.coding-agents-error-row button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.coding-agents-section-heading>button:disabled{cursor:wait;opacity:.5}.coding-agents-inline-state{min-height:86px;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.coding-agents-inline-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-error-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.coding-agents-agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coding-agents-agent{position:relative;min-width:0;min-height:92px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;box-sizing:border-box;padding:12px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.coding-agents-agent:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary) / .18)}.coding-agents-agent.is-selected{border-color:hsl(var(--ring) / .5);background:hsl(var(--primary) / .035);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.coding-agents-agent:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-agent:disabled{cursor:not-allowed;opacity:.58}.coding-agents-agent-mark{width:38px;height:38px;display:grid;place-items:center;color:hsl(var(--foreground))}.coding-agents-agent-mark img{width:32px;height:32px;border-radius:7px}.coding-agents-agent-mark svg{width:32px;height:32px}.coding-agents-agent-mark.is-claude-code{color:#d86e4b}.coding-agents-agent-mark.is-codex{color:#4a55ed}.coding-agents-agent-copy{min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:40px}.coding-agents-agent-copy strong{overflow:hidden;font-size:12.5px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-agent-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-status{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:600}.coding-agents-status.is-ready{background:#36ab661a;color:#247b48}.coding-agents-check{position:absolute;right:9px;bottom:9px;width:17px;height:17px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;color:transparent}.coding-agents-agent.is-selected .coding-agents-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-check svg{width:12px;height:12px}.coding-agents-skill-list{display:flex;flex-direction:column;gap:7px}.coding-agents-skill{min-width:0;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));transition:border-color .15s ease,background-color .15s ease}.coding-agents-skill:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .14)}.coding-agents-skill.is-selected{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .025)}.coding-agents-skill label{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;cursor:pointer}.coding-agents-skill label>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.coding-agents-skill input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.coding-agents-skill-check{width:15px;height:15px;display:grid;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));color:transparent}.coding-agents-skill-check svg{width:10px;height:10px}.coding-agents-skill input:checked+.coding-agents-skill-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-skill input:focus-visible+.coding-agents-skill-check,.coding-agents-skill>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-skill input:disabled+.coding-agents-skill-check{opacity:.55}.coding-agents-skill>button{min-height:30px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap}.coding-agents-skill>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-skill-list strong{font-size:12.5px;font-weight:630;line-height:1.35}.coding-agents-skill-list small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.coding-agents-global{margin-top:14px;padding:14px;border-radius:9px;background:hsl(var(--secondary) / .42)}.coding-agents-global-heading{display:flex;align-items:center;gap:9px}.coding-agents-global-heading>svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground))}.coding-agents-global-heading>div{min-width:0;display:flex;align-items:baseline;gap:8px}.coding-agents-global-heading strong{font-size:12px;font-weight:650}.coding-agents-global-heading span{color:hsl(var(--muted-foreground));font-size:11px}.coding-agents-global dl{margin:10px 0 0 27px}.coding-agents-global dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding-top:6px;font-size:11.5px;line-height:1.45}.coding-agents-global dt{color:hsl(var(--muted-foreground))}.coding-agents-global dd{min-width:0;margin:0;overflow-wrap:anywhere}.coding-agents-global>p{margin:9px 0 0 27px;color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-result{padding:11px 12px;border:1px solid;border-radius:8px;font-size:11.5px;line-height:1.45}.coding-agents-result.is-success{border-color:#2c965838;background:#2da9610f;color:#217343}.coding-agents-result.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.coding-agents-result strong{font-weight:620}.coding-agents-result ul{margin:7px 0 0;padding-left:16px;color:inherit}.coding-agents-result li{margin-top:3px;overflow-wrap:anywhere}.coding-agents-actions{min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.coding-agents-actions>span{color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-actions>button{min-width:112px;min-height:36px;padding:7px 18px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:opacity .15s ease}.coding-agents-actions>button:hover:not(:disabled){opacity:.82}.coding-agents-actions>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-actions>button:disabled{cursor:not-allowed;opacity:.42}.coding-agents-preview-dialog{width:min(980px,calc(100vw - 48px));height:min(680px,calc(100vh - 48px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 24px 64px hsl(var(--foreground) / .18)}.coding-agents-preview-dialog[open]{display:flex;flex-direction:column}.coding-agents-preview-dialog::backdrop{background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.coding-agents-preview-header{min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.coding-agents-preview-mark svg{width:18px;height:18px}.coding-agents-preview-header h2,.coding-agents-preview-header p{margin:0}.coding-agents-preview-header h2{font-size:14px;font-weight:650;line-height:1.4}.coding-agents-preview-header p{margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.coding-agents-preview-header>button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.coding-agents-preview-header>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-header>button:focus-visible,.coding-agents-preview-tree button:focus-visible,.coding-agents-preview-tree summary:focus-visible,.coding-agents-preview-state button:focus-visible,.coding-agents-preview-file pre:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:1px}.coding-agents-preview-header>button svg{width:16px;height:16px}.coding-agents-preview-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}.coding-agents-preview-tree{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.coding-agents-preview-tree-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-tree-title span{font-size:11.5px;font-weight:650}.coding-agents-preview-tree-title small{min-width:20px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;text-align:center}.coding-agents-preview-tree-scroll{min-height:0;overflow:auto;padding:8px}.coding-agents-preview-tree details{margin-bottom:4px}.coding-agents-preview-tree summary{min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;border-radius:6px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:11.5px;list-style:none}.coding-agents-preview-tree summary::-webkit-details-marker{display:none}.coding-agents-preview-tree summary:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree summary svg,.coding-agents-preview-tree button svg{width:15px;height:15px;flex:0 0 15px}.coding-agents-preview-tree details>div{padding-left:13px}.coding-agents-preview-tree button{width:100%;min-width:0;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;text-align:left}.coding-agents-preview-tree button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree button.is-selected{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground));font-weight:600}.coding-agents-preview-tree button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file{min-width:0;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.coding-agents-preview-file>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-file>header strong{min-width:0;overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file>header span{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10.5px}.coding-agents-preview-file pre{flex:1;min-width:0;min-height:0;margin:0;overflow:auto;padding:16px 18px 24px;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre}.coding-agents-preview-file code{font:inherit}.coding-agents-preview-state,.coding-agents-preview-unavailable{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.coding-agents-preview-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-preview-state.is-error{flex-direction:column;color:hsl(var(--destructive))}.coding-agents-preview-state button{min-height:30px;padding:4px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}@keyframes coding-agents-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.coding-agents-page{padding:20px 18px 0}.coding-agents-agent-grid{grid-template-columns:minmax(0,1fr)}.coding-agents-global-heading>div{align-items:flex-start;flex-direction:column;gap:2px}.coding-agents-global dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.coding-agents-actions{align-items:stretch;flex-direction:column;gap:8px}.coding-agents-actions>span{text-align:right}.coding-agents-actions>button{width:100%}.coding-agents-preview-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}.coding-agents-preview-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,34%) minmax(0,1fr)}.coding-agents-preview-tree{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.coding-agents-back,.coding-agents-agent,.coding-agents-skill,.coding-agents-actions>button{transition:none}.coding-agents-inline-state i,.coding-agents-preview-state i{animation-duration:1.5s}}.new-chat-mode{position:relative;align-self:flex-start}.new-chat-mode__trigger{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 7px 2px 5px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease}.composer--new-chat .new-chat-mode__trigger{min-height:36px;font-size:15px}.new-chat-mode__trigger:hover,.new-chat-mode__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-mode__current{max-width:min(180px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__trigger:focus-visible,.new-chat-mode__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-mode__icon,.new-chat-mode__option-icon{display:inline-grid;place-items:center;flex:0 0 auto}.new-chat-mode__icon svg{width:15px;height:15px}.new-chat-mode__option-icon svg{width:18px;height:18px}.new-chat-mode svg{fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.new-chat-mode svg.new-chat-mode__temporary-icon{stroke-width:1.3}.new-chat-mode__chevron{width:12px;height:12px;transition:transform .14s ease}.new-chat-mode__trigger[aria-expanded=true] .new-chat-mode__chevron{transform:rotate(180deg)}.new-chat-mode__menus{position:absolute;z-index:43;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:8px}.new-chat-mode__menu{flex:0 0 auto;width:286px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__option{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer}.new-chat-mode__option.is-active{background:hsl(var(--accent))}.new-chat-mode__option:disabled{cursor:not-allowed;opacity:.48}.new-chat-mode__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-mode__copy>span:last-child{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.new-chat-mode__label{display:flex;min-width:0;align-items:center;gap:7px;font-size:13px;line-height:1.3}.new-chat-mode__label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-mode__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-mode__submenu{flex:0 0 auto;width:248px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__submenu-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-mode__submenu-option:hover:not(:disabled){background:hsl(var(--accent))}.new-chat-mode__submenu-option:disabled{cursor:not-allowed;opacity:.42}.new-chat-mode__builtin-icon{width:24px;height:24px;flex:0 0 auto;stroke-width:1.75}@media (max-width: 640px){.new-chat-mode__menus{width:min(320px,calc(100vw - 48px));max-height:min(520px,calc(100vh - 160px));flex-direction:column;overflow-y:auto}.new-chat-mode__menu,.new-chat-mode__submenu{width:100%}}@media (prefers-reduced-motion: reduce){.new-chat-mode__trigger,.new-chat-mode__chevron{transition:none}}.new-chat-agent-picker{position:relative;min-width:0}.composer--new-chat .new-chat-agent-picker{position:absolute;z-index:5;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-agent-picker{left:138px}.composer--new-chat.composer--task-image .new-chat-agent-picker,.composer--new-chat.composer--task-video .new-chat-agent-picker{left:176px}.new-chat-agent-picker__trigger{display:inline-flex;align-items:center;gap:6px;max-width:min(220px,42vw);min-height:36px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-agent-picker__trigger:hover,.new-chat-agent-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-agent-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-agent-picker__trigger>span{display:flex;min-height:20px;align-items:center;overflow:hidden;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-chevron{width:13px;height:13px;flex:0 0 auto;transform:rotate(90deg);transition:transform .14s ease}.new-chat-agent-picker__trigger[aria-expanded=true] .new-chat-agent-picker__trigger-chevron{transform:rotate(-90deg)}.new-chat-agent-picker__menus{position:absolute;z-index:44;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:7px;outline:none}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-agent-picker__menu{width:218px}.new-chat-agent-picker__submenu{width:272px;max-height:286px;overflow:auto}.new-chat-agent-picker__type,.new-chat-agent-picker__runtime{display:grid;align-items:center;width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left}.new-chat-agent-picker__type{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;padding:7px 8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__type:hover,.new-chat-agent-picker__type.is-keyboard-active,.new-chat-agent-picker__runtime:hover:not(:disabled),.new-chat-agent-picker__runtime.is-keyboard-active{background:hsl(var(--accent))}.new-chat-agent-picker__type-icon,.new-chat-agent-picker__runtime-icon{width:18px;height:18px;flex:0 0 auto}.new-chat-agent-picker__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-agent-picker__runtime{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__runtime:disabled{cursor:wait;opacity:.62}.new-chat-agent-picker__runtime>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__runtime small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-agent-picker__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-agent-picker__runtime-list{display:flex;flex-direction:column;gap:1px}.new-chat-agent-picker__empty{min-height:116px;padding:14px 10px}.new-chat-agent-picker__empty-title{white-space:nowrap}.new-chat-agent-picker__empty-agent-icon{width:32px;height:32px}.new-chat-agent-picker__status,.new-chat-agent-picker__error,.new-chat-agent-picker__inline-error{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.new-chat-agent-picker__status{display:flex;min-height:76px;align-items:center;justify-content:center;gap:7px;padding:12px}.new-chat-agent-picker__error{display:flex;flex-direction:column;gap:8px;padding:10px;color:hsl(var(--destructive))}.new-chat-agent-picker__error>span,.new-chat-agent-picker__inline-error{white-space:pre-wrap;overflow-wrap:anywhere}.new-chat-agent-picker__error button,.new-chat-agent-picker__load-more{min-height:30px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.new-chat-agent-picker__inline-error{padding:6px 8px;color:hsl(var(--destructive))}.new-chat-agent-picker__load-more{width:100%;margin-top:4px}.new-chat-agent-picker__load-more:disabled{cursor:wait;opacity:.55}.new-chat-agent-picker__spinner{width:13px;height:13px;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-agent-picker-spin .7s linear infinite}.new-chat-agent-picker__trigger:focus-visible,.new-chat-agent-picker__type:focus-visible,.new-chat-agent-picker__runtime:focus-visible,.new-chat-agent-picker__error button:focus-visible,.new-chat-agent-picker__load-more:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}@keyframes new-chat-agent-picker-spin{to{transform:rotate(360deg)}}@media (max-height: 700px) and (min-width: 641px){.new-chat-agent-picker__menus{top:auto;bottom:calc(100% + 7px)}.new-chat-agent-picker__submenu{max-height:min(220px,calc(100dvh - 180px))}}@media (max-width: 640px){.new-chat-agent-picker__menus{width:min(320px,calc(100vw - 88px));max-height:min(420px,calc(100dvh - 168px));flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{width:100%;flex:0 0 auto}.new-chat-agent-picker__submenu{max-height:220px}}@media (prefers-reduced-motion: reduce){.new-chat-agent-picker__trigger,.new-chat-agent-picker__trigger-chevron{transition:none}.new-chat-agent-picker__spinner{animation:none}}.new-chat-workspace-tabs{position:relative;z-index:1;display:flex;align-self:flex-start;width:100%;height:76px;margin:0 0 -26px;padding:8px 10px 34px;align-items:flex-start;gap:6px;overflow-x:auto;overflow-y:hidden;border-radius:16px 16px 13px 13px;background:hsl(var(--muted) / .72);box-sizing:border-box;scrollbar-width:none}.new-chat-workspace-tabs::-webkit-scrollbar{display:none}.new-chat-workspace-tabs__tab{position:relative;display:inline-flex;flex:0 0 104px;width:104px;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:14px;font-weight:400;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.new-chat-workspace-tabs__tab:hover:not(:disabled):not(.is-active){background:hsl(var(--background) / .56);color:hsl(var(--foreground))}.new-chat-workspace-tabs__tab.is-active{color:hsl(var(--foreground));font-weight:400}.new-chat-workspace-tabs__slider{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid hsl(var(--border) / .76);border-radius:inherit;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035);pointer-events:none}.new-chat-workspace-tabs__tab:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-workspace-tabs__tab:disabled{cursor:not-allowed;opacity:.48}.new-chat-workspace-tabs__icon{position:relative;z-index:1;width:17px;height:17px;flex:0 0 auto}.new-chat-workspace-tabs__skill-icon{display:inline-grid;place-items:center}.new-chat-workspace-tabs__skill-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .2s cubic-bezier(.22,1,.36,1)}.new-chat-workspace-tabs__skill-shape.is-triangle{clip-path:inset(0 18% 50% 18%);transform-origin:50% 30%}.new-chat-workspace-tabs__skill-shape.is-circle{clip-path:inset(47% 50% 0 0);transform-origin:28% 72%}.new-chat-workspace-tabs__skill-shape.is-square{clip-path:inset(47% 0 0 50%);transform-origin:72% 72%}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-box:view-box;transform-origin:12px 18.5px;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-triangle{transform:translateY(-1px) scale(1.04)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-circle{transform:translate(-.6px,.6px) rotate(-6deg)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-square{transform:translate(.7px,.5px) rotate(6deg)}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-origin:3.25px 9px}.new-chat-workspace-tabs__tab:hover:not(:disabled) .video-generate-icon__clapper{transform:rotate(-14deg)}.new-chat-workspace-tabs__label{position:relative;z-index:1}.new-chat-skill-picker{position:relative;flex:0 0 auto;min-width:0}.new-chat-skill-controls{position:absolute;z-index:5;right:52px;bottom:10px;left:52px;display:flex;min-width:0;align-items:center;gap:4px}.new-chat-skill-controls__style,.new-chat-skill-controls__model{min-width:0}.new-chat-skill-controls__style{flex:0 1 auto;max-width:180px}.new-chat-skill-controls__model{flex:0 1 auto;max-width:240px;margin-left:auto}.new-chat-skill-controls__style .new-chat-compact-select,.new-chat-skill-controls__model .new-chat-compact-select{width:fit-content;max-width:100%}.new-chat-skill-controls__style .new-chat-compact-select__trigger,.new-chat-skill-controls__model .new-chat-compact-select__trigger{width:auto;max-width:100%}.new-chat-skill-controls__model .new-chat-compact-select__menu{right:0;left:auto}.new-chat-skill-picker__trigger{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-skill-picker__trigger:hover,.new-chat-skill-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-skill-picker__trigger:focus-visible,.new-chat-skill-picker__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-skill-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-skill-picker__chevron,.new-chat-skill-picker__check{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-skill-picker__chevron{transition:transform .14s ease}.new-chat-skill-picker__trigger[aria-expanded=true] .new-chat-skill-picker__chevron{transform:rotate(180deg)}.new-chat-skill-picker__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:180px;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-skill-picker__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:34px;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.new-chat-skill-picker__option:hover,.new-chat-skill-picker__option.is-active{background:hsl(var(--accent))}.new-chat-skill-picker__check{color:hsl(var(--primary))}.new-chat-compact-select{position:relative;min-width:0;max-width:190px}.new-chat-compact-select__trigger{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;gap:5px;padding:2px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-compact-select__trigger:focus-visible,.new-chat-compact-select__search input:focus-visible,.new-chat-compact-select__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-compact-select__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-compact-select__label{flex:0 0 auto;color:hsl(var(--muted-foreground) / .76)}.new-chat-compact-select__value{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__value.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.new-chat-compact-select__chevron,.new-chat-compact-select__check{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-compact-select__chevron{transition:transform .14s ease}.new-chat-compact-select__spinner{width:13px;height:13px;flex:0 0 auto;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-compact-select-spin .7s linear infinite}@keyframes new-chat-compact-select-spin{to{transform:rotate(360deg)}}.new-chat-compact-select__trigger[aria-expanded=true] .new-chat-compact-select__chevron{transform:rotate(180deg)}.new-chat-compact-select__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:min(240px,calc(100vw - 32px));padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .28),0 3px 10px hsl(var(--foreground) / .05)}.new-chat-compact-select__search{display:block;padding:2px 2px 5px}.new-chat-compact-select__search input{width:100%;min-height:32px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.new-chat-compact-select__list{max-height:240px;overflow-y:auto}.new-chat-compact-select__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:36px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-compact-select__option:hover,.new-chat-compact-select__option.is-active{background:hsl(var(--accent))}.new-chat-compact-select__option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-compact-select__option-copy strong,.new-chat-compact-select__option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__option-copy strong{font-size:13px;font-weight:550}.new-chat-compact-select__option-copy small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-compact-select__check{color:hsl(var(--primary))}.new-chat-compact-select__status{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.new-chat-compact-select__status.is-error{color:hsl(var(--destructive))}.new-chat-compact-select__status button{flex:0 0 auto;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}@media (max-width: 520px){.new-chat-workspace-tabs__tab{gap:5px;padding:0 6px;font-size:13px}.new-chat-workspace-tabs__icon{width:16px;height:16px}.new-chat-skill-controls>.new-chat-compact-select{flex:1 1 0}.new-chat-skill-picker__trigger{padding-right:5px;padding-left:4px;font-size:13px}.new-chat-compact-select__trigger{padding-right:5px;padding-left:5px;gap:3px}.new-chat-compact-select__label{display:none}}@media (prefers-reduced-motion: reduce){.new-chat-workspace-tabs__tab,.new-chat-skill-picker__trigger,.new-chat-skill-picker__chevron,.new-chat-compact-select__trigger,.new-chat-compact-select__chevron{transition:none}.new-chat-compact-select__spinner{animation:none}.new-chat-workspace-tabs__skill-shape,.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transition:none}}.new-chat-skill-target-picker{position:relative;min-width:0;flex:0 1 220px}.new-chat-skill-target-picker__trigger{max-width:100%}.new-chat-skill-target-picker__menus.is-above{top:auto;bottom:calc(100% + 7px)}.new-chat-skill-target-picker__menus>.new-chat-agent-picker__menu,.new-chat-skill-target-picker__submenu{max-height:var(--new-chat-skill-menu-max-height, 286px);overflow-y:auto;overscroll-behavior:contain}.new-chat-skill-target-picker__space{grid-template-columns:minmax(0,1fr) 16px}.new-chat-skill-target-picker__space>span,.new-chat-skill-target-picker__skill>span,.new-chat-skill-target-picker__skill>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-skill-target-picker__space.is-previewed{background:hsl(var(--accent))}.new-chat-skill-target-picker__skill{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.new-chat-skill-target-picker__skill>span{grid-column:1;font-weight:400}.new-chat-skill-target-picker__skill>small{grid-column:1}.new-chat-skill-target-picker__skill>.new-chat-agent-picker__check{grid-column:2;grid-row:1 / span 2}.new-chat-skill-target-picker__empty{display:grid;min-height:76px;place-items:center;padding:12px;color:hsl(var(--muted-foreground));font-size:12px}@media (prefers-reduced-motion: reduce){.new-chat-skill-target-picker__spinner{animation:none}}.new-chat-video-controls{position:absolute;z-index:0;top:calc(100% - 8px);right:16px;left:16px;display:flex;min-width:0;flex-direction:column;gap:12px;padding:24px 14px 12px;border:0;border-radius:0 0 14px 14px;background:hsl(var(--muted) / .72);color:hsl(var(--foreground));transform-origin:top center}.new-chat-video-controls__parameters{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:8px;background:hsl(var(--background) / .54)}.new-chat-video-task-mode{position:absolute;z-index:5;bottom:10px;left:52px;width:fit-content;min-width:0;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select{width:fit-content;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select__trigger{width:auto;min-width:96px;max-width:220px;padding-right:10px;padding-left:10px}.new-chat-video-generation-model{position:absolute;z-index:5;right:52px;bottom:10px;display:inline-flex;min-width:0;min-height:36px;max-width:290px;align-items:center;gap:5px;padding:2px 8px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-generation-model strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-controls__field{min-width:0}.new-chat-video-controls__parameters>:not(:first-child){border-left:1px solid hsl(var(--border) / .62)}.new-chat-video-controls .new-chat-compact-select{width:100%;max-width:none}.new-chat-video-controls .new-chat-compact-select__trigger,.new-chat-video-duration{width:100%;min-height:36px;border:0;border-radius:0;background:transparent}.new-chat-video-controls__parameters>:first-child,.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:8px 0 0 8px}.new-chat-video-controls__parameters>:last-child{border-radius:0 8px 8px 0}.new-chat-video-controls .new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-video-controls .new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--background) / .92)}.new-chat-video-duration{display:grid;min-width:0;grid-template-columns:72px minmax(52px,1fr);align-items:center;gap:8px;padding:2px 8px}.new-chat-video-duration.is-disabled{opacity:.48}.new-chat-video-duration__header{display:flex;align-items:center;justify-content:space-between;gap:4px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-duration__header output{color:hsl(var(--foreground));font-weight:550}.new-chat-video-duration input{width:100%;height:16px;margin:0;accent-color:hsl(var(--primary));cursor:pointer}.new-chat-video-duration input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:hsl(var(--muted-foreground) / .24)}.new-chat-video-duration input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:hsl(var(--foreground) / .72);-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-chat-video-duration input:disabled{cursor:not-allowed}.new-chat-video-duration:focus-within{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-controls__assets{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-chat-video-controls__assets.is-single{grid-template-columns:minmax(0,1fr)}.composer-input-stack.has-inline-asset .comp-input{padding-left:96px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:96px;max-width:calc(100% - 106px)}.new-chat-inline-video{position:absolute;z-index:3;top:3px;left:10px;width:70px;height:66px}.new-chat-inline-video__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-inline-video__tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;overflow:hidden;box-sizing:border-box;border:1px dashed hsl(var(--muted-foreground) / .5);border-radius:10px;background:hsl(var(--muted) / .45);color:hsl(var(--muted-foreground));font-size:12px;line-height:1;cursor:pointer;transform:rotate(-6deg);transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .15s ease-out,background-color .15s ease-out}.new-chat-inline-video__tile:hover,.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile,.new-chat-inline-video:focus-within .new-chat-inline-video__tile{border-color:hsl(var(--muted-foreground) / .72);background:hsl(var(--muted) / .68);transform:rotate(0)}.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile{outline:2px solid hsl(var(--primary) / .42);outline-offset:2px}.new-chat-inline-video__tile svg{width:22px;height:22px;flex:0 0 auto}.new-chat-inline-video__tile img,.new-chat-inline-video__tile video{width:100%;height:100%;display:block;object-fit:cover}.new-chat-inline-video__remove{position:absolute;z-index:2;top:-5px;right:-5px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;opacity:0;transition:opacity .14s ease-out,color .14s ease-out}.new-chat-inline-video:hover .new-chat-inline-video__remove,.new-chat-inline-video:focus-within .new-chat-inline-video__remove{opacity:1}.new-chat-inline-video__remove:hover{color:hsl(var(--foreground))}.new-chat-inline-video__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px;opacity:1}.new-chat-inline-video__remove svg{width:13px;height:13px}.new-chat-inline-video.is-disabled{opacity:.48}.new-chat-inline-video.is-disabled .new-chat-inline-video__tile,.new-chat-inline-video__remove:disabled{cursor:not-allowed}.new-chat-video-controls__model-hint{min-height:18px;display:flex;align-items:center;justify-content:center;margin:-2px 2px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.new-chat-video-controls__storage-unavailable{min-height:18px;margin:-3px 2px -4px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;text-align:center}.new-chat-video-model-spinner{width:13px;height:13px;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:new-chat-video-model-spin .72s linear infinite}@keyframes new-chat-video-model-spin{to{transform:rotate(360deg)}}.new-chat-video-asset{position:relative;min-width:0}.new-chat-video-asset__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-video-asset__label{display:grid;min-height:50px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;border:1px dashed hsl(var(--border) / .72);border-radius:8px;background:hsl(var(--background) / .36);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.new-chat-video-asset__label:hover{border-color:hsl(var(--muted-foreground) / .48);background:hsl(var(--background) / .8)}.new-chat-video-asset__input:focus-visible+.new-chat-video-asset__label{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset.is-disabled{opacity:.48}.new-chat-video-asset.is-disabled .new-chat-video-asset__label{cursor:not-allowed}.new-chat-video-asset__icon{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:7px;background:hsl(var(--accent));color:hsl(var(--muted-foreground))}.new-chat-video-asset__icon svg{width:15px;height:15px}.new-chat-video-asset__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-video-asset__title{display:flex;min-width:0;align-items:baseline;gap:6px;font-size:13px;font-weight:550}.new-chat-video-asset__title small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:450}.new-chat-video-asset__value{overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-asset__value.is-selected{color:hsl(var(--foreground) / .78)}.new-chat-video-asset__action{padding-right:2px;color:hsl(var(--foreground) / .74);font-size:12px;font-weight:550}.new-chat-video-asset__remove{position:absolute;z-index:1;top:50%;right:7px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transform:translateY(-50%)}.new-chat-video-asset__remove:hover{color:hsl(var(--foreground))}.new-chat-video-asset__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset__remove:disabled{cursor:not-allowed}.new-chat-video-asset__remove svg{width:14px;height:14px}.new-chat-video-asset:has(.new-chat-video-asset__remove) .new-chat-video-asset__action{visibility:hidden}@media (max-width: 620px){.new-chat-video-controls{right:16px;left:16px;padding-right:12px;padding-left:12px}.new-chat-video-controls__parameters{grid-template-columns:minmax(0,1fr)}.new-chat-video-controls__parameters>*{border-left:0;border-top:1px solid hsl(var(--border) / .62);border-radius:0!important}.new-chat-video-controls__parameters>:first-child{border-top:0;border-radius:8px 8px 0 0!important}.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:inherit}.new-chat-video-controls__parameters>:last-child{border-radius:0 0 8px 8px!important}.new-chat-video-controls__assets{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.new-chat-video-model-spinner{border-right-color:currentColor;animation:none}}@media (max-width: 520px){.new-chat-video-task-mode,.new-chat-video-task-mode .new-chat-compact-select,.new-chat-video-task-mode .new-chat-compact-select__trigger{max-width:132px}.new-chat-video-generation-model{max-width:84px}.new-chat-video-generation-model>span{display:none}.composer-input-stack.has-inline-asset .comp-input{padding-left:84px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:84px;max-width:calc(100% - 94px)}.new-chat-inline-video{width:60px;height:60px}}@media (prefers-reduced-motion: reduce){.new-chat-video-asset__label,.new-chat-inline-video__tile,.new-chat-inline-video__remove{transition:none}.new-chat-inline-video__tile{transform:none}}.stk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 6vh}.stk-head{text-align:center;margin-bottom:26px}.stk-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em}.stk-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.stk-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}.stk-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,background .12s}.stk-card:hover{border-color:hsl(var(--ring) / .35);background:hsl(var(--foreground) / .02);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.stk-card-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.stk-card-icon svg{width:21px;height:21px}.stk-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.stk-card-title{font-size:15px;font-weight:600}.stk-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.stk-card-status{flex-shrink:0;padding:4px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.stk-card-arrow{flex-shrink:0;width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.stk-card:hover .stk-card-arrow{opacity:1;transform:translate(0)}.stk-card-disabled{opacity:.5;cursor:not-allowed}.stk-card-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--card));box-shadow:none}.stk-card-disabled .stk-card-arrow{display:none}.stk-footer{margin-top:18px;width:100%;max-width:520px;display:flex;justify-content:center}.stk-import{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px dashed hsl(var(--border));border-radius:9px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.stk-import:hover{color:hsl(var(--foreground));border-color:hsl(var(--ring) / .4);background:hsl(var(--foreground) / .03)}.stk-import svg{width:15px;height:15px}@layer components{._Container_1tuad_1{position:relative;display:flex}._Container_1tuad_1[data-has-label]{align-items:flex-start}._Container_1tuad_1[data-orientation=right]{flex-direction:row-reverse}._Container_1tuad_1>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._Checkbox_1tuad_22{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;max-width:18px;height:18px;padding:0;border-radius:var(--radius-xs);background-color:transparent;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}._Checkbox_1tuad_22,:where([data-theme=light]) ._Checkbox_1tuad_22{border:1px solid var(--gray-200)}:where([data-theme=dark]) ._Checkbox_1tuad_22{border:1px solid var(--gray-500)}[data-has-label] ._Checkbox_1tuad_22{top:1px}@media (hover: hover) and (pointer: fine){._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover,:where([data-theme=light]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-600)}}._Checkbox_1tuad_22[data-state=indeterminate],._Checkbox_1tuad_22[data-state=checked]{border-color:var(--gray-900);background-color:var(--gray-900)}._Checkbox_1tuad_22:focus{outline:none}._Checkbox_1tuad_22:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._Checkbox_1tuad_22[data-disabled]{cursor:not-allowed}._Checkbox_1tuad_22[data-disabled],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-150);background:var(--gray-25)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-300);background:var(--gray-200)}._Checkbox_1tuad_22[data-disabled][data-state=checked],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-300);background-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-200);background-color:var(--gray-200)}._CheckMark_1tuad_92{position:absolute;top:0;left:0;width:64%;height:32%;transform:rotate(-45deg) translate(-10%,100%);transform-origin:center;transition:opacity .15s ease,transform .15s ease}@starting-style{._CheckMark_1tuad_92{opacity:0}}[data-state=indeterminate] ._CheckMark_1tuad_92{transform:translate(30%,80%)}[data-state=indeterminate] ._CheckMark_1tuad_92:before{opacity:0}._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{position:absolute;display:block;background:var(--gray-0);content:"";will-change:transform}@starting-style{._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{transform:scale(0)}}:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:before,:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:after{background:var(--gray-100)}._CheckMark_1tuad_92:before{top:0;bottom:0;left:0;width:2px;transform-origin:0 0;transition:transform .1s ease 80ms,opacity .2s ease}._CheckMark_1tuad_92 [data-state=indeterminate]:before{opacity:0}._CheckMark_1tuad_92:after{right:0;bottom:0;left:0;height:2px;transform-origin:0 100%;transition:transform .1s ease .16s}._Label_1tuad_162{display:flex;align-items:center;min-height:20px;cursor:pointer;font-size:14px;line-height:20px}[data-disabled] ._Label_1tuad_162{cursor:not-allowed}[data-orientation=left] ._Label_1tuad_162{padding-left:8px}[data-orientation=right] ._Label_1tuad_162{padding-right:8px}}@layer components{._RadioGroup_onrfm_1{display:flex;gap:var(--radio-group-row-gap)}._RadioGroup_onrfm_1:where([data-direction=col]){flex-direction:column;gap:var(--radio-group-col-gap)}._RadioLabel_onrfm_9{display:inline-flex;flex-direction:row;align-items:flex-start;gap:var(--radio-group-item-gap);cursor:pointer;font-size:var(--radio-group-item-font-size);line-height:var(--radio-group-item-line-height)}._RadioLabel_onrfm_9[data-disabled]{cursor:not-allowed;opacity:.5}._RadioLabel_onrfm_9[data-block]{width:100%}._RadioIndicatorWrapper_onrfm_26{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--radio-group-item-line-height)}._RadioIndicatorWrapper_onrfm_26>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._RadioItem_onrfm_43{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);padding:0;border:none;border-radius:var(--radius-full);background-color:transparent;box-shadow:0 0 0 1px var(--radio-group-indicator-border-color) inset;cursor:pointer;transition-duration:var(--transition-duration-basic);transition-property:box-shadow;transition-timing-function:var(--transition-ease-basic)}@media (hover: hover) and (pointer: fine){._RadioItem_onrfm_43:where(:not([data-disabled])):hover{box-shadow:0 0 0 1px var(--radio-group-indicator-border-color-hover) inset}}._RadioItem_onrfm_43[data-disabled]{cursor:not-allowed}._RadioItem_onrfm_43:focus{outline:none}._RadioItem_onrfm_43:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._RadioIndicator_onrfm_26{position:relative;display:inline-grid;align-items:center;justify-content:center;width:100%;height:100%}._RadioIndicator_onrfm_26:before,._RadioIndicator_onrfm_26:after{display:block;content:"";grid-column-start:1;grid-row-start:1;place-self:center center;will-change:transform}._RadioIndicator_onrfm_26:before{width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);border-radius:var(--radius-full);animation:_fade-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-background-color)}._RadioIndicator_onrfm_26:after{width:var(--radio-group-indicator-hole-size);height:var(--radio-group-indicator-hole-size);border-radius:var(--radius-full);animation:_scale-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-hole-background-color)}@keyframes _scale-in_onrfm_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _fade-in_onrfm_1{0%{opacity:0}to{opacity:1}}}.code-browser-trigger{min-height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:color .12s ease,background-color .12s ease}.code-browser-trigger svg{width:13px;height:13px}.code-browser-trigger:hover{background:hsl(var(--foreground) / .04);color:hsl(var(--foreground))}.code-browser-trigger:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.code-browser-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:code-browser-fade-in .14s ease-out}.code-browser-dialog{width:min(1040px,92vw);height:min(720px,84vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:code-browser-rise-in .18s cubic-bezier(.2,.8,.2,1)}.code-browser-head{flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.code-browser-title-wrap{min-width:0;display:flex;align-items:center;gap:10px}.code-browser-title-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:7px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-title-icon svg,.code-browser-close svg{width:16px;height:16px}.code-browser-title-wrap h2,.code-browser-title-wrap p{margin:0}.code-browser-title-wrap h2{color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35}.code-browser-title-wrap p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.code-browser-close{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.code-browser-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-workspace{flex:1;min-height:0;display:flex}.code-browser-sidebar{flex:0 0 220px;min-width:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .22)}.code-browser-sidebar-head,.code-browser-path{flex:0 0 38px;min-height:38px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.code-browser-sidebar-head{justify-content:space-between;padding:0 12px;color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.code-browser-sidebar-head span{font-variant-numeric:tabular-nums;font-weight:500}.code-browser-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.code-browser-file,.code-browser-folder{width:100%;min-height:30px;display:flex;align-items:center;gap:6px;padding-top:4px;padding-right:10px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.code-browser-file:hover,.code-browser-folder:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.code-browser-file.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.code-browser-file svg,.code-browser-folder svg{width:14px;height:14px;flex:0 0 auto}.code-browser-folder>svg:first-child{width:12px;height:12px;transition:transform .12s ease}.code-browser-folder>svg:first-child.is-open{transform:rotate(90deg)}.code-browser-file span,.code-browser-folder span,.code-browser-path span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-browser-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.code-browser-path{gap:7px;padding:0 13px;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.code-browser-path svg{width:13px;height:13px;flex:0 0 auto}.code-browser-editor{flex:1;min-height:0;overflow:hidden}.code-browser-editor>div,.code-browser-editor .cm-theme,.code-browser-editor .cm-editor{height:100%}.code-browser-editor .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.code-browser-empty{height:100%;display:grid;place-items:center;padding:20px;color:hsl(var(--muted-foreground));font-size:12px}@keyframes code-browser-fade-in{0%{opacity:0}to{opacity:1}}@keyframes code-browser-rise-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.code-browser-backdrop{padding:12px}.code-browser-dialog{width:100%;height:min(760px,92vh)}.code-browser-sidebar{flex-basis:168px}}@media (prefers-reduced-motion: reduce){.code-browser-backdrop,.code-browser-dialog{animation:none}}.pp-config-section.pp-resource-section{overflow:visible}.pp-resource-section:has(.pp-deployment-select-trigger[aria-expanded=true]){position:relative;z-index:70}.pp-resource-list{--pp-resource-mode-column: minmax(196px, .34fr);display:flex;flex-direction:column;gap:12px}.pp-resource-item{min-width:0;padding:12px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background))}.pp-resource-name{margin-bottom:10px;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.4}.pp-resource-grid{min-width:0;display:grid;grid-template-columns:var(--pp-resource-mode-column) minmax(0,.66fr);align-items:start;gap:12px}.pp-resource-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-resource-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-resource-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-field>input{width:100%;min-width:0;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;transition:border-color .12s ease,box-shadow .12s ease}.pp-resource-field>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-resource-field>input:disabled{cursor:not-allowed;opacity:.55}.pp-resource-auto-names{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-auto-names>dl{min-width:0;margin:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background))}.pp-resource-auto-names>dl>div{min-width:0;min-height:35px;display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,.66fr);align-items:center;gap:10px;padding:8px 10px}.pp-resource-auto-names>dl>div+div{border-top:1px solid hsl(var(--border) / .72)}.pp-resource-auto-names dt,.pp-resource-auto-names dd{min-width:0;margin:0}.pp-resource-auto-names dd{overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px}.pp-resource-auto-names>small{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-picker{min-width:0;display:flex;flex-direction:column;gap:6px}.pp-resource-status{min-height:17px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-error{min-height:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.pp-resource-error span{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.pp-resource-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-resource-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-resource-validation{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}@media (max-width: 760px){.pp-resource-grid,.pp-resource-fields,.pp-resource-fields-three{grid-template-columns:minmax(0,1fr)}.pp-resource-auto-names>dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (prefers-reduced-motion: reduce){.pp-resource-field>input{transition:none}}.layout{--pp-sidebar-width: 236px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.pp-toolbar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.pp-toolbar-left,.pp-toolbar-actions,.pp-actions{display:flex;align-items:center}.pp-toolbar-left{min-width:0;gap:18px}.pp-toolbar-actions{flex:0 0 auto;gap:8px}.pp-toolbar-back{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;font-weight:500;cursor:pointer}.pp-toolbar-back:hover{color:hsl(var(--foreground))}.pp-toolbar-title{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-secondary{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.pp-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.pp-secondary:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--accent))}.pp-secondary:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.pp-secondary:disabled{opacity:.55;cursor:default}.pp-body{flex:1;min-height:0;min-width:0;display:flex}.pp-files-area{flex:1 1 auto;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.pp-sidebar{flex:0 0 218px;width:218px;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .24)}.pp-sidebar-head,.pp-main-head{flex:0 0 42px;min-height:42px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.pp-sidebar-head{gap:8px;padding:0 9px 0 14px}.pp-project-name{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:650;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.pp-row{width:100%;min-height:29px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.pp-row:hover{background:hsl(var(--foreground) / .045)}.pp-file.pp-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.pp-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-folder .pp-label{color:hsl(var(--muted-foreground))}.pp-ic{width:15px;height:15px;flex:0 0 auto}.pp-chevron{color:hsl(var(--muted-foreground));transition:transform .12s ease}.pp-chevron.pp-open{transform:rotate(90deg)}.pp-icon-btn{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-icon-btn:hover:not(:disabled){background:hsl(var(--foreground) / .07);color:hsl(var(--foreground))}.pp-icon-btn:disabled{opacity:.45;cursor:default}.pp-danger:hover:not(:disabled){color:hsl(var(--destructive))}.pp-new-input{width:calc(100% - 16px);height:30px;margin:2px 8px 6px;padding:0 8px;border:1px solid hsl(var(--ring) / .55);border-radius:4px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-empty,.pp-placeholder{width:100%;padding:28px 16px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.pp-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.pp-main-head{gap:12px;padding:0 10px 0 14px;background:hsl(var(--background))}.pp-path{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-actions{gap:2px}.pp-content{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.pp-codemirror,.pp-codemirror>div,.pp-codemirror .cm-editor{width:100%;height:100%;min-height:0}.pp-codemirror .cm-editor{overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px}.pp-codemirror .cm-scroller{overflow:auto;overscroll-behavior:none;scroll-padding-block:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.58}.pp-codemirror .cm-content{padding:10px 0 0}.pp-codemirror .cm-line{padding:0 14px 0 8px}.pp-codemirror .cm-content>.cm-line:last-child:has(>br:only-child){display:none}.pp-codemirror .cm-gutters{border-right:1px solid hsl(var(--border) / .7);background:hsl(var(--secondary) / .2);color:hsl(var(--muted-foreground) / .65)}.pp-codemirror .cm-activeLine,.pp-codemirror .cm-activeLineGutter{background:hsl(var(--foreground) / .035)}.pp-codemirror .cm-focused{outline:none}.pp-editor-loading{height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12px}.pp-pre{flex:1;width:100%;height:100%;box-sizing:border-box;margin:0;padding:14px 16px 0;overflow:auto;background:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;font-style:normal;font-variant-ligatures:none;font-weight:400;line-height:1.58;-moz-tab-size:2;tab-size:2;white-space:pre}.pp-root.is-deploy{--pp-publish-content-width: min(760px, max(680px, calc(100% - 48px) ));overflow-y:auto}.pp-root.is-deploy.is-embedded{--pp-publish-content-width: 100%}.pp-root.is-deploy .pp-body{flex:0 0 auto;min-height:100%;display:grid;grid-template-rows:auto auto;overflow:visible}.pp-root.is-deploy.has-primary-pane .pp-body{display:flex;justify-content:center;background:hsl(var(--background))}.pp-root.is-deploy.has-primary-pane .pp-config{width:min(760px,100%);background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-head,.pp-root.is-deploy.has-primary-pane .pp-config-actions{border:0;background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-actions{position:sticky;bottom:0;width:var(--pp-publish-content-width);margin:0 auto;justify-content:center;padding:12px 0 18px;background:hsl(var(--background));transform:none}.pp-root.is-deploy.has-primary-pane .pp-deploy-hint{position:absolute;left:18px}.pp-root.is-deploy .pp-files-area{display:none}.pp-release-overview{min-width:0;min-height:0;border-bottom:0;background:transparent}.pp-release-preview{width:var(--pp-publish-content-width);box-sizing:border-box;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 auto;padding:8px 0 12px}.pp-release-preview.is-embedded{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch}.pp-flow-thumbnail{position:relative;height:200px;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px;background:transparent;box-shadow:none}.pp-flow-thumbnail .abc-root,.pp-flow-dialog-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto;border:0;background:transparent}.pp-flow-thumbnail .abc-canvas,.pp-flow-dialog-canvas .abc-canvas{flex:1;min-height:0;background:transparent}.pp-flow-thumbnail .react-flow__pane{cursor:grab}.pp-flow-thumbnail .react-flow__pane:active{cursor:grabbing}.pp-flow-thumbnail .react-flow__controls{display:none}.pp-flow-expand{position:absolute;z-index:5;right:10px;bottom:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit}.pp-flow-expand:hover{background:transparent;color:hsl(var(--foreground))}.pp-flow-expand:focus-visible{outline:2px solid hsl(var(--primary) / .72);outline-offset:2px}.pp-flow-expand svg{width:17px;height:17px}.pp-release-info{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-release-card-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34);color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-release-info-body{padding:14px 18px 16px}.pp-release-info-main{min-width:0}.pp-release-info h2{margin:0;color:hsl(var(--foreground));font-size:18px;font-weight:700;letter-spacing:-.02em}.pp-release-description{display:-webkit-box;margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0 0}.pp-release-facts>div{min-width:0}.pp-release-facts dt{color:hsl(var(--muted-foreground));font-size:13px}.pp-release-facts dd{margin:5px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-release-facts .pp-release-fact-long{display:-webkit-box;overflow:hidden;line-height:1.45;text-overflow:clip;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts .pp-release-prompt{-webkit-line-clamp:3}.pp-artifact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px}.pp-artifact-actions.is-rail{flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0;padding:0}.pp-artifact-actions.is-rail .pp-secondary,.pp-artifact-actions.is-rail .code-browser-trigger{flex:1 1 0;width:100%;min-height:36px;justify-content:center}.pp-artifact-actions .pp-secondary,.pp-artifact-actions .code-browser-trigger{min-height:34px;padding-inline:12px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);box-shadow:none;color:hsl(var(--foreground));font-size:13px}.pp-artifact-actions .pp-secondary:hover,.pp-artifact-actions .code-browser-trigger:hover{background:hsl(var(--secondary))}.pp-flow-backdrop{--cw-workspace-ink: 222 24% 13%;position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px;background:hsl(var(--foreground) / .36);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pp-flow-dialog{width:min(1120px,92vw);height:min(720px,86vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 80px hsl(var(--foreground) / .22)}.pp-flow-dialog>header{flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px 0 22px;border-bottom:1px solid hsl(var(--border))}.pp-flow-dialog>header>div{display:flex;flex-direction:column;gap:3px}.pp-flow-dialog>header strong{font-size:15px;font-weight:680}.pp-flow-dialog>header span{color:hsl(var(--muted-foreground));font-size:10.5px}.pp-flow-dialog>header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-flow-dialog>header button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.pp-flow-dialog>header svg{width:17px;height:17px}.pp-flow-dialog-canvas{flex:1;min-height:0;background:transparent}.pp-config{position:relative;min-width:0;width:auto;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.pp-config-head{width:var(--pp-publish-content-width);flex:0 0 48px;height:48px;box-sizing:border-box;display:flex;align-items:center;margin:0 auto;padding:0;border-bottom:0}.pp-config-title{color:hsl(var(--foreground));font-size:18px;font-weight:650;letter-spacing:-.01em}.pp-env-sub{margin-top:4px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.pp-config-scroll{width:var(--pp-publish-content-width);flex:0 0 auto;min-height:0;box-sizing:border-box;display:block;margin:0 auto;overflow:visible;padding:0 0 88px}.pp-config-actions{position:fixed;z-index:40;left:calc((100vw + var(--pp-sidebar-width, 0px)) / 2);bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;transform:translate(-50%)}.pp-config-actions.is-external{display:none}.pp-config-section{width:100%;min-width:0;box-sizing:border-box;margin:0 0 12px;padding:0 18px 16px;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-config-section:has(.pp-network-region){overflow:visible}.pp-config-section:has(.pp-network-region.is-open){position:relative;z-index:70}.pp-config-section:has(.pp-network-region)>.pp-config-label{border-radius:17px 17px 0 0}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{display:block;margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent;color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent}.pp-env-head .pp-config-label{margin:0;padding:0;border:0;background:transparent}.pp-config-note{margin:-4px 0 10px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-runtime-name-field{display:grid;gap:6px}.pp-runtime-name-field>.pp-config-note,.pp-runtime-name-field>.pp-runtime-name-error{margin:0}.pp-auth-section{overflow:visible}.pp-auth-preserved-note{margin:0}.pp-auth-fields{width:min(100%,560px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.pp-auth-fields>label{min-width:0;display:flex;flex-direction:column;gap:7px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deployment-select{position:relative;min-width:0}.pp-deployment-select-trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.pp-deployment-select-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.pp-deployment-select-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.pp-deployment-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-deployment-select-trigger:disabled{cursor:not-allowed;opacity:.5}.pp-deployment-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-trigger>.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.pp-deployment-select-chevron{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.pp-deployment-select-chevron.is-open{transform:rotate(180deg)}.pp-deployment-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:0;max-height:238px;display:flex;flex-direction:column;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.pp-deployment-select-search{flex-shrink:0;padding:2px 2px 6px}.pp-deployment-select-search>input{width:100%;height:32px;box-sizing:border-box;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-deployment-select-search>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-deployment-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pp-deployment-select-state{flex-shrink:0;padding:9px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-align:center}.pp-deployment-select-option{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.pp-deployment-select-option:hover,.pp-deployment-select-option:focus-visible,.pp-deployment-select-option.is-selected{outline:none;background:hsl(var(--muted) / .5)}.pp-deployment-select-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.pp-deployment-select-name{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-option>svg{width:15px;height:15px;flex-shrink:0;color:hsl(var(--primary))}.pp-deployment-select-badge{flex-shrink:0;padding:1px 5px;border:1px solid hsl(211 90% 48% / .24);border-radius:999px;background:#006fe61a;color:#1863b4;font-size:10px;font-weight:600}.pp-user-pool-picker{min-width:0;display:flex;flex-direction:column;gap:7px}.pp-user-pool-status{min-height:18px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.pp-user-pool-spinner{width:13px;height:13px;flex-shrink:0;animation:pp-spin .9s linear infinite}.pp-user-pool-error{min-height:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.pp-user-pool-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-user-pool-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-instance-note{margin:10px 0 0;color:#d79804;font-size:12px;line-height:1.5}.pp-instance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-instance-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-instance-error{margin:8px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select,.pp-runtime-name-input,.pp-channel-fields input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input,.pp-env-row textarea{width:100%;min-width:0;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}.pp-channel-fields input{height:30px;padding-inline:8px;font-size:11.5px}.pp-config-select:focus,.pp-runtime-name-input:focus,.pp-channel-fields input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus,.pp-env-row textarea:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-runtime-name-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .72)}.pp-runtime-name-input[aria-invalid=true]:focus{box-shadow:0 0 0 2px hsl(var(--destructive) / .1)}.pp-runtime-name-error{margin:-4px 0 10px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select:disabled,.pp-runtime-name-input:disabled,.pp-channel-fields input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input:disabled,.pp-env-row textarea:disabled{opacity:.55}.pp-channel-card{position:relative;width:clamp(154px,33.333%,236px);max-width:100%;height:112px;perspective:1200px;transition:height .18s ease}.pp-channel-card.is-flipped{height:176px}.pp-channel-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1)}.pp-channel-card.is-flipped .pp-channel-card-inner{transform:rotateY(180deg)}.pp-channel-card-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:14px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden}.pp-channel-card-front{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;padding:12px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.pp-channel-card-front:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);box-shadow:0 12px 30px hsl(var(--foreground) / .07);transform:translateY(-1px)}.pp-channel-card-front:focus-visible,.pp-channel-remove:focus-visible{outline:2px solid hsl(var(--ring) / .58);outline-offset:2px}.pp-channel-card-front:disabled{cursor:default}.pp-channel-card-back{padding:10px;transform:rotateY(180deg)}.pp-channel-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-channel-card-head>strong{font-size:12.5px;font-weight:650}.pp-channel-logo{width:42px;height:42px;flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border) / .65);border-radius:12px;background:#fff;box-shadow:0 4px 14px hsl(var(--foreground) / .07)}.pp-channel-logo img{width:30px;height:30px;display:block}.pp-channel-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.pp-channel-card-copy strong{font-size:14px;font-weight:650}.pp-channel-card-copy small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-channel-remove{min-height:24px;padding:0 6px;border:1px solid hsl(var(--destructive) / .14);border-radius:7px;background:hsl(var(--destructive) / .07);color:#863232;cursor:pointer;font:inherit;font-size:10.5px;white-space:nowrap}.pp-channel-remove:hover:not(:disabled){background:hsl(var(--destructive) / .12);color:#782626}.pp-channel-fields{display:flex;flex-direction:column;gap:6px;margin-top:7px}.pp-channel-fields label{min-width:0;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:11px}.pp-channel-fields label>span{color:hsl(var(--foreground));font-weight:560}.pp-channel-fields small{margin-left:5px;color:hsl(var(--destructive));font-size:9px;font-weight:500}.pp-network-layout{width:min(100%,560px);display:grid;grid-template-columns:minmax(132px,.36fr) minmax(0,.64fr);align-items:start;gap:24px}.pp-network-region{position:relative;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-region.is-open{z-index:80}.pp-region-trigger{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.pp-region-trigger:hover,.pp-region-trigger[aria-expanded=true]{border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025)}.pp-region-trigger:focus-visible{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-region-trigger:disabled{cursor:not-allowed;opacity:.58;background:hsl(var(--muted) / .32)}.pp-region-help{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-region-chevron{width:15px;height:15px;color:hsl(var(--muted-foreground));transition:transform .15s ease}.pp-region-chevron.is-open{transform:rotate(180deg)}.pp-region-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:81;padding:5px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .12)}.pp-region-option{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.pp-region-option:hover,.pp-region-option:focus-visible,.pp-region-option.is-selected{outline:none;background:hsl(var(--foreground) / .055)}.pp-region-option.is-selected{font-weight:600}.pp-region-option svg{width:15px;height:15px;color:hsl(var(--primary))}.pp-network-modes{display:flex;flex-direction:column;gap:9px}.pp-network-option{min-height:28px;display:flex;align-items:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560;cursor:pointer}.pp-network-option:has(input:checked){color:hsl(var(--foreground))}.pp-network-option:has(input:disabled){cursor:default;opacity:.58}.pp-network-option input{width:15px;height:15px;flex:0 0 15px;display:grid;place-items:center;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,box-shadow .12s ease}.pp-network-option input:before{width:7px;height:7px;border-radius:50%;background:hsl(var(--primary));content:"";transform:scale(0);transition:transform .12s ease-out}.pp-network-option input:checked{border-color:hsl(var(--primary))}.pp-network-option input:checked:before{transform:scale(1)}.pp-network-option input:focus-visible,.pp-network-check input:focus-visible,.pp-evaluation-set-option input:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-network-fields{display:flex;flex-direction:column;gap:12px;min-width:0}.pp-network-fields label:not(.pp-network-check){display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-fields small{font-size:10.5px;font-weight:400}.pp-network-check{display:flex;align-items:center;gap:8px;color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.pp-evaluation-set-option{display:flex;align-items:flex-start;gap:10px;color:hsl(var(--foreground));cursor:pointer}.pp-evaluation-set-option>span{display:flex;flex-direction:column;gap:3px;min-width:0}.pp-evaluation-set-option strong{font-size:13px;font-weight:550;line-height:1.45}.pp-evaluation-set-option small{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-network-check input,.pp-evaluation-set-option input{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.pp-network-check input:before,.pp-evaluation-set-option input:before{width:4px;height:8px;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;content:"";transform:translateY(-1px) rotate(45deg) scale(0);transition:transform .12s ease-out}.pp-network-check input:checked,.pp-evaluation-set-option input:checked{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check input:checked:before,.pp-evaluation-set-option input:checked:before{transform:translateY(-1px) rotate(45deg) scale(1)}.pp-env-section{width:100%;padding-bottom:16px}.pp-env-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.pp-env-head .pp-config-label{display:flex;align-items:center;gap:7px;margin-bottom:0}.pp-env-count{display:inline-flex;align-items:center}.pp-env-table{display:flex;flex-direction:column;margin-top:10px}.pp-env-group{padding:4px 7px 0;border:1px solid hsl(var(--border) / .75);border-radius:6px;background:hsl(var(--secondary) / .16)}.pp-env-group-head{display:flex;align-items:center;justify-content:space-between;padding:5px 1px 3px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.pp-env-group-head small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:450}.pp-env-group-head-custom{margin-top:12px}.pp-env-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid hsl(var(--border) / .65)}.pp-env-row.is-multiline{align-items:start}.pp-env-row input:first-child{font-family:inherit;font-size:13px}.pp-env-row-derived:last-child{border-bottom:0}.pp-env-key-fixed{background:hsl(var(--secondary) / .32)!important;cursor:default}.pp-env-key-cell{min-width:0;min-height:34px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:13px;font-weight:500}.pp-env-key-cell span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.pp-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.pp-env-help:hover .pp-env-help-popover,.pp-env-help:focus-visible .pp-env-help-popover,.pp-env-help:focus-within .pp-env-help-popover{opacity:1;pointer-events:auto}.pp-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-value-wrap{min-width:0;display:grid;gap:4px}.pp-env-value{min-width:0;width:100%}.pp-env-secret-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.pp-env-secret-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer}.pp-env-secret-toggle:hover:not(:disabled){background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.pp-env-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-secret-toggle:disabled{cursor:not-allowed;opacity:.52}.pp-env-secret-toggle svg,.pp-env-secret-spinner{width:16px;height:16px}.pp-env-secret-spinner{animation:pp-spin .8s linear infinite}.pp-env-reveal-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-json-value{min-height:86px;padding:8px 10px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.pp-env-value[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.pp-env-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.pp-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.pp-env-link svg{width:13px;height:13px;flex:0 0 13px}.pp-env-source{color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.pp-env-remove{width:28px;height:28px}.pp-env-add{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pp-env-add:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.pp-env-add:disabled{opacity:.5}.pp-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.pp-step{position:relative;min-height:34px;display:flex;align-items:flex-start;gap:9px}.pp-step:not(:last-child):after{content:"";position:absolute;top:20px;bottom:-2px;left:9px;width:1px;background:hsl(var(--border))}.pp-step-dot{z-index:1;width:19px;height:19px;flex:0 0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10px}.pp-step-body{min-width:0;display:flex;flex-direction:column;padding-top:1px}.pp-step-label{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560}.pp-step-msg{max-width:300px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-step.is-active .pp-step-dot{border-color:hsl(var(--primary));color:hsl(var(--primary))}.pp-step.is-done .pp-step-dot{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-step.is-failed .pp-step-dot{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.pp-error{margin:14px 18px;padding:10px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:5px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-deploy-result{margin:14px 18px 18px;padding:14px;border:1px solid hsl(var(--primary) / .2);border-radius:6px;background:hsl(var(--primary) / .035)}.pp-deploy-result-header{margin-bottom:12px;color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-deploy-result-body{display:flex;flex-direction:column;gap:10px}.pp-deploy-result-warning{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid hsl(42 90% 45% / .25);border-radius:6px;background:#f2ad0d12;color:#9e6310;font-size:12.5px;line-height:1.5}.pp-deploy-result-field{display:flex;flex-direction:column;gap:4px}.pp-deploy-result-field label{color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deploy-result-field code{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.pp-deploy-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pp-confirm-dialog{width:min(420px,calc(100vw - 40px));height:auto;min-height:0}.pp-confirm-head{flex-basis:60px}.pp-confirm-icon{background:#f59f0a1f;color:#ba6708}.pp-confirm-body{padding:24px 20px}.pp-confirm-body p{margin:0;color:hsl(var(--foreground));font-size:14px;line-height:1.65}.pp-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.pp-confirm-actions button{min-width:76px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pp-confirm-actions button:hover{background:hsl(var(--secondary))}.pp-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.pp-confirm-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-confirm-actions .is-primary:hover{background:hsl(var(--primary) / .9)}.pp-deploy-result-btn,.pp-console-link-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:5px;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer}.pp-deploy-result-btn{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-console-link-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.spin{animation:pp-spin .85s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pp-channel-card-inner,.pp-channel-card-front,.pp-deployment-select-chevron,.pp-config-actions .pp-deploy{transition:none}}@media (max-width: 1120px){.pp-release-preview{grid-template-columns:minmax(320px,.9fr) minmax(300px,1.1fr)}.pp-sidebar{flex-basis:190px;width:190px}}@media (max-width: 860px){.layout{--pp-sidebar-width: 204px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root.is-deploy{--pp-publish-content-width: min(88%, calc(100% - 36px) )}.pp-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.pp-toolbar-actions{width:100%}.pp-body{overflow-y:auto;flex-direction:column}.pp-root.is-deploy .pp-body{display:flex}.pp-release-overview{flex:0 0 auto;min-height:460px;border-right:0;border-bottom:0}.pp-release-preview{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:220px auto}.pp-release-info{min-height:200px}.pp-files-area{min-height:520px}.pp-config{width:100%;min-height:680px;border-top:0;border-left:0}.pp-config-scroll{padding-inline:0;padding-bottom:84px}.pp-config-actions{bottom:max(14px,env(safe-area-inset-bottom))}.pp-flow-backdrop{padding:12px}}@media (max-width: 520px){.pp-auth-fields,.pp-network-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pp-env-section{width:100%}}.cw-root{--cw-workspace-gutter: 10px;--cw-workspace-width: 60%;--cw-workbench-toolbar-height: 64px;--cw-workspace-ink: 222 24% 13%;--cw-workspace-accent: 162 44% 32%;--cw-workspace-accent-soft: 156 34% 92%;--cw-workspace-warm: 42 28% 96%;flex:1;min-height:0;display:flex;flex-direction:column;height:100%;color:hsl(var(--foreground));background:hsl(var(--background))}.cw-root.is-validate{--cw-workspace-width: min(88%, 1440px)}.cw-root.is-publish{--cw-workspace-width: min(80%, 1180px)}.cw-workspace-header{position:relative;z-index:12;flex:0 0 auto;width:var(--cw-workspace-width);min-height:48px;display:flex;justify-content:center;align-items:center;margin:12px auto 0;padding:8px 0;background:transparent}.cw-workspace-header h1{margin:0;color:hsl(var(--foreground));font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.02em;white-space:nowrap}.cw-workspace-main{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;width:var(--cw-workspace-width);margin:0 auto;padding:8px 0 20px;background:transparent}.cw-workspace-footer{flex:0 0 auto;display:flex;flex-direction:column;width:var(--cw-workspace-width);gap:12px;margin:0 auto 24px;padding:12px 0 4px;background:transparent}.cw-workspace-nav-actions{width:100%;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:12px;margin:0 auto}.cw-workspace-nav-actions.has-assistant{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"assistant next"}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:first-child,.cw-workspace-nav-actions.has-assistant>span[aria-hidden=true]{display:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-ai-slot{grid-area:assistant}.cw-publish-action-slot{grid-column:3;display:flex;justify-content:flex-end}.cw-publish-action-slot .pp-deploy{position:static;min-width:70px;min-height:38px;transform:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:last-child{grid-area:next}.cw-workspace-ai-slot{min-width:0}.cw-workspace-nav-button{min-height:36px;justify-self:start;padding:0 18px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:background-color .16s ease,border-color .16s ease}.cw-workspace-nav-button:last-child{justify-self:end}.cw-workspace-nav-button:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .55)}.cw-workspace-nav-button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.cw-workspace-nav-button.is-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .86);background:hsl(var(--foreground) / .86)}.cw-workspace-nav-button:focus-visible,.cw-workspace-progress button:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}.cw-workspace-nav-button:disabled{cursor:not-allowed;opacity:.5}.cw-workspace-nav-button.is-placeholder{visibility:hidden;pointer-events:none}.cw-workspace-progress{width:min(132px,40vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 auto}.cw-workspace-progress button{height:12px;padding:4px 0;border:0;background:transparent;cursor:pointer}.cw-workspace-progress button>span{display:block;height:3px;border-radius:999px;background:hsl(var(--muted-foreground) / .16);transition:background-color .16s ease}.cw-workspace-progress button.is-complete>span,.cw-workspace-progress button.is-active>span{background:hsl(var(--foreground) / .46)}.cw-workspace-progress button.is-active>span{height:4px}.cw-workspace-progress button:disabled{cursor:not-allowed}@media (prefers-reduced-motion: reduce){.cw-workspace-nav-button,.cw-workspace-progress button>span{transition:none}}.cw-build-workspace{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.cw-ai-compose{min-width:0}.cw-ai-compose-entry{min-width:0;display:grid;gap:6px}.cw-ai-compose-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 4px 4px 16px;border-radius:16px;background:hsl(var(--panel));box-shadow:inset 0 0 0 1px hsl(var(--border) / .7),0 8px 24px hsl(var(--foreground) / .05);transition:background-color .18s ease,box-shadow .18s ease}.cw-ai-compose.is-generating .cw-ai-compose-form{background:hsl(var(--muted) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .05)}.cw-ai-compose-form input{min-width:0;height:38px;min-height:38px;padding:6px 0;border:0;outline:none;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.cw-ai-compose-form input::placeholder{color:hsl(var(--muted-foreground) / .72)}.cw-ai-compose-form:has(input:focus-visible){background:hsl(var(--background));box-shadow:0 0 0 2px hsl(var(--ring) / .12),inset 0 0 0 1px hsl(var(--ring) / .24)}.cw-ai-compose-form input:focus,.cw-ai-compose-form input:focus-visible{outline:none;box-shadow:none}.cw-ai-compose.is-generating .cw-ai-compose-form input{color:hsl(var(--muted-foreground) / .78);cursor:wait}.cw-ai-compose-form button{height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:0;border-radius:12px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;transition:background-color .15s ease,opacity .15s ease}.cw-ai-compose-form button:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.cw-ai-compose-form button:disabled{cursor:not-allowed;opacity:.34}.cw-ai-requirement-error{margin:0;padding:0 16px;color:hsl(var(--destructive));font-size:12px;line-height:18px}.cw-ai-compose.is-generating .cw-ai-compose-form button:disabled{width:34px;padding:0;background:hsl(var(--foreground));opacity:1}.cw-ai-orb{width:14px;height:14px;display:block;border:1.5px solid hsl(var(--background) / .34);border-top-color:hsl(var(--background));border-radius:50%;animation:cw-ai-orb-spin .72s linear infinite}.cw-ai-orb>span{display:none}@keyframes cw-ai-orb-spin{to{transform:rotate(360deg)}}.cw-ai-compose-success{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:2px 3px 2px 10px;border-radius:12px;background:hsl(var(--background) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .055);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cw-ai-compose-success strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:650}.cw-ai-success-check{position:relative;width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:hsl(var(--foreground))}.cw-ai-success-check:after{position:absolute;top:3px;left:6px;width:4px;height:7px;border:solid hsl(var(--background));border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.cw-ai-regenerate{height:34px;min-height:34px;padding:0 12px;border:0;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:background-color .15s ease}.cw-ai-regenerate:hover{background:hsl(var(--muted-foreground) / .12)}.cw-ai-compose-form button:focus-visible,.cw-ai-regenerate:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}@media (prefers-reduced-motion: reduce){.cw-ai-compose-form,.cw-ai-compose-form button,.cw-ai-regenerate{transition:none}.cw-ai-orb{animation:none}}.cw-ai-error-dialog{width:460px;font-family:inherit}.cw-ai-error-message{max-height:min(320px,50vh);margin:10px 0 18px;overflow:auto;color:hsl(var(--foreground) / .78);font-family:inherit;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.cw-ai-error-close{border-color:transparent;background:hsl(var(--foreground));color:hsl(var(--background))}.cw-ai-error-close:hover{background:hsl(var(--foreground) / .86)}.cw-workspace-alert{position:absolute;z-index:30;top:94px;right:18px;max-width:min(420px,calc(100% - 36px));padding:10px 13px;border:1px solid hsl(var(--destructive) / .2);border-radius:9px;background:hsl(var(--background));box-shadow:0 12px 36px hsl(var(--foreground) / .12);color:hsl(var(--destructive));font-size:12.5px}.cw-editor{flex:1;width:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:0;overflow:hidden}.cw-editor>.abc-root{flex:0 0 200px;width:100%;min-width:0;min-height:200px;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-tree{flex-shrink:0;width:248px;overflow-y:auto;padding:16px 14px;border-right:1px solid hsl(var(--border));background:hsl(var(--panel))}.cw-tree-head{font-size:12px;font-weight:650;letter-spacing:.02em;color:hsl(var(--muted-foreground));padding:0 6px;margin-bottom:10px}.cw-tree-branch{display:flex;flex-direction:column}.cw-tree-node{position:relative;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.cw-tree-node:hover{background:hsl(var(--accent))}.cw-tree-node.is-selected{background:hsl(var(--primary) / .04);border-color:hsl(var(--primary) / .16)}.cw-tree-node.is-invalid{background:hsl(var(--destructive) / .07);border-color:hsl(var(--destructive) / .5)}.cw-tree-node.is-invalid.is-selected{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .6)}.cw-tree-node.is-draggable{cursor:grab}.cw-tree-node.is-draggable:active{cursor:grabbing}.cw-tree-node.is-dragover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .45)}.cw-tree-icon{width:15px;height:15px;flex-shrink:0;opacity:.8}.cw-tree-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cw-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.cw-tree-type{font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground))}.cw-tree-actions{display:flex;align-items:center;gap:1px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .12s ease}.cw-tree-node:hover .cw-tree-actions,.cw-tree-node.is-selected .cw-tree-actions{opacity:1;pointer-events:auto}.cw-tree-children{display:flex;flex-direction:column;gap:2px;margin-top:2px;margin-left:8px;padding-left:8px;border-left:1px solid hsl(var(--border))}.cw-detail{position:relative;flex:1 1 auto;width:100%;max-width:none;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-detail-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:0 4px 16px;background:hsl(var(--background))}.cw-detail-inner{max-width:none;margin:0 auto}.cw-lower{display:flex;gap:0;align-items:flex-start}.cw-detail .cw-form-col{flex:1;min-width:0;max-width:none;margin:0}.cw-debug{flex-shrink:0;width:380px;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid hsl(var(--border));background:hsl(var(--panel));transition:width .22s cubic-bezier(.22,1,.36,1),min-width .22s cubic-bezier(.22,1,.36,1),height .22s cubic-bezier(.22,1,.36,1),min-height .22s cubic-bezier(.22,1,.36,1),flex-basis .22s cubic-bezier(.22,1,.36,1),padding .18s ease}.cw-debug:not(.is-collapsed)>*{animation:cw-debug-content-in .18s ease-out both}.cw-debug.is-collapsed .cw-debug-expand{animation:cw-debug-control-in .18s .06s ease-out both}@keyframes cw-debug-content-in{0%{opacity:0;transform:scale(.985)}}@keyframes cw-debug-control-in{0%{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion: reduce){.cw-debug{transition:none}.cw-debug:not(.is-collapsed)>*,.cw-debug.is-collapsed .cw-debug-expand{animation:none}}.cw-debug-head{flex-shrink:0;height:var(--cw-workbench-toolbar-height);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid hsl(var(--border))}.cw-debug-collapse,.cw-debug-expand{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .12s,background .12s,transform .12s}.cw-debug-collapse{width:24px;height:24px}.cw-debug-collapse:hover,.cw-debug-expand:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.cw-debug-expand:hover{transform:scale(1.06)}.cw-debug.is-collapsed{width:48px;min-width:48px;height:100%;min-height:0;align-items:center;padding-top:14px}.cw-debug-expand{width:34px;height:34px;min-height:34px}.cw-debug-title{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:650;color:hsl(var(--foreground))}.cw-debug-start{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 10px;border:none;border-radius:8px;background:#111;box-shadow:none;color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease,transform .15s ease}.cw-debug-start:hover:not(:disabled){background:#29292b;box-shadow:0 7px 18px #00000029}.cw-debug-start:active:not(:disabled){transform:translateY(0) scale(.98)}.cw-debug-start:disabled{opacity:.45;cursor:default}.cw-debug-sub{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding:10px 16px 14px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.cw-debug-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.cw-debug-body{flex:1;min-height:0;overflow-y:auto;padding:10px 16px 18px}.cw-debug-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-run-icon{width:17px;height:17px;transition:transform .16s cubic-bezier(.22,1,.36,1)}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:translate(1.5px)}@media (prefers-reduced-motion: reduce){.cw-debug-run-icon{transition:none}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:none}}.cw-debug-progress{display:flex;flex-direction:column;gap:8px}.cw-debug-logline{display:flex;align-items:center;gap:8px;min-height:28px;padding:7px 9px;border-radius:9px;background:hsl(var(--foreground) / .04);color:hsl(var(--muted-foreground));font-size:12.5px}.cw-debug-logline .cw-i{color:hsl(var(--foreground))}.cw-debug-error{display:flex;flex-direction:column;gap:12px;color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-debug-error-detail,.cw-debug-msg-error{width:100%;min-width:0;color:hsl(var(--destructive));text-align:left}.cw-debug-error-detail .deploy-error-message-text,.cw-debug-msg-error .deploy-error-message-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.cw-debug-chat{min-height:100%;display:flex;flex-direction:column;gap:18px}.cw-debug-chat-empty{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-msg{display:flex;flex-direction:column;gap:6px;max-width:100%}.cw-debug-msg-user{align-items:flex-end}.cw-debug-msg-assistant{align-items:flex-start}.cw-debug-role{display:none}.cw-debug-content{max-width:100%;color:hsl(var(--foreground));font-size:14px;line-height:1.65;word-break:break-word}.cw-debug-msg-user .cw-debug-content{max-width:88%;padding:9px 14px;border-radius:18px;background:hsl(var(--secondary))}.cw-debug-msg-assistant .cw-debug-content{width:100%}.cw-debug-composer{flex-shrink:0;padding:10px 14px 14px;background:hsl(var(--panel))}.cw-debug-composerbox{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px;border:1px solid hsl(var(--border));border-radius:24px;background:hsl(var(--background))}.cw-debug-input{flex:1;min-width:0;max-height:120px;padding:8px 4px;border:none;outline:none;resize:none;overflow-y:auto;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.5}.cw-debug-input::placeholder{color:hsl(var(--muted-foreground))}.cw-debug-send{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;transition:opacity .15s,transform .1s,background .12s,color .12s}.cw-debug-send{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-debug-send:hover:not(:disabled){opacity:.85}.cw-debug-send:active:not(:disabled){transform:scale(.94)}.cw-debug-send:disabled{opacity:.3;cursor:default}.cw-debug-overlay{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:22px;background:hsl(var(--panel) / .5);backdrop-filter:blur(9px) saturate(.9);-webkit-backdrop-filter:blur(9px) saturate(.9)}.cw-debug-overlay-content{width:min(100%,290px);display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border:1px solid hsl(var(--border) / .72);border-radius:12px;background:hsl(var(--background) / .82);box-shadow:0 10px 30px hsl(var(--foreground) / .08);text-align:center}.cw-debug-overlay-title{color:hsl(var(--foreground));font-size:14px;font-weight:650}.cw-debug-overlay-copy{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55}.cw-debug-overlay-progress{width:100%;display:flex;flex-direction:column;gap:8px}.cw-debug-overlay-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}.cw-debug-ignore{min-height:30px;padding:6px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .1s}.cw-debug-ignore:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--background))}.cw-debug-ignore:active:not(:disabled){transform:scale(.96)}.cw-debug-ignore:disabled{opacity:.45;cursor:default}.cw-validation-workspace{position:relative;flex:1;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.cw-optimization-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:22px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--cw-workspace-warm))}.cw-optimization-head{display:flex;flex-direction:column;gap:5px;padding:0 4px 18px}.cw-optimization-head>span{color:hsl(var(--cw-workspace-ink));font-size:16px;font-weight:700;letter-spacing:-.02em}.cw-optimization-head>small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cw-optimization-list{display:flex;flex-direction:column;gap:8px}.cw-optimization-option{position:relative;width:100%;display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid hsl(var(--border) / .82);border-radius:11px;background:hsl(var(--panel) / .62);color:hsl(var(--foreground));cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.cw-optimization-option:hover{border-color:hsl(var(--cw-workspace-ink) / .24);background:hsl(var(--panel))}.cw-optimization-option.is-disabled{cursor:not-allowed;opacity:.62}.cw-optimization-option.is-disabled:hover{border-color:hsl(var(--border) / .82);background:hsl(var(--panel) / .62)}.cw-optimization-option:has(input:focus-visible){outline:2px solid hsl(var(--cw-workspace-ink) / .34);outline-offset:2px}.cw-optimization-option input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.cw-optimization-check{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;border:1px solid hsl(var(--foreground) / .24);border-radius:5px;background:hsl(var(--panel));color:#fff}.cw-optimization-check .cw-i{width:11px;height:11px;stroke-width:2.4}.cw-optimization-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.cw-optimization-copy strong{color:hsl(var(--cw-workspace-ink));font-size:12.5px;font-weight:650}.cw-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.45}.cw-validation-content{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-ab-workspace{flex:1;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.cw-ab-stage{position:relative;flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{min-height:100%;display:grid;grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr));grid-auto-rows:minmax(420px,1fr);align-items:stretch;gap:12px}.cw-ab-card{min-width:0;min-height:420px;display:flex;flex-direction:column;perspective:1400px}.cw-ab-card-inner{position:relative;width:100%;min-height:420px;flex:1;transform-style:preserve-3d;transition:transform .44s cubic-bezier(.22,1,.36,1)}.cw-ab-card-inner.is-flipped{transform:rotateY(180deg)}.cw-ab-card-face{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px dashed hsl(var(--foreground) / .2);border-radius:16px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:border-color .16s ease,background-color .16s ease}.cw-ab-card-back{transform:rotateY(180deg);overflow-x:hidden;overflow-y:auto}.cw-ab-card-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px 9px 14px}.cw-ab-card-title{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ab-card-title strong{font-size:13.5px;font-weight:680}.cw-ab-card-title span{max-width:150px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-ab-card-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.cw-ab-config-trigger,.cw-ab-remove{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11px;font-weight:400}.cw-ab-config-trigger{background:transparent;color:hsl(var(--muted-foreground))}.cw-ab-config-trigger:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-remove:hover{background:hsl(var(--secondary) / .62);color:hsl(var(--foreground))}.cw-ab-config-trigger:disabled,.cw-ab-remove:disabled{cursor:default;opacity:.45}.cw-ab-remove{width:28px;padding:0;background:transparent}.cw-ab-config-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px;background:hsl(var(--background) / .94)}.cw-ab-config-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}.cw-ab-config-head strong{font-size:16px;font-weight:680}.cw-ab-config-head span{color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-config-head>.cw-ab-config-head-actions{flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;gap:6px}.cw-ab-config-head-actions .cw-ab-config-remove{width:32px;height:32px}.cw-ab-config-done{min-height:32px;padding:0 11px;border:0;border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650}.cw-ab-config-done-wrap{position:relative;flex:0 0 auto;display:inline-flex;border-radius:8px}.cw-ab-config-done:disabled{background:hsl(var(--secondary) / .82);color:hsl(var(--muted-foreground) / .68);cursor:not-allowed}.cw-ab-config-head .cw-ab-config-done-tip{position:absolute;z-index:8;right:0;top:calc(100% + 7px);bottom:auto;width:max-content;max-width:190px;padding:6px 8px;border-radius:7px;background:hsl(var(--foreground));color:#fff;font-size:11px;font-weight:400;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.cw-ab-config-done-wrap.is-disabled:hover .cw-ab-config-done-tip,.cw-ab-config-done-wrap.is-disabled:focus-visible .cw-ab-config-done-tip{opacity:1;transform:translateY(0)}.cw-ab-config-done-wrap:focus-visible{outline:2px solid hsl(var(--foreground) / .18);outline-offset:2px}.cw-ab-config{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;padding:12px 16px 16px;background:hsl(var(--background))}.cw-ab-config>label,.cw-ab-config fieldset{min-width:0;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}.cw-ab-config>label>span,.cw-ab-config legend{color:hsl(var(--muted-foreground));font-size:13px;font-weight:650}.cw-ab-config legend{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-ab-config legend em{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-style:normal;font-weight:550}.cw-ab-config input[type=text],.cw-ab-config>label>input,.cw-ab-config>label>textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.cw-ab-config>label>textarea{min-height:58px;max-height:132px;resize:vertical;line-height:1.55}.cw-ab-optimization-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cw-ab-optimization-checkbox{display:inline-flex;align-items:center;gap:0;padding:8px 9px;border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));font-size:12.5px;cursor:not-allowed;opacity:.5}.cw-ab-optimization-checkbox>label{padding-left:7px;color:inherit;font-size:inherit}.cw-ab-config>p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cw-ab-conversation{flex:1;min-height:0;overflow-y:auto;padding:14px}.cw-ab-empty{height:100%;min-height:210px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.cw-ab-launch-hint{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-ab-ready-title{color:hsl(var(--foreground));font-size:20px;font-weight:760;line-height:1.1}.cw-ab-starting{align-content:center;gap:8px}.cw-ab-starting .cw-i{width:18px;height:18px}.cw-ab-start{min-width:118px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:9px;background:hsl(var(--secondary) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:580;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-start:hover:not(:disabled){background:hsl(var(--secondary));box-shadow:none}.cw-ab-start:disabled{background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground) / .62);cursor:not-allowed}.cw-ab-start .cw-i{width:15px;height:15px}.cw-ab-deploy-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px 12px}.cw-ab-trace{min-height:32px;margin-right:auto;padding:0 10px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:500;transition:background-color .16s ease,color .16s ease}.cw-ab-trace:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-trace:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-ab-trace:disabled{color:hsl(var(--muted-foreground) / .48);cursor:not-allowed}.cw-ab-footer-start{min-width:0;background:hsl(var(--secondary) / .58)}.cw-ab-deploy{min-height:32px;padding:0 13px;border:0;border-radius:8px;background:#111;color:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:620;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-deploy:hover:not(:disabled){background:#29292b;box-shadow:0 6px 16px #00000024}.cw-ab-deploy:disabled{cursor:not-allowed;opacity:.42}.cw-ab-add{min-height:48px;align-self:stretch;justify-content:center;padding-inline:18px;white-space:nowrap}.cw-ab-composer{position:relative;z-index:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:18px var(--cw-workspace-gutter) 18px;background:hsl(var(--background))}.cw-ab-composer .cw-debug-composerbox{width:100%;min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;background:#fff;box-shadow:0 8px 22px hsl(var(--foreground) / .045)}.cw-ab-composer .cw-debug-input{background:#fff}.cw-debug.is-standalone{flex:1;width:100%;min-width:0;border-left:0;background:transparent}.cw-debug.is-standalone .cw-debug-head{height:58px;padding-inline:22px;background:hsl(var(--panel) / .7)}.cw-debug.is-standalone .cw-debug-title{font-size:15px}.cw-debug.is-standalone .cw-debug-body{padding:22px clamp(18px,5vw,72px) 28px}.cw-debug.is-standalone .cw-debug-chat{width:min(100%,840px);margin:0 auto}.cw-debug.is-standalone .cw-debug-chat-empty{min-height:260px;border:1px dashed hsl(var(--border));border-radius:16px;background:hsl(var(--panel) / .56)}.cw-debug.is-standalone .cw-debug-composer{padding:12px 210px 20px clamp(18px,5vw,72px);background:transparent}.cw-debug.is-standalone .cw-debug-composerbox{width:min(100%,840px);min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;box-shadow:0 12px 32px hsl(var(--foreground) / .06)}.cw-debug.is-standalone .cw-debug-overlay{background:hsl(var(--background) / .68)}.cw-debug.is-standalone .cw-debug-overlay-content{width:min(100%,390px);padding:28px;border-radius:16px}.cw-validation-prototype{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:clamp(26px,4vw,56px)}.cw-validation-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 28px;max-width:1040px}.cw-eyebrow{color:hsl(var(--cw-workspace-accent));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.15em}.cw-validation-page-head h2{margin:5px 0 4px;color:hsl(var(--cw-workspace-ink));font-size:clamp(24px,3vw,34px);font-weight:720;letter-spacing:-.045em}.cw-validation-page-head p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.cw-prototype-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid hsl(var(--cw-workspace-ink));border-radius:8px;background:hsl(var(--cw-workspace-ink));color:hsl(var(--background));font:inherit;font-size:12px;font-weight:650}.cw-prototype-action:disabled{cursor:not-allowed;opacity:.72}.cw-dataset-summary,.cw-variant-grid,.cw-metric-board,.cw-prototype-table,.cw-run-list,.cw-prototype-note{width:min(100%,1040px);margin-inline:auto}.cw-dataset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 10px 32px hsl(var(--foreground) / .035)}.cw-dataset-summary>div{display:flex;flex-direction:column;gap:4px;padding:17px 20px}.cw-dataset-summary>div+div{border-left:1px solid hsl(var(--border))}.cw-dataset-summary strong{color:hsl(var(--cw-workspace-ink));font-size:22px;letter-spacing:-.04em}.cw-dataset-summary span{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-table{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-prototype-row{min-height:54px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(170px,1fr) 82px;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.cw-prototype-row.is-head{min-height:38px;border-top:0;background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.cw-prototype-row>strong{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-status-pill,.cw-run-status,.cw-run-kind{justify-self:start;padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.cw-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.cw-variant-card{position:relative;overflow:hidden;padding:20px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel));box-shadow:0 12px 34px hsl(var(--foreground) / .04)}.cw-variant-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:hsl(var(--foreground) / .22)}.cw-variant-card.is-candidate:before{background:hsl(var(--cw-workspace-accent))}.cw-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.cw-variant-head small{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));font-size:9.5px;letter-spacing:0;text-transform:none}.cw-variant-card>strong{color:hsl(var(--cw-workspace-ink));font-size:17px;letter-spacing:-.025em}.cw-variant-card>p{min-height:42px;margin:7px 0 22px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.cw-variant-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.cw-variant-card dl>div{padding:9px 10px;border-radius:8px;background:hsl(var(--secondary) / .5)}.cw-variant-card dt{color:hsl(var(--muted-foreground));font-size:9.5px}.cw-variant-card dd{margin:3px 0 0;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px}.cw-metric-board{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-metric-head,.cw-metric-row{display:grid;grid-template-columns:minmax(170px,1fr) 100px 100px 88px;align-items:center;gap:12px;padding:11px 16px}.cw-metric-head{grid-template-columns:auto auto minmax(0,1fr);min-height:48px;border-bottom:1px solid hsl(var(--border))}.cw-metric-head .cw-i{width:15px;color:hsl(var(--cw-workspace-accent))}.cw-metric-head strong{font-size:12px}.cw-metric-head span{justify-self:end;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-metric-row{min-height:44px;color:hsl(var(--muted-foreground));font-size:11px}.cw-metric-row+.cw-metric-row{border-top:1px solid hsl(var(--border) / .7)}.cw-metric-row strong{color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cw-metric-row em{color:hsl(var(--cw-workspace-accent));font-size:10.5px;font-style:normal;font-weight:650}.cw-run-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-run-row{min-height:72px;display:grid;grid-template-columns:36px minmax(220px,1fr) 70px 110px 72px;align-items:center;gap:12px;padding:11px 16px}.cw-run-row+.cw-run-row{border-top:1px solid hsl(var(--border))}.cw-run-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-run-icon .cw-i{width:14px;height:14px}.cw-run-row>div{min-width:0}.cw-run-row strong{color:hsl(var(--foreground));font-size:12px}.cw-run-row p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-run-row time{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-run-status.is-running{background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-prototype-note{display:flex;align-items:center;gap:7px;margin-top:14px;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-note .cw-i{width:13px;height:13px}.cw-publish-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:hsl(var(--muted-foreground));font-size:12px}.cw-publish-loading .cw-i{width:22px;height:22px;margin-bottom:5px;color:hsl(var(--cw-workspace-accent))}.cw-publish-loading strong{color:hsl(var(--foreground));font-size:14px}.cw-header{flex-shrink:0;display:flex;align-items:flex-start;gap:16px;padding:18px 24px 16px;border-bottom:1px solid hsl(var(--border))}.cw-header-title{flex:1;min-width:0}.cw-header-mode{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.cw-title{margin:5px 0 2px;font-size:21px;font-weight:650;letter-spacing:-.02em}.cw-subtitle{margin:0;font-size:13px;color:hsl(var(--muted-foreground))}.cw-progress-pill{flex-shrink:0;margin-top:2px;padding:5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.cw-body{flex:1;min-height:0;overflow-y:auto}.cw-center{display:flex;align-items:flex-start;justify-content:center;gap:32px;max-width:960px;margin:0 auto;padding:32px 24px 80px}.cw-form-col{flex:1 1 auto;min-width:0;max-width:640px;display:flex;flex-direction:column;gap:12px}.cw-section{scroll-margin-top:24px;padding:0;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker)){overflow:visible}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker))>.cw-sec-head{border-radius:17px 17px 0 0}.cw-sec-body{padding:2px 18px 6px}.cw-sec-title{margin:0;font-size:14px;font-weight:620;letter-spacing:-.01em;color:hsl(var(--foreground))}.cw-sec-hint{margin:0;font-size:13px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-form{display:flex;flex-direction:column;gap:0}.cw-section-desc{margin:0;font-size:13px;line-height:1.6;color:hsl(var(--muted-foreground))}.cw-field{display:grid;grid-template-columns:minmax(124px,.34fr) minmax(0,1fr);align-items:start;column-gap:16px;row-gap:6px;padding:11px 0}.cw-form>.cw-field+.cw-field,.cw-form>.cw-toggle+.cw-toggle,.cw-form>.cw-field+.cw-toggle,.cw-form>.cw-toggle+.cw-field,.cw-toggle-stack>.cw-field,.cw-toggle-stack>.cw-toggle+.cw-toggle{border-top:1px dashed hsl(var(--border) / .8)}.cw-field>.cw-label,.cw-field>.cw-remote-center-head{grid-column:1;align-self:start}.cw-field:has(>.cw-input)>.cw-label{align-self:center}.cw-field:has(>.cw-model-picker)>.cw-label{align-self:center}.cw-field>:not(.cw-label):not(.cw-remote-center-head){grid-column:2;min-width:0}.cw-form>.cw-more-options{margin:10px 0 10px calc(34% + 16px)}.cw-form>.cw-model-more-options{margin-left:0}.cw-help:not(.cw-a2a-space-status):not(.cw-dependency-hint),.cw-section-desc:not(.cw-dependency-hint),.cw-remote-center-description,.cw-ctool-desc,.cw-skill-result-desc{display:none}.cw-dependency-hint{margin:0 0 14px calc(34% + 16px)}.cw-field>.cw-dependency-hint{grid-column:2;margin:0}.cw-more-options{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:-4px;padding:4px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:560;cursor:pointer;transition:color .14s ease}.cw-more-options:hover,.cw-more-options:focus-visible{color:hsl(var(--foreground))}.cw-more-options:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:3px;border-radius:4px}.cw-more-options-chevron{width:14px;height:14px;transition:transform .18s ease}.cw-more-options-chevron.is-open{transform:rotate(90deg)}.cw-more-options-count{margin-left:2px;padding:2px 7px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:10.5px;font-weight:600}.cw-model-advanced{display:flex;flex-direction:column;gap:20px;overflow:hidden}.cw-label-with-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.cw-label-with-link a{display:inline-flex;align-items:center;gap:3px;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.3;text-decoration:none}.cw-label-with-link a:hover,.cw-label-with-link a:focus-visible{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}.cw-label-with-link a svg{width:10px;height:10px}.cw-model-source-field{align-items:center}.cw-model-source-field>.cw-label{align-self:center}.cw-model-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-model-source-option{min-width:0;min-height:36px;display:flex;align-items:stretch;overflow:hidden;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.cw-model-source-option:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .22)}.cw-model-source-option.is-disabled{background:hsl(var(--muted) / .18);color:hsl(var(--muted-foreground));opacity:.7}.cw-model-source-option.is-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--muted) / .18)}.cw-model-source-option.is-on{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .055);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.cw-model-source-option>.flex{flex:1;min-width:0}.cw-model-source-control{width:100%;min-height:100%;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;color:inherit;cursor:pointer;font-size:12.5px;font-weight:560}.cw-model-source-option.is-disabled .cw-model-source-control{cursor:not-allowed}.cw-model-source-coming-soon{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;line-height:1.3}.cw-label{font-size:13px;font-weight:400;color:hsl(var(--foreground))}.cw-req{margin-left:2px;color:hsl(var(--destructive))}.cw-help{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-remote-center-head{display:flex;flex-direction:column;gap:6px}.cw-remote-center-description{display:block;max-width:560px;margin:0;line-height:1.6}.cw-a2a-space-picker{position:relative;display:flex;flex-direction:column;gap:8px}.cw-model-picker-stack{display:grid;min-width:0;gap:12px}.cw-model-picker-field{display:grid;min-width:0;gap:6px}.cw-model-picker-label{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.45}.cw-a2a-space-picker.is-open{z-index:80}.cw-a2a-space-row{display:flex;align-items:center;gap:8px}.cw-a2a-space-select-wrap{position:relative;flex:1;min-width:0}.cw-a2a-space-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.cw-a2a-space-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.cw-a2a-space-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background-color:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.cw-a2a-space-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-trigger:disabled{cursor:not-allowed;opacity:.5}.cw-a2a-space-trigger.is-error{box-shadow:0 0 0 1px hsl(var(--destructive) / .55)}.cw-a2a-space-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.cw-a2a-space-trigger-icon{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.cw-a2a-space-trigger[aria-expanded=true] .cw-a2a-space-trigger-icon{transform:rotate(180deg)}.cw-a2a-space-menu{position:absolute;z-index:81;top:calc(100% + 6px);left:0;width:100%;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08);font-size:12px}.cw-catalog-menu{width:min(460px,calc(100vw - 64px))}.cw-catalog-menu-portal{position:fixed;z-index:1000;display:flex;min-height:0;flex-direction:column;overflow:hidden}.cw-picker-search{padding:4px 4px 6px;border-bottom:1px solid hsl(var(--border) / .72)}.cw-picker-search-input{width:100%;height:30px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.cw-picker-search-input:focus{border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 2px hsl(var(--ring) / .1)}.cw-picker-options{max-height:188px;overflow-y:auto;padding-top:4px;overscroll-behavior:contain}.cw-picker-empty{padding:14px 10px;color:hsl(var(--muted-foreground));text-align:center}.cw-a2a-space-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-option:hover,.cw-a2a-space-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.cw-a2a-space-option.is-selected{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-catalog-options{min-height:0;max-height:none;flex:1;scrollbar-gutter:stable}.cw-model-key-option{justify-content:space-between;gap:12px}.cw-model-key-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-key-option>span{flex:1}.cw-model-option{min-height:48px;justify-content:space-between;gap:14px;white-space:normal}.cw-model-option.is-activation-link{cursor:pointer}.cw-model-option:disabled{cursor:default;opacity:.62}.cw-model-option:disabled:hover{background:transparent}.cw-model-option-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.cw-model-option-copy strong,.cw-model-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-option-copy strong{font-size:12.5px;font-weight:620}.cw-model-option-copy small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cw-model-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:hsl(var(--muted) / .68);color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.25}.cw-model-status:before{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor;content:""}.cw-model-status.is-available{background:#34b2621f;color:#2a844b}.cw-model-status.is-retiring{background:#eda01d1f;color:#a2631a}.cw-model-status.is-unavailable,.cw-model-status.is-unknown{background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground))}.cw-a2a-space-refresh{flex-shrink:0;width:36px;height:36px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s ease,background-color .12s ease}.cw-a2a-space-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .4)}.cw-a2a-space-refresh:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-status{display:inline-flex;align-items:center;gap:6px}.cw-a2a-space-error{align-items:flex-start;padding:9px 11px;font-size:12.5px}.cw-viking-kb-picker{gap:6px}.cw-viking-kb-inline-status{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.cw-viking-kb-menu{padding:3px;box-shadow:0 6px 18px hsl(var(--foreground) / .06)}.cw-viking-kb-menu .cw-picker-options{max-height:min(112px,calc(100vh - 310px))}.cw-viking-kb-menu .cw-a2a-space-option{min-height:28px;padding:5px 9px;line-height:1.25}.cw-viking-kb-refresh{color:hsl(var(--foreground) / .72)}.cw-viking-kb-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .28);background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.cw-viking-kb-refresh:disabled{color:hsl(var(--muted-foreground))}.cw-error-text{font-size:12px;color:hsl(var(--destructive))}.cw-env-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:5px}.cw-env-field{display:flex;min-width:0;flex-direction:column;gap:6px}.cw-env-field-head{display:grid;min-width:0;gap:3px;color:hsl(var(--foreground));font-size:12px;font-weight:560}.cw-env-field-title{display:inline-flex;min-width:0;align-items:center;gap:5px}.cw-env-field-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.cw-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.cw-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.cw-env-help:hover .cw-env-help-popover,.cw-env-help:focus-visible .cw-env-help-popover,.cw-env-help:focus-within .cw-env-help-popover{opacity:1;pointer-events:auto}.cw-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.cw-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.cw-env-link svg{width:13px;height:13px;flex:0 0 13px}.cw-env-field-head code{display:block;max-width:100%;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.cw-env-empty{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12px}.cw-input{min-width:0;width:100%;min-height:38px;padding:9px 12px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.cw-input::placeholder{color:hsl(var(--muted-foreground))}.cw-input:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.cw-input.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-env-textarea{min-height:96px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.cw-env-error{margin-top:-2px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.4}.cw-textarea{width:100%;padding:11px 13px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .12s,box-shadow .12s}.cw-textarea::placeholder{color:hsl(var(--muted-foreground))}.cw-textarea:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-textarea.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}@keyframes cw-error-shake-a{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes cw-error-shake-b{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.cw-error-shake-0{animation:cw-error-shake-a .28s ease-in-out}.cw-error-shake-1{animation:cw-error-shake-b .28s ease-in-out}@media (prefers-reduced-motion: reduce){.cw-error-shake-0,.cw-error-shake-1{animation:none}}.cw-textarea-sm{min-height:80px;max-height:160px;overflow-y:auto}.cw-textarea-lg{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cw-markdown-loading,.cw-markdown-editor:not(.mdxeditor-popup-container){min-height:340px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background))}.cw-markdown-loading{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px}.cw-markdown-editor:not(.mdxeditor-popup-container){display:flex;flex-direction:column;max-height:420px;overflow:hidden;color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.cw-markdown-editor:not(.mdxeditor-popup-container):focus-within{border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-editor:not(.mdxeditor-popup-container).is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-toolbar{flex-shrink:0;min-height:40px;padding:5px 8px;border:0;border-bottom:1px solid hsl(var(--border));border-radius:0;background:hsl(var(--muted) / .38)}.cw-markdown-toolbar button,.cw-markdown-toolbar [role=combobox]{color:hsl(var(--foreground))}.cw-markdown-content{min-height:298px;max-height:360px;overflow-y:auto;padding:18px 20px 28px;color:hsl(var(--foreground));font-size:14px;line-height:1.7}.cw-markdown-content:focus{outline:none}.cw-markdown-content h1,.cw-markdown-content h2,.cw-markdown-content h3{margin:1.1em 0 .45em;color:hsl(var(--foreground));font-weight:650;line-height:1.3}.cw-markdown-content h1:first-child,.cw-markdown-content h2:first-child,.cw-markdown-content h3:first-child{margin-top:0}.cw-markdown-content h1{font-size:20px}.cw-markdown-content h2{font-size:17px}.cw-markdown-content h3{font-size:15px}.cw-markdown-content p{margin:0 0 .8em}.cw-markdown-content ul,.cw-markdown-content ol{margin:.5em 0 .9em;padding-left:1.5em}.cw-markdown-content ul{list-style:disc outside}.cw-markdown-content ol{list-style:decimal outside}.cw-markdown-content li{display:list-item}.cw-markdown-content blockquote{margin:.8em 0;padding-left:12px;border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.cw-markdown-error{display:block;margin-top:6px;color:hsl(var(--destructive));font-size:12px}.cw-tag-editor{display:flex;flex-direction:column;gap:12px}.cw-tag-inputrow{display:flex;gap:8px}.cw-tag-inputrow .cw-input{flex:1}.cw-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.cw-presets-label{font-size:11.5px;color:hsl(var(--muted-foreground));margin-right:2px}.cw-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12.5px;white-space:nowrap}.cw-chip-ghost{border:1px dashed hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;transition:background .12s,color .12s,border-color .12s}.cw-chip-ghost:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-chip-sub{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-pills{display:flex;flex-wrap:wrap;gap:8px}.cw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:13px}.cw-pill-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-pill-x:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.cw-empty-line{margin:0;font-size:12.5px;color:hsl(var(--muted-foreground))}.cw-check-inline{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:13px;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.cw-check-inline input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:hsl(var(--primary));cursor:pointer}.cw-checklist{display:flex;flex-direction:column;gap:8px}.cw-tools-list-shell{min-width:0;container-type:inline-size}.cw-tool-config{padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--muted) / .28)}.cw-tool-config-head{display:flex;flex-direction:column;gap:3px}.cw-checklist-tools{--cw-checklist-row-height: 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(var(--cw-checklist-row-height),auto);max-height:var(--cw-checklist-max-height);padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-checklist-tools .cw-check{min-height:var(--cw-checklist-row-height);align-items:center;padding:8px 10px}.cw-checklist-tools .cw-check-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@container (max-width: 575px){.cw-checklist-tools{grid-template-columns:minmax(0,1fr)}}.cw-check{display:flex;align-items:flex-start;gap:0;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-check>label{flex:1;min-width:0;padding-left:12px;color:inherit;cursor:pointer}.cw-checklist-tools .cw-check>label{padding-left:10px}.cw-check:hover{background:hsl(var(--foreground) / .05)}.cw-check.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-check-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-check-title{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.cw-check-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-segmented{display:flex;flex-wrap:wrap;gap:8px}.cw-seg{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:11px 13px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-seg:hover{background:hsl(var(--foreground) / .05)}.cw-seg.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-seg-title{font-size:13px;font-weight:600;color:hsl(var(--foreground))}.cw-seg-desc{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-foreground))}.cw-ctool{display:flex;flex-direction:column;gap:12px}.cw-ctool-inputs{display:flex;flex-wrap:wrap;gap:8px}.cw-ctool-inputs .cw-input{flex:1 1 180px}.cw-ctool-list{display:flex;flex-direction:column;gap:8px}.cw-ctool-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--card))}.cw-ctool-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.cw-ctool-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ctool-name{font-size:13.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--foreground));word-break:break-word}.cw-ctool-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp,.cw-mcp-list{display:flex;flex-direction:column;gap:12px}.cw-mcp-row{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card))}.cw-mcp-rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-mcp-transport{display:inline-flex;gap:6px}.cw-seg-sm{flex:0 0 auto;min-width:72px;flex-direction:row;align-items:center;justify-content:center;text-align:center;padding:6px 16px;border-radius:9px}.cw-seg-sm .cw-seg-title{font-size:12.5px}.cw-mcp-note{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp-warning{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border:1px solid #b4530940;border-radius:8px;background:#b453091a;color:#b45309;font-size:12.5px;line-height:1.5}.cw-mcp-warning svg{flex:0 0 auto;width:15px;height:15px;margin-top:2px}.cw-mcp .cw-add-sub{margin-top:0}.cw-mcp-field{align-items:center}.cw-mcp-field>.cw-label{align-self:center}.cw-subfield{margin:0;padding:9px 0;border:0;border-radius:0;background:transparent}.cw-toggle-stack{gap:0}.cw-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:9px 0;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.cw-toggle:hover{background:hsl(var(--muted) / .18)}.cw-toggle.is-on{background:hsl(var(--muted) / .24);box-shadow:none}.cw-toggle-text{grid-column:1;grid-row:1;margin-left:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-toggle-title{font-size:14px;font-weight:600}.cw-toggle-help{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-switch{grid-column:2;grid-row:1;justify-self:end;flex-shrink:0;display:flex;align-items:center;width:42px;height:24px;padding:2px;border-radius:999px;background:hsl(var(--border));transition:background .18s}.cw-toggle.is-on .cw-switch{background:hsl(var(--primary));justify-content:flex-end}.cw-switch-knob{display:block;width:20px;height:20px;border-radius:50%;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .2)}.cw-sub-list{display:flex;flex-direction:column;gap:14px}.cw-sub{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .03)}.cw-sub-head{display:flex;align-items:center;justify-content:space-between}.cw-sub-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.cw-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-icon-btn:not(:disabled):hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cw-icon-danger:not(:disabled):hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.cw-sub-head-actions{display:inline-flex;align-items:center;gap:2px}.cw-sub-list-wrap{display:flex;flex-direction:column}.cw-agent-type-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0}.cw-agent-type-option{position:relative;min-width:0;min-height:42px;display:flex;align-items:center;gap:10px;padding:0;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.cw-agent-type-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-agent-type-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-agent-type-option.is-disabled{color:hsl(var(--muted-foreground) / .52);cursor:not-allowed}.cw-agent-type-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-agent-type-control{align-self:stretch;flex:1;width:100%;min-width:0;min-height:100%;box-sizing:border-box;padding:10px 12px;color:inherit;cursor:inherit}.cw-agent-type-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-agent-type-copy strong{font-size:13px;font-weight:650}.cw-agent-type-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.cw-agent-type-disabled-hint{position:absolute;top:calc(100% + 17px);right:0;width:max-content;max-width:220px;padding:7px 10px;border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--popover));box-shadow:0 8px 24px hsl(var(--foreground) / .1);color:hsl(var(--popover-foreground));font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.cw-agent-type-option.is-disabled:hover .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus-visible .cw-agent-type-disabled-hint{opacity:1;transform:translateY(0)}.cw-agent-type-option:focus-within,.cw-agent-type-option:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-add-sub{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;width:100%;border:1px dashed hsl(var(--border));border-radius:12px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cw-add-sub:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-review{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;background:hsl(var(--card))}.cw-review-row{display:flex;gap:18px;padding:13px 16px;border-bottom:1px solid hsl(var(--border))}.cw-review-row:last-child{border-bottom:none}.cw-review-key{flex-shrink:0;width:110px;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground))}.cw-review-val{flex:1;min-width:0;font-size:13.5px}.cw-review-strong{font-weight:600}.cw-review-muted{color:hsl(var(--muted-foreground))}.cw-review-pre{margin:0;padding:10px 12px;background:hsl(var(--muted));border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.cw-review-chips,.cw-review-subs{display:flex;flex-wrap:wrap;gap:6px}.cw-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.cw-tag-on{background:#22c35d24;color:#1c7d3f}.cw-tag-off{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.cw-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:background .13s,opacity .13s,border-color .13s,transform .1s}.cw-btn:active{transform:scale(.98)}.cw-btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-btn-primary:hover:not(:disabled){opacity:.88}.cw-btn-primary:disabled{opacity:.4;cursor:default}.cw-btn-ghost{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.cw-btn-ghost:hover{background:hsl(var(--accent))}.cw-btn-soft{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));flex-shrink:0}.cw-btn-soft:hover:not(:disabled){background:hsl(var(--accent))}.cw-btn-soft:disabled{opacity:.45;cursor:default}.cw-i{width:16px;height:16px;flex-shrink:0}.cw-i-sm{width:14px;height:14px}.cw-root-preview{height:100%}.cw-preview-body{flex:1;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-preview-body>*{flex:1;min-height:0}.cw-skillhub{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.cw-skill-searchrow{display:flex;gap:8px}.cw-skill-searchbox{position:relative;flex:1;min-width:0;display:flex;align-items:center}.cw-skill-searchicon{position:absolute;left:11px;color:hsl(var(--muted-foreground));pointer-events:none}.cw-skill-input{padding-left:36px}.cw-skill-input:focus,.cw-skill-input:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:1px;border-color:hsl(var(--ring) / .48);background:hsl(var(--background));box-shadow:none}.cw-skill-selected{display:flex;flex-direction:column;gap:8px}.cw-skill-selected-label{font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground))}.cw-skill-results{display:flex;flex-direction:column;gap:8px;max-height:472px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-skill-result{flex-shrink:0;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s;min-height:72px}.cw-skill-result:hover{background:hsl(var(--foreground) / .05)}.cw-skill-result.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-skill-result-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));transition:background .12s,border-color .12s,color .12s}.cw-skill-result.is-on .cw-skill-result-icon{background:hsl(var(--foreground));border-color:hsl(var(--foreground));color:hsl(var(--background))}.cw-skill-result-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-skill-result-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground));word-break:break-word}.cw-skill-result-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-skill-result-repo{font-size:11px;font-family:inherit;line-height:1.4;color:hsl(var(--muted-foreground));word-break:break-all}.cw-skill-loading{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.cw-spin{animation:cw-spin .8s linear infinite}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-skillspane{display:flex;flex-direction:column;gap:10px;padding:10px 0 12px}.cw-skill-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.cw-skill-add:hover{border-color:hsl(var(--foreground) / .34);background:transparent;color:hsl(var(--foreground))}.cw-skill-add:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .25)}.cw-skill-add-icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.cw-skill-dialog-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#15181e47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cw-skill-dialog{width:min(680px,calc(100vw - 32px));height:min(640px,calc(100dvh - 40px));min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 72px #10131933}.cw-skill-dialog-head{flex-shrink:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;border-bottom:1px solid hsl(var(--border))}.cw-skill-dialog-head h3{margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.cw-skill-dialog-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-skill-dialog-close:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-skill-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.cw-skill-sourcetabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:44px;padding:4px;overflow:hidden;border:1px solid hsl(var(--border) / .55);border-radius:10px;background:hsl(var(--secondary) / .58)}.cw-skill-tab-slider{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:var(--cw-skill-tab-slider-width);border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--background));transform:translate(var(--cw-active-skill-tab-offset));transition:transform .24s cubic-bezier(.22,1,.36,1)}.cw-skill-pickertab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background .16s,color .16s}.cw-skill-pickertab:hover{background:hsl(var(--foreground) / .035);color:hsl(var(--foreground))}.cw-skill-pickertab.is-on{background:transparent;color:hsl(var(--foreground))}.cw-skill-pickertab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-skill-tabbody{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.cw-selected-skill-list{display:flex;flex-direction:column;gap:7px;max-height:347px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-selected-skill-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card))}.cw-selected-skill-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-selected-skill-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-selected-skill-name{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-detail{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-selected-skill-remove:hover{background:hsl(var(--destructive) / .09);color:hsl(var(--destructive))}.cw-local{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.cw-local-dropzone{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 14px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .15s,color .15s}.cw-local-drop-icon{width:20px;height:20px;color:hsl(var(--muted-foreground))}.cw-local-dropzone.is-dragging{border-color:hsl(var(--foreground) / .48);color:hsl(var(--foreground))}.cw-local-drop-hint{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px}.cw-local-dropzone.is-dragging .cw-local-drop-hint,.cw-local-dropzone.is-dragging .cw-local-drop-icon{color:hsl(var(--foreground))}.cw-local-hint{margin:0;font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-skillspace{height:100%;min-height:0;display:flex;flex-direction:column}.cw-skillspace-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}.cw-skillspace-select{width:100%;flex:1;min-width:0}.cw-skillspace-region-label{flex-shrink:0;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted) / .52);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;white-space:nowrap}.cw-skillspace-console-link{flex-shrink:0;padding:9px 12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.cw-skillspace-console-link .cw-i{display:block}.cw-skill-result-version{color:hsl(var(--muted-foreground));font-weight:400;font-size:11px;margin-left:4px}.cw-skill-result-repo .cw-i{vertical-align:-2px;margin-right:2px}@media (max-width: 1280px){.cw-root{--cw-workspace-width: calc(100% - 48px) }.cw-workspace-header{padding-inline:16px}.cw-debug{width:280px}.cw-tree{width:208px}}@media (max-width: 1080px){.cw-editor{overflow:hidden}.cw-tree{height:auto}.cw-detail{flex:1 1 auto;width:100%;max-width:none;min-height:0}.cw-debug{flex:0 0 100%;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px;border-left:none;border-top:1px solid hsl(var(--border))}.cw-debug.is-collapsed{flex:0 0 48px;width:100%;min-width:0;height:48px;min-height:48px;align-items:flex-end;padding:7px 12px}.cw-debug.is-collapsed .cw-debug-expand{width:34px;min-height:34px}.cw-lower{gap:0}.cw-detail .cw-form-col{max-width:100%}}@media (max-width: 860px){.cw-root{--cw-workspace-gutter: 8px;--cw-workspace-width: calc(100% - 16px) }.cw-workspace-header{min-height:50px;padding:6px 10px}.cw-workspace-header h1{font-size:17px}.cw-validation-workspace{display:flex}.cw-ab-stage{padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr))}.cw-ab-composer{padding-inline:var(--cw-workspace-gutter)}.cw-editor{flex-direction:column;overflow-x:hidden;overflow-y:hidden}.cw-editor>.abc-root{flex:0 0 180px;width:100%;min-width:0;min-height:180px}.cw-tree{width:100%;height:auto;max-height:220px;border-right:0;border-bottom:1px solid hsl(var(--border))}.cw-detail{flex:1 1 auto;width:100%;max-width:none;height:auto;min-height:0;border-left:0}.cw-detail-scroll{padding:16px 12px 20px}.cw-debug{flex:none;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px}.cw-debug.is-collapsed{width:100%;height:48px;min-height:48px}.cw-center{gap:0;padding:24px 16px 64px}.cw-form-col{max-width:100%}}@media (max-width: 700px){.cw-workspace-header h1{text-align:center}.cw-workspace-nav-actions{grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr)}.cw-workspace-nav-button{padding-inline:12px}.cw-form>.cw-more-options,.cw-dependency-hint{margin-left:0}.cw-field{grid-template-columns:minmax(0,1fr);row-gap:8px}.cw-field>.cw-label,.cw-field>.cw-remote-center-head,.cw-field>:not(.cw-label):not(.cw-remote-center-head),.cw-field>.cw-dependency-hint{grid-column:1}.cw-optimization-list,.cw-ab-grid,.cw-ab-config{grid-template-columns:minmax(0,1fr)}.cw-ab-composer{grid-template-columns:minmax(0,1fr);padding-bottom:12px}.cw-ab-add{width:100%}.cw-dataset-summary>div+div{border-top:1px solid hsl(var(--border));border-left:0}}.package-create{flex:1;min-width:0;min-height:0;display:flex;color:hsl(var(--foreground))}.package-create-preview{height:100%}.package-create-preview>*{flex:1;min-width:0;min-height:0}.package-source-pane{padding:16px 18px 18px}.package-source-label{margin-bottom:10px;color:hsl(var(--foreground));font-size:15px;font-weight:650}.package-dropzone{min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.package-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:3px}.package-dropzone.is-dragging{border-color:hsl(var(--primary) / .62);background:hsl(var(--primary) / .045)}.package-dropzone.is-ready{background:hsl(var(--background))}.package-dropzone>strong{max-width:100%;overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.package-dropzone>span{max-width:420px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.package-upload-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}.package-upload-actions button{min-height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.package-upload-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.package-upload-secondary:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary))}.package-upload-actions button:disabled{cursor:default;opacity:.45}.package-upload-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.package-dropzone input{display:none}.package-create-error{flex:0 0 auto;margin-top:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));font-size:13px;line-height:1.5}@media (max-width: 860px){.package-dropzone{min-height:140px}}@media (prefers-reduced-motion: reduce){.package-dropzone,.package-upload-actions button{transition:none}}.studio-update-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:32px;padding:0 10px;border:1px solid #1664ff;border-radius:8px;background:#1664ff;color:#fff;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle{gap:0;width:32px;min-width:32px;padding:0;overflow:hidden;white-space:nowrap;transition:width .18s ease,gap .18s ease,padding .18s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle:hover,.studio-update-trigger.is-idle:focus-visible{gap:7px;width:124px;padding:0 10px;border-color:#1664ff;background:#1664ff;color:#fff}.studio-update-trigger.is-idle>span{max-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:max-width .18s ease,opacity .12s ease,transform .18s ease}.studio-update-trigger.is-idle:hover>span,.studio-update-trigger.is-idle:focus-visible>span{max-width:86px;opacity:1;transform:translate(0)}.studio-update-trigger.is-submitting{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.studio-update-trigger.is-error{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--destructive))}.studio-update-trigger.is-published{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.studio-update-icon{width:17px;height:17px;flex:0 0 17px}.studio-update-dialog{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;width:min(500px,calc(100vw - 32px));max-width:calc(100vw - 32px);min-width:0;overflow:hidden}.studio-update-dialog.is-progress{width:min(760px,calc(100vw - 32px))}.studio-update-dialog>.studio-update-dialog-mark{grid-column:1;grid-row:1}.studio-update-dialog>.confirm-title{grid-column:2;grid-row:1;align-self:start;margin:5px 0 12px}.studio-update-dialog>:not(.studio-update-dialog-mark,.confirm-title){grid-column:1 / -1;width:100%;max-width:100%;min-width:0}.studio-update-dialog .confirm-text,.studio-update-dialog .studio-update-changelog li,.studio-update-dialog .studio-update-changelog p,.studio-update-dialog .studio-update-error,.studio-update-dialog .studio-update-progress small,.studio-update-dialog .studio-update-progress-note,.studio-update-dialog .studio-update-console-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.studio-update-field{position:relative;display:grid;gap:6px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-version-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.studio-update-version-trigger:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.studio-update-version-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.studio-update-version-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.studio-update-version-trigger>svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.studio-update-version-trigger>span,.studio-update-version-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-update-version-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.studio-update-version-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:100%;max-height:190px;padding:4px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel, var(--background)));box-shadow:0 12px 28px hsl(var(--foreground) / .1),0 2px 8px hsl(var(--foreground) / .05);overscroll-behavior:contain}.studio-update-version-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer}.studio-update-version-option:hover,.studio-update-version-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.studio-update-version-option.is-selected{background:hsl(var(--primary) / .08)}.studio-update-version-option>svg{width:15px;height:15px;flex:0 0 15px;color:hsl(var(--primary));stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.studio-update-dialog-mark{display:inline-grid;flex:0 0 30px;width:30px;height:30px;margin-bottom:12px;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-update-dialog-mark svg{width:18px;height:18px}.studio-update-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-versions div:last-child{grid-column:1 / -1}.studio-update-versions dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-versions dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.studio-update-changelog{margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px}.studio-update-changelog>div{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:500}.studio-update-changelog ul{display:block;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;list-style:disc outside;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li{display:list-item;margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-changelog li+li{margin-top:5px}.studio-update-changelog p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-confirm{border-color:transparent;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-update-confirm:hover{background:hsl(var(--primary) / .88)}.studio-update-error{margin-bottom:12px;color:hsl(var(--destructive))}.studio-update-error-panel{min-width:0}.studio-update-error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.studio-update-error-meta>div{min-width:0;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-error-meta dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-error-meta dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.studio-update-log-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid hsl(var(--border));border-bottom:0;border-radius:8px 8px 0 0;background:hsl(var(--muted) / .28);color:hsl(var(--foreground));font-size:11px;font-weight:500}.studio-update-log-header>span{display:inline-flex;align-items:center;gap:6px}.studio-update-log-header i{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.studio-update-log-header i.is-active{background:#1664ff;box-shadow:0 0 0 3px #1664ff1c}.studio-update-log-header i.is-complete{background:#29ae60}.studio-update-log-header i.is-error{background:hsl(var(--destructive))}.studio-update-log-header small{color:hsl(var(--muted-foreground));font-size:10px;font-weight:400}.studio-update-log-header button{padding:2px 0;border:0;background:transparent;color:hsl(var(--primary));font:inherit;cursor:pointer}.studio-update-log-header button:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-log-header button:disabled{color:hsl(var(--muted-foreground));cursor:default;text-decoration:none}.studio-update-log-lines{min-height:92px;max-height:min(210px,29vh);padding:11px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:0 0 8px 8px;background:hsl(var(--foreground) / .035);color:hsl(var(--foreground));font-family:inherit;font-size:11px;line-height:1.55;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-log-lines:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-2px}.studio-update-log-lines>div+div{margin-top:3px}.studio-update-log-lines p{margin:0;color:hsl(var(--muted-foreground))}.studio-update-console-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:hsl(var(--primary));font-size:11px;font-weight:500;text-decoration:none}.studio-update-console-link:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.studio-update-progress-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-progress-summary span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-summary strong{overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-progress{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none}.studio-update-progress li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-height:38px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-progress li:not(:last-child):after{position:absolute;top:14px;bottom:-2px;left:5px;width:1px;background:hsl(var(--border));content:""}.studio-update-progress li.is-complete:not(:last-child):after{background:#1664ff}.studio-update-progress-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:2px;border:2px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.studio-update-progress li.is-active,.studio-update-progress li.is-complete{color:hsl(var(--foreground))}.studio-update-progress li.is-active .studio-update-progress-dot{border-color:#1664ff;box-shadow:0 0 0 3px #1664ff1f}.studio-update-progress li.is-complete .studio-update-progress-dot{border-color:#1664ff;background:#1664ff}.studio-update-progress li>div{display:grid;gap:3px;min-width:0}.studio-update-progress small{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-note{margin:12px 0 18px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.new-chat-video-task-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:new-chat-video-task-fade .14s ease-out}.new-chat-video-task-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:new-chat-video-task-rise .18s cubic-bezier(.2,.8,.2,1)}.new-chat-video-task-dialog__head{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 20px;border-bottom:1px solid hsl(var(--border))}.new-chat-video-task-dialog__close svg{width:17px;height:17px}.new-chat-video-task-dialog__head h2,.new-chat-video-task-dialog__head p{margin:0}.new-chat-video-task-dialog__head h2{width:fit-content;color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35;outline:0}.new-chat-video-task-dialog__head p{overflow:hidden;margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-dialog__close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.new-chat-video-task-dialog__close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.new-chat-video-task-dialog button:focus-visible,.new-chat-video-task-dialog a:focus-visible,.new-chat-video-task-dialog video:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.new-chat-video-task-dialog__body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;overscroll-behavior:contain}.new-chat-video-task-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.new-chat-video-task-steps li{min-width:0;padding:0 0 8px;border-bottom:2px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.4}.new-chat-video-task-step__label{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-step__label>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.new-chat-video-task-step__loading{width:13px;height:13px;flex:0 0 auto;animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-steps li.is-active,.new-chat-video-task-steps li.is-done,.new-chat-video-task-steps li.is-failed{color:hsl(var(--foreground))}.new-chat-video-task-steps li.is-active{border-color:hsl(var(--primary))}.new-chat-video-task-steps li.is-done{border-color:#91cab1}.new-chat-video-task-steps li.is-failed{border-color:hsl(var(--destructive))}.new-chat-video-task-error{padding:12px 14px;border:1px solid hsl(var(--destructive) / .22);border-radius:9px;background:hsl(var(--destructive) / .05);color:hsl(var(--foreground))}.new-chat-video-task-error p{margin:0}.new-chat-video-task-error p{color:hsl(var(--foreground));font-size:13px;line-height:1.55}.new-chat-video-task-prompt{min-width:0;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas))}.new-chat-video-task-prompt h3,.new-chat-video-task-prompt p{margin:0}.new-chat-video-task-prompt h3{color:hsl(var(--foreground));font-size:12px;font-weight:620}.new-chat-video-task-prompt p{max-height:144px;overflow-y:auto;margin-top:7px;color:hsl(var(--foreground) / .78);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-preview{min-height:224px;display:grid;place-items:center;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:#161618}.new-chat-video-task-preview video{width:100%;max-height:360px;display:block;object-fit:contain}.new-chat-video-task-preview.is-loading{align-content:center;gap:8px;padding:24px;background:hsl(var(--canvas));color:hsl(var(--muted-foreground));text-align:center}.new-chat-video-task-preview__loading{width:20px;height:20px;color:hsl(var(--muted-foreground));animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-preview.is-loading strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.new-chat-video-task-preview.is-loading>span:last-child{font-size:12px}.new-chat-video-task-dialog__actions{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.new-chat-video-task-dialog__actions p{min-width:0;margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-dialog__actions p.is-warning{color:hsl(var(--destructive));font-weight:500}.new-chat-video-task-dialog__actions>div{display:flex;flex:0 0 auto;gap:8px}.new-chat-video-task-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.new-chat-video-task-button:hover{background:hsl(var(--secondary))}.new-chat-video-task-button.is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.new-chat-video-task-button.is-primary:hover{background:hsl(var(--primary) / .9)}.new-chat-video-task-button svg{width:15px;height:15px}@keyframes new-chat-video-task-fade{0%{opacity:0}to{opacity:1}}@keyframes new-chat-video-task-rise{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes new-chat-video-task-spin{to{transform:rotate(360deg)}}@media (max-width: 620px){.new-chat-video-task-backdrop{padding:12px}.new-chat-video-task-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.new-chat-video-task-steps{grid-template-columns:minmax(0,1fr);gap:10px}.new-chat-video-task-dialog__actions{align-items:stretch;flex-direction:column}.new-chat-video-task-dialog__actions>div{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.new-chat-video-task-backdrop,.new-chat-video-task-dialog,.new-chat-video-task-step__loading,.new-chat-video-task-preview__loading{animation:none}}.sandbox-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid hsl(268 58% 58% / .34);background:#f4eefb;color:#5b318c;font:inherit;font-weight:600;cursor:pointer;transition:background-color .14s ease-out,border-color .14s ease-out}.sandbox-entry svg{width:15px;height:15px;flex:0 0 auto}.sandbox-entry:hover:not(:disabled){border-color:#803ecc85;background:#ece2f9}.sandbox-entry:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-entry:disabled{cursor:default;opacity:.72}.sandbox-entry--composer{min-height:30px;padding:0 13px;border-radius:999px;font-size:12px}.sandbox-entry--header{min-height:32px;padding:0 10px;border-radius:7px;font-size:12px}.sandbox-entry.is-active{border-style:dashed}.sandbox-new-chat-entry{display:flex;justify-content:center;min-height:30px}.composer-slot{width:100%;min-width:0}.sandbox-composer-wrap{position:relative;z-index:50}.sandbox-session-warning{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;width:calc(100% - 32px);max-width:736px;min-height:24px;margin:0 auto 6px;color:#c7840f;font-size:12px}.sandbox-session-warning-dot{display:none}.sandbox-session-warning-copy{grid-column:2;white-space:nowrap;text-align:center}.sandbox-session-warning button{grid-column:3;justify-self:end;padding:3px 5px;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-weight:580;cursor:pointer}.sandbox-session-warning button:hover{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.sandbox-composer-wrap .composer-box{display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(44px,auto) 36px;align-items:center;gap:2px 8px;min-height:104px;padding:10px 8px 8px;border-radius:24px}.sandbox-composer-wrap .comp-input{grid-row:1;grid-column:1 / -1;align-self:stretch;width:100%;min-height:44px;padding:8px 10px 4px}.sandbox-composer-wrap .sandbox-composer-input{grid-row:1;grid-column:1 / -1;align-self:stretch;display:flex;flex-flow:row wrap;align-content:flex-start;align-items:center;gap:6px;min-height:44px;padding:5px 10px 2px}.sandbox-composer-input>.invocation-chips{flex:0 1 auto}.sandbox-composer-input>.comp-input{flex:1 1 180px;min-width:120px;min-height:28px;padding:4px 0;line-height:20px}.sandbox-codex-composer .composer-command-menu{z-index:100;display:flex;max-height:min(420px,calc(100vh - 180px));flex-direction:column}.sandbox-codex-composer .composer-command-list{min-height:0;max-height:none}.sandbox-composer-wrap .composer-left-controls{grid-row:2;grid-column:1;justify-self:start}.composer-left-controls{display:flex;align-items:center;gap:2px;min-width:0}.sandbox-composer-control{width:32px;height:32px}.sandbox-composer-control svg{width:16px;height:16px}.sandbox-composer-control.is-locked{color:hsl(var(--muted-foreground) / .56)}.sandbox-codex-composer .composer-menu-separator{height:1px;margin:4px 6px;background:hsl(var(--border))}.turn--system{width:100%;align-items:stretch;margin-bottom:16px}.sandbox-activity-record{width:100%;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--muted-foreground))}.sandbox-activity-summary{display:grid;grid-template-columns:7px auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.45}.sandbox-activity-dot{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .68)}.sandbox-activity-label{padding-right:7px;border-right:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11px;font-weight:600}.sandbox-activity-summary strong{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-weight:560}.sandbox-activity-summary time{color:hsl(var(--muted-foreground));font-size:11px;white-space:nowrap}.sandbox-activity-details{display:grid;gap:5px;margin:8px 0 0 21px}.sandbox-activity-details>div{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px;font-size:12px;line-height:1.5}.sandbox-activity-details dt,.sandbox-activity-details dd{min-width:0;margin:0}.sandbox-activity-details dt{color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-activity-details dd{overflow-wrap:break-word;color:hsl(var(--foreground))}.sandbox-activity-details code{font:inherit;font-size:11px;line-height:1.5;white-space:pre-wrap}.sandbox-composer-wrap .comp-send{grid-row:2;grid-column:2}.main.is-sandbox-session{position:relative;isolation:isolate;background:linear-gradient(to bottom,#f4edfd,#f8f3fc,#fbf8fc 48%,hsl(var(--panel)) 76%)}.main.is-sandbox-session:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 78% 40% at 18% 0%,hsl(244 82% 84% / .24),transparent 70%),radial-gradient(ellipse 70% 36% at 52% 0%,hsl(284 70% 86% / .2),transparent 72%),radial-gradient(ellipse 64% 38% at 88% 2%,hsl(324 66% 88% / .16),transparent 72%),linear-gradient(to bottom,hsl(var(--panel) / 0),hsl(var(--panel) / .18) 42%,hsl(var(--panel)) 76%);filter:blur(24px);opacity:1;animation:sandbox-smoke-enter .42s ease-out both}.main.is-sandbox-session>*{position:relative;z-index:1}.sandbox-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-dialog{width:min(440px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-dialog-enter .18s ease-out both}.sandbox-dialog-visual{position:relative;display:grid;height:112px;place-items:center;overflow:hidden;border-bottom:1px solid hsl(var(--border));background:radial-gradient(circle at 35% 70%,hsl(256 68% 78% / .34),transparent 40%),radial-gradient(circle at 68% 30%,hsl(276 66% 72% / .28),transparent 42%),#f9f8fc}.sandbox-dialog-orbit{position:absolute;width:104px;height:44px;border:1px solid hsl(268 52% 54% / .22);border-radius:50%;transform:rotate(-12deg)}.sandbox-dialog-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid hsl(268 58% 58% / .3);border-radius:14px;background:hsl(var(--panel) / .9);color:#68389f;box-shadow:0 8px 24px #6c38a824}.sandbox-dialog-icon svg{width:23px;height:23px}.sandbox-spinner{width:21px;height:21px;border:2px solid hsl(268 48% 42% / .2);border-top-color:currentColor;border-radius:50%;animation:sandbox-spin .8s linear infinite}.sandbox-dialog-copy{padding:22px 24px 20px;text-align:center}.sandbox-dialog-copy h2{margin:0 0 8px;color:hsl(var(--foreground));font-size:17px;font-weight:650}.sandbox-dialog-copy p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.65}.sandbox-dialog-copy .sandbox-dialog-error{color:hsl(var(--destructive))}.sandbox-dialog-field{display:grid;gap:6px;margin-top:16px;text-align:left}.sandbox-dialog-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.sandbox-dialog-field-label>:last-child{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400}.sandbox-dialog-field input{width:100%;height:36px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.sandbox-dialog-field input:focus-visible{border-color:hsl(var(--primary) / .64);box-shadow:0 0 0 2px hsl(var(--primary) / .14)}.sandbox-dialog-field input:disabled{cursor:default;opacity:.66}.sandbox-dialog-persistence{display:grid;gap:3px;margin-top:12px;text-align:left}.sandbox-dialog-persistence-control{justify-self:start;color:hsl(var(--foreground));font-weight:550}.sandbox-dialog-persistence-description{margin:0 0 0 26px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.sandbox-dialog-persistence-description.is-warning{color:#9e6b1a}.sandbox-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-dialog-actions button{min-width:80px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-dialog-actions button:hover{background:hsl(var(--secondary))}.sandbox-dialog-actions button:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-dialog-actions .is-primary{border-color:#68389f;background:#68389f;color:hsl(var(--primary-foreground))}.sandbox-dialog-actions .is-primary:hover{background:#5b318c}@keyframes sandbox-spin{to{transform:rotate(360deg)}}@keyframes sandbox-dialog-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-smoke-enter{0%{opacity:0}to{opacity:1}}.sandbox-codex-composer .composer-command-head small{max-width:210px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sandbox-codex-composer .composer-command-icon--command,.sandbox-codex-composer .composer-command-icon--model{font-size:16px;font-weight:700;line-height:1}.sandbox-codex-composer .composer-command-icon--command{background:hsl(var(--accent));color:hsl(var(--foreground))}.sandbox-codex-composer .composer-command-icon--model{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-token-usage{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-right:auto}.sandbox-token-usage>span{display:inline-flex;align-items:baseline;gap:4px;padding:3px 7px;border:1px solid hsl(var(--border) / .76);border-radius:6px;background:hsl(var(--muted) / .42);color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-token-usage small{font-size:9px;font-weight:560}.sandbox-token-usage strong{color:hsl(var(--foreground) / .76);font-size:10px;font-weight:600;line-height:1.2}@media (max-width: 700px){.sandbox-entry--header span{display:none}.sandbox-entry--header{width:32px;padding:0}.sandbox-session-warning{grid-template-columns:1fr auto;width:calc(100% - 16px)}.sandbox-session-warning-copy{grid-column:1;white-space:normal;text-align:left}.sandbox-session-warning button{grid-column:2}.sandbox-activity-summary{grid-template-columns:7px auto minmax(0,1fr)}.sandbox-activity-summary time{grid-column:3}.sandbox-activity-details>div{grid-template-columns:1fr;gap:1px}}@media (prefers-reduced-motion: reduce){.sandbox-entry,.sandbox-dialog,.main.is-sandbox-session:before{animation:none;transition:none}}.sandbox-control-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sandbox-control-fade .14s ease-out}.sandbox-control-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:sandbox-control-rise .18s cubic-bezier(.2,.8,.2,1)}.sandbox-control-head{min-height:60px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 17px;border-bottom:1px solid hsl(var(--border))}.sandbox-control-head-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-head-icon svg{width:17px;height:17px}.sandbox-control-head h2,.sandbox-control-head p{margin:0}.sandbox-control-head h2{color:hsl(var(--foreground));font-size:14px;font-weight:660;line-height:1.35}.sandbox-control-head p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-control-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-control-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-dialog button:focus-visible,.sandbox-control-dialog input:focus-visible,.sandbox-control-dialog iframe:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.sandbox-control-close svg{width:16px;height:16px}.sandbox-control-body{min-height:0;overflow:auto;padding:18px}.sandbox-control-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.sandbox-control-actions button,.sandbox-control-state button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:590;text-decoration:none;cursor:pointer}.sandbox-control-actions button:hover:not(:disabled),.sandbox-control-state button:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary))}.sandbox-control-actions button.is-primary,.sandbox-control-state button{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sandbox-control-actions button:disabled{cursor:default;opacity:.5}.sandbox-control-actions svg{width:13px;height:13px}.sandbox-choice-group{margin:0 0 18px;padding:0;border:0}.sandbox-settings-dialog{width:min(720px,calc(100vw - 40px))}.sandbox-choice-group legend{margin-bottom:8px;color:hsl(var(--foreground));font-size:12px;font-weight:650}.sandbox-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sandbox-choice-list button{min-width:0;min-height:72px;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-choice-list button:hover:not(:disabled),.sandbox-choice-list button.is-active{border-color:hsl(var(--primary) / .42);background:hsl(var(--accent))}.sandbox-choice-list button.is-danger:hover:not(:disabled),.sandbox-choice-list button.is-danger.is-active{border-color:hsl(var(--destructive) / .38);background:hsl(var(--destructive) / .06)}.sandbox-choice-list button>i{width:12px;height:12px;flex:0 0 auto;margin-top:2px;border:1px solid hsl(var(--border));border-radius:50%}.sandbox-choice-list button.is-active>i{border:3px solid hsl(var(--primary));background:hsl(var(--background))}.sandbox-choice-list button>span{min-width:0;display:grid;gap:5px}.sandbox-choice-list strong{color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-choice-list small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.sandbox-network-toggle{min-height:54px;display:flex;align-items:center;gap:12px;margin-top:2px;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .24)}.sandbox-network-toggle>span{min-width:0;flex:1;display:grid;gap:3px}.sandbox-network-toggle strong{font-size:11px}.sandbox-network-toggle small{color:hsl(var(--muted-foreground));font-size:11px}.sandbox-network-toggle input{width:16px;height:16px;accent-color:hsl(var(--primary))}.sandbox-network-toggle.is-disabled{opacity:.62}.sandbox-control-note,.sandbox-control-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(42 70% 52% / .25);border-radius:8px;background:#fcf8ed;color:#916622;font-size:12px;line-height:1.55}.sandbox-control-note.is-danger,.sandbox-control-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.sandbox-workspace-dialog{width:min(600px,calc(100vw - 40px))}.sandbox-workspace-input{display:grid;gap:7px;color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-workspace-input>div{display:flex;gap:7px}.sandbox-workspace-input input{min-width:0;height:36px;flex:1;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.sandbox-workspace-input input:focus{border-color:hsl(var(--primary) / .55);box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.sandbox-workspace-input button{width:64px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .35);color:hsl(var(--foreground));font:inherit;font-size:11px;cursor:pointer}.sandbox-directory-browser{height:268px;margin-top:14px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .14)}.sandbox-directory-head{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;font-size:10px}.sandbox-directory-head span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-head svg{width:13px}.sandbox-directory-list{height:calc(100% - 36px);overflow:auto;padding:5px}.sandbox-directory-list button{width:100%;min-height:34px;display:grid;grid-template-columns:18px minmax(0,auto) minmax(0,1fr) 16px;align-items:center;gap:7px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11px;text-align:left;cursor:pointer}.sandbox-directory-list button:hover{background:hsl(var(--foreground) / .05)}.sandbox-directory-list button>svg:first-child{width:15px;color:hsl(var(--foreground))}.sandbox-directory-list button>svg:last-child{width:13px;color:hsl(var(--muted-foreground))}.sandbox-directory-list button small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-empty{display:grid;min-height:120px;place-items:center;color:hsl(var(--muted-foreground));font-size:11px}.sandbox-tool-dialog{width:min(1120px,calc(100vw - 44px));height:min(760px,calc(100vh - 48px));max-height:none}.sandbox-tool-toolbar{min-height:42px;display:flex;align-items:center;gap:12px;padding:5px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .2)}.sandbox-tool-toolbar>span{display:inline-flex;align-items:center;gap:7px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.sandbox-tool-toolbar>span i{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .5)}.sandbox-tool-toolbar>span i.is-ready{background:#2ab262}.sandbox-tool-toolbar>span i.is-loading{background:#e9ab1c}.sandbox-tool-surface{flex:1;min-height:0;display:grid;overflow:hidden;background:hsl(var(--secondary) / .2)}.sandbox-tool-dialog--terminal .sandbox-tool-surface{background:#15171e}.sandbox-tool-surface iframe{width:100%;height:100%;border:0;background:hsl(var(--background))}.sandbox-control-state{display:grid;place-items:center;align-content:center;gap:8px;padding:28px;color:hsl(var(--muted-foreground));text-align:center}.sandbox-control-state>svg{width:22px;height:22px;color:hsl(var(--foreground))}.sandbox-control-state strong{color:hsl(var(--foreground));font-size:13px}.sandbox-control-state span{max-width:420px;font-size:11px;line-height:1.55}.sandbox-approval-dialog{width:min(560px,calc(100vw - 40px))}.sandbox-approval-reason{margin-bottom:11px;color:hsl(var(--foreground));font-size:12px;line-height:1.55}.sandbox-approval-dialog pre{max-height:240px;margin:0 0 10px;overflow:auto;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:#181a21;color:#e0e6eb;font:inherit;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.sandbox-approval-meta{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-approval-meta code{color:hsl(var(--foreground));font:inherit;font-size:10px}.sandbox-approval-actions{flex-wrap:wrap}.sandbox-threads-dialog{width:min(620px,calc(100vw - 40px))}.sandbox-thread-list{display:grid;max-height:min(520px,64vh);overflow-y:auto;padding:7px}.sandbox-thread-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:62px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-thread-list>button:hover{background:hsl(var(--accent))}.sandbox-thread-list>button.is-active{background:hsl(var(--muted) / .7);cursor:default}.sandbox-thread-list>button>span{display:grid;min-width:0;gap:4px}.sandbox-thread-list strong,.sandbox-thread-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-thread-list strong{font-size:12px;font-weight:620}.sandbox-thread-list small,.sandbox-thread-list time{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-thread-list svg{width:14px;height:14px;color:hsl(var(--muted-foreground))}@keyframes sandbox-control-fade{0%{opacity:0}to{opacity:1}}@keyframes sandbox-control-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.sandbox-control-backdrop{padding:10px}.sandbox-control-dialog{width:100%;max-height:calc(100vh - 20px)}.sandbox-tool-dialog{height:calc(100vh - 20px)}.sandbox-choice-list,.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:1fr}.sandbox-choice-list button{min-height:58px}.sandbox-control-head p{display:none}.sandbox-control-actions>button{flex:1}}@media (prefers-reduced-motion: reduce){.sandbox-control-backdrop,.sandbox-control-dialog{animation:none}}.sandbox-agent-details{display:grid;align-content:start;gap:20px;width:min(920px,100%);height:100%;min-height:0;margin:0 auto;padding:28px 32px;overflow:auto}.sandbox-agent-details-header{display:grid;gap:20px}.sandbox-agent-back{display:inline-flex;width:fit-content;height:32px;align-items:center;gap:6px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;font-weight:550;cursor:pointer}.sandbox-agent-back:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.sandbox-agent-back:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-back svg{width:16px;height:16px;flex:0 0 auto}.sandbox-agent-details-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650}.sandbox-agent-details-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px}.sandbox-agent-detail-error{padding:10px 12px;border:1px solid hsl(var(--destructive) / .3);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px}.sandbox-agent-detail-panel{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.sandbox-agent-detail-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 24px}.sandbox-agent-detail-panel dl>div{min-width:0;padding:16px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:nth-last-child(-n+2){border-bottom:0}.sandbox-agent-detail-panel dl>div:nth-child(odd){padding-right:24px}.sandbox-agent-detail-panel dl>div:nth-child(2n){padding-left:24px}.sandbox-agent-detail-panel dl>.is-wide{grid-column:1 / -1;padding-right:0}.sandbox-agent-detail-panel dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-detail-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:520}.sandbox-agent-detail-panel footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .25)}.sandbox-agent-detail-panel footer button{height:34px;padding:0 14px;border-radius:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-agent-delete{border:1px solid hsl(var(--destructive) / .34);background:hsl(var(--panel));color:hsl(var(--destructive))}.sandbox-agent-open{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-agent-detail-panel footer button:disabled{cursor:default;opacity:.58}@media (max-width: 720px){.sandbox-agent-details{padding:20px 16px}.sandbox-agent-detail-panel dl{grid-template-columns:1fr;padding:8px 16px}.sandbox-agent-detail-panel dl>div,.sandbox-agent-detail-panel dl>div:nth-child(odd),.sandbox-agent-detail-panel dl>div:nth-child(2n){padding:14px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:last-child{border-bottom:0}}@layer components{._SegmentedControl_1sl7d_1{--segmented-control-option-radius: calc( var(--segmented-control-radius) - var(--segmented-control-gutter) );position:relative;overflow:auto;display:inline-flex;flex-wrap:nowrap;gap:var(--segmented-control-gap);height:var(--segmented-control-size);padding:var(--segmented-control-gutter);border-radius:var(--segmented-control-radius);background:var(--segmented-control-background);font-size:var(--segmented-control-font-size);font-weight:var(--segmented-control-font-weight);-ms-overflow-style:none;scrollbar-width:none;vertical-align:middle;white-space:nowrap}._SegmentedControl_1sl7d_1::-webkit-scrollbar{width:0;height:0}._SegmentedControl_1sl7d_1::-webkit-scrollbar-track,._SegmentedControl_1sl7d_1::-webkit-scrollbar-thumb{background:transparent}._SegmentedControl_1sl7d_1:where([data-block]){overflow:hidden;display:flex;width:100%;white-space:wrap}._SegmentedControl_1sl7d_1:where([data-size="3xs"]){--segmented-control-size: var(--control-size-3xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size="2xs"]){--segmented-control-size: var(--control-size-2xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=xs]){--segmented-control-size: var(--control-size-xs);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=sm]){--segmented-control-size: var(--control-size-sm);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-size=md]){--segmented-control-size: var(--control-size-md);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=lg]){--segmented-control-size: var(--control-size-lg);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=xl]){--segmented-control-size: var(--control-size-xl);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-lg);--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-size="2xl"]){--segmented-control-size: var(--control-size-2xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-size="3xl"]){--segmented-control-size: var(--control-size-3xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-gutter-size="2xs"]){--segmented-control-option-gutter: var(--control-gutter-2xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xs]){--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=sm]){--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-gutter-size=md]){--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-gutter-size=lg]){--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xl]){--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-pill]){--segmented-control-radius: var(--radius-full);--segmented-control-option-radius: var(--radius-full)}._SegmentedControlOption_1sl7d_140{position:relative;padding:0 var(--segmented-control-option-gutter);border-radius:var(--segmented-control-option-radius);color:var(--color-text-secondary);cursor:pointer;line-height:1;transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,color;transition-timing-function:var(--transition-ease-basic)}._SegmentedControlOption_1sl7d_140:focus{outline:0}:where(._SegmentedControl_1sl7d_1[data-block]) ._SegmentedControlOption_1sl7d_140{flex:1}:where(._SegmentedControl_1sl7d_1[data-pill]) ._SegmentedControlOption_1sl7d_140{padding:0 calc(var(--segmented-control-option-gutter) * var(--control-gutter-pill-scaling))}._SegmentedControlOption_1sl7d_140[data-state=on]:focus-visible{outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140:before{position:absolute;inset:var(--segmented-control-option-highlight-gutter);border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-option-highlight-background-color);content:"";opacity:0;pointer-events:none;transform:scale(1);transition-duration:var(--transition-duration-basic);transition-property:opacity,transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SegmentedControlOption_1sl7d_140:active:before{transform:scale(var(--scale),.97)}._SegmentedControlOption_1sl7d_140 svg{display:block}@media (hover: hover) and (pointer: fine){._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover:before{opacity:.5}}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):focus-visible{color:var(--color-text);outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):active:before{opacity:.75}._SegmentedControlOption_1sl7d_140[data-state=on]{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-disabled]{cursor:not-allowed;opacity:.5}._SegmentedControlOption_1sl7d_140[data-disabled]:before{opacity:0!important}._SegmentedControlThumb_1sl7d_219{position:absolute;top:var(--segmented-control-gutter);bottom:var(--segmented-control-gutter);left:0;border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-thumb-background);box-shadow:var(--segmented-control-thumb-shadow);pointer-events:none;will-change:transform}}.sandbox-agent-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;background:hsl(var(--canvas))}.sandbox-agent-workspace>header{display:flex;min-width:0;min-height:62px;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.sandbox-agent-workspace-title{display:flex;min-width:0;align-items:center;gap:10px}.sandbox-agent-workspace-title>button{display:inline-grid;width:24px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-agent-workspace-title>button:hover{color:hsl(var(--foreground))}.sandbox-agent-workspace-title svg{width:17px;height:17px}.sandbox-agent-workspace-title>div{min-width:0}.sandbox-agent-workspace-title h1{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.sandbox-agent-workspace-title p{display:flex;align-items:center;gap:7px;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-workspace-status{display:inline-flex;min-height:18px;align-items:center;padding:0 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:550;line-height:1}.sandbox-agent-workspace-status[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.sandbox-agent-workspace-tabs{width:200px;flex:0 0 auto}.sandbox-agent-workspace button:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-workspace-surface{min-width:0;min-height:0;overflow:hidden}.sandbox-agent-workspace-surface iframe{display:block;width:100%;height:100%;border:0;background:hsl(var(--panel))}.sandbox-agent-workspace-state{display:grid;height:100%;place-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.sandbox-agent-workspace-state p{margin:0}.sandbox-agent-workspace-state.is-error{color:hsl(var(--destructive))}.sandbox-agent-workspace-state button{justify-self:center;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}@media (max-width: 720px){.sandbox-agent-workspace>header{align-items:stretch;flex-direction:column}.sandbox-agent-workspace-tabs{width:100%}}.auth-expired-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .22);backdrop-filter:blur(5px) saturate(.88);-webkit-backdrop-filter:blur(5px) saturate(.88)}.auth-expired-dialog{position:relative;width:min(400px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 28px 80px hsl(var(--foreground) / .2),0 2px 8px hsl(var(--foreground) / .06);animation:auth-expired-enter .18s cubic-bezier(.22,1,.36,1) both}.auth-expired-mark{display:grid;width:32px;height:32px;margin:32px auto 0;place-items:center;color:hsl(var(--foreground))}.auth-expired-mark svg{width:21px;height:21px;stroke-width:1.8}.auth-expired-copy{padding:22px 32px 28px;text-align:center}.auth-expired-copy h2{margin:0;color:hsl(var(--foreground));font-size:19px;font-weight:650;letter-spacing:-.01em}.auth-expired-copy>p:last-child{margin:11px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.7}.auth-expired-copy .auth-expired-error{margin-top:10px;color:hsl(var(--destructive))}.auth-expired-actions{padding:0 16px 16px}.auth-expired-actions button{width:100%;height:38px;border:1px solid hsl(var(--foreground));border-radius:9px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.auth-expired-actions button:hover{opacity:.88}.auth-expired-actions button:active{transform:translateY(1px)}.auth-expired-actions button:focus-visible{outline:3px solid hsl(var(--ring) / .28);outline-offset:2px}.auth-expired-actions button:disabled{cursor:wait;opacity:.58}@keyframes auth-expired-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-expired-dialog{animation:none}}.issue-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:issue-feedback-fade-in .14s ease-out}.issue-feedback-dialog{width:min(480px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:issue-feedback-rise-in .18s cubic-bezier(.2,.8,.2,1)}.issue-feedback-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid hsl(var(--border))}.issue-feedback-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.issue-feedback-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.issue-feedback-close svg,.issue-feedback-success-mark svg{width:16px;height:16px}.issue-feedback-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.issue-feedback-body,.issue-feedback-success{min-height:0;overflow-y:auto;padding:20px}.issue-feedback-intro{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-privacy{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.issue-feedback-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.issue-feedback-chip{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.issue-feedback-chip:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-chip[aria-pressed=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.issue-feedback-field{display:grid;gap:8px;color:hsl(var(--foreground));font-size:13px;font-weight:550}.issue-feedback-field textarea{width:100%;min-height:112px;resize:vertical;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400;line-height:1.55}.issue-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.issue-feedback-error{margin:12px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.issue-feedback-success{min-height:220px;display:grid;grid-template-columns:36px 1fr;gap:12px;align-content:center;align-items:center;animation:issue-feedback-success-in .18s ease-out}.issue-feedback-success-mark{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#24a8541a;color:#238b49;animation:issue-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.issue-feedback-success-mark:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:12px;content:"";opacity:0;animation:issue-feedback-success-ring .44s ease-out}.issue-feedback-success-mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:issue-feedback-check-draw .28s .1s ease-out forwards}.issue-feedback-success h3{margin:0 0 4px;font-size:15px;font-weight:600}.issue-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.issue-feedback-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.issue-feedback-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.issue-feedback-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.issue-feedback-close:focus-visible,.issue-feedback-chip:focus-visible,.issue-feedback-field textarea:focus-visible,.issue-feedback-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.issue-feedback-dialog button:disabled,.issue-feedback-dialog textarea:disabled{cursor:not-allowed;opacity:.55}@keyframes issue-feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes issue-feedback-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes issue-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes issue-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes issue-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes issue-feedback-check-draw{to{stroke-dashoffset:0}}@media (max-width: 560px){.issue-feedback-backdrop{padding:16px}.issue-feedback-dialog{max-height:calc(100vh - 32px)}}@media (prefers-reduced-motion: reduce){.issue-feedback-backdrop,.issue-feedback-dialog,.issue-feedback-success,.issue-feedback-success-mark,.issue-feedback-success-mark:after,.issue-feedback-success-mark path{animation:none}.issue-feedback-success-mark path{stroke-dashoffset:0}}.share-message-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:share-message-fade-in .14s ease-out}.share-message-dialog{width:min(720px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:share-message-rise-in .18s cubic-bezier(.2,.8,.2,1)}.share-message-export{position:fixed;top:0;left:-100000px;width:816px;box-sizing:border-box;padding:24px;overflow:visible;background:hsl(var(--background));color:hsl(var(--foreground));pointer-events:none}.share-message-export>.turn{width:100%;max-width:100%;margin-right:0;margin-left:0;opacity:1!important;transform:none!important;animation:none!important}.share-message-export>.turn:not(:last-of-type){margin-bottom:24px}.share-message-export>.turn:last-of-type{margin-bottom:0}.share-message-export-note{margin:24px 0 0;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.5;text-align:center}.share-message-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 20px;border-bottom:1px solid hsl(var(--border));flex:0 0 auto}.share-message-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.share-message-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.share-message-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.share-message-close svg{width:16px;height:16px}.share-message-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.share-message-body{min-height:260px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px;background:hsl(var(--canvas))}.share-message-generating,.share-message-failure{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px}.share-message-failure p,.share-message-error{margin:0;color:hsl(var(--destructive));font-size:12.5px;line-height:1.55;text-align:center}.share-message-failure button{height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-preview{width:min(100%,816px);margin:0 auto;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.share-message-preview img{display:block;width:100%;height:auto}.share-message-error{margin-top:12px}.share-message-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border));flex:0 0 auto}.share-message-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-actions button:hover:not(:disabled),.share-message-failure button:hover{background:hsl(var(--secondary))}.share-message-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.share-message-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.share-message-actions button:disabled{cursor:not-allowed;opacity:.5}.share-message-close:focus-visible,.share-message-failure button:focus-visible,.share-message-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}@keyframes share-message-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-message-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 560px){.share-message-backdrop{padding:16px}.share-message-dialog{max-height:calc(100vh - 32px)}.share-message-head p{display:none}.share-message-actions{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.share-message-backdrop,.share-message-dialog{animation:none}}@layer components{._Popover_1wdpp_3{overflow:auto;width:var(--popover-width, auto);min-width:var(--popover-min-width, 300px);max-width:min(var(--popover-max-width, 700px),var(--radix-popover-content-available-width));max-height:var(--radix-popover-content-available-height);border-radius:var(--popover-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);-webkit-overflow-scrolling:touch;transform-origin:var(--radix-popover-content-transform-origin);will-change:transform}._Popover_1wdpp_3:focus{outline:none}._Popover_1wdpp_3[data-translucent]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(360deg,#f7f7f87f,#f7f7f8)}:where([data-theme=dark]) ._Popover_1wdpp_3[data-translucent]{background:linear-gradient(360deg,#56586940,#5658697d)}._Popover_1wdpp_3[data-animate=shake]{animation:_shake_1wdpp_1 .4s ease}._Transition_1wdpp_1[data-entering] ._Popover_1wdpp_3{opacity:0;transform:scale(.95)}._Transition_1wdpp_1[data-entering-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-entering][data-interrupted] ._Popover_1wdpp_3{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Transition_1wdpp_1[data-exiting] ._Popover_1wdpp_3{opacity:1;transform:scale(1)}._Transition_1wdpp_1[data-exiting-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-exiting][data-interrupted] ._Popover_1wdpp_3{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}@keyframes _shake_1wdpp_1{0%{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}to{transform:translate(0)}}}@layer components{._Container_13560_1{--textarea-line-height: 20px;--textarea-font-weight: var(--font-weight-normal);--textarea-color: var(--color-text);--textarea-gutter-y: calc(.5 * calc(var(--textarea-base-height) - var(--textarea-line-height)));--textarea-min-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-min-rows)) );--textarea-max-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-max-rows)) )}._Container_13560_1:where([data-size="3xs"]){--textarea-base-height: var(--control-size-3xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size="2xs"]){--textarea-base-height: var(--control-size-2xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=xs]){--textarea-base-height: var(--control-size-xs);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=sm]){--textarea-base-height: var(--control-size-sm);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-size=md]){--textarea-base-height: var(--control-size-md);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=lg]){--textarea-base-height: var(--control-size-lg);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=xl]){--textarea-base-height: var(--control-size-xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-lg);--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-size="2xl"]){--textarea-base-height: var(--control-size-2xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-size="3xl"]){--textarea-base-height: var(--control-size-3xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-gutter-size="2xs"]){--textarea-gutter-x: var(--control-gutter-2xs)}._Container_13560_1:where([data-gutter-size=xs]){--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-gutter-size=sm]){--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-gutter-size=md]){--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-gutter-size=lg]){--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-gutter-size=xl]){--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1{position:relative;overflow:hidden;display:flex;width:100%;border-radius:var(--textarea-radius);color:var(--textarea-color);cursor:text;font-size:var(--textarea-font-size);font-weight:var(--textarea-font-weight);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_13560_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_13560_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_13560_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_13560_1[data-disabled]{cursor:not-allowed;opacity:.5}._Textarea_13560_174{display:block;width:100%;max-width:100%;min-height:var(--textarea-min-height);max-height:var(--textarea-max-height);padding:var(--textarea-gutter-y) var(--textarea-gutter-x);border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;box-shadow:none;color:inherit;filter:none;font-size:inherit;font-weight:inherit;line-height:var(--textarea-line-height);resize:none}._Textarea_13560_174:focus{outline:0}._Textarea_13560_174:disabled{cursor:not-allowed}._Textarea_13560_174::-moz-placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174::placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174:-webkit-autofill{animation:_native-autofill-in_13560_1 1ms}._Textarea_13560_174:-webkit-autofill,._Textarea_13560_174:-webkit-autofill:focus,._Textarea_13560_174:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill-and-obscured,._Textarea_13560_174:-webkit-autofill-strong-password,._Textarea_13560_174:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill:first-line{font-size:16px!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Textarea_13560_174::-webkit-resizer{visibility:hidden}@keyframes _native-autofill-in_13560_1{0%{opacity:1}to{opacity:1}}}.response-annotation-anchor{position:fixed;z-index:80;width:1px;pointer-events:none}.response-annotation-popover{--response-annotation-surface: 48 100% 97%;--response-annotation-excerpt: 47 86% 93%;--response-annotation-border: 43 72% 82%;width:min(360px,calc(100vw - 24px));border:1px solid hsl(var(--response-annotation-border));border-radius:12px;background:hsl(var(--response-annotation-surface))}.response-annotation-form{display:grid;gap:12px;padding:12px}.response-annotation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.response-annotation-header h2{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600}.response-annotation-form blockquote{max-height:82px;margin:0;padding:8px 10px;overflow:auto;border-left:2px solid hsl(var(--response-annotation-border));border-radius:0 7px 7px 0;background:hsl(var(--response-annotation-excerpt));color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap}.response-annotation-field{display:grid;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.response-annotation-field textarea{min-height:78px;background:hsl(var(--background));font-family:inherit;font-size:13px;font-weight:400;line-height:1.55}.response-annotation-error{margin:-4px 0 0;font-size:11.5px;line-height:1.45}.response-annotation-error{color:hsl(var(--destructive))}.response-annotation-actions{display:flex;justify-content:flex-end;gap:8px}.response-annotation-action{font-size:12px}.response-annotation-success{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.response-annotation-success strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.response-annotation-success p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}:where([data-theme=dark]) .response-annotation-popover{--response-annotation-surface: 43 22% 14%;--response-annotation-excerpt: 43 25% 18%;--response-annotation-border: 42 32% 30%}@media (prefers-reduced-motion: reduce){.response-annotation-popover{transition:none}}.platform-feedback-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.platform-feedback-header{flex:0 0 auto}.platform-feedback-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.platform-feedback-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.platform-feedback-scroll{min-height:0;overflow-y:auto;padding:24px 0 40px}.platform-feedback-form,.platform-feedback-success{width:min(720px,100%)}.platform-feedback-form{display:grid;gap:24px}.platform-feedback-section{display:grid;gap:12px}.platform-feedback-section-heading{display:flex;align-items:center;gap:8px}.platform-feedback-section h2,.platform-feedback-field>span{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600;line-height:1.45}.platform-feedback-section-heading>span,.platform-feedback-suggestions>span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.platform-feedback-pills{display:flex;flex-wrap:wrap;gap:8px}.platform-feedback-pills button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;transition:background .14s ease,border-color .14s ease}.platform-feedback-pills button:hover:not(:disabled){background:hsl(var(--secondary))}.platform-feedback-pills button[aria-pressed=true]{border-color:hsl(var(--primary) / .42);background:hsl(var(--primary) / .08)}.platform-feedback-field{display:grid;gap:8px}.platform-feedback-field textarea{width:100%;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:1.55}.platform-feedback-field textarea{min-height:132px;resize:vertical}.platform-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.platform-feedback-suggestions{display:grid;gap:8px}.platform-feedback-privacy{margin:0;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.platform-feedback-error{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.platform-feedback-actions{display:flex;justify-content:flex-end}.platform-feedback-actions button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:1px solid hsl(var(--primary));border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.platform-feedback-actions button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.platform-feedback-success{min-height:280px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-content:center;align-items:center;animation:platform-feedback-success-in .18s ease-out}.platform-feedback-success-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#24a8541a;color:#238b49;animation:platform-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.platform-feedback-success-icon:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:13px;content:"";opacity:0;animation:platform-feedback-success-ring .44s ease-out}.platform-feedback-success-icon svg{width:16px;height:16px}.platform-feedback-success-icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:platform-feedback-check-draw .28s .1s ease-out forwards}.platform-feedback-success h2{margin:0 0 4px;font-size:15px;font-weight:600}.platform-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.platform-feedback-pills button:focus-visible,.platform-feedback-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:2px}.platform-feedback-field textarea:focus-visible{border-color:hsl(var(--ring) / .58);outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .3)}.platform-feedback-page button:disabled,.platform-feedback-page textarea:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 720px){.platform-feedback-page{padding:24px 20px 0}}@media (max-width: 560px){.platform-feedback-page{padding-inline:16px}}@keyframes platform-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes platform-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes platform-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes platform-feedback-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.platform-feedback-pills button,.platform-feedback-success,.platform-feedback-success-icon,.platform-feedback-success-icon:after,.platform-feedback-success-icon path{transition:none;animation:none}.platform-feedback-success-icon path{stroke-dashoffset:0}}.PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:#00000080;color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:#0000004d;box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0} +>>>>>>>> 8587bb46 (feat(studio): report cloud account id telemetry):veadk/webui/assets/index-DYg8yf4w.css diff --git a/veadk/webui/index.html b/veadk/webui/index.html index f9a34e4e..409e527d 100644 --- a/veadk/webui/index.html +++ b/veadk/webui/index.html @@ -5,8 +5,13 @@ AgentKit Studio +<<<<<<< HEAD +======= + + +>>>>>>> 8587bb46 (feat(studio): report cloud account id telemetry)
From 3eea2d64cbc04a2079245d21558c2f61cb087964 Mon Sep 17 00:00:00 2001 From: zhengchuyi Date: Fri, 14 Aug 2026 13:31:20 +0800 Subject: [PATCH 2/2] feat(studio): track anonymous entry telemetry --- docs/studio-tea-telemetry.md | 10 +- frontend/src/App.tsx | 3 + frontend/src/adk/client.ts | 2 + frontend/src/telemetry/index.ts | 6 + frontend/src/telemetry/privacy.ts | 1 + frontend/src/telemetry/runtime.ts | 35 +- frontend/src/telemetry/schema.ts | 6 + frontend/tests/studioAccess.test.mjs | 6 + frontend/tests/teaTelemetry.test.mjs | 17 + tests/cli/test_frontend_runtime_proxy.py | 2 + tests/cli/test_studio_telemetry.py | 2 + tests/cli/test_studio_update.py | 15 + veadk/cli/cli_frontend.py | 2 +- veadk/cli/studio_telemetry.py | 2 + ...dg.js => MarkdownPromptEditor-CoCxG4pJ.js} | 6 +- veadk/webui/assets/index-CapRovHo.css | 10 + veadk/webui/assets/index-DPt3La7N.css | 14 - .../{index-M8CVMzEb.js => index-Ei6D2O0i.js} | 410 +++++++++--------- veadk/webui/index.html | 9 +- 19 files changed, 320 insertions(+), 238 deletions(-) rename veadk/webui/assets/{MarkdownPromptEditor-Uj1POrdg.js => MarkdownPromptEditor-CoCxG4pJ.js} (99%) create mode 100644 veadk/webui/assets/index-CapRovHo.css delete mode 100644 veadk/webui/assets/index-DPt3La7N.css rename veadk/webui/assets/{index-M8CVMzEb.js => index-Ei6D2O0i.js} (74%) diff --git a/docs/studio-tea-telemetry.md b/docs/studio-tea-telemetry.md index 89d2d3b4..83618ef0 100644 --- a/docs/studio-tea-telemetry.md +++ b/docs/studio-tea-telemetry.md @@ -8,6 +8,7 @@ Studio 的产品行为数据统一上报到 TEA App `1050062`。火山引擎和 | 事件 | 含义 | | --- | --- | +| `studio_entry_viewed` | 用户打开 Studio 前端页面后的一次匿名入口访问;不要求登录。 | | `studio_session_started` | 用户身份确认且页面可用后开始的一次 Studio 访问;不是 Agent 对话会话。 | | `studio_agent_deploy` | 部署或更新 Agent。 | | `studio_sandbox_create` | 创建 Sandbox。 | @@ -22,8 +23,9 @@ Studio 的产品行为数据统一上报到 TEA App `1050062`。火山引擎和 ## 指标口径 +- Studio 匿名入口访问次数:`studio_entry_viewed` 去重 `page_instance_id`。 - Studio 使用人数:`studio_session_started` 去重 `user_unique_id`。 -- Studio 访问次数:去重 `page_instance_id`。 +- Studio 登录访问次数:`studio_session_started` 去重 `page_instance_id`。 - 活跃用户池数:过滤空值后去重 `user_pool_id`。 - 每池活跃人数:按 `user_pool_id` 分组后去重 `user_unique_id`。 - 操作尝试数:过滤 `status = started` 后去重 `operation_id`。 @@ -38,9 +40,9 @@ Studio 的产品行为数据统一上报到 TEA App `1050062`。火山引擎和 的用户池、池内全部成员或当前 Agent/Sandbox 存量。这些资源存量必须来自后端管理接口 或定期快照。 -`account_id` 表示部署当前 Studio 的云账号 ID。它在 `veadk studio deploy` 时由部署 -凭据解析并保存到 Studio 运行时环境中,前端只在用户完成身份确认后通过 `/web/access` -拿到该值用于埋点,不应作为登录用户身份使用。 +`account_id` 表示部署当前 Studio 的云账号 ID。它在 `veadk studio deploy/update` +时解析并保存到 Studio 运行时环境中,前端通过匿名可访问的 `/web/ui-config` 获取该值, +用于 `studio_entry_viewed` 和后续登录会话埋点,不应作为登录用户身份使用。 ## 数据边界 diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 00fae7ad..2e8ed9d5 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -374,6 +374,7 @@ import { identifyTelemetryUser, initTelemetry, setTelemetryContext, + trackStudioEntryViewed, trackStudioSessionStarted, type AgentConnectStartedProps, type AgentConnectSucceededProps, @@ -2386,7 +2387,9 @@ export default function App() { studioVersion: studio?.version || cfg.version, environment, cloudProvider: cfg.provider, + accountId: studio?.accountId ?? "", }); + trackStudioEntryViewed({ authState: "anonymous" }); setFeatures(cfg.features); setAgentsSource(cfg.agentsSource); setCloudProvider(cfg.provider); diff --git a/frontend/src/adk/client.ts b/frontend/src/adk/client.ts index ce84917a..43a0d293 100644 --- a/frontend/src/adk/client.ts +++ b/frontend/src/adk/client.ts @@ -2393,6 +2393,7 @@ export interface StudioTelemetryContext { region: string; project: string; version: string; + accountId?: string; } export interface StudioTelemetryConfig { @@ -2470,6 +2471,7 @@ function normalizeStudioTelemetryConfig(value: unknown): StudioTelemetryConfig { region: typeof studio.region === "string" ? studio.region : "", project: typeof studio.project === "string" ? studio.project : "", version: typeof studio.version === "string" ? studio.version : "", + accountId: typeof studio.accountId === "string" ? studio.accountId : "", }, }; } diff --git a/frontend/src/telemetry/index.ts b/frontend/src/telemetry/index.ts index 5338dbeb..a72e4f39 100644 --- a/frontend/src/telemetry/index.ts +++ b/frontend/src/telemetry/index.ts @@ -21,6 +21,7 @@ import type { AgentSourceDownloadFailedProps, AgentSourceDownloadStartedProps, AgentSourceDownloadSucceededProps, + EntryViewedProps, SandboxCreateFailedProps, SandboxCreateStartedProps, SandboxCreateSucceededProps, @@ -45,6 +46,11 @@ export function identifyTelemetryUser(identity: TelemetryIdentity): void { runtime.identify(identity); } +/** Tracks an anonymous Studio page entry before user identity is known. */ +export function trackStudioEntryViewed(props: EntryViewedProps): void { + runtime.trackStudioEntryViewed(props); +} + /** Tracks an authenticated, page-ready Studio visit, not an Agent chat session. */ export function trackStudioSessionStarted(props: SessionStartedProps): void { runtime.trackStudioSessionStarted(props); diff --git a/frontend/src/telemetry/privacy.ts b/frontend/src/telemetry/privacy.ts index 42ed359f..d90734d8 100644 --- a/frontend/src/telemetry/privacy.ts +++ b/frontend/src/telemetry/privacy.ts @@ -103,6 +103,7 @@ const COMMON_KEYS = [ ] as const; const EVENT_KEYS: Record = { + studio_entry_viewed: ["auth_state"], studio_session_started: ["agents_source"], studio_agent_deploy: [ "status", diff --git a/frontend/src/telemetry/runtime.ts b/frontend/src/telemetry/runtime.ts index 1e8a1170..33d8bffb 100644 --- a/frontend/src/telemetry/runtime.ts +++ b/frontend/src/telemetry/runtime.ts @@ -16,6 +16,7 @@ import { type AgentSourceDownloadFailedProps, type AgentSourceDownloadStartedProps, type AgentSourceDownloadSucceededProps, + type EntryViewedProps, type SandboxCreateFailedProps, type SandboxCreateStartedProps, type SandboxCreateSucceededProps, @@ -62,6 +63,7 @@ export class TelemetryRuntime { private pageInstanceId: string; private context: StudioTelemetryContext | undefined; private identity: TelemetryIdentity | undefined; + private entryViewed = false; private sessionStarted = false; constructor(dependencies: TelemetryRuntimeDependencies) { @@ -72,7 +74,10 @@ export class TelemetryRuntime { } setContext(context: StudioTelemetryContext): void { - this.context = context; + this.context = { + ...context, + accountId: context.accountId?.trim() ?? "", + }; } identify(identity: TelemetryIdentity): void { @@ -102,6 +107,29 @@ export class TelemetryRuntime { }); } + /** Records one anonymous Studio page entry as soon as the SPA is loaded. */ + trackStudioEntryViewed(props: EntryViewedProps): void { + if (this.entryViewed || !this.context) return; + this.entryViewed = true; + const payload = sanitizeTelemetryPayload("studio_entry_viewed", compact({ + schema_version: TELEMETRY_SCHEMA_VERSION, + event_id: this.createId(), + user_pool_id: this.context.userPoolId, + studio_deploy_id: this.context.studioDeployId, + vefaas_application_id: this.context.applicationId, + vefaas_function_id: this.context.functionId, + studio_region: this.context.studioRegion, + studio_project: this.context.studioProject, + studio_version: this.context.studioVersion, + environment: this.context.environment, + cloud_provider: this.context.cloudProvider, + account_id: this.context.accountId, + page_instance_id: this.pageInstanceId, + auth_state: props.authState, + })); + this.sink.emit("studio_entry_viewed", payload); + } + beginAgentDeploy( props: AgentDeployStartedProps, ): TelemetryOperation { @@ -203,7 +231,10 @@ export class TelemetryRuntime { } private beginOperation( - name: Exclude, + name: Exclude< + StudioTelemetryEventName, + "studio_entry_viewed" | "studio_session_started" + >, startedProps: Record, successProps: (props: Succeeded) => Record, failureProps: (props: Failed) => Record, diff --git a/frontend/src/telemetry/schema.ts b/frontend/src/telemetry/schema.ts index 7d96e77b..d0a81837 100644 --- a/frontend/src/telemetry/schema.ts +++ b/frontend/src/telemetry/schema.ts @@ -5,6 +5,7 @@ export type TelemetryValue = string | number; export type TelemetryPayload = Record; export type StudioTelemetryEventName = + | "studio_entry_viewed" | "studio_session_started" | "studio_agent_deploy" | "studio_sandbox_create" @@ -27,6 +28,7 @@ export interface StudioTelemetryContext { studioVersion: string; environment: TelemetryEnvironment; cloudProvider: "volcengine" | "byteplus"; + accountId?: string; } export interface TelemetryIdentity { @@ -53,6 +55,10 @@ export interface SessionStartedProps { agentsSource: "local" | "cloud"; } +export interface EntryViewedProps { + authState: "anonymous"; +} + export type DeploySource = | "scratch" | "code_package" diff --git a/frontend/tests/studioAccess.test.mjs b/frontend/tests/studioAccess.test.mjs index f589359d..df13ef14 100644 --- a/frontend/tests/studioAccess.test.mjs +++ b/frontend/tests/studioAccess.test.mjs @@ -28,6 +28,12 @@ test("Studio access fails closed until the server-derived role is known", () => assert.match(appSource, /setAccess\(DEFAULT_STUDIO_ACCESS\)/); }); +test("Studio entry telemetry uses anonymous UI config metadata", () => { + assert.match(clientSource, /accountId: typeof studio\.accountId === "string"/); + assert.match(appSource, /accountId: studio\?\.accountId \?\? ""/); + assert.match(appSource, /trackStudioEntryViewed\(\{ authState: "anonymous" \}\)/); +}); + test("Agent workspace creation and update actions obey Studio access", () => { assert.doesNotMatch(sidebarSource, /access\.capabilities\.createAgents && show\("addAgent"\)/); assert.doesNotMatch(sidebarSource, /access\.capabilities\.manageAgents && show\("manageAgents"\)/); diff --git a/frontend/tests/teaTelemetry.test.mjs b/frontend/tests/teaTelemetry.test.mjs index 4c432e03..84b8aaa1 100644 --- a/frontend/tests/teaTelemetry.test.mjs +++ b/frontend/tests/teaTelemetry.test.mjs @@ -99,6 +99,7 @@ function harness() { studioVersion: "1.2.3", environment: "staging", cloudProvider: "volcengine", + accountId: "2100123456", }); runtime.identify({ userUniqueId: " user-1 ", @@ -174,6 +175,22 @@ test("bootstraps the documented TEA queue and flushes pre-init events", async () } }); +test("records one anonymous Studio page entry before login", () => { + const { events, runtime } = harness(); + runtime.trackStudioEntryViewed({ authState: "anonymous" }); + runtime.trackStudioEntryViewed({ authState: "anonymous" }); + + assert.equal(events.length, 1); + assert.equal(events[0].name, "studio_entry_viewed"); + assert.equal(events[0].payload.auth_state, "anonymous"); + assert.equal(events[0].payload.cloud_provider, "volcengine"); + assert.equal(events[0].payload.account_id, "2100123456"); + assert.equal(events[0].payload.page_instance_id, "id-1"); + assert.equal("user_role" in events[0].payload, false); + assert.equal("user_source" in events[0].payload, false); + assert.equal("agents_source" in events[0].payload, false); +}); + test("records one authenticated page-ready Studio visit, not an Agent chat session", () => { const { events, identities, runtime } = harness(); runtime.trackStudioSessionStarted({ agentsSource: "cloud" }); diff --git a/tests/cli/test_frontend_runtime_proxy.py b/tests/cli/test_frontend_runtime_proxy.py index 2b0471d7..3030cb85 100644 --- a/tests/cli/test_frontend_runtime_proxy.py +++ b/tests/cli/test_frontend_runtime_proxy.py @@ -274,6 +274,7 @@ def test_ui_config_serves_studio_telemetry_config( monkeypatch.setenv("VEADK_STUDIO_FUNCTION_ID", "func-id") monkeypatch.setenv("VEADK_STUDIO_DEPLOY_REGION", "cn-beijing") monkeypatch.setenv("VEADK_STUDIO_PROJECT", "studio-project") + monkeypatch.setenv("VEADK_STUDIO_ACCOUNT_ID", "2100123456") app = _create_frontend_app(monkeypatch, tmp_path, studio=True) with TestClient(app) as client: @@ -291,6 +292,7 @@ def test_ui_config_serves_studio_telemetry_config( "region": "cn-beijing", "project": "studio-project", "version": response.json()["version"], + "accountId": "2100123456", }, } diff --git a/tests/cli/test_studio_telemetry.py b/tests/cli/test_studio_telemetry.py index 703d777b..37dcdc6d 100644 --- a/tests/cli/test_studio_telemetry.py +++ b/tests/cli/test_studio_telemetry.py @@ -26,6 +26,7 @@ def test_studio_telemetry_config_builds_ui_payload_from_environment() -> None: "VEADK_STUDIO_FUNCTION_ID": "function-id", "VEADK_STUDIO_DEPLOY_REGION": "cn-beijing", "VEADK_STUDIO_PROJECT": "default", + "VEADK_STUDIO_ACCOUNT_ID": "2100123456", }, ) @@ -39,5 +40,6 @@ def test_studio_telemetry_config_builds_ui_payload_from_environment() -> None: "region": "cn-beijing", "project": "default", "version": "20260805120000", + "accountId": "2100123456", }, } diff --git a/tests/cli/test_studio_update.py b/tests/cli/test_studio_update.py index 94d9dc5b..79bf4b14 100644 --- a/tests/cli/test_studio_update.py +++ b/tests/cli/test_studio_update.py @@ -818,6 +818,7 @@ def test_byteplus_studio_update_repairs_missing_sandbox_tools( agent_tools: list[dict[str, object]] = [] code_credentials: list[dict[str, object]] = [] agent_credentials: list[dict[str, object]] = [] + role_policy_syncs: list[dict[str, object]] = [] monkeypatch.setattr( "veadk.cli.studio_update.find_studio_deployments", lambda **_: [target] ) @@ -861,6 +862,11 @@ def test_byteplus_studio_update_repairs_missing_sandbox_tools( "veadk.cli.studio_sandbox_tools.ensure_studio_agent_model_credential", lambda **kwargs: agent_credentials.append(kwargs), ) + monkeypatch.setattr( + "veadk.cli.frontend_deploy_iam.ensure_default_frontend_role_policy", + lambda role, **kwargs: role_policy_syncs.append({"role": role, **kwargs}) + or True, + ) class _FakeVeFaaS: def __init__(self, **_: str) -> None: @@ -900,6 +906,15 @@ def update_application_code_bundle(self, **kwargs: object) -> str: result = CliRunner().invoke(studio, args) assert result.exit_code == 0, result.output + assert role_policy_syncs == [ + { + "role": "trn:iam::3001037806:role/VeADKFrontendServiceRole", + "access_key": "ak", + "secret_key": "sk", + "session_token": "", + "provider": "byteplus", + } + ] assert len(code_tools) == 1 assert code_tools[0]["enable_snapshot"] is True assert "-codex-" in str(code_tools[0]["name"]) diff --git a/veadk/cli/cli_frontend.py b/veadk/cli/cli_frontend.py index 76d7c6e6..d623b8c5 100644 --- a/veadk/cli/cli_frontend.py +++ b/veadk/cli/cli_frontend.py @@ -8945,7 +8945,7 @@ def frontend_update( ) if ensure_default_frontend_role_policy( - str(getattr(function, "role", "") or ""), + str(getattr(remote_function, "role", "") or ""), access_key=ak, secret_key=sk, session_token=session_token, diff --git a/veadk/cli/studio_telemetry.py b/veadk/cli/studio_telemetry.py index 05c7444b..4f9cefeb 100644 --- a/veadk/cli/studio_telemetry.py +++ b/veadk/cli/studio_telemetry.py @@ -26,6 +26,7 @@ STUDIO_FUNCTION_ID_ENV = "VEADK_STUDIO_FUNCTION_ID" STUDIO_DEPLOY_REGION_ENV = "VEADK_STUDIO_DEPLOY_REGION" STUDIO_PROJECT_ENV = "VEADK_STUDIO_PROJECT" +STUDIO_ACCOUNT_ID_ENV = "VEADK_STUDIO_ACCOUNT_ID" AGENTKIT_SANDBOX_REGION_ENV = "AGENTKIT_SANDBOX_REGION" @@ -62,5 +63,6 @@ def studio_telemetry_config( "region": region, "project": _env_value(current_env, STUDIO_PROJECT_ENV), "version": version, + "accountId": _env_value(current_env, STUDIO_ACCOUNT_ID_ENV), }, } diff --git a/veadk/webui/assets/MarkdownPromptEditor-Uj1POrdg.js b/veadk/webui/assets/MarkdownPromptEditor-CoCxG4pJ.js similarity index 99% rename from veadk/webui/assets/MarkdownPromptEditor-Uj1POrdg.js rename to veadk/webui/assets/MarkdownPromptEditor-CoCxG4pJ.js index f655b8f9..51251d79 100644 --- a/veadk/webui/assets/MarkdownPromptEditor-Uj1POrdg.js +++ b/veadk/webui/assets/MarkdownPromptEditor-CoCxG4pJ.js @@ -1,8 +1,4 @@ -<<<<<<<< HEAD:veadk/webui/assets/MarkdownPromptEditor-Uj1POrdg.js -var G0=Object.defineProperty;var q0=(n,e,t)=>e in n?G0(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var L=(n,e,t)=>q0(n,typeof e!="symbol"?e+"":e,t);import{v as qu,w as Y0,s as X0,t as da,U as Q0,a8 as e5,K as t5,X as $,M as D,b as vt,a2 as Qt,A as qh,i as Fe,a7 as io,P as Yh,a as Cc,a1 as vc,a6 as bc,W as Zo,m as qs,k as n5,L as r5,a5 as o5,R as i5,F as s5,D as Xh,l as Sc,o as l5,C as Qh,a4 as eg,a3 as ha,e as tg,I as a5,f as c5,n as ng,q as rg,d as u5,T as f5,p as d5,c as E,r as Yu,g as Xu,V as tt,S as on,$ as Hi,Z as Pl,Y as h5,h as Qu,N as Ut,Q as ms,u as wc,O as Wn,a0 as Nn,_ as Ft,j as To,x as g5,E as p5,z as m5,B as _5,y as x5,J as y5,G as C5,H as v5}from"./index-M8CVMzEb.js";const b5={}.hasOwnProperty;function og(n,e){let t=-1,r;if(e.extensions)for(;++te in n?G0(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var L=(n,e,t)=>q0(n,typeof e!="symbol"?e+"":e,t);import{v as qu,w as Y0,s as X0,t as da,U as Q0,a8 as e5,K as t5,X as $,M as D,b as vt,a2 as Qt,A as qh,i as Fe,a7 as io,P as Yh,a as Cc,a1 as vc,a6 as bc,W as Zo,m as qs,k as n5,L as r5,a5 as o5,R as i5,F as s5,D as Xh,l as Sc,o as l5,C as Qh,a4 as eg,a3 as ha,e as tg,I as a5,f as c5,n as ng,q as rg,d as u5,T as f5,p as d5,c as E,r as Yu,g as Xu,V as tt,S as on,$ as Hi,Z as Pl,Y as h5,h as Qu,N as Ut,Q as ms,u as wc,O as Wn,a0 as Nn,_ as Ft,j as To,x as g5,E as p5,z as m5,B as _5,y as x5,J as y5,G as C5,H as v5}from"./index-j1IFnIdd.js";const b5={}.hasOwnProperty;function og(n,e){let t=-1,r;if(e.extensions)for(;++t>>>>>>> 8587bb46 (feat(studio): report cloud account id telemetry):veadk/webui/assets/MarkdownPromptEditor-DUTDLRTE.js +var G0=Object.defineProperty;var q0=(n,e,t)=>e in n?G0(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var L=(n,e,t)=>q0(n,typeof e!="symbol"?e+"":e,t);import{v as qu,w as Y0,s as X0,t as da,U as Q0,a8 as e5,K as t5,X as $,M as D,b as vt,a2 as Qt,A as qh,i as Fe,a7 as io,P as Yh,a as Cc,a1 as vc,a6 as bc,W as Zo,m as qs,k as n5,L as r5,a5 as o5,R as i5,F as s5,D as Xh,l as Sc,o as l5,C as Qh,a4 as eg,a3 as ha,e as tg,I as a5,f as c5,n as ng,q as rg,d as u5,T as f5,p as d5,c as E,r as Yu,g as Xu,V as tt,S as on,$ as Hi,Z as Pl,Y as h5,h as Qu,N as Ut,Q as ms,u as wc,O as Wn,a0 as Nn,_ as Ft,j as To,x as g5,E as p5,z as m5,B as _5,y as x5,J as y5,G as C5,H as v5}from"./index-Ei6D2O0i.js";const b5={}.hasOwnProperty;function og(n,e){let t=-1,r;if(e.extensions)for(;++t.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{width:100%;height:inherit;fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:currentColor;stroke-dasharray:none;stroke-dashoffset:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-width:1px;display:block;position:absolute}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.bottom-0{bottom:0}.left-0{left:0}.container{width:100%}@media (min-width:380px){.container{max-width:380px}}@media (min-width:576px){.container{max-width:576px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.mx-px{margin-inline:1px}.mt-1{margin-top:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-1{margin-bottom:var(--spacing)}.\!hidden{display:none!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-0{height:0}.h-\[var\(--button-icon-size\)\]{height:var(--button-icon-size)}.w-\[var\(--button-icon-size\)\]{width:var(--button-icon-size)}.w-full{width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-\[120px\]{min-width:120px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-default{border-color:var(--color-border)}.border-subtle{border-color:var(--color-border-subtle)}.bg-surface{background-color:var(--color-surface)}.fill-secondary{fill:var(--color-text-secondary)}.p-4{padding:calc(var(--spacing) * 4)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-right{text-align:right}.heading-lg{font-size:var(--font-heading-lg-size);font-weight:var(--font-heading-lg-weight);letter-spacing:var(--font-heading-lg-tracking);line-height:var(--font-heading-lg-line-height)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));letter-spacing:var(--tw-tracking,var(--text-sm--letter-spacing));font-weight:var(--tw-font-weight,var(--text-sm--font-weight))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-wrap{text-wrap:wrap}.text-ellipsis{text-overflow:ellipsis}.text-secondary{color:var(--color-text-secondary)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow-lg{--tw-shadow:var(--shadow-300);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (min-width:576px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--destructive:0 72% 51%;--border:240 5.9% 90%;--ring:240 5.9% 10%;--radius:.5rem;--canvas:240 5% 97.3%;--panel:0 0% 100%;--feature-link:208 100% 47.45%;color-scheme:light;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}#root{position:fixed;top:0;right:0;bottom:0;left:0}body{background:hsl(var(--canvas));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased}.icon{flex-shrink:0;width:16px;height:16px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}*{scrollbar-width:thin;scrollbar-color:hsl(var(--foreground) / .18) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--foreground) / .18);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--foreground) / .32);background-clip:content-box}::-webkit-scrollbar-corner{background:0 0}.layout{height:100dvh;min-height:0;display:flex;overflow:hidden}.main-shell{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.sidebar{background:0 0;flex-direction:column;flex-shrink:0;width:236px;height:100%;min-height:0;transition:width .22s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.sidebar.is-collapsed{width:56px}@media (max-width:860px){.sidebar{width:204px}}.sidebar-top{flex-direction:column;gap:2px;padding:0 10px 8px;display:flex}.sidebar-brand-row{align-items:center;gap:6px;height:54px;min-height:54px;padding:0 0 0 10px;display:flex}.sidebar:not(.is-collapsed) .sidebar-top{padding-right:0}.sidebar:not(.is-collapsed) .sidebar-brand-row{padding-right:10px}.brand{min-width:0;color:inherit;cursor:pointer;letter-spacing:-.01em;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:9px;padding:0;font-family:inherit;font-size:15px;font-weight:600;display:flex}.brand-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-logo,.brand-title,.brand{cursor:pointer}.login-brand-logo,.login-brand,.login-title{cursor:text}.sidebar-collapse-toggle{width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 28px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.sidebar-collapse-toggle:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.sidebar-collapse-toggle .icon{width:17px;height:17px}.sidebar.is-collapsed .sidebar-brand-row{justify-content:center;padding-inline:0}.sidebar.is-collapsed .brand{display:none}.brand-logo,.login-brand-logo{object-fit:contain;flex:0 0 20px;width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;max-height:20px;display:block}.new-chat{height:36px;min-height:36px;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;transition:background .12s;display:flex}.new-chat .icon{width:18px;height:18px}.new-chat:hover,.new-chat.is-active{background:hsl(var(--foreground) / .05)}.sidebar-beta-badge{color:#976507;background:#fac70f29;border:1px solid #ce8b0d47;border-radius:999px;flex:none;padding:1px 5px;font-size:9.5px;font-weight:600;line-height:1.3}.new-chat--conversation>.icon{transform-origin:50%}.new-chat--conversation:hover>.icon{animation:.65s cubic-bezier(.22,1,.36,1) both sidebar-plus-return}.sidebar-agent-face{overflow:visible}.sidebar-agent-face__eye{transform-box:fill-box;transform-origin:50%;animation:1s ease-in-out infinite sidebar-agent-blink}@keyframes sidebar-plus-return{0%{transform:rotate(0)}48%{transform:rotate(48deg)}to{transform:rotate(0)}}@keyframes sidebar-agent-blink{0%,42%,58%,to{transform:scaleY(1)}50%{transform:scaleY(.08)}}@media (prefers-reduced-motion:reduce){.new-chat--conversation:hover>.icon,.sidebar-agent-face__eye{animation:none}}.studio-update-action{color:#fff;min-width:104px;min-height:40px;box-shadow:none;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;font:inherit;background:#111;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 17px;font-size:12.5px;font-weight:650;transition:background-color .24s cubic-bezier(.22,1,.36,1),color .18s,box-shadow .24s,-webkit-backdrop-filter .24s,backdrop-filter .24s;display:inline-flex}.studio-update-action:not(:disabled):hover{color:#fff;background:#29292b;border:0;box-shadow:0 7px 18px #00000029}.studio-update-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.studio-update-action:disabled{cursor:default;opacity:.42}.sidebar.is-collapsed .new-chat{white-space:nowrap;align-self:center;gap:0;width:36px;height:36px;min-height:36px;padding:9px;overflow:hidden}.sidebar.is-collapsed .sidebar-nav-label,.sidebar.is-collapsed .sidebar-beta-badge,.sidebar.is-collapsed .sidebar-history{display:none}.agentsel{--agentsel-available-width: calc(100vw - 250px) ;z-index:32;width:min(320px,var(--agentsel-available-width));background:0 0;border:0;flex-flow:wrap;align-content:stretch;align-items:stretch;gap:8px;margin-left:6px;animation:.16s ease-out agentsel-in;display:flex;position:absolute;top:8px;left:100%;overflow:visible;container-type:inline-size}.agentsel.has-detail{width:min(688px,var(--agentsel-available-width))}.agentsel--navbar{z-index:44;width:min(clamp(264px,26vw,288px),100vw - 48px);height:min(640px,100dvh - 74px);margin-left:0;position:absolute;top:calc(100% + 7px);left:0}.agentsel--navbar .agentsel-main{flex-basis:auto;width:100%}.sidebar.is-collapsed .agentsel{--agentsel-available-width: calc(100vw - 70px) }.agentsel-main{border:1px solid hsl(var(--border));background:hsl(var(--background));width:320px;min-width:min(240px,100%);height:100%;min-height:0;max-height:100%;box-shadow:0 12px 40px hsl(var(--foreground) / .14);border-radius:12px;flex-direction:column;flex:320px;display:flex;overflow:hidden}.agentsel-detail{border:1px solid hsl(var(--border));background:hsl(var(--background));width:360px;min-width:min(280px,100%);height:100%;min-height:0;max-height:100%;box-shadow:0 12px 40px hsl(var(--foreground) / .14);border-radius:12px;flex-direction:column;flex:360px;display:flex;overflow:hidden}.agentsel-preview{animation:.16s cubic-bezier(.22,1,.36,1) agentsel-preview-in}@container (max-width:527px){.agentsel.has-detail>.agentsel-main,.agentsel.has-detail>.agentsel-detail{height:calc(50% - 4px);max-height:calc(50% - 4px)}}.agentsel-preview-head{padding:7px 14px}.agentsel-detail-tabs{border:1px solid hsl(var(--border) / .58);background:hsl(var(--secondary) / .58);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;height:36px;padding:3px;display:grid;position:relative;overflow:hidden}.agentsel-detail-tabs-slider{z-index:0;border:1px solid hsl(var(--border) / .72);background:hsl(var(--background));border-radius:6px;width:calc(50% - 3px);transition:transform .24s cubic-bezier(.22,1,.36,1);position:absolute;top:3px;bottom:3px;left:3px;transform:translate(0)}.agentsel-detail-tabs.is-runtime .agentsel-detail-tabs-slider{transform:translate(100%)}.agentsel-detail-tabs button{z-index:1;min-width:0;color:hsl(var(--muted-foreground));font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:12px;font-weight:550;transition:color .16s;position:relative}.agentsel-detail-tabs button:hover,.agentsel-detail-tabs button[aria-selected=true]{color:hsl(var(--foreground))}.agentsel-detail-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .24);outline-offset:-2px}.agentsel-tab-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.agentsel-tab-panel[hidden]{display:none}.agentsel-detail-body{overscroll-behavior-y:contain;scrollbar-gutter:stable;flex:1;min-width:0;min-height:0;padding:12px 14px;overflow:hidden auto}.agentsel-panel-state{min-height:120px;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;gap:7px;font-size:12.5px;display:flex}.agentsel-panel-state .icon{width:15px;height:15px}.agentsel-panel-empty{text-align:center;color:hsl(var(--muted-foreground));overflow-wrap:anywhere;flex-direction:column;gap:6px;padding:24px 8px;font-size:12.5px;display:flex}.agentsel-panel-empty small{color:hsl(var(--muted-foreground) / .75);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.agentsel-identity,.agentsel-runtime-identity{align-items:flex-start;gap:10px;min-width:0;display:flex}.agentsel-identity{padding-bottom:12px}.agentsel-identity-icon,.agentsel-runtime-identity>.icon{width:18px;height:18px;color:hsl(var(--muted-foreground));flex-shrink:0;margin-top:1px}.agentsel-identity-copy,.agentsel-runtime-identity>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.agentsel-identity-copy strong,.agentsel-runtime-identity strong{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:650;overflow:hidden}.agentsel-identity-copy span,.agentsel-runtime-identity span{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.agentsel-runtime-identity{border-bottom:1px solid hsl(var(--border));margin-bottom:14px;padding-bottom:12px}.agentsel-info-section{border-top:1px solid hsl(var(--border));min-width:0;padding:11px 0}.agentsel-info-section h3{color:hsl(var(--muted-foreground));align-items:center;gap:6px;margin:0 0 8px;font-size:11.5px;font-weight:600;display:flex}.agentsel-info-section h3 .icon{width:13px;height:13px}.agentsel-description{white-space:pre-wrap;overflow-wrap:anywhere;max-height:104px;color:hsl(var(--foreground));margin:0;font-size:12.5px;line-height:1.65;overflow-y:auto}.agentsel-chips{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.agentsel-chip{border:1px solid hsl(var(--border));background:hsl(var(--canvas) / .7);max-width:100%;color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:3px 7px;font-size:11.5px;line-height:1.35;display:block;overflow:hidden}.agentsel-info-list{flex-direction:column;gap:6px;min-width:0;display:flex}.agentsel-info-list-item{background:hsl(var(--canvas) / .72);border-radius:6px;flex-direction:column;gap:2px;min-width:0;padding:7px 8px;display:flex}.agentsel-info-list-item>strong,.agentsel-component-head>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.agentsel-info-list-item>span{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.agentsel-component-head{align-items:center;gap:8px;min-width:0;display:flex}.agentsel-component-head>strong{flex:1;min-width:0}.agentsel-component-head>span{background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px}.agentsel-kv{flex-direction:column;gap:8px;margin:0;display:flex}.agentsel-kv-row{grid-template-columns:52px 1fr;gap:8px;font-size:12.5px;display:grid}.agentsel-kv-row dt{color:hsl(var(--muted-foreground))}.agentsel-kv-row dd{min-width:0;color:hsl(var(--foreground));overflow-wrap:anywhere;margin:0}.agentsel-envs{margin-top:14px}.agentsel-envs-head{color:hsl(var(--muted-foreground));margin-bottom:6px;font-size:12px;font-weight:600}.agentsel-env{flex-direction:column;gap:1px;margin-bottom:6px;display:flex}.agentsel-env-k{overflow-wrap:anywhere;color:hsl(var(--muted-foreground));font-family:inherit;font-size:11px}.agentsel-env-v{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:inherit;font-size:11.5px}.agentsel-head-actions{align-items:center;gap:2px;display:flex}.agentsel-pager{flex:0 0 36px;justify-content:center;align-items:center;gap:14px;padding:6px 10px 0;display:flex}.agentsel-pager button{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;padding:2px;display:flex}.agentsel-pager button:hover:not(:disabled){color:hsl(var(--foreground))}.agentsel-pager button:disabled{opacity:.3;cursor:default}.agentsel-pager button .icon{width:18px;height:18px}.agentsel-pager-label{color:hsl(var(--muted-foreground));text-align:center;min-width:40px;font-size:13px}@keyframes agentsel-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes agentsel-preview-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.agentsel-head{box-sizing:border-box;border-bottom:1px solid hsl(var(--border));flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 14px;display:flex}.agentsel-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex;overflow:hidden}.agentsel-title .icon{width:17px;height:17px}.agentsel-refresh{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.agentsel-refresh:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.agentsel-refresh .icon{width:16px;height:16px}.agentsel-body{overscroll-behavior-y:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:10px;overflow-y:auto}.agentsel-body--cloud{scrollbar-gutter:auto;flex-direction:column;display:flex;overflow:hidden}.agentsel-tools{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.agentsel-search{border:1px solid hsl(var(--border));border-radius:8px;align-items:center;gap:8px;padding:7px 10px;display:flex}.agentsel-search .icon{width:15px;height:15px;color:hsl(var(--muted-foreground))}.agentsel-search input{font:inherit;color:hsl(var(--foreground));background:0 0;border:none;outline:none;flex:1;font-size:13px}.agentsel-mine{color:hsl(var(--muted-foreground));cursor:pointer;align-items:center;gap:7px;font-size:12.5px;display:flex}.agentsel-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.agentsel-listwrap{min-height:220px;position:relative}.agentsel-body--cloud .agentsel-listwrap{overscroll-behavior-y:contain;scrollbar-gutter:auto;flex:1;min-height:0;overflow-y:auto}.agentsel-loading{color:hsl(var(--muted-foreground));background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.agentsel-loading .icon{width:16px;height:16px}.agentsel-item{width:100%;min-height:46px;color:hsl(var(--foreground));font:inherit;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:4px 0;font-size:13.5px;display:flex}.agentsel-main button.agentsel-item{cursor:pointer;min-height:0;padding:9px 10px}.agentsel-item:hover{background:hsl(var(--foreground) / .05);box-shadow:none;transform:none}.agentsel-runtime-item:hover{background:0 0}.agentsel-item.active{background:hsl(var(--foreground) / .08);font-weight:600}.agentsel-item.is-previewed{background:hsl(var(--foreground) / .055)}.agentsel-runtime-item.active,.agentsel-runtime-item.is-previewed{background:0 0}.agentsel-item .icon{width:16px;height:16px;color:hsl(var(--muted-foreground));flex-shrink:0}.agentsel-item-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.agentsel-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:550;overflow:hidden}.agentsel-item-meta{align-items:center;gap:4px;min-width:0;display:flex}.agentsel-item-actions{flex-shrink:0;align-items:center;gap:1px;display:flex}.agentsel-connect,.agentsel-info{color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px}.agentsel-connect{min-width:38px;height:28px;padding:0 5px;font-size:11.5px;font-weight:550}.agentsel-info{place-items:center;width:28px;height:28px;padding:0;display:grid}.agentsel-connect:hover:not(:disabled),.agentsel-info:hover{background:hsl(var(--foreground) / .07);color:hsl(var(--foreground));box-shadow:none}.agentsel-info.active{color:hsl(var(--foreground));box-shadow:none;background:0 0}.agentsel-connect:disabled{opacity:.55;cursor:default}.agentsel-info .icon{width:15px;height:15px}.agentsel-rt{flex-direction:column;display:flex}.agentsel-rt-row{width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 8px;font-size:13.5px;display:flex}.agentsel-rt-row:hover{background:hsl(var(--foreground) / .05)}.agentsel-rt-row .icon{width:15px;height:15px;color:hsl(var(--muted-foreground));flex-shrink:0}.agentsel-rt-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.runtime-owner-badge{color:#0b68cb;background:#007bff1f;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.agentsel-status{border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:10px}.agentsel-status.is-ok{color:#238b49;background:#21c45d24}.agentsel-status.is-warn{color:#b86614;background:#f59f0a29}.agentsel-status.is-bad{color:#ca2b2b;background:#dc282824}.agentsel-status.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.agentsel-apps{flex-direction:column;gap:2px;padding:2px 0 6px 20px;display:flex}.agentsel-app{width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.agentsel-app:hover{background:hsl(var(--foreground) / .05)}.agentsel-app.active{background:hsl(var(--foreground) / .08);font-weight:600}.agentsel-app .icon{width:14px;height:14px;color:hsl(var(--muted-foreground));flex-shrink:0}.agentsel-apps-note{color:hsl(var(--muted-foreground));align-items:center;gap:7px;padding:7px 10px;font-size:12.5px;display:flex}.agentsel-apps-note .icon{width:14px;height:14px}.agentsel-apps-note--muted{font-style:italic}.agentsel-empty{text-align:center;color:hsl(var(--muted-foreground));padding:24px 10px;font-size:13px}.agentsel-error{overflow-wrap:anywhere;color:#bd2828;white-space:pre-wrap;background:#dc282814;border-radius:8px;min-width:0;max-width:100%;margin:4px 0 10px;padding:8px 10px;font-size:12.5px;overflow:hidden}.agentsel-more{border:1px dashed hsl(var(--border));width:100%;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;background:0 0;border-radius:8px;margin-top:8px;padding:9px;font-size:13px}.agentsel-more:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}@media (max-width:860px){.agentsel{--agentsel-available-width: calc(100vw - 218px) }}.sidebar-history{flex-direction:column;flex:1;min-height:0;display:flex}.history-head{color:hsl(var(--foreground));justify-content:space-between;align-items:center;padding:8px 10px 6px 20px;font-size:13px;font-weight:600;display:flex}.history-refresh{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;padding:2px;display:flex}.history-refresh:hover{color:hsl(var(--foreground))}.history-new-chat{width:24px;height:24px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin:-4px 0;padding:0;transition:color .12s;display:inline-flex}.history-new-chat .icon{width:15px;height:15px}.history-new-chat:hover{color:hsl(var(--foreground));background:0 0}.history-list{flex-direction:column;flex:1;gap:2px;padding:4px 10px 12px;display:flex;overflow-y:auto}.history-empty{color:hsl(var(--muted-foreground));text-align:center;padding:16px 8px;font-size:13px}.history-error{background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));border-radius:8px;margin:4px 0 8px;padding:8px 10px;font-size:12px;line-height:1.5}.history-item{border-radius:8px;align-items:center;transition:background .12s;display:flex;position:relative}.history-item:hover{background:hsl(var(--foreground) / .05)}.history-item.active{background:hsl(var(--foreground) / .08)}.history-item-btn{text-align:left;min-width:0;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:7px;padding:9px 10px;font-size:14px;display:flex}.history-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.history-current-badge{background:hsl(var(--foreground) / .08);color:hsl(var(--muted-foreground));border-radius:999px;flex:none;padding:2px 5px;font-size:10px;font-weight:600;line-height:1.2}.history-item-btn:focus-visible,.history-more:focus-visible,.history-load-more:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.history-item-btn:disabled,.history-more:disabled{cursor:wait;opacity:.58}.history-streaming{background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:4px;animation:1.4s ease-in-out infinite history-pulse;box-shadow:0 0 #22c55e80}@keyframes history-pulse{0%,to{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 0 4px #22c55e00}}.history-evaluating-status{color:#956718;flex-shrink:0;align-items:center;gap:5px;font-size:10.5px;font-weight:600;line-height:1;display:inline-flex}.history-evaluating{background:#f59f0a;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s ease-in-out infinite history-evaluation-pulse;box-shadow:0 0 #f59f0a6b}@keyframes history-evaluation-pulse{0%,to{box-shadow:0 0 #f59f0a6b}50%{box-shadow:0 0 0 4px #f59f0a00}}@media (prefers-reduced-motion:reduce){.history-streaming,.history-evaluating{box-shadow:none;animation:none}}.history-more{width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;transition:opacity .12s,background .12s;display:flex}.history-item:hover .history-more,.history-item:focus-within .history-more{opacity:1}.history-more:hover{background:hsl(var(--border));color:hsl(var(--foreground))}.history-load-more{min-height:32px;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;margin-top:6px;font-size:12px;font-weight:550}.history-load-more:hover:not(:disabled){background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.history-load-more:disabled{cursor:wait;opacity:.6}.menu-scrim{z-index:30;position:fixed;top:0;right:0;bottom:0;left:0}.history-menu{z-index:31;background:hsl(var(--background));border:1px solid hsl(var(--border));min-width:120px;box-shadow:0 6px 20px hsl(var(--foreground) / .12);border-radius:8px;margin-top:2px;padding:4px;position:absolute;top:100%;right:4px}.menu-item{width:100%;font:inherit;cursor:pointer;color:hsl(var(--foreground));background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.menu-item:hover{background:hsl(var(--accent))}.menu-item--danger{color:hsl(var(--destructive))}.menu-item .icon{width:15px;height:15px}.main{background:hsl(var(--panel));border:1px solid hsl(var(--border));border-radius:12px;flex-direction:column;flex:1;min-width:0;min-height:0;margin:10px;display:flex;position:relative;overflow:hidden}.error{z-index:3;border-radius:var(--radius);background:hsl(var(--destructive) / .1);width:calc(100% - 32px);max-width:768px;color:hsl(var(--destructive));overflow-wrap:anywhere;margin:10px auto 0;padding:10px 12px;font-size:13px;position:relative}.case-return-bar{flex:none;justify-content:center;padding:12px 16px 0;display:flex}.case-return-bar button{border:1px solid hsl(var(--border));background:hsl(var(--background));min-height:32px;color:hsl(var(--foreground));cursor:pointer;font:inherit;box-shadow:0 1px 2px hsl(var(--foreground) / .05);border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:620;display:inline-flex}.case-return-bar button:hover{background:hsl(var(--secondary) / .55)}.case-return-bar svg{width:14px;height:14px}.transcript{flex:1;padding:28px 16px 8px;overflow-y:auto}.transcript.is-streaming{overflow-anchor:none}.welcome{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:32px;padding:0 16px clamp(88px,16vh,136px);display:flex;position:relative}.welcome-primary{flex-direction:column;align-items:center;gap:32px;width:100%;display:flex;position:relative}.welcome-heading{z-index:10;flex-direction:column;align-items:center;gap:72px;display:flex;position:relative}.welcome-feature-pill{background:hsl(var(--muted));height:36px;color:hsl(var(--muted-foreground));white-space:nowrap;border-radius:999px;align-items:center;gap:12px;padding:0 16px;font-size:13px;font-weight:500;line-height:1;display:inline-flex;position:relative}.welcome-feature-divider{background:hsl(var(--border));width:1px;height:16px}.welcome-feature-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:hsl(var(--feature-link));font:inherit;line-height:inherit;cursor:pointer;background:0 0;border:0;padding:0}.welcome-feature-link:focus-visible{outline:2px solid hsl(var(--feature-link) / .35);outline-offset:3px;border-radius:3px}.welcome-feature-pill:has(.studio-update-trigger--feature)>.welcome-feature-link:not(.studio-update-trigger--feature),.welcome-feature-pill:has(.studio-update-trigger--feature)>.welcome-feature-popover{display:none}.welcome-feature-popover{z-index:40;border:1px solid hsl(var(--border));background:hsl(var(--background));width:min(340px,100vw - 32px);box-shadow:0 14px 36px hsl(var(--foreground) / .12);color:hsl(var(--foreground));text-align:left;white-space:normal;opacity:0;pointer-events:none;border-radius:14px;padding:16px;transition:opacity .16s,transform .16s;position:absolute;top:50%;left:calc(100% + 12px);transform:translate(-4px,-50%)}.welcome-feature-pill:hover .welcome-feature-popover,.welcome-feature-pill:focus-within .welcome-feature-popover{opacity:1;pointer-events:auto;transform:translateY(-50%)}.welcome-feature-popover>strong{margin-bottom:12px;font-size:13px;font-weight:600;display:block}.welcome-feature-popover ul{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(220px,32vh);margin:0;padding:0 4px 0 18px;list-style:outside;display:block;overflow-y:auto}.welcome-feature-popover li{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;display:list-item}.welcome-feature-popover li+li{margin-top:8px}@media (max-width:900px){.welcome-feature-popover{top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px)}.welcome-feature-pill:hover .welcome-feature-popover,.welcome-feature-pill:focus-within .welcome-feature-popover{transform:translate(-50%)}}.welcome-title,.composer-placeholder-reveal{animation:.9s cubic-bezier(.22,1,.36,1) both welcome-text-reveal}@keyframes welcome-text-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.welcome-title,.composer-placeholder-reveal{opacity:1;clip-path:none;animation:none}.welcome-feature-popover{transition:none}}.welcome-title{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:600}.welcome .composer{padding:0}.turn{flex-direction:column;gap:8px;max-width:768px;margin:0 auto 22px;display:flex}.turn:last-child{margin-bottom:0}.turn--user{align-items:flex-end}.turn--assistant{align-items:flex-start}.turn--assistant.is-feedback-target{border-radius:12px;animation:2.4s ease-out feedback-target-pulse}@keyframes feedback-target-pulse{0%{background:hsl(var(--foreground) / .07);box-shadow:0 0 0 8px hsl(var(--foreground) / .05)}to{box-shadow:0 0 hsl(var(--foreground) / 0);background:0 0}}.transcript.is-streaming>.turn--assistant:last-child{min-height:max(0px,100% - 180px)}.turn--subagent{isolation:isolate;width:100%;max-width:768px;box-shadow:none;background:0 0;border:0;border-radius:14px;gap:10px;margin-top:42px;margin-bottom:22px;padding:30px 16px 14px;position:relative}.turn--subagent:before{z-index:-1;border-radius:inherit;-webkit-backdrop-filter:blur(18px)saturate(115%);content:"";pointer-events:none;background:radial-gradient(circle at 12% 8%,#e3ebf28c,#0000 38%),radial-gradient(circle at 88% 78%,#e3e6ed6b,#0000 42%),linear-gradient(120deg,#ffffff8f,#f2f4f742);border:1px solid #dadfe7d1;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.turn--subagent:has(>.turn-meta){padding-bottom:0}.turn--subagent:has(>.turn-meta):before{bottom:44px}.transcript.is-streaming>.turn--subagent:last-child{min-height:0}.subagent-run-label{background:hsl(var(--background));max-width:calc(100% - 28px);min-height:36px;box-shadow:none;border:1px solid #d5dae2;border-radius:10px;align-items:center;gap:8px;padding:4px 9px 4px 4px;display:inline-flex;position:absolute;top:0;left:14px;transform:translateY(-50%)}.subagent-run-handoff{color:#606b7b;white-space:nowrap;background:#eff2f5;border-radius:7px;flex:none;align-items:center;gap:5px;height:26px;padding:0 8px 0 6px;font-size:12px;font-weight:400;display:inline-flex}.subagent-run-handoff svg{flex:0 0 15px;width:15px;height:15px}.subagent-run-title{min-width:0;color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:400;overflow:hidden}.subagent-run-description{color:#636c79;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;padding:0 2px 4px;font-size:13.5px;line-height:1.6;display:-webkit-box;overflow:hidden}.turn--subagent .turn-meta{margin:20px -16px 0;position:static}@media (max-width:700px){.turn--subagent{width:100%;padding:30px 10px 12px}.turn--subagent:has(>.turn-meta){padding-bottom:0}.turn--subagent .turn-meta{margin-left:-10px;margin-right:-10px}.subagent-run-label{max-width:calc(100% - 20px);left:10px}}.bubble{font-size:14.5px;line-height:1.65}.turn--user .bubble{background:hsl(var(--secondary));border-radius:18px;max-width:85%;padding:10px 16px}.turn--assistant .bubble{max-width:100%}.md{font-size:14.5px;line-height:1.65}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .7em}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{letter-spacing:-.01em;margin:1.1em 0 .5em;font-weight:650;line-height:1.3}.md h1{font-size:1.4em}.md h2{font-size:1.25em}.md h3{font-size:1.1em}.md h4,.md h5,.md h6{font-size:1em}.md ul{list-style:outside}.md ol{list-style:decimal}.md ul ul{list-style-type:circle}.md ul ul ul{list-style-type:square}.md ol ol{list-style-type:lower-alpha}.md ol ol ol{list-style-type:lower-roman}.md li,.md li>ul,.md li>ol{margin:.15em 0}.md a{color:hsl(var(--primary));text-underline-offset:2px;text-decoration:underline}.md a:hover{opacity:.8}.md blockquote{border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground));margin:0 0 .7em;padding:.1em .9em}.md strong{font-weight:650}.md code{background:hsl(var(--muted));border-radius:5px;padding:.12em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em}.md pre{background:hsl(var(--muted));border-radius:8px;margin:0 0 .7em;padding:12px 14px;line-height:1.55;overflow-x:auto}.md pre code{background:0 0;border-radius:0;padding:0;font-size:12.5px}.md table{border-collapse:collapse;width:100%;box-shadow:0 2px 8px hsl(var(--foreground) / .1),0 0 0 1px hsl(var(--border));border-radius:12px;margin:0 0 .7em;font-size:.95em;overflow:hidden}.md table thead th,.md table th{background:hsl(var(--muted));border:1px solid hsl(var(--border));text-align:left;padding:12px 16px;font-size:.98em;font-weight:650}.md table tbody td,.md table td{border:1px solid hsl(var(--border));text-align:left;vertical-align:top;padding:12px 16px;line-height:1.65}.md table tbody tr:nth-child(2n){background:hsl(var(--muted) / .25)}.md table tbody tr:hover{background:hsl(var(--accent))}.md table caption{caption-side:top;text-align:left;color:hsl(var(--muted-foreground));padding:0 0 8px;font-size:.9em;font-weight:600}.md table colgroup,.md table col{display:table-column}.md table thead,.md table tbody,.md table tfoot{display:table-row-group}.md table tr{display:table-row}.md strong,.md b{font-weight:650}.md em,.md i{font-style:italic}.md del,.md s{text-decoration:line-through}.md ins,.md u{text-decoration:underline}.md mark{background:#fff3c2b3;border-radius:4px;padding:.1em .3em}.md sub{vertical-align:sub;font-size:.8em}.md sup{vertical-align:super;font-size:.8em}.md code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.md pre{overflow-x:auto}@media (max-width:640px){.md table{font-size:.85em}.md table thead th,.md table th,.md table tbody td,.md table td{padding:8px 10px}}.md p{line-height:1.7}.md br{content:"";margin:.4em 0;display:block}.md hr{border:none;border-top:1px solid hsl(var(--border));margin:1.5em 0}.md blockquote{border-left:3px solid hsl(var(--primary) / .4);background:hsl(var(--muted) / .3);border-radius:0 8px 8px 0;margin:.8em 0;padding:.6em 1em}.md ul,.md ol{margin:.6em 0;padding-left:1.6em}.md li{margin:.3em 0;line-height:1.6}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{margin-top:1.2em;margin-bottom:.5em;line-height:1.3}.md h1{font-size:1.6em;font-weight:700}.md h2{font-size:1.4em;font-weight:650}.md h3{font-size:1.2em;font-weight:600}.md h4{font-size:1.1em;font-weight:600}.md h5,.md h6{font-size:1em;font-weight:600}.md .image-preview-trigger{background:hsl(var(--muted));width:fit-content;max-width:40%;box-shadow:0 0 0 1px hsl(var(--border));cursor:zoom-in;border:0;border-radius:10px;margin:0 0 .7em;padding:0;line-height:0;display:block;position:relative;overflow:hidden}.md .image-preview-trigger:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.md .image-preview-trigger img{border-radius:inherit;width:auto;max-width:100%;height:auto;transition:filter .18s,transform .18s;display:block}.md .image-preview-trigger:hover img{filter:brightness(.92);transform:scale(1.01)}.image-preview-hint{color:#fff;opacity:0;background:#131316ad;border:1px solid #fff3;border-radius:8px;place-items:center;width:28px;height:28px;transition:opacity .16s,transform .16s;display:grid;position:absolute;bottom:8px;right:8px;transform:translateY(3px)}.image-preview-hint svg{width:14px;height:14px}.image-preview-trigger:hover .image-preview-hint,.image-preview-trigger:focus-visible .image-preview-hint{opacity:1;transform:translateY(0)}.md .video-container{gap:6px;margin:0 0 .7em;display:grid}.md .video-caption{color:hsl(var(--muted-foreground));font-size:.9em}.md .video-link-text{color:inherit;text-decoration:none;transition:color .15s}.md .video-link-text:hover{color:hsl(var(--foreground));text-decoration:underline}.md .video-preview-trigger{background:hsl(var(--muted));width:fit-content;max-width:80%;box-shadow:0 2px 8px hsl(var(--foreground) / .1),0 0 0 1px hsl(var(--border));cursor:pointer;border:0;border-radius:12px;padding:0;line-height:0;transition:box-shadow .18s,transform .18s;display:block;position:relative;overflow:hidden}.md .video-preview-trigger:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.md .video-preview-trigger:hover{box-shadow:0 4px 16px hsl(var(--foreground) / .15),0 0 0 1px hsl(var(--border));transform:translateY(-1px)}.md .video-preview-trigger .video-thumbnail{border-radius:inherit;width:auto;max-width:100%;height:auto;transition:filter .18s,transform .18s;display:block}.md .video-preview-trigger:hover .video-thumbnail{filter:brightness(.9);transform:scale(1.01)}.video-preview-hint{color:#fff;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#131316b3;border:1px solid #fff3;border-radius:10px;place-items:center;width:32px;height:32px;transition:opacity .16s,transform .16s;display:grid;position:absolute;bottom:10px;right:10px;transform:translateY(4px)}.video-preview-hint svg{width:16px;height:16px}.video-preview-trigger:hover .video-preview-hint,.video-preview-trigger:focus-visible .video-preview-hint{opacity:1;transform:translateY(0)}.md .video-inline{max-width:100%;box-shadow:0 2px 8px hsl(var(--foreground) / .1),0 0 0 1px hsl(var(--border));border-radius:12px;margin:0 0 .7em}.video-viewer-backdrop{z-index:90;-webkit-backdrop-filter:blur(16px)saturate(.85);backdrop-filter:blur(16px)saturate(.85);background:#131316c7;place-items:center;padding:28px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.video-viewer{border:1px solid hsl(var(--foreground) / .15);background:hsl(var(--background));border-radius:18px;flex-direction:column;width:min(1080px,94vw);max-height:min(880px,90vh);display:flex;overflow:hidden;box-shadow:0 32px 100px #07070885}.video-viewer-header{background:hsl(var(--muted) / .3);border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;min-height:56px;padding:10px 16px;display:flex}.video-viewer-title{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-weight:500;overflow:hidden}.video-viewer-nav{gap:6px;display:flex}.video-viewer-download,.video-viewer-close{width:36px;height:36px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.video-viewer-download:hover,.video-viewer-close:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.video-viewer-download svg,.video-viewer-close svg{width:17px;height:17px}.video-viewer-body{background:#161618;flex:1;place-items:center;min-height:0;padding:20px;display:grid;overflow:hidden}.video-viewer-body .video-fullscreen{background:#000;border-radius:12px;max-width:100%;max-height:calc(90vh - 96px);box-shadow:0 4px 20px #0006}@media (max-width:640px){.md .video-preview-trigger{max-width:100%}.video-viewer-backdrop{padding:0}.video-viewer{border:none;border-radius:0;width:100vw;max-height:100vh}.video-viewer-body .video-fullscreen{border-radius:0;max-height:calc(100vh - 96px)}}.turn--user .md code,.turn--user .md pre{background:hsl(var(--background) / .55)}.block-thinking,.block-tool{width:100%}.think-head,.tool-head{color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;display:inline-flex}.think-head{gap:8px;min-height:32px;padding:3px 7px 3px 3px}.think-icon{flex:0 0 20px;place-items:center;width:20px;height:26px;display:grid}.think-icon>svg{width:14px;height:15px}.thinking-logo{color:hsl(var(--foreground));opacity:.56;transform-origin:50%}.thinking-logo.is-active{animation:1.6s ease-in-out infinite thinking-logo-breathe}@keyframes thinking-logo-breathe{0%,to{opacity:.42;transform:scale(.97)}50%{opacity:.72;transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.thinking-logo.is-active{opacity:.56;animation:none;transform:none}}.chev{opacity:.58;flex:0 0 13px;width:13px;height:13px;transition:transform .18s}.chev.open{transform:rotate(90deg)}.think-label{font-size:14.5px;font-weight:400;line-height:1.35}.think-label--done{color:hsl(var(--muted-foreground))}.tool-head{color:hsl(var(--muted-foreground));transition:color .12s}.tool-head:hover{color:hsl(var(--foreground))}.tool-head--generic{gap:8px;min-height:32px;padding:3px 7px 3px 3px}.tool-name{color:inherit;font-size:14.5px;font-weight:400;line-height:1.35}.tool-icon{flex:0 0 20px;place-items:center;width:20px;height:26px;display:grid}.tool-icon>svg{width:18px;height:18px}.tool-icon--generic{color:hsl(var(--muted-foreground))}.tool-chevron{opacity:.58;flex:0 0 13px;width:13px;height:13px;transition:transform .18s}.tool-chevron.is-open{transform:rotate(90deg)}.tool-detail{flex-direction:column;gap:8px;margin:6px 0 4px;padding-left:3px;display:flex}.tool-section-label{text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));margin-bottom:4px;font-size:11px}.tool-result{max-height:240px;overflow:auto}.think-collapse{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.think-collapse.open{grid-template-rows:1fr}.think-collapse-inner{overflow:hidden}.think-body{color:hsl(var(--muted-foreground));white-space:pre-wrap;border-left:0;max-height:220px;margin:0;padding:0;font-size:14px;line-height:1.7;overflow-y:auto}.tool-args{background:hsl(var(--muted));white-space:pre-wrap;border-radius:6px;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.turn-meta{color:hsl(var(--muted-foreground));opacity:0;align-items:center;gap:10px;margin-top:2px;font-size:12px;transition:opacity .15s;display:flex}.turn-empty{color:hsl(var(--muted-foreground));margin-top:2px;font-size:13px;font-style:italic}.auth-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:12px;width:100%;max-width:640px;margin:2px 0;padding:18px 20px}.auth-card-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.auth-card-icon{color:#f59f0a;width:18px;height:18px}.auth-card-icon--done{color:#1eae53}.auth-card-collapsed{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--muted-foreground));border-radius:9px;align-items:center;gap:7px;margin:2px 0;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.auth-card-code{background:hsl(var(--muted));color:hsl(var(--foreground));word-break:break-all;border-radius:5px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.auth-card-title{font-size:14px;font-weight:600}.auth-card-desc{color:hsl(var(--muted-foreground));margin:0 0 14px;font-size:13px;line-height:1.6}.auth-card-btn{background:hsl(var(--primary));color:hsl(var(--primary-foreground));font:inherit;cursor:pointer;border:none;border-radius:9px;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .12s;display:inline-flex}.auth-card-btn:hover:not(:disabled){opacity:.88}.auth-card-btn:disabled{opacity:.55;cursor:default}.auth-card-btn .cw-i{width:15px;height:15px}.auth-card-done{color:#1eae53;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.auth-card-done .cw-i{width:16px;height:16px}.auth-card-err{color:hsl(var(--destructive));margin-top:8px;font-size:12px}.artifact-list{gap:8px;width:min(100%,440px);margin:6px 0;display:grid}.artifact-card{width:100%;color:hsl(var(--foreground));text-align:left;background:#f5f9ff;border:1px solid #d1e1fa;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.artifact-card__icon{color:#2371e7;background:#d8e7fd;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.artifact-card__icon svg{width:18px;height:18px}.artifact-card__copy{flex:auto;gap:3px;min-width:0;display:grid}.artifact-card__name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.artifact-card__hint{color:hsl(var(--muted-foreground));font-size:12px}.artifact-card__actions{flex:none;gap:6px;margin-left:auto;display:flex}.artifact-card__action{background:hsl(var(--background));color:#315b9b;white-space:nowrap;cursor:pointer;border:1px solid #becde4;border-radius:8px;flex:none;align-items:center;gap:5px;min-height:30px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.artifact-card__action:hover:not(:disabled){background:#ebf3ff}.artifact-card__action:disabled{cursor:default;opacity:.55}.artifact-card__action svg{width:14px;height:14px}.artifact-card__action--primary{color:#fff;background:#2c77e8;border-color:#3e81e5}.artifact-card__action--primary:hover:not(:disabled){background:#1867dc}.artifact-card__error{color:hsl(var(--destructive));font-size:12px}.artifact-preview{z-index:1200;place-items:center;padding:28px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.artifact-preview__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:default;background:#0b182b94;border:0;position:absolute;top:0;right:0;bottom:0;left:0}.artifact-preview__panel{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:16px;grid-template-rows:auto minmax(0,1fr);width:min(1120px,92vw);max-height:90vh;display:grid;position:relative;overflow:hidden;box-shadow:0 26px 80px #0b182b4d}.artifact-preview__header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:0 16px 0 20px;font-size:14px;font-weight:600;display:flex}.artifact-preview__header button{width:32px;height:32px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.artifact-preview__header button:hover{background:hsl(var(--muted))}.artifact-preview__header svg{width:17px;height:17px}.artifact-preview__canvas{background:#eceff3;min-height:0;padding:18px;overflow:auto}.artifact-preview__canvas img{border-radius:8px;width:100%;height:auto;display:block;box-shadow:0 6px 24px #0b182b29}.turn-actions{align-items:center;gap:2px;display:inline-flex}.turn-actions--right{opacity:0;align-self:flex-end;margin-top:2px;transition:opacity .15s}.turn--assistant:hover .turn-meta,.turn--user:hover .turn-actions--right{opacity:1}.icon-btn{width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.icon-btn:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn:disabled:hover{color:hsl(var(--muted-foreground));background:0 0}.icon-btn .icon{width:15px;height:15px}.feedback-btn:hover,.feedback-btn--good,.feedback-btn--bad,.feedback-btn--good:hover,.feedback-btn--bad:hover{color:hsl(var(--foreground));background:0 0}.feedback-btn[aria-busy=true]{opacity:1}.feedback-btn--good[aria-busy=true]:hover,.feedback-btn--bad[aria-busy=true]:hover{color:hsl(var(--foreground))}.feedback-btn .icon{width:18px;height:18px}.meta-text{white-space:nowrap;color:hsl(var(--muted-foreground));font-size:12px}.turn-actions--right{gap:6px}.drawer-scrim{background:hsl(var(--foreground) / .2);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;animation:.2s fade;position:fixed;top:0;right:0;bottom:0;left:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer{background:hsl(var(--background));border-left:1px solid hsl(var(--border));width:min(560px,92vw);box-shadow:-12px 0 40px hsl(var(--foreground) / .14);z-index:41;flex-direction:column;animation:.24s cubic-bezier(.22,1,.36,1) slidein;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slidein{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-head{border-bottom:1px solid hsl(var(--border));background:hsl(var(--canvas));justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.drawer-title{letter-spacing:-.01em;font-size:15px;font-weight:650}.drawer-sub{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;margin-top:3px;font-size:12px}.drawer-close{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;border-radius:6px;padding:6px;display:flex}.drawer-close:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.drawer-body{flex:1;padding:16px 18px;overflow:auto}.drawer-loading,.drawer-empty{color:hsl(var(--muted-foreground));align-items:center;gap:8px;font-size:14px;display:flex}.drawer-loading{flex:1;justify-content:center;padding:24px}.drawer-empty{padding:20px 0}.drawer--trace{width:min(1080px,96vw)}.trace-split{flex:1;min-height:0;display:flex}.trace-tree{border-right:1px solid hsl(var(--border));flex:1.25;min-width:0;padding:8px 6px;overflow:auto}.trace-row{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:5px 8px;transition:background .1s;display:flex}.trace-row:hover{background:hsl(var(--foreground) / .04)}.trace-row.active{background:hsl(var(--primary) / .07);box-shadow:inset 2px 0 hsl(var(--primary) / .55)}.trace-label{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.trace-caret{width:16px;height:16px;color:hsl(var(--muted-foreground));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.trace-caret.hidden{visibility:hidden}.trace-caret .chev{width:13px;height:13px;transition:transform .18s}.trace-caret.open .chev{transform:rotate(90deg)}.trace-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.trace-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.trace-dur{text-align:right;width:66px;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.trace-track{background:hsl(var(--foreground) / .05);border-radius:5px;flex:0 0 34%;height:16px;position:relative}.trace-bar{opacity:.9;border-radius:4px;min-width:3px;height:8px;position:absolute;top:4px}.trace-detail{flex:1;min-width:0;padding:18px 20px;overflow:auto}.td-title{letter-spacing:-.01em;word-break:break-all;font-size:15px;font-weight:600}.td-dur{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;align-items:center;gap:7px;margin-top:4px;font-size:12px;display:flex}.td-dot{border-radius:50%;width:8px;height:8px}.td-section{letter-spacing:.01em;color:hsl(var(--foreground));margin:22px 0 9px;font-size:12px;font-weight:650}.td-props{flex-direction:column;display:flex}.td-prop{border-bottom:1px solid hsl(var(--border));gap:16px;padding:7px 0;font-size:13px;display:flex}.td-key{color:hsl(var(--muted-foreground));flex-shrink:0;min-width:140px}.td-val{text-align:right;word-break:break-word;font-variant-numeric:tabular-nums;flex:1;min-width:0}.td-pre{background:hsl(var(--canvas));border:1px solid hsl(var(--border));white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:320px;margin:0;padding:11px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;overflow:auto}.composer{width:100%;max-width:768px;margin:0 auto;padding:6px 16px 18px}.conversation-composer-slot{padding:6px 16px 18px}.conversation-composer-slot>.composer-slot>.composer{padding:0}.composer--new-chat{position:relative}.composer-box{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:26px;align-items:flex-end;gap:6px;padding:6px 6px 6px 8px;display:flex;position:relative}.composer--new-chat .composer-box{z-index:2;border-color:hsl(var(--border) / .55);border-radius:16px;min-height:136px;padding:10px;display:block;box-shadow:0 8px 32px #00000007,0 24px 72px 8px #00000005}.composer-input-stack{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.composer-input-stack .comp-input{width:100%}.composer--new-chat .composer-input-stack{min-height:114px}.composer--new-chat .comp-input{min-height:76px;padding:4px 10px}.composer--new-chat .comp-input::placeholder{color:#0000}.composer-placeholder-reveal{z-index:1;width:max-content;max-width:calc(100% - 20px);color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-size:15px;line-height:1.5;position:absolute;top:4px;left:10px;overflow:hidden}.composer--new-chat .composer-menu-wrap{height:36px;position:absolute;bottom:10px;left:10px}.composer--new-chat .new-chat-mode{align-items:center;min-height:36px;display:flex;position:absolute;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-mode{left:138px}.composer--new-chat.composer--task-image .new-chat-mode,.composer--new-chat.composer--task-video .new-chat-mode{left:176px}.new-chat-task-chip{z-index:2;color:#7a5bae;width:78px;height:36px;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:15px;line-height:1;transition:background .15s,transform .15s;display:inline-flex;position:absolute;bottom:10px;left:52px}.new-chat-task-chip--image,.new-chat-task-chip--video{width:116px}.new-chat-task-chip>span:last-child{white-space:nowrap;flex:none}.new-chat-task-chip:hover,.new-chat-task-chip:focus-visible{background:#f4f1f8;outline:none}.new-chat-task-chip:active{transform:scale(.97)}.new-chat-task-chip:disabled{cursor:default;opacity:.5}.new-chat-task-chip__icon{border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;display:grid;position:relative}.new-chat-task-chip__task-icon,.new-chat-task-chip__remove-icon{width:18px;height:18px;transition:opacity .12s,transform .15s;position:absolute}.new-chat-task-chip__remove-icon{color:#fff;opacity:0;box-sizing:content-box;background:#896bbd;border-radius:50%;width:12px;height:12px;padding:3px;transform:scale(.72)}.new-chat-task-chip:hover .new-chat-task-chip__task-icon,.new-chat-task-chip:focus-visible .new-chat-task-chip__task-icon{opacity:0;transform:scale(.72)}.new-chat-task-chip:hover .new-chat-task-chip__remove-icon,.new-chat-task-chip:focus-visible .new-chat-task-chip__remove-icon{opacity:1;transform:scale(1)}.composer--new-chat .comp-send{position:absolute;bottom:10px;right:10px}.composer--new-chat .comp-send .icon{width:20px;height:20px}.task-shortcuts{z-index:1;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex;position:absolute;top:calc(100% + 18px);left:0}.task-shortcut{border:1px solid hsl(var(--border) / .72);background:hsl(var(--background));min-width:92px;height:40px;color:hsl(var(--muted-foreground));font:inherit;white-space:nowrap;cursor:pointer;opacity:0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:13px;line-height:1;transition:border-color .14s,background .14s,color .14s,transform .14s;animation:.32s cubic-bezier(.22,1,.36,1) forwards task-shortcut-enter;display:inline-flex;transform:translateY(6px)}.task-shortcut>span{white-space:nowrap}.task-shortcut:nth-child(2){animation-delay:45ms}.task-shortcut:nth-child(3){animation-delay:90ms}.task-shortcut:nth-child(4){animation-delay:.135s}.task-shortcut:hover{color:#7454ab;background:#f6f5fa;border-color:#8970b257;transform:translateY(-1px)}.task-shortcut:focus-visible{outline-offset:2px;outline:2px solid #8970b257}.task-shortcut:disabled{cursor:not-allowed;opacity:.5}.task-shortcut>svg{stroke:currentColor;flex:none;width:18px;height:18px}.prompt-suggestions{z-index:1;gap:3px;width:100%;display:grid;position:absolute;top:calc(100% + 18px);left:0}.prompt-suggestion{width:100%;min-height:46px;color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer;opacity:0;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:8px 14px;font-size:15px;line-height:1.5;transition:background .14s,color .14s,transform .14s;animation:.44s cubic-bezier(.22,1,.36,1) forwards prompt-suggestion-enter;display:flex;transform:translateY(10px)}.prompt-suggestion:nth-child(2){animation-delay:65ms}.prompt-suggestion:nth-child(3){animation-delay:.13s}.prompt-suggestion:nth-child(4){animation-delay:.195s}.prompt-suggestion:hover{background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.prompt-suggestion:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:-2px}.prompt-suggestion:disabled{cursor:not-allowed;opacity:.5}.prompt-suggestion>svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px;transform-origin:50%;flex:none;width:18px;height:18px;transition:transform .22s cubic-bezier(.22,1,.36,1)}.prompt-suggestion>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-height:1.5em;transition:max-height .22s cubic-bezier(.22,1,.36,1);display:block;overflow:hidden}.prompt-suggestion:hover>span,.prompt-suggestion:focus-visible>span{white-space:normal;text-overflow:clip;max-height:4.5em}.prompt-suggestion:first-child:hover>svg{transform:rotate(-8deg)scale(1.06)}.prompt-suggestion:nth-child(2):hover>svg{transform:rotate(6deg)scale(1.07)}.prompt-suggestion:nth-child(3):hover>svg{transform:rotate(-5deg)scale(1.06)}.prompt-suggestion:nth-child(4):hover>svg{transform:rotate(5deg)scale(1.06)}@keyframes prompt-suggestion-enter{to{opacity:1;transform:translateY(0)}}@keyframes task-shortcut-enter{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.task-shortcut,.prompt-suggestion,.new-chat-task-chip,.new-chat-task-chip__task-icon,.new-chat-task-chip__remove-icon{opacity:1;transition:none;animation:none;transform:none}.prompt-suggestion>svg,.prompt-suggestion>span{transition:none}.prompt-suggestion:hover>svg{transform:none}}.composer-meta{min-width:0;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;gap:8px;padding:7px 12px 0;font-size:11px;line-height:1.4;display:flex}.composer-session-line{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.composer-session-id{text-overflow:ellipsis;max-width:300px;font-family:inherit;overflow:hidden}.composer-session-copy{width:18px;height:18px;color:inherit;cursor:pointer;opacity:.72;background:0 0;border:0;border-radius:4px;flex:0 0 18px;place-items:center;padding:0;transition:background .12s,color .12s,opacity .12s;display:inline-grid}.composer-session-copy:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground));opacity:1}.composer-session-copy svg{width:11px;height:11px}.composer-meta-separator{opacity:.55}.comp-input{resize:none;color:hsl(var(--foreground));font:inherit;background:0 0;border:none;outline:none;flex:1;max-height:200px;padding:8px 4px;font-size:15px;line-height:1.5;overflow-y:auto}.comp-input::placeholder{color:hsl(var(--muted-foreground))}.comp-icon{width:36px;height:36px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.comp-icon:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.composer-submit-actions{flex-shrink:0;align-items:center;gap:6px;height:36px;display:flex}.composer--new-chat .composer-submit-actions{display:contents}.comp-send{background:hsl(var(--primary));width:36px;height:36px;color:hsl(var(--primary-foreground));cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,transform .1s;display:flex}.comp-send .icon{width:20px;height:20px}.comp-send:hover:not(:disabled){opacity:.85}.comp-send:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.comp-send:active:not(:disabled){transform:scale(.94)}.comp-send:disabled{opacity:.3;cursor:default}.token-usage-indicator{z-index:3;width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:default;border-radius:999px;outline:none;flex:0 0 28px;place-items:center;transition:background-color .14s,color .14s;display:grid;position:relative}.token-usage-indicator:hover{background:hsl(var(--muted) / .72);color:hsl(var(--foreground) / .68)}.token-usage-indicator:focus-visible{color:hsl(var(--foreground) / .68);outline:2px solid hsl(var(--ring) / .45);outline-offset:1px}.token-usage-ring{width:16px;height:16px;overflow:visible}.token-usage-ring__track,.token-usage-ring__value{fill:none;transform-origin:50%;transform:rotate(-90deg)}.token-usage-ring__track{stroke:hsl(var(--muted-foreground) / .3);stroke-width:2.25px}.token-usage-ring__value{stroke:currentColor;stroke-width:2.75px;stroke-linecap:butt;transition:stroke-dasharray .18s ease-out}.token-usage-tooltip{--token-context-system:#4e545f;--token-context-input:#5685b3;--token-context-output:#c48945;--token-context-remaining:hsl(var(--muted));z-index:30;border:1px solid hsl(var(--border));background:hsl(var(--panel));width:360px;box-shadow:0 10px 30px hsl(var(--foreground) / .12);color:hsl(var(--foreground));text-align:left;visibility:hidden;opacity:0;pointer-events:none;border-radius:12px;padding:12px 14px;font-size:12px;font-weight:400;line-height:1.5;transition:visibility 0s linear .14s,opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 10px);right:-42px;transform:translateY(4px)}.token-usage-indicator:hover .token-usage-tooltip,.token-usage-indicator:focus-visible .token-usage-tooltip{visibility:visible;opacity:1;transition-delay:0s;transform:translateY(0)}.token-usage-tooltip__header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.token-usage-tooltip__header strong{font-size:13px;font-weight:600}.token-usage-tooltip__header span{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:500}.token-usage-tooltip__title{color:hsl(var(--muted-foreground));margin-bottom:4px;font-size:11.5px;font-weight:500}.token-usage-tooltip__unknown{font-size:13px;font-weight:550}.token-context-grid{background:hsl(var(--muted) / .34);border-radius:9px;grid-template-columns:repeat(10,10px);align-self:start;gap:4px;padding:10px;display:grid}.token-context-breakdown{grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:16px;display:grid}.token-context-cell{background:var(--token-context-remaining);width:10px;height:10px;box-shadow:inset 0 0 0 1px hsl(var(--border) / .72);border-radius:2px;display:flex;overflow:hidden}.token-context-cell__slice{min-width:0;height:100%}.token-context-cell__slice.is-system,.token-context-swatch.is-system{background:var(--token-context-system)}.token-context-cell__slice.is-input,.token-context-swatch.is-input{background:var(--token-context-input)}.token-context-cell__slice.is-output,.token-context-swatch.is-output{background:var(--token-context-output)}.token-context-cell__slice.is-remaining,.token-context-swatch.is-remaining{background:var(--token-context-remaining)}.token-context-legend{gap:9px;margin:0;padding:6px 0;display:grid}.token-context-legend>div{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.token-context-legend dt{min-width:0;color:hsl(var(--muted-foreground));white-space:nowrap;align-items:center;gap:5px;display:flex}.token-context-legend dd{white-space:nowrap;margin:0;font-weight:550}.token-context-legend em{background:hsl(var(--muted));border-radius:999px;padding:1px 4px;font-size:9.5px;font-style:normal;font-weight:500;line-height:1.35}.token-context-summary{border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));gap:2px;margin-top:12px;padding-top:10px;font-size:11.5px;display:grid}.token-context-summary strong{color:hsl(var(--foreground));font-weight:600}.token-context-swatch{width:8px;height:8px;box-shadow:inset 0 0 0 1px hsl(var(--border) / .72);border-radius:2px;flex:0 0 8px}.token-usage-tooltip__overflow{color:hsl(var(--destructive));margin-top:9px;font-size:11px;font-weight:500}.token-usage-tooltip__model{border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;margin-top:10px;padding-top:8px;font-size:11px;overflow:hidden}@media (prefers-reduced-motion:reduce){.token-usage-indicator,.token-usage-ring__value,.token-usage-tooltip{transition:none}}.invocation-chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.composer>.invocation-chips{padding:0 8px 8px}.turn--user>.invocation-chips{justify-content:flex-end;margin-bottom:6px}.invocation-chip{border:1px solid hsl(var(--border));background:hsl(var(--background));max-width:260px;min-height:28px;color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .025);border-radius:8px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;font-weight:560;line-height:1.2;display:inline-flex}.invocation-chip--skill{color:#267848}.invocation-chip--agent{color:#2762b0}.invocation-chip>svg{flex:none;width:13px;height:13px}.invocation-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.invocation-chip button{color:currentColor;cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;width:17px;height:17px;margin:-1px -3px -1px 1px;padding:0;display:inline-flex}.invocation-chip button:hover{background:hsl(var(--accent));opacity:1}.invocation-chip button svg{width:11px;height:11px}.composer-command-menu{z-index:34;border:1px solid hsl(var(--border));background:hsl(var(--background));width:min(500px,100vw - 48px);box-shadow:0 2px 7px hsl(var(--foreground) / .08),0 22px 60px -24px hsl(var(--foreground) / .28);transform-origin:0 100%;border-radius:14px;animation:.13s ease-out command-menu-in;position:absolute;bottom:calc(100% + 10px);left:0;overflow:hidden}@keyframes command-menu-in{0%{opacity:0;transform:translateY(5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.composer-command-head{border-bottom:1px solid hsl(var(--border));height:38px;color:hsl(var(--muted-foreground));letter-spacing:.02em;align-items:center;gap:7px;padding:0 10px 0 12px;font-size:11px;font-weight:650;display:flex}.composer-command-head>svg{width:13px;height:13px}.composer-command-head>span{flex:1}.composer-command-menu kbd{border:1px solid hsl(var(--border));background:hsl(var(--canvas));min-width:22px;color:hsl(var(--muted-foreground));text-align:center;border-radius:5px;padding:2px 5px;font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.composer-command-list{max-height:min(330px,42vh);padding:5px;display:grid;overflow-y:auto}.composer-command-item{width:100%;min-height:52px;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;display:grid}.composer-command-item.is-active{background:hsl(var(--accent))}.composer-command-icon{border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.composer-command-icon--skill{color:#218349;background:#e7f8ee}.composer-command-icon--agent{color:#2664b5;background:#e9f1fc}.composer-command-icon svg{width:16px;height:16px}.composer-command-copy{gap:3px;min-width:0;display:grid}.composer-command-copy strong{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:620;line-height:1.2;overflow:hidden}.composer-command-copy>span{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;overflow:hidden}.composer-command-empty{min-height:68px;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;gap:7px;padding:14px;font-size:12px;display:flex}.composer-command-empty svg{width:14px;height:14px}.composer-menu-wrap{flex-shrink:0;position:relative}.composer-menu{z-index:31;background:hsl(var(--background));border:1px solid hsl(var(--border));min-width:168px;box-shadow:0 6px 20px hsl(var(--foreground) / .12);border-radius:12px;margin-bottom:6px;padding:4px;position:absolute;bottom:100%;left:0}.media-grid{flex-wrap:wrap;gap:8px;max-width:min(620px,100%);display:flex}.turn--user .media-grid{justify-content:flex-end}.composer>.media-grid{justify-content:flex-start;padding:0 8px 9px}.media-card{border:1px solid hsl(var(--border));background:hsl(var(--background));width:272px;min-width:0;box-shadow:0 1px 2px hsl(var(--foreground) / .025);border-radius:14px;transition:border-color .16s,box-shadow .16s,transform .16s;position:relative;overflow:visible}.media-card:hover{border-color:hsl(var(--foreground) / .2);box-shadow:0 8px 28px -20px hsl(var(--foreground) / .28);transform:translateY(-1px)}.media-card--image{width:176px}.media-grid--compact .media-card{width:224px}.media-grid--compact .media-card--image{width:92px}.media-card-main{border-radius:inherit;width:100%;min-width:0;height:68px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;padding:10px 12px;display:flex}.media-card-main:disabled{cursor:default}.media-card--image .media-card-main{height:132px;padding:4px;display:block}.media-grid--compact .media-card-main{height:58px;padding:8px 10px}.media-grid--compact .media-card--image .media-card-main{height:72px;padding:3px}.media-card-image{object-fit:cover;background:hsl(var(--muted));border-radius:10px;width:100%;height:100%;display:block}.media-card--image .media-card-copy,.media-card--image .media-card-open{display:none}.media-card-icon{width:40px;height:44px;color:hsl(var(--muted-foreground));background:hsl(var(--muted));border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.media-card--pdf .media-card-icon{color:#db2a24;background:#fdeded}.media-card--video .media-card-icon{color:#226cd3;background:#edf3fd}.media-card--markdown .media-card-icon{color:#259353;background:#ebfaf1}.media-card-icon svg{width:21px;height:21px}.media-card-video-container{background:#131316;place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.media-card-video{object-fit:cover;opacity:.85;width:100%;height:100%}.media-card-video-play{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:50%;place-items:center;width:48px;height:48px;transition:transform .18s,background .18s;display:grid;position:absolute;transform:scale(1)}.media-card-video-play svg{width:20px;height:20px;margin-left:3px}.media-card-main:hover .media-card-video-play{background:#000000b3;transform:scale(1.08)}.media-card-copy{flex:1;gap:5px;min-width:0;display:grid}.media-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:560;line-height:1.2;overflow:hidden}.media-card-meta{min-width:0;color:hsl(var(--muted-foreground));align-items:center;gap:5px;font-size:11px;line-height:1.2;display:flex}.media-card-type{letter-spacing:.06em;font-size:9px;font-weight:700}.media-card-open{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;flex:none;transition:opacity .15s}.media-card:hover .media-card-open{opacity:1}.media-card-spinner{width:12px;height:12px;animation:.85s linear infinite spin}.media-card--error{border-color:hsl(var(--destructive) / .42)}.media-card--error .media-card-meta{color:hsl(var(--destructive))}.media-card-remove{z-index:2;border:1px solid hsl(var(--border));background:hsl(var(--background));width:21px;height:21px;color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .12);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:-7px;right:-7px}.media-card-remove:hover{color:hsl(var(--foreground))}.media-card-remove svg{width:12px;height:12px}.media-viewer-backdrop{z-index:90;-webkit-backdrop-filter:blur(12px)saturate(.8);backdrop-filter:blur(12px)saturate(.8);background:#131316b8;place-items:center;padding:28px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.media-viewer{border:1px solid hsl(var(--foreground) / .13);background:hsl(var(--background));border-radius:18px;flex-direction:column;width:min(1080px,94vw);height:min(820px,90vh);display:flex;overflow:hidden;box-shadow:0 32px 100px #07070875}.media-viewer-header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--background) / .94);justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:9px 12px 9px 18px;display:flex}.media-viewer-header>div{gap:2px;min-width:0;display:grid}.media-viewer-header strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:620;overflow:hidden}.media-viewer-header span{color:hsl(var(--muted-foreground));font-size:11px}.media-viewer-header nav{gap:4px;display:flex}.media-viewer-header a,.media-viewer-header button{width:36px;height:36px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;padding:0;display:inline-flex}.media-viewer-header a:hover,.media-viewer-header button:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.media-viewer-header svg{width:17px;height:17px}.media-viewer-body{background:hsl(var(--canvas));flex:1;min-height:0;overflow:auto}.media-viewer-body--image,.media-viewer-body--video{background:#161618;place-items:center;padding:24px;display:grid}.media-viewer-body--image img,.media-viewer-body--video video{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.media-viewer-video-wrapper{place-items:center;width:100%;display:grid}.media-viewer-video{background:#000;border-radius:12px;max-width:100%;max-height:calc(90vh - 140px);box-shadow:0 4px 20px #0006}.media-viewer-body--pdf iframe{background:#fff;border:none;width:100%;height:100%;display:block}.media-document{border:1px solid hsl(var(--border));background:hsl(var(--background));width:min(820px,100% - 48px);box-shadow:0 12px 38px -30px hsl(var(--foreground) / .3);border-radius:12px;margin:24px auto;padding:34px 40px}.media-document--plain{white-space:pre-wrap;word-break:break-word;min-height:calc(100% - 48px);font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.media-viewer-loading{height:100%;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.media-viewer-loading svg{width:17px;height:17px;animation:.85s linear infinite spin}@media (max-width:640px){.composer-command-menu{width:auto;right:0}.media-card{width:min(272px,82vw)}.media-viewer-backdrop{padding:0}.media-viewer{border:none;border-radius:0;width:100vw;height:100vh}.media-document{width:calc(100% - 24px);margin:12px auto;padding:22px 18px}.md .image-preview-trigger{max-width:100%}}.a2ui-surface{width:100%;max-width:360px;font-size:14px}.a2ui-card{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 1px 2px hsl(var(--foreground) / .04),0 8px 24px -16px hsl(var(--foreground) / .18);border-radius:8px;padding:18px}.a2ui-column,.a2ui-row{gap:10px}.a2ui-text{color:hsl(var(--foreground));margin:0;line-height:1.5}.a2ui-text--h1{letter-spacing:0;font-size:19px;font-weight:650}.a2ui-text--h2{letter-spacing:0;font-size:16px;font-weight:650}.a2ui-text--h3{font-size:14px;font-weight:600}.a2ui-text--h4{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:600}.a2ui-text--caption{color:hsl(var(--muted-foreground));font-size:12px}.a2ui-text--body{font-size:14px}.a2ui-icon{color:hsl(var(--muted-foreground));justify-content:center;align-items:center;font-size:15px;line-height:1;display:inline-flex}.a2ui-divider--h{background:hsl(var(--border));width:100%;height:1px;margin:4px 0}.a2ui-divider--v{background:hsl(var(--border));align-self:stretch;width:1px}.a2ui-button{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));cursor:pointer;font:inherit;border:1px solid #0000;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,opacity .15s}.a2ui-button:hover{background:hsl(var(--accent))}.a2ui-button--primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.a2ui-button--primary:hover{background:hsl(var(--primary));opacity:.88}.a2ui-button--borderless{color:hsl(var(--foreground));background:0 0}.a2ui-button--borderless:hover{background:hsl(var(--accent))}.a2ui-surface[data-a2ui-surface^=flight-]{max-width:520px}.a2ui-surface[data-a2ui-surface^=flight-] .a2ui-card{background:linear-gradient(180deg,#f6fbfe,hsl(var(--card)) 42%),hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .05),0 18px 48px -28px #283d5359;border-color:#d7e0ea;padding:0;overflow:hidden}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-content]{gap:16px;padding:18px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-top]{gap:12px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-brand]{min-width:0}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-brand-icon]{color:#004fa3;background:#006fe61a;border-radius:999px;width:28px;height:28px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-title]{color:#41454e;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-status-chip]{background:#e3f8ed;border:1px solid #bbe7d2;border-radius:999px;flex-shrink:0;gap:6px;padding:5px 9px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-status-chip] .a2ui-icon,.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-status-text]{color:#126e41}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-hero]{background:hsl(var(--background) / .88);border:1px solid #dde6ee;border-radius:8px;gap:16px;padding:18px;position:relative}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-origin],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-destination]{flex:1 1 0;gap:2px;min-width:0}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-origin-code],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-destination-code]{color:#191d24;font-size:34px;font-weight:760;line-height:1}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-origin-label],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-destination-label]{color:#717784;font-size:11px;font-weight:700}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-origin-city],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-destination-city]{color:#545964;font-size:13px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-route-mark]{flex:none;gap:3px;padding:0 4px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-route-icon]{color:#0054ad;background:#006fe61f;border-radius:999px;width:34px;height:34px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-duration],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-aircraft]{white-space:nowrap;font-size:11px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-times],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-details]{gap:10px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-departure-time],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-arrival-time],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-terminal],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-gate],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-boarding]{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;flex:1 1 0;gap:2px;min-width:0;padding:11px 12px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-departure-value],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-arrival-value]{font-size:14px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-departure-airport],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-arrival-airport]{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-terminal-value],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-gate-value],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-boarding-value]{font-size:20px;line-height:1.15}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-footer]{gap:10px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-divider]{background:#d9e0e8;margin:0}@media (max-width:520px){.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-content]{padding:14px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-hero],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-times],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-details]{flex-wrap:wrap}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-route-mark]{order:3;width:100%}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-terminal],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-gate],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-boarding]{min-width:120px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-origin-code],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-destination-code]{font-size:34px}}.a2ui-fallback{background:hsl(var(--muted));border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));border-radius:10px;padding:8px 10px;font-size:12px}.a2ui-fallback pre{margin:6px 0 0;overflow-x:auto}.boot{background:hsl(var(--background));height:100vh}.boot-error{color:hsl(var(--foreground));flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.boot-error p{margin:0}.boot-error button,.login-provider-error button{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font:inherit;cursor:pointer;border-radius:8px;padding:7px 18px;font-size:13px}.boot-error button:hover,.login-provider-error button:hover{background:hsl(var(--accent))}.navbar{background:0 0;flex:0 0 54px;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:0 10px;display:flex}.navbar-left,.navbar-right,.navbar-default,.navbar-portal-slot,.navbar-portal-actions{align-items:center;display:flex}.navbar-left{flex:1;min-width:0;container-type:inline-size}.navbar-default{min-width:0}.navbar-title-group{align-items:center;gap:6px;min-width:0;display:flex}.loading-gap-spinner{box-sizing:border-box;border:1.5px solid #111;border-right-color:#0000;border-radius:50%;flex:0 0 16px;width:16px;height:16px;animation:.7s linear infinite loading-gap-spin;display:inline-block}@keyframes loading-gap-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-gap-spinner{animation-duration:1.4s}}.agent-info-trigger{width:30px;height:30px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:7px;flex:0 0 30px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.agent-info-trigger:hover,.agent-info-trigger[aria-expanded=true]{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.agent-info-trigger:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.agent-info-trigger svg{width:17px;height:17px}.navbar-right{flex:none;gap:10px;min-width:0}.navbar-portal-slot,.navbar-portal-actions{min-width:0}.navbar-portal-slot:empty,.navbar-portal-actions:empty,.navbar-left:has(.navbar-portal-slot:not(:empty))>.navbar-default{display:none}.global-deploy-center{z-index:38;position:relative}.global-deploy-task{border:1px solid hsl(var(--border));background:hsl(var(--background) / .82);max-width:300px;min-height:32px;color:hsl(var(--muted-foreground));font:inherit;white-space:nowrap;cursor:pointer;border-radius:7px;outline:none;align-items:center;gap:7px;padding:0 10px;font-size:12px;transition:border-color .12s,background-color .12s;display:flex}.global-deploy-task:hover{background:hsl(var(--background))}.global-deploy-task:focus-visible{border-color:hsl(var(--ring) / .32);box-shadow:0 0 0 2px hsl(var(--ring) / .07)}.global-deploy-task.is-idle{color:hsl(var(--muted-foreground))}.global-deploy-task.is-running{color:#1863b4;border-color:#0c77e93d}.global-deploy-task.is-success{color:#277c46;border-color:#279b5138}.global-deploy-task.is-error{border-color:hsl(var(--destructive) / .24);color:hsl(var(--destructive))}.global-deploy-task.is-cancelled{color:hsl(var(--muted-foreground))}.global-deploy-task-icon{flex:none;width:14px;height:14px}.global-deploy-task-detail{text-overflow:ellipsis;overflow:hidden}.global-deploy-task-chevron{flex:none;width:13px;height:13px;transition:transform .14s}.global-deploy-task-chevron.is-open{transform:rotate(180deg)}.global-deploy-task-scrim{z-index:1;background:0 0;border:0;padding:0;position:fixed;top:0;right:0;bottom:0;left:0}.global-deploy-popover{z-index:2;border:1px solid hsl(var(--border));background:hsl(var(--background));width:390px;max-width:calc(100vw - 32px);box-shadow:0 14px 36px hsl(var(--foreground) / .14);border-radius:10px;position:absolute;top:40px;right:0;overflow:hidden}.global-deploy-popover-head{border-bottom:1px solid hsl(var(--border));height:44px;color:hsl(var(--foreground));justify-content:space-between;align-items:center;padding:0 14px;font-size:13px;font-weight:650;display:flex}.global-deploy-popover-head span:last-child{background:hsl(var(--secondary));min-width:20px;color:hsl(var(--muted-foreground));text-align:center;border-radius:999px;padding:1px 6px;font-size:11px}.global-deploy-list{max-height:min(520px,100vh - 82px);padding:8px;overflow-y:auto}.global-deploy-empty{color:hsl(var(--muted-foreground));text-align:center;padding:34px 16px;font-size:12.5px}.global-deploy-item{border:1px solid hsl(var(--border) / .8);background:hsl(var(--canvas) / .42);border-radius:8px;padding:12px}.global-deploy-item+.global-deploy-item{margin-top:7px}.global-deploy-item-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.global-deploy-runtime-name{min-width:0;color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.global-deploy-status{color:hsl(var(--muted-foreground));flex:none;font-size:11.5px}.global-deploy-item.is-running .global-deploy-status{color:#1863b4}.global-deploy-item.is-success .global-deploy-status{color:#277c46}.global-deploy-item.is-error .global-deploy-status{color:hsl(var(--destructive))}.global-deploy-item.is-cancelled .global-deploy-status{color:hsl(var(--muted-foreground))}.global-deploy-meta{grid-template-columns:1fr 1fr;gap:9px 14px;margin:11px 0 0;display:grid}.global-deploy-meta>div{min-width:0}.global-deploy-meta dt{color:hsl(var(--muted-foreground));margin-bottom:3px;font-size:10.5px}.global-deploy-meta dd{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;overflow:hidden}.global-deploy-message{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;margin:10px 0 0;font-size:11.5px;line-height:1.45;overflow:hidden}.global-deploy-error{color:hsl(var(--muted-foreground));margin-top:10px;font-size:11.5px}.deploy-error-message-text{-webkit-line-clamp:3;overflow-wrap:anywhere;white-space:pre-wrap;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.deploy-error-message.is-expanded .deploy-error-message-text{-webkit-line-clamp:unset;max-height:280px;display:block;overflow:auto}.deploy-error-message-actions{justify-content:flex-end;gap:2px;margin-top:6px;display:flex}.deploy-error-message-actions button{width:26px;height:26px;color:inherit;cursor:pointer;opacity:.72;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.deploy-error-message-actions button:hover{background:hsl(var(--foreground) / .07);opacity:1}.deploy-error-message-actions button:disabled{cursor:default;opacity:.5}.deploy-error-message-actions .deploy-error-retry{width:auto;font:inherit;gap:5px;margin-right:auto;padding:0 8px;font-size:11.5px;font-weight:600}.deploy-error-message-actions svg{width:14px;height:14px}.global-deploy-progress{background:hsl(var(--foreground) / .08);border-radius:999px;height:3px;margin-top:10px;overflow:hidden}.global-deploy-progress span{border-radius:inherit;background:#2581e4;height:100%;transition:width .18s;display:block}.global-deploy-item-actions{justify-content:flex-end;margin-top:9px;display:flex}.global-deploy-item-actions button{border:1px solid hsl(var(--border));background:hsl(var(--background));min-height:27px;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;border-radius:5px;padding:0 9px;font-size:11.5px}.global-deploy-item-actions button:hover:not(:disabled){border-color:hsl(var(--destructive) / .3);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.global-deploy-item-actions button:disabled{opacity:.55;cursor:default}.navbar-title{letter-spacing:-.01em;color:hsl(var(--foreground));padding:5px 8px;font-size:16px;font-weight:650}.agent-dd{min-width:0;max-width:33.333cqw;position:relative}.agent-dd-trigger{color:hsl(var(--foreground));font:inherit;letter-spacing:-.01em;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;max-width:100%;padding:5px 8px;font-size:16px;font-weight:650;transition:background .12s;display:inline-flex}.agent-dd-trigger:hover{background:hsl(var(--foreground) / .05)}.agent-dd-current{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.agent-dd-chev{opacity:.6;width:16px;height:16px;transition:transform .2s}.agent-dd-chev.open{transform:rotate(180deg)}.agent-switch{letter-spacing:-.01em;align-items:center;gap:6px;min-width:0;max-width:33.333cqw;padding:5px 8px;font-size:16px;font-weight:650;display:inline-flex}.agent-switch-action{width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:7px;flex:0 0 28px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.agent-switch-action:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.agent-switch-action:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.agent-switch-action svg{width:16px;height:16px}@keyframes ddpop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.account{position:relative}.account-avatar{isolation:isolate;background:radial-gradient(circle at var(--avatar-x,32%) var(--avatar-y,30%),hsl(var(--avatar-hue-a,202) 100% 92%) 0 12%,hsl(var(--avatar-hue-a,202) 95% 75% / .76) 34%,transparent 62%),radial-gradient(ellipse at 82% 78%,hsl(var(--avatar-hue-c,185) 86% 49% / .88) 0 18%,transparent 58%),linear-gradient(142deg,hsl(var(--avatar-hue-b,222) 94% 83%),hsl(var(--avatar-hue-b,222) 95% 54%) 52%,hsl(var(--avatar-hue-c,185) 74% 62%));color:#152747e0;cursor:pointer;text-shadow:0 1px 2px #ffffff9e;width:32px;height:32px;box-shadow:none;background-position:20% 12%,80% 80%,50%;background-size:180% 180%,160% 160%,100% 100%;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:filter .16s,transform .16s;animation:9s ease-in-out infinite alternate avatar-smoke-drift;display:flex;position:relative;overflow:hidden}.account-avatar:hover{filter:saturate(1.12)brightness(1.03);transform:scale(1.035)}.account-avatar.has-image{text-shadow:none;animation:none}.account-avatar-image{z-index:1;border-radius:inherit;object-fit:cover;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}@keyframes avatar-smoke-drift{0%{background-position:18% 12%,82% 84%,50%}50%{background-position:58% 42%,54% 62%,50%}to{background-position:82% 70%,26% 24%,50%}}.account-avatar--lg{cursor:default;border-radius:11px;width:40px;height:40px;font-size:16px}.account-pop{z-index:31;background:hsl(var(--panel));border:1px solid hsl(var(--border));min-width:220px;box-shadow:0 8px 28px hsl(var(--foreground) / .14);border-radius:14px;padding:12px;animation:.12s ddpop;position:absolute;top:calc(100% + 8px);right:0}.account-head{align-items:center;gap:10px;display:flex}.account-id{flex:1;min-width:0}.account-name-row{align-items:center;gap:6px;min-width:0;display:flex}.account-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.account-sub{color:hsl(var(--muted-foreground));white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.account-action{width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;font-size:13px;transition:background .12s;display:flex}.account-action+.account-action{margin-top:2px}.account-action:hover{background:hsl(var(--foreground) / .05)}.account-action .icon{width:16px;height:16px;color:hsl(var(--muted-foreground))}.sidebar-footer{flex-shrink:0;margin-top:auto}.sidebar-feedback{width:calc(100% - 20px);height:36px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:32px minmax(0,1fr);align-items:center;column-gap:9px;margin:0 10px;padding:0 10px 0 8px;font-size:14px;transition:background .12s;display:grid}.sidebar-feedback:hover{background:#fffae6}.sidebar-feedback>.icon{justify-self:center}.sidebar-feedback:focus-visible{box-shadow:inset 0 0 0 2px hsl(var(--ring) / .3);outline:none}.sidebar-user{flex-shrink:0;padding:8px 10px 12px;position:relative}.sidebar-user-btn{width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:9px;padding:7px 8px;transition:background .12s;display:flex}.sidebar-user-btn:hover{background:hsl(var(--foreground) / .05)}.sidebar-user-identity{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sidebar-user-primary{align-items:center;gap:6px;min-width:0;display:flex}.sidebar-user-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.sidebar-user-email{text-align:left;min-width:0;color:hsl(var(--muted-foreground));white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.25;overflow:hidden}.studio-role-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:2px 5px;font-size:10px;font-weight:600;line-height:1.2}.studio-role-badge--admin{color:#7027b4;background:#8f37e11c;border-color:#7d2cc93d}.studio-role-badge--developer{color:#976507;background:#fac70f2e;border-color:#ce9b0d4d}.studio-role-badge--user{color:#1b7e43;background:#25b15f1f;border-color:#2994543d}.sidebar.is-collapsed .sidebar-user-btn{justify-content:center;gap:0;width:36px;height:36px;padding:2px;overflow:hidden}.sidebar.is-collapsed .sidebar-feedback{grid-template-columns:1fr;justify-content:center;column-gap:0;width:36px;margin-inline:10px;padding:9px;overflow:hidden}.sidebar.is-collapsed .sidebar-user-identity{display:none}.sidebar.is-collapsed .sidebar-user-pop{width:220px;left:8px;right:auto}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.sidebar-user-pop{position:absolute;inset:auto 10px calc(100% - 4px)}.skillcenter-pager button:focus-visible,.skill-detail-close:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:1px}.skillcenter-status{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:999px;flex-shrink:0;padding:2px 6px;font-size:10.5px;line-height:16px}.skillcenter-status.is-positive{color:#1d7742;background:#e7f8ee}.skillcenter-status.is-progress{color:#8d5911;background:#fdf5e3}.skillcenter-status.is-danger{color:hsl(var(--destructive));background:hsl(var(--destructive) / .09)}.skillcenter-pager{border-top:1px solid hsl(var(--border));height:44px;color:hsl(var(--muted-foreground));flex:0 0 44px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:11.5px;display:flex}.skillcenter-pager-actions{align-items:center;gap:7px;display:flex}.skillcenter-pager-actions>span{text-align:center;min-width:38px}.skillcenter-pager button,.skill-detail-close{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.skillcenter-pager button{width:26px;height:26px;padding:0}.skillcenter-pager button:hover:not(:disabled),.skill-detail-close:hover{color:hsl(var(--foreground));background:hsl(var(--accent))}.skillcenter-pager button:disabled{opacity:.35;cursor:default}.skillcenter-pager button .icon{width:17px;height:17px}.skillcenter-empty,.skillcenter-loading,.skillcenter-error{min-height:130px;color:hsl(var(--muted-foreground));text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;gap:8px;padding:24px;font-size:12.5px;line-height:1.55;display:flex}.skillcenter-error{color:hsl(var(--destructive))}.skillcenter-loading--overlay{z-index:2;background:hsl(var(--background) / .82);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);min-height:0;position:absolute;top:0;right:0;bottom:0;left:0}.skillcenter-loading-mark{border:1.5px solid hsl(var(--foreground) / .16);border-top-color:hsl(var(--foreground) / .62);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite spin}.skill-detail-backdrop{z-index:80;background:hsl(var(--foreground) / .25);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:16px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.skill-detail-dialog{border:1px solid hsl(var(--border));background:hsl(var(--background));width:min(760px,100%);height:min(760px,100%);min-height:0;box-shadow:0 18px 48px hsl(var(--foreground) / .16);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.skill-detail-head{border-bottom:1px solid hsl(var(--border));flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 14px;display:flex}.skill-detail-heading{align-items:flex-start;gap:11px;min-width:0;display:flex}.skill-detail-heading>div{min-width:0}.skill-detail-heading h2{text-overflow:ellipsis;white-space:nowrap;margin:1px 0 4px;font-size:16px;font-weight:650;line-height:22px;overflow:hidden}.skill-detail-heading p{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:17px;display:-webkit-box;overflow:hidden}.skill-detail-close{flex:0 0 30px;width:30px;height:30px;padding:0}.skill-detail-meta{border-bottom:1px solid hsl(var(--border));background:hsl(var(--canvas) / .45);flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:0;padding:14px 18px;display:grid}.skill-detail-meta>div{min-width:0}.skill-detail-meta dt{color:hsl(var(--muted-foreground));margin-bottom:3px;font-size:10.5px}.skill-detail-meta dd{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;line-height:17px;overflow:hidden}.skill-detail-content{flex-direction:column;flex:1;min-height:0;display:flex}.skill-detail-content-title{border-bottom:1px solid hsl(var(--border));flex:0 0 40px;align-items:center;height:40px;padding:0 18px;font-size:12px;font-weight:600;display:flex}.skill-detail-content>.skillcenter-loading,.skill-detail-content>.skillcenter-error,.skill-detail-content>.skillcenter-empty{flex:1;min-height:0}.skill-detail-markdown{overflow-wrap:anywhere;flex:1;min-height:0;padding:18px 22px 28px;overflow-y:auto}@media (max-width:760px){.skill-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.skill-detail-backdrop{padding:8px}.skill-detail-dialog{border-radius:10px}.skill-detail-meta{grid-template-columns:minmax(0,1fr);gap:8px;max-height:180px;overflow-y:auto}}.addagent{flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:8vh 16px 16px;display:flex;overflow-y:auto}.addagent-card{width:100%;max-width:480px}.addagent-title{letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:650}.addagent-sub{color:hsl(var(--muted-foreground));margin:0 0 22px;font-size:13px;line-height:1.6}.addagent-field{margin-bottom:14px;display:block}.addagent-label{color:hsl(var(--muted-foreground));margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.addagent-input{border:1px solid hsl(var(--border));width:100%;font:inherit;background:hsl(var(--background));color:hsl(var(--foreground));border-radius:10px;padding:10px 12px;font-size:14px}.addagent-input:focus{border-color:hsl(var(--ring) / .4);outline:none}.addagent-error{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));border-radius:10px;margin:4px 0 14px;padding:9px 12px;font-size:12.5px;line-height:1.5}.addagent-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.addagent-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;padding:9px 16px;font-size:14px;font-weight:500;transition:background .12s,opacity .12s;display:inline-flex}.addagent-btn--ghost{border-color:hsl(var(--border));color:hsl(var(--foreground));background:0 0}.addagent-btn--ghost:hover{background:hsl(var(--foreground) / .05)}.addagent-btn--primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.addagent-btn--primary:hover:not(:disabled){opacity:.88}.addagent-btn:disabled{opacity:.4;cursor:default}.addagent-btn .icon{width:15px;height:15px}.search{flex-direction:column;flex:1;width:100%;max-width:720px;min-height:0;margin:0 auto;padding:28px 16px 16px;display:flex}.search-box{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:12px;align-items:center;gap:0;padding:5px 6px;transition:border-color .16s,box-shadow .16s;display:flex;position:relative}.search-box:focus-within{border-color:hsl(var(--foreground) / .3);box-shadow:0 0 0 3px hsl(var(--foreground) / .035)}.search-source-picker-wrap{flex:none;position:relative}.search-source-picker{max-width:176px;height:34px;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.search-source-picker:hover,.search-source-picker[aria-expanded=true]{background:hsl(var(--foreground) / .045)}.search-source-picker>span{flex:none;font-size:13px;font-weight:550}.search-source-picker>small{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:400;overflow:hidden}.search-source-chevron{width:12px;height:12px;color:hsl(var(--muted-foreground));flex:none;transition:transform .15s}.search-source-chevron.open{transform:rotate(180deg)}.search-source-menu{z-index:30;border:1px solid hsl(var(--border));background:hsl(var(--panel));width:224px;box-shadow:0 12px 28px hsl(var(--foreground) / .1);border-radius:9px;flex-direction:column;padding:5px;display:flex;position:absolute;top:calc(100% + 9px);left:-6px}.search-source-menu>button{min-width:0;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:2px;padding:8px 9px;display:flex}.search-source-menu>button:hover:not(:disabled),.search-source-menu>button[aria-selected=true]{background:hsl(var(--foreground) / .055)}.search-source-menu>button:disabled{color:hsl(var(--muted-foreground));cursor:default}.search-source-menu>button>span{font-size:12.5px;font-weight:550}.search-source-menu>button>small{max-width:100%;color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.search-box-divider{background:hsl(var(--border));width:1px;height:18px;margin:0 11px 0 5px}.search-input{color:hsl(var(--foreground));font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:15px}.search-input::placeholder{color:hsl(var(--muted-foreground))}.search-input:disabled{cursor:default}.search-go{background:hsl(var(--primary));width:34px;height:34px;color:hsl(var(--primary-foreground));cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,transform .1s;display:flex}.search-go:hover:not(:disabled){opacity:.85}.search-go:active:not(:disabled){transform:scale(.94)}.search-go:disabled{opacity:.3;cursor:default}.search-go .icon{width:17px;height:17px}.search-results{flex-direction:column;flex:1;gap:4px;min-height:0;margin-top:12px;display:flex;overflow-y:auto}.search-empty{text-align:center;color:hsl(var(--muted-foreground));padding:40px 8px;font-size:13px}.search-result{text-align:left;width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;transition:background .12s;display:flex}.search-result:hover{background:hsl(var(--foreground) / .05)}.search-result-static{cursor:default;border:1px solid #0000}.search-result-static:hover{border-color:hsl(var(--border));background:hsl(var(--foreground) / .025)}a.search-result{color:inherit;text-decoration:none}.search-result-ext{vertical-align:-1px;opacity:.6;width:12px;height:12px;margin-left:4px}.search-result-icon{width:16px;height:16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:2px}.search-result-body{flex:1;min-width:0}.search-result-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.search-result-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.search-result-meta{color:hsl(var(--muted-foreground));flex-shrink:0;font-size:11.5px}.search-result-snippet{color:hsl(var(--muted-foreground));-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.search-result-snippet-expanded{-webkit-line-clamp:4;white-space:pre-wrap;overflow-wrap:anywhere}.login{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground));border-radius:14px;flex-direction:column;display:flex;position:fixed;top:10px;right:10px;bottom:10px;left:10px;overflow:hidden}.login-top{padding:18px 24px}.login-brand{letter-spacing:-.01em;align-items:center;gap:9px;font-size:15px;font-weight:600;display:inline-flex}.login-main{flex:1;justify-content:center;align-items:center;padding:0 24px;display:flex}.login-card{width:100%;max-width:420px}.login-title{letter-spacing:-.02em;margin:0 0 14px;font-size:28px;font-weight:700;line-height:1.2}.login-sub{color:hsl(var(--muted-foreground));margin:0 0 28px;font-size:15px}.login-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:15px;font-weight:500;transition:background .15s,border-color .15s,transform .1s;display:flex}.login-btn:hover{background:hsl(var(--accent));border-color:hsl(var(--ring) / .3)}.login-btn:active{transform:scale(.99)}.login-btn .icon{width:18px;height:18px}.login-powered{color:hsl(var(--muted-foreground));margin:18px 0 0;font-size:12px}.login-legal{color:hsl(var(--muted-foreground));margin:6px 0 0;font-size:12px}.login-legal a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:hsl(var(--muted-foreground) / .45);text-decoration-color:hsl(var(--muted-foreground) / .45);text-underline-offset:2px;font-weight:600}.login-legal a:hover{color:hsl(var(--foreground))}.login-footer{text-align:center;color:hsl(var(--muted-foreground));padding:18px 24px;font-size:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.login-providers{flex-direction:column;gap:10px;display:flex}.login-provider-error{color:hsl(var(--destructive));flex-direction:column;align-items:flex-start;gap:12px;font-size:13px;display:flex}.login-provider-error p{margin:0}.login-name{align-items:center;gap:8px;display:flex}.login-name-input{border:1px solid hsl(var(--border));font:inherit;background:hsl(var(--background));color:hsl(var(--foreground));border-radius:14px;flex:1;padding:13px 16px;font-size:15px}.login-name-input:focus{border-color:hsl(var(--ring) / .4);outline:none}.login-name-go{background:hsl(var(--primary));width:36px;height:36px;color:hsl(var(--primary-foreground));cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.login-name-go .icon{width:18px;height:18px}.login-name-go:disabled{opacity:.35;cursor:default}.login-hint{min-height:16px;color:hsl(var(--destructive));margin:8px 0 0;font-size:12px;line-height:16px}.session-loading{z-index:5;color:hsl(var(--muted-foreground));background:hsl(var(--background) / .6);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.main{position:relative}.topo{background:hsl(var(--background));border:1px solid hsl(var(--border));width:288px;min-height:0;box-shadow:0 8px 24px hsl(var(--foreground) / .035);z-index:2;border-radius:18px;flex-direction:column;padding:16px;display:flex;position:absolute;top:28px;bottom:18px;right:18px;overflow:hidden}.topo.is-loading{place-items:center;min-height:88px;display:grid;bottom:auto}.topo.is-drawer{width:auto;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:22px;position:static;overflow:visible}.topo.is-loading.is-drawer{min-height:112px}.topo-loading-label{font-size:12px;line-height:1.5}.topo-agent-card{border:0;border-bottom:1px solid hsl(var(--border) / .72);background:0 0;border-radius:0;flex:none;min-width:0;padding:0 0 16px}.topo-agent-heading{flex-direction:column;gap:4px;min-width:0;display:flex}.topo-agent-heading h2{color:hsl(var(--foreground));letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:650;line-height:1.4;overflow:hidden}.topo-agent-heading>span{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.4;overflow:hidden}.topo-description{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:12px 0 0;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.topo-module-stack{flex:1;grid-template-rows:minmax(124px,.95fr) minmax(142px,1.15fr) minmax(160px,.9fr);gap:0;min-width:0;min-height:0;display:grid}.topo-module-card{background:0 0;border:0;border-radius:0;flex-direction:column;min-width:0;min-height:0;padding:14px 0;display:flex}.topo-module-card+.topo-module-card{border-top:1px solid hsl(var(--border) / .72)}.topo-module-title{min-height:20px;color:hsl(var(--muted-foreground));align-items:center;gap:6px;width:100%;margin-bottom:0;font-size:13px;font-weight:600;line-height:1;display:inline-flex;position:static}.topo-module-label{text-overflow:ellipsis;white-space:nowrap;align-items:center;height:20px;display:inline-flex;overflow:hidden}.topo-section-count{background:hsl(var(--muted) / .72);min-width:18px;height:18px;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:650;line-height:1;display:inline-flex}.topo-remove-capability:disabled,.topo-capability-add-slot:disabled{cursor:not-allowed;opacity:.45}.topo-module-scroll{box-sizing:border-box;overscroll-behavior:contain;scrollbar-color:hsl(var(--border)) transparent;scrollbar-width:thin;flex:1;min-height:24px;padding-top:9px;overflow-y:auto}.topo-module-scroll::-webkit-scrollbar{width:4px}.topo-module-scroll::-webkit-scrollbar-track{background:0 0}.topo-module-scroll::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:999px}.topo-module-scroll:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:3px;border-radius:5px}.topo-tools-scroll{max-height:104px}.topo-skills-scroll{max-height:152px}.topo-tool-list{flex-direction:column;min-width:0;display:flex}.topo-tool{min-width:0;color:hsl(var(--foreground));align-items:center;gap:6px;padding:7px 2px 7px 14px;font-size:12.5px;line-height:1.4;display:flex;position:relative}.topo-tool:before{content:"";border:1px solid hsl(var(--muted-foreground) / .7);border-radius:2px;width:5px;height:5px;position:absolute;top:13px;left:2px}.topo-tool:first-child{padding-top:0}.topo-tool:first-child:before{top:6px}.topo-tool:last-child{padding-bottom:1px}.topo-tool+.topo-tool{border-top:1px solid hsl(var(--border) / .72)}.topo-capability-title,.topo-skill-title{align-items:center;gap:6px;min-width:0;display:flex}.topo-capability-title{flex:1}.topo-capability-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.topo-capability-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.topo-capability-copy code{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9.5px;font-weight:450;line-height:1.25;overflow:hidden}.topo-capability-add-slot{border:1px dashed hsl(var(--border));background:hsl(var(--muted) / .18);width:100%;min-height:34px;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:6px;margin:0;padding:5px 10px;font-size:11.5px;transition:border-color .15s,background .15s,color .15s;display:flex}.topo-capability-add-dock{background:hsl(var(--background));flex:none;padding-top:6px}.topo-capability-add-slot>span:first-child{font-size:15px;line-height:1}.topo-capability-add-slot:hover:not(:disabled){border-color:hsl(var(--primary) / .55);background:hsl(var(--primary) / .055);color:hsl(var(--primary))}.topo-capability-add-slot:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:2px}.topo-custom-badge{background:hsl(var(--primary) / .1);height:17px;color:hsl(var(--primary));border-radius:5px;flex-shrink:0;align-items:center;padding:0 5px;font-size:9.5px;font-weight:650;line-height:1;display:inline-flex}.topo-remove-capability{width:20px;height:20px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;font-size:15px;line-height:1;display:inline-flex}.topo-remove-capability:hover:not(:disabled){background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.topo-skill-list{flex-direction:column;min-width:0;display:flex}.topo-skill{flex-direction:column;gap:2px;min-width:0;padding:8px 0;display:flex}.topo-skill:first-child{padding-top:0}.topo-skill:last-child{padding-bottom:1px}.topo-skill+.topo-skill{border-top:1px solid hsl(var(--border) / .72)}.topo-skill-name{min-width:0;color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500;line-height:1.45;overflow:hidden}.topo-skill-title{width:100%}.topo-skill-description{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.topo-empty{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.topo-topology{min-height:0}.topo-canvas-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.topo-canvas-expand,.topo-canvas-dialog-header button{width:30px;height:30px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.topo-canvas-expand:hover,.topo-canvas-dialog-header button:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.topo-canvas-expand:focus-visible,.topo-canvas-dialog-header button:focus-visible{outline:2px solid hsl(var(--ring) / .5);outline-offset:2px}.topo-canvas-expand svg,.topo-canvas-dialog-header button svg{width:16px;height:16px}.topo-canvas-preview{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:12px;flex:1;min-height:120px;position:relative;overflow:hidden}.topo-canvas-preview .abc-root,.topo-canvas-dialog-body .abc-root{border:0;flex:auto;width:100%;min-width:0;height:100%}.topo-canvas-preview .abc-minimap{display:none}.topo-canvas-dialog{z-index:1200;background:hsl(var(--background));flex-direction:column;min-width:0;min-height:0;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.topo-canvas-dialog-header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:0 24px;display:flex}.topo-canvas-dialog-header>div{align-items:baseline;gap:10px;min-width:0;display:flex}.topo-canvas-dialog-header strong{font-size:15px;font-weight:600}.topo-canvas-dialog-header span{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.topo-canvas-dialog-body{flex:1;min-width:0;min-height:0;padding:16px;display:flex}.topo-canvas-dialog-body .abc-canvas{border:1px solid hsl(var(--border));border-radius:16px;overflow:hidden}@media (max-width:640px){.topo-canvas-dialog-header{padding:0 16px}.topo-canvas-dialog-body{padding:8px}}.topo-canvas-heading .topo-section-count{flex-shrink:0}@media (min-width:1280px){.agent-info-trigger{display:none}.topo:not(.is-drawer) .topo-module-scroll{max-height:none}.main:has(>.topo)>.transcript{padding-right:322px}.main:has(>.topo)>.conversation-composer-slot{padding-left:16px;padding-right:322px}.conversation-composer-slot>.composer-slot>.composer{margin-left:auto;margin-right:auto}}@media (max-width:1279px){.topo{display:none}.topo.is-drawer{display:block}.topo.is-drawer .topo-module-stack{flex-direction:column;display:flex}}@media (prefers-reduced-motion:reduce){.topo-node{transition:none}.topo-node.is-active,.topo-remote{animation:none}}.session-capability-dialog-layer{z-index:110;place-items:center;padding:24px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.session-capability-dialog-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1013187a;border:0;width:100%;height:100%;padding:0;position:absolute;top:0;right:0;bottom:0;left:0}.session-capability-dialog{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:16px;flex-direction:column;width:min(560px,100vw - 32px);max-height:min(720px,100vh - 48px);animation:.18s cubic-bezier(.22,1,.36,1) session-capability-dialog-in;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #0d121c40,0 2px 8px #0d121c1f}.session-capability-dialog.is-wide{width:min(980px,100vw - 48px);height:min(720px,100dvh - 48px)}@keyframes session-capability-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.session-capability-dialog-head{border-bottom:1px solid hsl(var(--border));grid-template-columns:38px minmax(0,1fr) 32px;align-items:center;gap:12px;min-height:76px;padding:16px 18px;display:grid}.session-capability-dialog-head.is-iconless{grid-template-columns:minmax(0,1fr) 32px}.session-capability-dialog-mark{background:hsl(var(--primary) / .09);width:38px;height:38px;color:hsl(var(--primary));border-radius:11px;place-items:center;display:grid}.session-capability-dialog-mark svg{width:20px;height:20px}.session-capability-dialog-head h2{color:hsl(var(--foreground));letter-spacing:-.01em;margin:0;font-size:15px;font-weight:680}.session-capability-dialog-head p{color:hsl(var(--muted-foreground));margin:4px 0 0;font-size:11.5px;line-height:1.45}.session-capability-dialog-close{width:32px;height:32px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.session-capability-dialog-close:hover{background:hsl(var(--muted) / .7);color:hsl(var(--foreground))}.session-capability-dialog-close svg{width:18px;height:18px}.session-capability-search{border:1px solid hsl(var(--border));background:hsl(var(--background));min-width:0;height:40px;color:hsl(var(--muted-foreground));border-radius:6px;flex:0 0 40px;align-items:center;gap:8px;padding:0 12px;display:flex}.session-capability-search:focus-within{border-color:hsl(var(--ring) / .65);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.session-capability-search svg{flex:none;width:16px;height:16px}.session-capability-search input{width:100%;min-width:0;height:100%;color:hsl(var(--foreground));font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:12px}.session-capability-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.session-tool-dialog-body{flex-direction:column;gap:12px;min-height:0;padding:16px;display:flex}.session-tool-picker{overscroll-behavior:contain;flex-direction:column;gap:7px;min-height:120px;display:flex;overflow-y:auto}.session-tool-option,.session-skill-option{border:1px solid hsl(var(--border) / .85);background:hsl(var(--background));border-radius:10px;align-items:center;gap:10px;min-width:0;display:flex}.session-tool-option{min-height:72px;padding:10px 11px}.session-tool-option:hover,.session-skill-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--muted) / .22)}.session-tool-option-icon{background:hsl(var(--muted) / .75);width:32px;height:32px;color:hsl(var(--foreground) / .78);border-radius:9px;flex:0 0 32px;place-items:center;display:grid}.session-tool-option-icon svg{width:17px;height:17px}.session-tool-option-copy,.session-skill-option-copy{flex-direction:column;flex:1;min-width:0;display:flex}.session-tool-option-copy{gap:2px}.session-tool-option-copy strong,.session-skill-option-copy strong{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:620;overflow:hidden}.session-skill-option-copy strong{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.session-tool-option-copy code{color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.session-tool-option-copy>span,.session-skill-option-copy>span{color:hsl(var(--muted-foreground));-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.session-tool-option>button,.session-skill-option>button{background:hsl(var(--foreground));min-width:58px;height:30px;color:hsl(var(--background));font:inherit;cursor:pointer;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.session-tool-option>button:disabled,.session-skill-option>button:disabled{opacity:.42;cursor:default}.session-skill-option>button svg{width:13px;height:13px}.session-skill-dialog-body{flex-direction:column;flex:1;min-height:0;display:flex}.session-skill-source-tabs{border-bottom:1px solid hsl(var(--border));align-items:stretch;gap:24px;min-height:48px;padding:0 18px;display:flex}.session-skill-source-tabs button{color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 2px;font-size:12.5px;font-weight:600;display:inline-flex;position:relative}.session-skill-source-tabs button:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.session-skill-source-tabs button:hover,.session-skill-source-tabs button.is-active{color:hsl(var(--foreground))}.session-skill-source-tabs button.is-active:after{background:hsl(var(--foreground))}.session-skill-source-tabs button>span{background:hsl(var(--muted));height:18px;color:hsl(var(--muted-foreground));border-radius:5px;align-items:center;padding:0 6px;font-size:9.5px;font-weight:600;display:inline-flex}.session-public-skill-browser{flex-direction:column;flex:1;height:min(548px,100vh - 204px);min-height:0;display:flex}.session-public-skill-head{align-items:center;gap:12px;min-height:68px;padding:13px 16px;display:flex}.session-public-skill-head .session-capability-search{flex:1}.session-public-skill-head>span{color:hsl(var(--muted-foreground));flex:none;font-size:10.5px}.session-public-skill-list{overscroll-behavior:contain;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;min-height:0;padding:12px;display:grid;overflow-y:auto}.session-public-skill-list>.session-capability-empty,.session-public-skill-list>.session-capability-loading,.session-public-skill-list>.session-capability-error{grid-column:1/-1}.session-public-skill-option{min-height:106px;padding:11px}.session-public-skill-option .session-skill-option-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-skill-browser{flex:1;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.4fr);height:min(548px,100vh - 204px);min-height:0;display:grid}.session-skill-spaces,.session-skill-results{flex-direction:column;min-width:0;min-height:0;display:flex}.session-skill-spaces{border-right:1px solid hsl(var(--border));background:hsl(var(--muted) / .16)}.session-skill-pane-head{flex-direction:column;gap:10px;min-height:92px;padding:13px 14px;display:flex}.session-skill-pane-head>div{align-items:center;gap:7px;min-width:0;display:flex}.session-skill-pane-head strong{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:650;overflow:hidden}.session-skill-pane-head>div>span{background:hsl(var(--muted));min-width:19px;height:18px;color:hsl(var(--muted-foreground));border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;display:inline-flex}.session-skill-pane-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:7px;min-height:0;padding:10px;display:flex;overflow-y:auto}.session-skill-space{width:100%;min-height:76px;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:9px;padding:10px;display:flex}.session-skill-space:hover{background:hsl(var(--background) / .72)}.session-skill-space.is-active{border-color:hsl(var(--primary) / .28);background:hsl(var(--background));box-shadow:0 1px 3px hsl(var(--foreground) / .06)}.session-skill-space>span:last-child{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.session-skill-space strong,.session-skill-space small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-skill-space strong{font-size:12px;font-weight:620}.session-skill-space small{color:hsl(var(--muted-foreground));font-size:10.5px}.session-skill-space em{color:hsl(var(--muted-foreground));font-size:10px;font-style:normal}.session-skill-option{min-height:82px;padding:11px}.session-skill-option-copy{gap:4px}.session-skill-option-copy small{color:hsl(var(--muted-foreground) / .84);font-size:9.5px}.session-capability-empty,.session-capability-loading,.session-capability-error{min-height:120px;color:hsl(var(--muted-foreground));text-align:center;justify-content:center;align-items:center;font-size:12px;display:flex}.session-capability-error{color:hsl(var(--destructive))}@media (max-width:720px){.session-capability-dialog-layer{padding:12px}.session-capability-dialog.is-wide{width:calc(100vw - 24px);height:calc(100dvh - 24px)}.session-skill-browser{grid-template-rows:minmax(180px,.75fr) minmax(260px,1.25fr);grid-template-columns:1fr;height:min(620px,100vh - 170px)}.session-public-skill-browser{height:min(620px,100vh - 170px)}.session-public-skill-list{grid-template-columns:1fr}.session-skill-spaces{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion:reduce){.session-capability-dialog{animation:none}}.drawer--agent-info{border-right:1px solid hsl(var(--border));width:min(400px,92vw);box-shadow:12px 0 40px hsl(var(--foreground) / .14);border-left:0;animation:.22s cubic-bezier(.22,1,.36,1) agent-info-slide-in;left:0;right:auto}.agent-info-drawer-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}@keyframes agent-info-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.drawer--agent-info,.agent-info-scrim{animation:none}}.quick-create{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:0 24px 6vh;display:flex}.qc-head{text-align:center;margin-bottom:28px}.qc-title{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:650}.qc-sub{color:hsl(var(--muted-foreground));margin:8px 0 0;font-size:14px}.qc-cards{grid-template-columns:repeat(4,220px);justify-content:center;gap:16px;display:grid}@media (max-width:1240px){.qc-cards{grid-template-columns:repeat(2,220px)}}@media (max-width:560px){.qc-cards{grid-template-columns:minmax(0,320px)}}.qc-card{text-align:left;border:1px solid hsl(var(--border));background:hsl(var(--card));cursor:pointer;font:inherit;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:20px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.qc-card:hover{border-color:hsl(var(--ring) / .35);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.qc-card-arrow{width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .15s,transform .15s;position:absolute;top:18px;right:18px;transform:translate(-4px)}.qc-card:hover .qc-card-arrow{opacity:1;transform:translate(0)}.qc-icon{background:hsl(var(--secondary));width:40px;height:40px;color:hsl(var(--foreground));border-radius:12px;justify-content:center;align-items:center;margin-bottom:6px;display:inline-flex}.qc-icon svg{width:20px;height:20px}.qc-card-title{font-size:15px;font-weight:600}.qc-card-desc{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.navbar-title{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(60vw,640px);padding:0;font-size:15px;font-weight:600;overflow:hidden}.create-stub{color:hsl(var(--muted-foreground));flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.create-back{font:inherit;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;align-self:flex-start;margin:12px;font-size:13px}.create-back:hover{color:hsl(var(--foreground))}.navbar-crumbs{align-items:center;gap:4px;min-width:0;display:flex}.navbar-crumbs>.crumb:first-child{padding-left:0}.crumb{letter-spacing:-.01em;white-space:nowrap;border-radius:6px;padding:2px 4px;font-size:15px;font-weight:600}.crumb-link{font:inherit;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;font-weight:500;transition:background .12s,color .12s}.crumb-link:hover{color:hsl(var(--foreground));background:hsl(var(--foreground) / .05)}.crumb-current{color:hsl(var(--foreground))}.crumb-sep{width:15px;height:15px;color:hsl(var(--muted-foreground));flex-shrink:0}.confirm-scrim{z-index:60;background:hsl(var(--foreground) / .25);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.confirm-box{background:hsl(var(--background));border:1px solid hsl(var(--border));width:340px;max-width:calc(100vw - 32px);box-shadow:0 16px 48px -16px hsl(var(--foreground) / .3);border-radius:14px;padding:20px}.confirm-title{margin-bottom:6px;font-size:15px;font-weight:600}.confirm-text{color:hsl(var(--muted-foreground));margin-bottom:18px;font-size:13px;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer;border-radius:8px;padding:7px 14px;font-size:13px;transition:background .12s}.confirm-btn:hover{background:hsl(var(--foreground) / .05)}.confirm-btn--danger{background:hsl(var(--destructive));color:#fff;border-color:#0000}.confirm-btn--danger:hover{background:hsl(var(--destructive) / .9)}.studio-confirm-backdrop{z-index:1200;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:32px;animation:.14s ease-out studio-confirm-fade-in;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.studio-confirm-dialog{border:1px solid hsl(var(--border));background:hsl(var(--background));width:min(420px,100vw - 40px);height:auto;min-height:0;box-shadow:0 24px 64px hsl(var(--foreground) / .16);border-radius:12px;flex-direction:column;animation:.18s cubic-bezier(.2,.8,.2,1) studio-confirm-rise-in;display:flex;overflow:hidden}.studio-confirm-head{border-bottom:1px solid hsl(var(--border));flex:0 0 58px;justify-content:space-between;align-items:center;gap:20px;padding:0 16px 0 18px;display:flex}.studio-confirm-title-wrap{align-items:center;gap:10px;min-width:0;display:flex}.studio-confirm-title-icon{color:#ba6708;background:#f59f0a1f;border-radius:7px;flex:none;place-items:center;width:30px;height:30px;display:grid}.studio-confirm-title-icon svg,.studio-confirm-close svg{width:16px;height:16px}.studio-confirm-title-wrap h2{min-width:0;color:hsl(var(--foreground));margin:0;font-size:14px;font-weight:650;line-height:1.35}.studio-confirm-close{width:30px;height:30px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;transition:background .16s,color .16s;display:grid}.studio-confirm-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-confirm-close:focus-visible,.studio-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.studio-confirm-close:disabled{cursor:not-allowed;opacity:.48}.studio-confirm-body{padding:24px 20px}.studio-confirm-body p{color:hsl(var(--foreground));margin:0;font-size:14px;line-height:1.65}.studio-confirm-actions{border-top:1px solid hsl(var(--border));justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.studio-confirm-actions button{border:1px solid hsl(var(--border));background:hsl(var(--background));min-width:76px;height:34px;color:hsl(var(--foreground));font:inherit;cursor:pointer;border-radius:8px;padding:0 14px;font-size:12px;font-weight:600}.studio-confirm-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.studio-confirm-actions button:disabled{cursor:not-allowed;opacity:.6}.studio-confirm-actions .studio-confirm-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-confirm-actions .studio-confirm-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.studio-confirm-dialog--warning .studio-confirm-title-icon{color:#ba6708;background:#f59f0a1f}.studio-confirm-dialog--danger .studio-confirm-title-icon{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.studio-confirm-dialog--danger .studio-confirm-actions .studio-confirm-primary{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.studio-confirm-dialog--danger .studio-confirm-actions .studio-confirm-primary:hover:not(:disabled){background:hsl(var(--destructive) / .9)}@keyframes studio-confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes studio-confirm-rise-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.studio-confirm-backdrop,.studio-confirm-dialog{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.abc-root{--cw-workbench-toolbar-height: 64px;--cw-workspace-ink: 222 24% 13%;--cw-workspace-accent: 162 44% 32%;--cw-workspace-accent-soft: 156 34% 92%;--cw-workspace-warm: 42 28% 96%;flex:0 1 52%;min-width:460px;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-right:0;background:hsl(var(--background))}.abc-canvas{flex:1;min-height:0;background:hsl(var(--background))}.abc-canvas .react-flow__pane{cursor:grab}.abc-canvas .react-flow__pane:active{cursor:grabbing}.abc-node{--abc-type-tone: 220 9% 24%;--abc-type-soft: 220 10% 97%;--abc-type-border: 220 9% 78%;position:relative;width:220px;height:88px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:12px 14px;border:.5px solid hsl(var(--abc-type-border) / .62);border-radius:13px;background:hsl(var(--panel));box-shadow:0 10px 30px hsl(var(--foreground) / .055);color:hsl(var(--foreground));transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.abc-node:hover{border-color:hsl(var(--abc-type-tone) / .36);box-shadow:0 13px 34px hsl(var(--foreground) / .08)}.abc-node.is-selected{border-color:hsl(var(--abc-type-tone) / .62);box-shadow:0 0 0 1px hsl(var(--abc-type-tone) / .06),0 14px 38px hsl(var(--foreground) / .09)}.abc-node.is-llm{grid-template-columns:minmax(0,1fr);background:hsl(var(--panel))}.abc-node.is-a2a{--abc-type-tone: 213 18% 38%;--abc-type-soft: 214 20% 94%;--abc-type-border: 213 15% 72%;background:linear-gradient(145deg,hsl(var(--abc-type-soft)),hsl(var(--panel)) 58%)}.abc-canvas .react-flow__node-group{padding:0;border:0;border-radius:18px;background:transparent}.abc-group{--abc-type-tone: 213 40% 40%;--abc-type-soft: 214 45% 96%;--abc-type-border: 213 32% 62%;position:relative;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:.5px solid hsl(var(--abc-type-border) / .5);border-radius:18px;background:linear-gradient(180deg,hsl(var(--abc-type-soft) / .88),transparent 88px),hsl(var(--panel) / .72);box-shadow:0 14px 42px hsl(var(--foreground) / .055);transition:border-color .15s ease,box-shadow .15s ease}.abc-group.is-selected{border-color:hsl(var(--abc-type-tone) / .62);box-shadow:0 0 0 1px hsl(var(--abc-type-tone) / .06),0 16px 46px hsl(var(--foreground) / .08)}.abc-group.is-parallel{--abc-type-tone: 40 43% 38%;--abc-type-soft: 43 52% 94%;--abc-type-border: 40 38% 58%;border-style:solid}.abc-group.is-sequential{--abc-type-tone: 213 40% 40%;--abc-type-soft: 214 45% 96%;--abc-type-border: 213 32% 62%}.abc-group.is-llm{--abc-type-tone: 220 9% 24%;--abc-type-soft: 220 10% 97%;--abc-type-border: 220 9% 66%}.abc-group.is-loop{--abc-type-tone: 151 34% 34%;--abc-type-soft: 148 32% 94%;--abc-type-border: 151 28% 55%}.abc-group-head{position:relative;height:64px;display:flex;align-items:center;justify-content:center;padding:9px 56px;border-bottom:1px solid hsl(var(--border) / .75)}.abc-group.is-compact-empty .abc-group-head{border-bottom:0}.abc-group-head>span:first-child{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.abc-group-head strong{color:hsl(var(--abc-type-tone));font-size:13px;letter-spacing:-.02em}.abc-group-head small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;line-height:1.3;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.abc-group-add{height:40px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px dashed hsl(var(--abc-type-tone) / .42);border-radius:10px;background:hsl(var(--background) / .58);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:10px;font-weight:600;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.abc-group-boundary-actions{position:absolute;top:64px;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.abc-group-boundary-add{position:absolute;top:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--abc-type-tone) / .32);border-radius:50%;background:hsl(var(--background) / .94);box-shadow:0 6px 18px hsl(var(--foreground) / .08);color:hsl(var(--abc-type-tone));cursor:pointer;opacity:.72;pointer-events:auto;transform:translateY(-50%);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,opacity .15s ease}.abc-group-boundary-add.is-start{left:18px}.abc-group-boundary-add.is-end{right:18px}.abc-root.is-vertical .abc-group-boundary-actions{top:64px;right:0;bottom:0;left:0}.abc-root.is-vertical .abc-group-boundary-add{left:50%;transform:translate(-50%)}.abc-root.is-vertical .abc-group-boundary-add.is-start{top:18px}.abc-root.is-vertical .abc-group-boundary-add.is-end{top:auto;right:auto;bottom:18px}.abc-group-boundary-add:hover{border-color:hsl(var(--abc-type-tone) / .64);background:hsl(var(--abc-type-soft) / .92);box-shadow:0 8px 22px hsl(var(--foreground) / .1);opacity:1}.abc-group-boundary-add:focus-visible{outline:2px solid hsl(var(--abc-type-tone) / .5);outline-offset:2px;opacity:1}.abc-group-boundary-add svg{width:14px;height:14px}.abc-group-add-empty,.abc-group-add-bottom{position:absolute;right:24px;bottom:24px;left:24px}.abc-group-add:hover{border-color:hsl(var(--abc-type-tone) / .72);background:hsl(var(--abc-type-soft) / .86);color:hsl(var(--abc-type-tone))}.abc-group-add:focus-visible{outline:2px solid hsl(var(--abc-type-tone) / .5);outline-offset:2px}.abc-group-add svg{width:14px;height:14px}.abc-node.is-contained-in-parallel .abc-handle{opacity:0}.abc-node-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:hsl(var(--abc-type-soft));color:hsl(var(--abc-type-tone))}.abc-node-icon svg{width:17px;height:17px}.abc-node-copy{min-width:0;display:flex;flex-direction:column;gap:2px;padding-right:18px}.abc-node-delete{position:absolute;z-index:3;top:7px;right:7px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel) / .96);box-shadow:0 4px 12px hsl(var(--foreground) / .08);color:hsl(var(--muted-foreground));cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-2px) scale(.92);transition:opacity .12s ease,transform .12s ease,border-color .12s ease,color .12s ease}.abc-node:hover>.abc-node-delete,.abc-node:focus-within>.abc-node-delete,.abc-group:hover>.abc-node-delete,.abc-group:focus-within>.abc-node-delete,.abc-node-delete:focus-visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.abc-node-delete:hover{border-color:hsl(var(--destructive) / .32);color:hsl(var(--destructive))}.abc-node-delete:focus-visible{outline:2px solid hsl(var(--destructive) / .34);outline-offset:2px}.abc-node-delete svg{width:12px;height:12px}.abc-group>.abc-node-delete{top:19px;right:12px}.abc-group>.abc-node-delete+.abc-handle{z-index:4}.abc-loop-handle{left:50%!important;opacity:0;pointer-events:none}.abc-node-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--abc-type-tone));font-size:9px;font-weight:700;letter-spacing:.04em}.abc-node-copy>strong{overflow:hidden;font-size:13px;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.abc-node-copy>small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.abc-terminal{width:96px;height:34px;display:flex;align-items:center;justify-content:center;border:.5px solid hsl(var(--border) / .68);border-radius:999px;background:hsl(var(--secondary) / .68);box-shadow:none;color:hsl(var(--foreground) / .76);font-size:10.5px;font-weight:650;letter-spacing:.03em}.abc-handle{width:7px!important;height:7px!important;border:0!important;background:transparent!important;opacity:0!important;pointer-events:none}.abc-group.is-sequential>.abc-handle{background:#3d628f!important}.abc-group.is-parallel>.abc-handle{background:#8b6f37!important}.abc-group.is-loop>.abc-handle,.abc-node.is-contained-in-loop .abc-loop-handle{background:#397458!important}.abc-canvas .react-flow__edge-path{transition:stroke-width .12s ease}.abc-canvas .react-flow__edge:hover .react-flow__edge-path{stroke-width:2.2}.abc-edge-tools{position:absolute;z-index:1002;display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:0;border-radius:999px;pointer-events:all}.abc-canvas .react-flow__edgelabel-renderer{z-index:1002}.abc-edge-hover-path{fill:none;stroke:transparent;stroke-width:22px;pointer-events:stroke}.abc-edge-label{position:absolute;bottom:calc(100% + 1px);left:50%;padding:2px 5px;border-radius:5px;background:hsl(var(--background) / .92);color:hsl(var(--muted-foreground));font-size:10px;font-weight:600;transform:translate(-50%);white-space:nowrap}.abc-edge-add{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--cw-workspace-accent) / .28);border-radius:50%;background:hsl(var(--background));box-shadow:0 4px 12px hsl(var(--foreground) / .1);color:hsl(var(--cw-workspace-accent));cursor:pointer;opacity:0;transform:scale(.82);transition:opacity .14s ease,transform .14s ease,border-color .14s ease}.abc-edge-tools.is-visible .abc-edge-add,.abc-edge-tools:hover .abc-edge-add,.abc-edge-add:focus-visible{border-color:hsl(var(--cw-workspace-accent) / .68);opacity:1;transform:scale(1)}.abc-edge-add:focus-visible{outline:2px solid hsl(var(--cw-workspace-accent) / .5);outline-offset:2px}.abc-edge-add svg{width:11px;height:11px}@media (hover: none){.abc-edge-add{opacity:.88;transform:scale(1)}.abc-node-delete{opacity:1;pointer-events:auto;transform:none}}@media (prefers-reduced-motion: reduce){.abc-node-delete,.abc-edge-add{transition:none}}.abc-canvas .react-flow__controls{overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.abc-canvas .react-flow__controls-button{border-bottom-color:hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.abc-minimap{width:168px!important;height:104px!important;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))!important;box-shadow:0 8px 24px hsl(var(--foreground) / .06)}.abc-minimap-node .abc-minimap-shell,.abc-minimap-node .abc-minimap-icon-mark,.abc-minimap-node .abc-minimap-group-divider{vector-effect:non-scaling-stroke}.abc-minimap-node-agent .abc-minimap-shell{fill:hsl(var(--panel));stroke:#585e6ab8;stroke-width:1.4px}.abc-minimap-node-agent.is-a2a .abc-minimap-shell{fill:#f0f5fa;stroke:#4788aec7}.abc-minimap-agent-icon{fill:#edeff3}.abc-minimap-node-agent.is-a2a .abc-minimap-agent-icon{fill:#dae9f1}.abc-minimap-icon-mark{fill:none;stroke:#4f5f72;stroke-width:1.25px}.abc-minimap-icon-eye{fill:#4f5f72}.abc-minimap-copy-line{fill:hsl(var(--muted-foreground) / .34)}.abc-minimap-copy-line.is-primary{fill:hsl(var(--foreground) / .7)}.abc-minimap-node-terminal .abc-minimap-shell{fill:hsl(var(--cw-workspace-ink));stroke:hsl(var(--panel));stroke-width:1.5px;vector-effect:non-scaling-stroke}.abc-minimap-terminal-dot{fill:hsl(var(--panel) / .82)}.abc-minimap-node-group .abc-minimap-shell{fill:hsl(var(--panel) / .32);stroke:#3d628fc7;stroke-width:1.5px}.abc-minimap-node-group.is-parallel .abc-minimap-shell{stroke:#8b6f37d1}.abc-minimap-node-group.is-sequential .abc-minimap-shell{stroke:#3d628fd1}.abc-minimap-node-group.is-llm .abc-minimap-shell{stroke:#585e6ac7}.abc-minimap-node-group.is-loop .abc-minimap-shell{stroke:#397458d6}.abc-minimap-group-divider{stroke:hsl(var(--border));stroke-width:1px}.abc-minimap-group-title{fill:hsl(var(--muted-foreground) / .42)}.abc-minimap-node.is-selected .abc-minimap-shell{stroke-width:2.5px}.abc-minimap-node-agent.is-selected .abc-minimap-shell{stroke:#2e3138}.abc-minimap-node-group.is-sequential.is-selected .abc-minimap-shell{stroke:#314e72}.abc-minimap-node-group.is-parallel.is-selected .abc-minimap-shell{stroke:#6d572c}.abc-minimap-node-group.is-loop.is-selected .abc-minimap-shell{stroke:#2d5c46}@media (max-width: 1080px){.abc-root{min-width:360px}}@media (max-width: 860px){.abc-root{flex:none;width:100%;min-width:0;height:480px;border-right:0;border-bottom:0}.abc-minimap{display:none}}@media (max-width: 520px){.abc-root{height:430px}}.text-shimmer.text-shimmer{color:transparent;background-size:200% auto;background-position:200% center;background-clip:text;-webkit-background-clip:text;animation:text-shimmer 4s linear infinite}@keyframes text-shimmer{to{background-position:-200% center}}@media (prefers-reduced-motion: reduce){.text-shimmer.text-shimmer{animation:none;background-position:50% center}}@layer components{._LoadingIndicator_7yl6f_1{position:relative;width:var(--indicator-size, 1em);height:var(--indicator-size, 1em);animation:_rotate_7yl6f_1 var(--indicator-rotate-duration, .8s) linear infinite;transition:opacity .15s ease}._LoadingIndicator_7yl6f_1:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border:var(--indicator-stroke, 2px) solid var(--indicator-color, currentcolor);border-radius:50%;content:"";-webkit-mask-image:conic-gradient(rgb(0 0 0 / 0%),rgb(0 0 0));mask-image:conic-gradient(#0000,#000)}._LoadingIndicator_7yl6f_1:after{position:absolute;top:0;left:50%;display:block;width:var(--indicator-stroke, 2px);height:var(--indicator-stroke, 2px);border-radius:100%;margin-left:calc(var(--indicator-stroke, 2px) * -1 / 2);background-color:var(--indicator-color, currentcolor);content:""}@keyframes _rotate_7yl6f_1{0%{transform:rotate(0)}to{transform:rotate(1turn)}}}@layer components{._TransitionGroupChild_1hv1z_1{display:block}}@layer components{._Button_1864l_1{position:relative;display:inline-block;gap:var(--button-gap);flex-shrink:0;height:var(--button-size);padding:0 var(--button-gutter);border-radius:var(--button-radius);cursor:pointer;font-size:var(--button-font-size);font-weight:var(--button-font-weight);line-height:1;transition-duration:var(--transition-duration-basic);transition-property:opacity,color;transition-timing-function:var(--transition-ease-basic);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}._Button_1864l_1:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;content:"";transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,transform,box-shadow,border-color;transition-timing-function:var(--transition-ease-basic);will-change:transform}._Button_1864l_1:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;content:"";pointer-events:none;transition-duration:var(--transition-duration-basic);transition-property:transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._Button_1864l_1:focus{outline:none}._Button_1864l_1:focus-visible:after{outline:2px solid var(--button-ring-color, var(--color-ring));outline-offset:var(--button-ring-offset, 2px)}._Button_1864l_1 svg:where(:not([data-no-autosize])){width:var(--button-icon-size);height:var(--button-icon-size)}:where(._Button_1864l_1 svg:where(:not([data-no-autosize])):first-child:not(:only-child)){margin-left:var(--button-icon-offset, -1px)}:where(._Button_1864l_1 svg:where(:not([data-no-autosize])):last-child:not(:only-child)){margin-right:var(--button-icon-offset, -1px)}._Button_1864l_1:where([data-optically-align=start]){margin-inline-start:calc(var(--button-gutter) * -1)}._Button_1864l_1:where([data-optically-align=end]){margin-inline-end:calc(var(--button-gutter) * -1)}._Button_1864l_1:where([data-optically-align=start][data-uniform]){margin-inline-start:calc(((var(--button-size) - var(--button-icon-size)) / 2) * -1)}._Button_1864l_1:where([data-optically-align=end][data-uniform]){margin-inline-end:calc(((var(--button-size) - var(--button-icon-size)) / 2) * -1)}._Button_1864l_1:where([data-size="3xs"]){--button-size: var(--control-size-3xs);--button-gutter: var(--control-gutter-2xs);--button-font-size: var(--control-font-size-sm);--button-icon-size: var(--control-icon-size-xs);--button-gap: var(--button-gap-sm);--button-radius: var(--control-radius-sm);--button-icon-offset: -1px;--indicator-size: 11px;--circular-progress-size: 11px}._Button_1864l_1:where([data-size="2xs"]){--button-size: var(--control-size-2xs);--button-gutter: var(--control-gutter-xs);--button-font-size: var(--control-font-size-sm);--button-icon-size: var(--control-icon-size-sm);--button-gap: var(--button-gap-md);--button-radius: var(--control-radius-sm);--button-icon-offset: -1px;--indicator-size: 12px;--circular-progress-size: 12px}._Button_1864l_1:where([data-size=xs]){--button-size: var(--control-size-xs);--button-gutter: var(--control-gutter-xs);--button-font-size: var(--control-font-size-md);--button-icon-size: var(--control-icon-size-sm);--button-gap: var(--button-gap-md);--button-radius: var(--control-radius-sm);--button-icon-offset: -1px;--indicator-size: 13px;--circular-progress-size: 14px}._Button_1864l_1:where([data-size=sm]){--button-size: var(--control-size-sm);--button-gutter: var(--control-gutter-sm);--button-font-size: var(--control-font-size-md);--button-icon-size: var(--control-icon-size-md);--button-gap: var(--button-gap-md);--button-radius: var(--control-radius-sm);--button-icon-offset: -1px;--indicator-size: 15px;--circular-progress-size: 15px}._Button_1864l_1:where([data-size=md]){--button-size: var(--control-size-md);--button-gutter: var(--control-gutter-md);--button-font-size: var(--control-font-size-md);--button-icon-size: var(--control-icon-size-md);--button-gap: var(--button-gap-lg);--button-radius: var(--control-radius-md);--button-icon-offset: -1px;--indicator-size: 16px;--circular-progress-size: 16px}._Button_1864l_1:where([data-size=lg]){--button-size: var(--control-size-lg);--button-gutter: var(--control-gutter-md);--button-font-size: var(--control-font-size-md);--button-icon-size: var(--control-icon-size-md);--button-gap: var(--button-gap-lg);--button-radius: var(--control-radius-md);--button-icon-offset: -1px;--indicator-size: 16px;--circular-progress-size: 16px}._Button_1864l_1:where([data-size=xl]){--button-size: var(--control-size-xl);--button-gutter: var(--control-gutter-lg);--button-font-size: var(--control-font-size-md);--button-icon-size: var(--control-icon-size-md);--button-gap: var(--button-gap-lg);--button-radius: var(--control-radius-lg);--button-icon-offset: -1px;--indicator-size: 18px;--circular-progress-size: 18px}._Button_1864l_1:where([data-size="2xl"]){--button-size: var(--control-size-2xl);--button-gutter: var(--control-gutter-lg);--button-font-size: var(--control-font-size-lg);--button-icon-size: var(--control-icon-size-lg);--button-gap: var(--button-gap-lg);--button-radius: var(--control-radius-xl);--button-icon-offset: -2px;--indicator-size: 18px;--circular-progress-size: 18px}._Button_1864l_1:where([data-size="3xl"]){--button-size: var(--control-size-3xl);--button-gutter: var(--control-gutter-xl);--button-font-size: var(--control-font-size-lg);--button-icon-size: var(--control-icon-size-lg);--button-gap: var(--button-gap-lg);--button-radius: var(--control-radius-xl);--button-icon-offset: -2px;--indicator-size: 20px;--circular-progress-size: 20px}._Button_1864l_1:where([data-gutter-size="2xs"]){--button-gutter: var(--control-gutter-2xs)}._Button_1864l_1:where([data-gutter-size=xs]){--button-gutter: var(--control-gutter-xs)}._Button_1864l_1:where([data-gutter-size=sm]){--button-gutter: var(--control-gutter-sm)}._Button_1864l_1:where([data-gutter-size=md]){--button-gutter: var(--control-gutter-md)}._Button_1864l_1:where([data-gutter-size=lg]){--button-gutter: var(--control-gutter-lg)}._Button_1864l_1:where([data-gutter-size=xl]){--button-gutter: var(--control-gutter-xl)}._Button_1864l_1:where([data-icon-size=sm]){--button-icon-size: var(--control-icon-size-sm)}._Button_1864l_1:where([data-icon-size=md]){--button-icon-size: var(--control-icon-size-md)}._Button_1864l_1:where([data-icon-size=lg]){--button-icon-size: var(--control-icon-size-lg)}._Button_1864l_1:where([data-icon-size=xl]){--button-icon-size: var(--control-icon-size-xl)}._Button_1864l_1:where([data-icon-size="2xl"]){--button-icon-size: var(--control-icon-size-2xl)}._Button_1864l_1:where([data-pill]){--button-radius: var(--radius-full);padding:0 calc(var(--button-gutter) * var(--control-gutter-pill-scaling))}._Button_1864l_1:where([data-block]){width:100%}._Button_1864l_1[data-uniform]{--button-gutter: 0;width:var(--button-size)}._Button_1864l_1[data-variant=ghost]{--button-ring-offset: -1px;color:var(--button-text-color)}._Button_1864l_1[data-variant=ghost]:before{background-color:var(--button-background-color);opacity:0;transform:scale(var(--scale))}._Button_1864l_1[data-variant=ghost][aria-expanded=true],._Button_1864l_1[data-variant=ghost][data-state=open]{color:var(--button-text-color-hover)}._Button_1864l_1[data-variant=ghost][aria-expanded=true]:before,._Button_1864l_1[data-variant=ghost][data-state=open]:before{opacity:.6;transform:scale(1)}._Button_1864l_1[data-variant=ghost][data-selected]{color:var(--button-text-color-hover)}._Button_1864l_1[data-variant=ghost][data-selected]:before{opacity:1;transform:scale(1)}@media (hover: hover) and (pointer: fine){._Button_1864l_1[data-variant=ghost]:where(:not([data-disabled])):hover{color:var(--button-text-color-hover)}._Button_1864l_1[data-variant=ghost]:where(:not([data-disabled])):hover:before{opacity:1;transform:scale(1)}}._Button_1864l_1[data-variant=ghost]:where(:not([data-disabled])):active:before{background-color:var(--button-background-color-active);opacity:1;transform:scale(var(--scale))}._Button_1864l_1[data-variant=ghost]:where(:not([data-disabled])):active:after{transform:scale(var(--scale))}._Button_1864l_1[data-variant=ghost]:where([data-color=primary]){--button-background-color: var(--color-background-primary-ghost-hover);--button-background-color-active: var(--color-background-primary-ghost-active);--button-text-color: var(--color-text-primary-ghost);--button-text-color-hover: var(--color-text-primary-ghost-hover);--button-ring-color: var(--color-ring-primary-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=secondary]){--button-background-color: var(--color-background-secondary-ghost-hover);--button-background-color-active: var(--color-background-secondary-ghost-active);--button-text-color: var(--color-text-secondary-ghost);--button-text-color-hover: var(--color-text-secondary-ghost-hover);--button-ring-color: var(--color-ring-secondary-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=danger]){--button-background-color: var(--color-background-danger-ghost-hover);--button-background-color-active: var(--color-background-danger-ghost-active);--button-text-color: var(--color-text-danger-ghost);--button-text-color-hover: var(--color-text-danger-ghost-hover);--button-ring-color: var(--color-ring-danger-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=success]){--button-background-color: var(--color-background-success-ghost-hover);--button-background-color-active: var(--color-background-success-ghost-active);--button-text-color: var(--color-text-success-ghost);--button-text-color-hover: var(--color-text-success-ghost-hover);--button-ring-color: var(--color-ring-success-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=warning]){--button-background-color: var(--color-background-warning-ghost-hover);--button-background-color-active: var(--color-background-warning-ghost-active);--button-text-color: var(--color-text-warning-ghost);--button-text-color-hover: var(--color-text-warning-ghost-hover);--button-ring-color: var(--color-ring-warning-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=caution]){--button-background-color: var(--color-background-caution-ghost-hover);--button-background-color-active: var(--color-background-caution-ghost-active);--button-text-color: var(--color-text-caution-ghost);--button-text-color-hover: var(--color-text-caution-ghost-hover);--button-ring-color: var(--color-ring-caution-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=info]){--button-background-color: var(--color-background-info-ghost-hover);--button-background-color-active: var(--color-background-info-ghost-active);--button-text-color: var(--color-text-info-ghost);--button-text-color-hover: var(--color-text-info-ghost-hover);--button-ring-color: var(--color-ring-info-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=discovery]){--button-background-color: var(--color-background-discovery-ghost-hover);--button-background-color-active: var(--color-background-discovery-ghost-active);--button-text-color: var(--color-text-discovery-ghost);--button-text-color-hover: var(--color-text-discovery-ghost-hover);--button-ring-color: var(--color-ring-discovery-ghost)}._Button_1864l_1[data-variant=solid]{color:var(--button-text-color)}._Button_1864l_1[data-variant=solid]:before{background-color:var(--button-background-color)}._Button_1864l_1[data-variant=solid][aria-expanded=true]:before,._Button_1864l_1[data-variant=solid][data-state=open]:before,._Button_1864l_1[data-variant=solid][data-selected]:before{background-color:var(--button-background-color-hover)}@media (hover: hover) and (pointer: fine){._Button_1864l_1[data-variant=solid]:where(:not([data-disabled])):hover:before{background-color:var(--button-background-color-hover)}}._Button_1864l_1[data-variant=solid]:where(:not([data-disabled])):active:before{background-color:var(--button-background-color-active)}._Button_1864l_1[data-variant=solid]:where(:not([data-disabled])):active:before,._Button_1864l_1[data-variant=solid]:where(:not([data-disabled])):active:after{transform:scale(var(--scale))}._Button_1864l_1[data-variant=solid]:where([data-color=primary]){--button-background-color: var(--color-background-primary-solid);--button-background-color-hover: var(--color-background-primary-solid-hover);--button-background-color-active: var(--color-background-primary-solid-active);--button-text-color: var(--color-text-primary-solid);--button-ring-color: var(--color-ring-primary-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=secondary]){--button-background-color: var(--color-background-secondary-solid);--button-background-color-hover: var(--color-background-secondary-solid-hover);--button-background-color-active: var(--color-background-secondary-solid-active);--button-text-color: var(--color-text-secondary-solid);--button-ring-color: var(--color-ring-secondary-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=success]){--button-background-color: var(--color-background-success-solid);--button-background-color-hover: var(--color-background-success-solid-hover);--button-background-color-active: var(--color-background-success-solid-active);--button-text-color: var(--color-text-success-solid);--button-ring-color: var(--color-ring-success-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=danger]){--button-background-color: var(--color-background-danger-solid);--button-background-color-hover: var(--color-background-danger-solid-hover);--button-background-color-active: var(--color-background-danger-solid-active);--button-text-color: var(--color-text-danger-solid);--button-ring-color: var(--color-ring-danger-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=warning]){--button-background-color: var(--color-background-warning-solid);--button-background-color-hover: var(--color-background-warning-solid-hover);--button-background-color-active: var(--color-background-warning-solid-active);--button-text-color: var(--color-text-warning-solid);--button-ring-color: var(--color-ring-warning-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=caution]){--button-background-color: var(--color-background-caution-solid);--button-background-color-hover: var(--color-background-caution-solid-hover);--button-background-color-active: var(--color-background-caution-solid-active);--button-text-color: var(--color-text-caution-solid);--button-ring-color: var(--color-ring-caution-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=info]){--button-background-color: var(--color-background-info-solid);--button-background-color-hover: var(--color-background-info-solid-hover);--button-background-color-active: var(--color-background-info-solid-active);--button-text-color: var(--color-text-info-solid);--button-ring-color: var(--color-ring-info-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=discovery]){--button-background-color: var(--color-background-discovery-solid);--button-background-color-hover: var(--color-background-discovery-solid-hover);--button-background-color-active: var(--color-background-discovery-solid-active);--button-text-color: var(--color-text-discovery-solid);--button-ring-color: var(--color-ring-discovery-solid)}._Button_1864l_1[data-variant=soft]{color:var(--button-text-color)}._Button_1864l_1[data-variant=soft]:before{background-color:var(--button-background-color)}._Button_1864l_1[data-variant=soft][aria-expanded=true]:before,._Button_1864l_1[data-variant=soft][data-state=open]:before,._Button_1864l_1[data-variant=soft][data-selected]:before{background-color:var(--button-background-color-hover)}@media (hover: hover) and (pointer: fine){._Button_1864l_1[data-variant=soft]:where(:not([data-disabled])):hover:before{background-color:var(--button-background-color-hover)}}._Button_1864l_1[data-variant=soft]:where(:not([data-disabled])):active:before{background-color:var(--button-background-color-active)}._Button_1864l_1[data-variant=soft]:where(:not([data-disabled])):active:before,._Button_1864l_1[data-variant=soft]:where(:not([data-disabled])):active:after{transform:scale(var(--scale))}._Button_1864l_1[data-variant=soft]:where([data-color=primary]){--button-background-color: var(--color-background-primary-soft-alpha);--button-background-color-hover: var(--color-background-primary-soft-alpha-hover);--button-background-color-active: var(--color-background-primary-soft-alpha-active);--button-text-color: var(--color-text-primary-soft);--button-ring-color: var(--color-ring-primary-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=secondary]){--button-background-color: var(--color-background-secondary-soft-alpha);--button-background-color-hover: var(--color-background-secondary-soft-alpha-hover);--button-background-color-active: var(--color-background-secondary-soft-alpha-active);--button-text-color: var(--color-text-secondary-soft);--button-ring-color: var(--color-ring-secondary-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=success]){--button-background-color: var(--color-background-success-soft-alpha);--button-background-color-hover: var(--color-background-success-soft-alpha-hover);--button-background-color-active: var(--color-background-success-soft-alpha-active);--button-text-color: var(--color-text-success-soft);--button-ring-color: var(--color-ring-success-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=danger]){--button-background-color: var(--color-background-danger-soft-alpha);--button-background-color-hover: var(--color-background-danger-soft-alpha-hover);--button-background-color-active: var(--color-background-danger-soft-alpha-active);--button-text-color: var(--color-text-danger-soft);--button-ring-color: var(--color-ring-danger-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=warning]){--button-background-color: var(--color-background-warning-soft-alpha);--button-background-color-hover: var(--color-background-warning-soft-alpha-hover);--button-background-color-active: var(--color-background-warning-soft-alpha-active);--button-text-color: var(--color-text-warning-soft);--button-ring-color: var(--color-ring-warning-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=caution]){--button-background-color: var(--color-background-caution-soft-alpha);--button-background-color-hover: var(--color-background-caution-soft-alpha-hover);--button-background-color-active: var(--color-background-caution-soft-alpha-active);--button-text-color: var(--color-text-caution-soft);--button-ring-color: var(--color-ring-caution-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=info]){--button-background-color: var(--color-background-info-soft-alpha);--button-background-color-hover: var(--color-background-info-soft-alpha-hover);--button-background-color-active: var(--color-background-info-soft-alpha-active);--button-text-color: var(--color-text-info-soft);--button-ring-color: var(--color-ring-info-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=discovery]){--button-background-color: var(--color-background-discovery-soft-alpha);--button-background-color-hover: var(--color-background-discovery-soft-alpha-hover);--button-background-color-active: var(--color-background-discovery-soft-alpha-active);--button-text-color: var(--color-text-discovery-soft);--button-ring-color: var(--color-ring-discovery-soft)}._Button_1864l_1[data-variant=outline]{--button-ring-offset: -1px;color:var(--button-text-color)}._Button_1864l_1[data-variant=outline]:before{background-color:transparent;box-shadow:0 0 0 1px var(--button-border-color) inset,var(--button-shadow-custom, 0 0 #00000000)}._Button_1864l_1[data-variant=outline][aria-expanded=true],._Button_1864l_1[data-variant=outline][data-state=open],._Button_1864l_1[data-variant=outline][data-selected]{color:var(--button-text-color-hover)}._Button_1864l_1[data-variant=outline][aria-expanded=true]:before,._Button_1864l_1[data-variant=outline][data-state=open]:before,._Button_1864l_1[data-variant=outline][data-selected]:before{background-color:var(--button-background-color-hover);box-shadow:0 0 0 1px var(--button-border-color-hover) inset,var(--button-shadow-custom, 0 0 #00000000)}@media (hover: hover) and (pointer: fine){._Button_1864l_1[data-variant=outline]:where(:not([data-disabled])):hover{color:var(--button-text-color-hover)}._Button_1864l_1[data-variant=outline]:where(:not([data-disabled])):hover:before{background-color:var(--button-background-color-hover);box-shadow:0 0 0 1px var(--button-border-color-hover) inset,var(--button-shadow-custom, 0 0 #00000000)}}._Button_1864l_1[data-variant=outline]:where(:not([data-disabled])):active:before{background-color:var(--button-background-color-active);transform:scale(var(--scale))}._Button_1864l_1[data-variant=outline]:where(:not([data-disabled])):active:after{transform:scale(var(--scale))}._Button_1864l_1[data-variant=outline]:where([data-color=primary]){--button-background-color-hover: var(--color-background-primary-outline-hover);--button-background-color-active: var(--color-background-primary-outline-active);--button-border-color: var(--color-border-primary-outline);--button-border-color-hover: var(--color-border-primary-outline-hover);--button-text-color: var(--color-text-primary-outline);--button-text-color-hover: var(--color-text-primary-outline-hover);--button-ring-color: var(--color-ring-primary-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=secondary]){--button-background-color-hover: var(--color-background-secondary-outline-hover);--button-background-color-active: var(--color-background-secondary-outline-active);--button-border-color: var(--color-border-secondary-outline);--button-border-color-hover: var(--color-border-secondary-outline-hover);--button-text-color: var(--color-text-secondary-outline);--button-text-color-hover: var(--color-text-secondary-outline-hover);--button-ring-color: var(--color-ring-secondary-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=danger]){--button-background-color-hover: var(--color-background-danger-outline-hover);--button-background-color-active: var(--color-background-danger-outline-active);--button-border-color: var(--color-border-danger-outline);--button-border-color-hover: var(--color-border-danger-outline-hover);--button-text-color: var(--color-text-danger-outline);--button-text-color-hover: var(--color-text-danger-outline-hover);--button-ring-color: var(--color-ring-danger-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=success]){--button-background-color-hover: var(--color-background-success-outline-hover);--button-background-color-active: var(--color-background-success-outline-active);--button-border-color: var(--color-border-success-outline);--button-border-color-hover: var(--color-border-success-outline-hover);--button-text-color: var(--color-text-success-outline);--button-text-color-hover: var(--color-text-success-outline-hover);--button-ring-color: var(--color-ring-success-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=warning]){--button-background-color-hover: var(--color-background-warning-outline-hover);--button-background-color-active: var(--color-background-warning-outline-active);--button-border-color: var(--color-border-warning-outline);--button-border-color-hover: var(--color-border-warning-outline-hover);--button-text-color: var(--color-text-warning-outline);--button-text-color-hover: var(--color-text-warning-outline-hover);--button-ring-color: var(--color-ring-warning-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=caution]){--button-background-color-hover: var(--color-background-caution-outline-hover);--button-background-color-active: var(--color-background-caution-outline-active);--button-border-color: var(--color-border-caution-outline);--button-border-color-hover: var(--color-border-caution-outline-hover);--button-text-color: var(--color-text-caution-outline);--button-text-color-hover: var(--color-text-caution-outline-hover);--button-ring-color: var(--color-ring-caution-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=info]){--button-background-color-hover: var(--color-background-info-outline-hover);--button-background-color-active: var(--color-background-info-outline-active);--button-border-color: var(--color-border-info-outline);--button-border-color-hover: var(--color-border-info-outline-hover);--button-text-color: var(--color-text-info-outline);--button-text-color-hover: var(--color-text-info-outline-hover);--button-ring-color: var(--color-ring-info-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=discovery]){--button-background-color-hover: var(--color-background-discovery-outline-hover);--button-background-color-active: var(--color-background-discovery-outline-active);--button-border-color: var(--color-border-discovery-outline);--button-border-color-hover: var(--color-border-discovery-outline-hover);--button-text-color: var(--color-text-discovery-outline);--button-text-color-hover: var(--color-text-discovery-outline-hover);--button-ring-color: var(--color-ring-discovery-outline)}._Button_1864l_1[disabled]{pointer-events:none}._Button_1864l_1[data-disabled][data-variant]{--button-background-color: var(--color-background-disabled);--button-border-color: var(--color-border-disabled);--button-text-color: var(--color-text-disabled);cursor:not-allowed;pointer-events:auto}._Button_1864l_1[data-disabled][data-variant]:active:before{transform:scale(1)}._Button_1864l_1[data-disabled][data-variant][data-disabled-tone=relaxed]{cursor:default}._ButtonInner_1864l_4{position:relative;display:flex;flex-direction:inherit;align-items:center;justify-content:center;gap:inherit;width:100%;height:100%;transition:opacity .15s ease .1s}[data-loading] ._ButtonInner_1864l_4{opacity:0;transition:opacity .3s ease}._ButtonLoader_1864l_749{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;pointer-events:none}._ButtonLoader_1864l_749[data-entering]{opacity:0}._ButtonLoader_1864l_749[data-exiting]{opacity:1}._ButtonLoader_1864l_749[data-entering-active],._ButtonLoader_1864l_749[data-entering][data-interrupted]{opacity:1;transition:opacity .15s ease .1s}._ButtonLoader_1864l_749[data-exiting-active],._ButtonLoader_1864l_749[data-exiting][data-interrupted]{opacity:0;transition:opacity .15s ease}}@layer components{._EmptyMessage_1r5gu_1{display:flex;flex-direction:column;align-items:center;justify-content:center}._EmptyMessage_1r5gu_1[data-fill=static]{width:100%;height:100%}._EmptyMessage_1r5gu_1[data-fill=absolute]{position:absolute;top:0;right:0;bottom:0;left:0}._IconBadge_1r5gu_16{--badge-size: 40px;--icon-size: 24px;display:flex;align-items:center;justify-content:center;width:var(--badge-size);height:var(--badge-size);border-radius:var(--radius-md);margin:0 0 12px;background:var(--badge-background-color);color:var(--badge-text-color)}._IconBadge_1r5gu_16 svg{width:var(--icon-size);height:var(--icon-size)}._IconBadge_1r5gu_16[data-size=sm]{--badge-size: 32px;--icon-size: 20px}._IconBadge_1r5gu_16[data-color=secondary]{--badge-background-color: var(--color-background-secondary-soft);--badge-text-color: var(--color-text-secondary-soft)}._IconBadge_1r5gu_16[data-color=warning]{--badge-background-color: var(--color-background-warning-soft);--badge-text-color: var(--color-text-warning-soft)}._IconBadge_1r5gu_16[data-color=danger]{--badge-background-color: var(--color-background-danger-soft);--badge-text-color: var(--color-text-danger-soft)}._Title_1r5gu_54{max-width:90%;color:var(--color-text);font-size:16px;font-weight:var(--font-weight-semibold);text-align:center;text-wrap:balance}._Title_1r5gu_54:where([data-color=danger]){color:var(--color-text-danger)}._Title_1r5gu_54:where([data-color=warning]){color:var(--color-text-warning)}._Description_1r5gu_69{max-width:90%;margin:6px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:1.45;text-align:center;text-wrap:balance}._ActionRow_1r5gu_77{margin-top:calc(var(--spacing) * 4)}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! + Theme: GitHub + Description: Light theme as seen on github.com + Author: github.com + Maintainer: @Hirse + Updated: 2021-05-15 + + Outdated base version: https://github.com/primer/github-syntax-light + Current colors taken from GitHub's CSS +*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.builtin-tool-head{--builtin-tool-accent: 215 18% 42%;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:3px 7px 3px 3px;border:0;border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;transition:color .12s ease}.builtin-tool-head[data-tool-tone=search]{--builtin-tool-accent: 211 62% 42%}.builtin-tool-head[data-tool-tone=image]{--builtin-tool-accent: 28 67% 42%}.builtin-tool-head[data-tool-tone=video]{--builtin-tool-accent: 260 38% 48%}.builtin-tool-head[data-tool-tone=presentation]{--builtin-tool-accent: 252 38% 52%}.builtin-tool-head[data-tool-tone=memory]{--builtin-tool-accent: 174 52% 34%}.builtin-tool-head[data-tool-tone=knowledge]{--builtin-tool-accent: 225 48% 45%}.builtin-tool-head[data-tool-tone=skill]{--builtin-tool-accent: 154 50% 34%}.builtin-tool-head[data-tool-tone=sandbox]{--builtin-tool-accent: 32 67% 42%}.builtin-tool-head:hover{color:hsl(var(--foreground))}.builtin-tool-icon{position:relative;width:20px;height:26px;flex:0 0 20px;display:grid;place-items:center;color:hsl(var(--builtin-tool-accent))}.builtin-tool-icon>svg{width:18px;height:18px}.builtin-tool-label{font-size:14.5px;font-weight:400;line-height:1.35}.builtin-tool-head.is-done .builtin-tool-label{color:hsl(var(--muted-foreground))}.builtin-tool-chevron{width:13px;height:13px;flex:0 0 13px;opacity:.58;transition:transform .18s ease}.builtin-tool-chevron.is-open{transform:rotate(90deg)}.skill-conversation{min-height:220px;margin:0 0 16px;padding:8px 0 18px}.skill-conversation .bubble{font-size:13px;line-height:1.65}.skill-conversation .think-head,.skill-conversation .tool-head,.skill-conversation .builtin-tool-head{display:grid;grid-template-columns:20px minmax(0,1fr) 13px;align-items:center;gap:8px;width:100%;min-height:38px;padding:4px 0;text-align:left}.skill-conversation .think-label,.skill-conversation .tool-name,.skill-conversation .builtin-tool-label{min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere;text-align:left}.skill-conversation .think-icon,.skill-conversation .tool-icon,.skill-conversation .builtin-tool-icon{width:20px;height:26px}.skill-conversation .chev,.skill-conversation .tool-chevron,.skill-conversation .builtin-tool-chevron{justify-self:end}.skill-generation{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:hsl(var(--background));color:hsl(var(--foreground))}.skillcenter{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.skillcenter-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.skillcenter-page-heading{min-width:0}.skillcenter-page-heading--back{display:flex;align-items:center;gap:8px}.skillcenter-page-heading--back>div{min-width:0}.skillcenter-page-heading h1{max-width:min(620px,55vw);margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.skillcenter-page-heading p{display:-webkit-box;max-width:680px;margin:6px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skillcenter-back{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-back svg{width:18px;height:18px}.skillcenter-search{width:min(320px,38vw);height:36px;flex:0 0 auto;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.skillcenter-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.skillcenter-search svg{width:16px;height:16px;flex:0 0 16px}.skillcenter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.skillcenter-search input::placeholder{color:hsl(var(--muted-foreground))}.skillcenter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.skillcenter-toolbar-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.my-agent-type-bar.skillcenter-list-toolbar{justify-content:flex-end}.skillcenter-detail-facts{min-width:0;display:flex;align-items:center;gap:24px}.skillcenter-detail-facts>div{min-width:72px;display:grid;gap:3px}.skillcenter-detail-facts span{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.2}.skillcenter-detail-facts strong{max-width:220px;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-primary-action,.skillcenter-secondary-action{min-width:max-content;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.skillcenter-primary-action{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.skillcenter-primary-action:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.skillcenter-secondary-action:hover{background:hsl(var(--secondary))}.skillcenter-secondary-action.is-danger{color:hsl(var(--destructive))}.skillcenter-secondary-action.is-danger:hover:not(:disabled){border-color:hsl(var(--destructive) / .24);background:hsl(var(--destructive) / .06)}.skillcenter-secondary-action:disabled{cursor:not-allowed;opacity:.48}.skillcenter-primary-action:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.skillcenter-primary-action svg{width:15px;height:15px}.skillcenter-disabled-action{position:relative;display:inline-flex;border-radius:8px}.skillcenter-disabled-action.is-disabled{cursor:not-allowed}.skillcenter-disabled-action.is-disabled>button{cursor:inherit}.skillcenter-disabled-tooltip{position:absolute;z-index:30;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.skillcenter-disabled-action.is-top .skillcenter-disabled-tooltip{bottom:calc(100% + 8px);transform:translate(-50%,3px)}.skillcenter-disabled-action.is-bottom .skillcenter-disabled-tooltip{top:calc(100% + 8px);transform:translate(-50%,-3px)}.skillcenter-disabled-action.is-inside .skillcenter-disabled-tooltip{top:50%;transform:translate(-50%,calc(-50% + 3px))}.skillcenter-disabled-action.is-disabled:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled:focus-visible .skillcenter-disabled-tooltip{opacity:1}.skillcenter-disabled-action.is-disabled.is-top:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-top:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-bottom:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-bottom:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-inside:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-inside:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%,-50%)}.skillcenter-disabled-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.skillcenter-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.skillcenter-space-card{position:relative}.my-agent-card.skillcenter-space-card{overflow:visible}.my-agent-card.skillcenter-space-card:hover{transform:none}.skillcenter-back:focus-visible,.skillcenter-primary-action:focus-visible,.skillcenter-secondary-action:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.my-agent-actions.skillcenter-card-actions{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr)) 28px}.skillcenter-card-actions .skillcenter-card-more{width:28px;min-height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-card-more:hover,.skillcenter-card-more[aria-expanded=true]{background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.skillcenter-card-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:1px}.skillcenter-card-menu{position:relative;z-index:30}.skillcenter-card-more svg{width:16px;height:16px}.skillcenter-card-menu__popover{position:absolute;z-index:20;right:0;bottom:calc(100% + 6px);width:132px;box-sizing:border-box;padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .14)}.skillcenter-card-menu__popover button{width:100%;min-height:32px;display:flex;align-items:center;padding:0 9px;border:0;border-radius:5px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.skillcenter-card-menu__popover button:hover,.skillcenter-card-menu__popover button:focus-visible{outline:0;background:hsl(var(--secondary))}.skillcenter-card-menu__popover button.is-danger{color:hsl(var(--destructive))}.skillcenter-card-menu__popover button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.skillcenter-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.skillcenter-table th{height:42px;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:11px;font-weight:560;text-align:left}.skillcenter-table th:first-child{width:auto}.skillcenter-table th:nth-child(2){width:104px}.skillcenter-table th:nth-child(3){width:180px}.skillcenter-table td{height:72px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.skillcenter-table tbody tr:last-child td{border-bottom:0}.skillcenter-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.skillcenter-table__skill button{width:100%;display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.skillcenter-table__title-row{min-width:0;display:flex;align-items:center;gap:7px}.skillcenter-table__skill strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__skill .skillcenter-table__version-badge{flex:0 0 auto;padding:2px 6px;overflow:visible;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .6);color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.2}.skillcenter-table__skill .skillcenter-table__description{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__actions-heading{text-align:right!important}.skillcenter-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.skillcenter-table__actions button,.skill-detail-actions button{min-height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skillcenter-table__actions button:hover:not(:disabled),.skill-detail-actions button:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-table__actions button:disabled,.skill-detail-actions button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table__actions button.is-danger{color:hsl(var(--destructive))}.skillcenter-inline-error{margin-top:16px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors.is-full-page{min-height:260px;align-items:center;justify-content:center;margin:0;border:0;background:transparent}.skillcenter-space-errors__content{min-width:0;width:min(680px,100%);display:grid;gap:10px}.skillcenter-space-errors__content>strong{font-size:13px;font-weight:600}.skillcenter-space-errors__content>section{min-width:0;display:grid;gap:4px}.skillcenter-space-errors__content>section>span{color:hsl(var(--foreground));font-size:11.5px;font-weight:600}.skillcenter-space-errors .skill-error-details{min-width:0;width:100%;color:inherit}.skillcenter-space-errors .skill-error-details__summary,.skillcenter-space-errors .skill-error-details__original{text-align:left}.skillcenter-space-errors .skill-error-details summary{margin-left:0}.skillcenter-space-errors>button{min-height:30px;flex:0 0 auto;padding:0 10px;border:1px solid hsl(var(--destructive) / .22);border-radius:7px;background:hsl(var(--panel));color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px}.skillcenter-page-state{min-height:300px;display:grid;place-items:center}.skillcenter-page-state.is-error{color:hsl(var(--destructive))}.skill-error-details{width:min(620px,100%);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:left}.skill-error-details__summary{text-align:center}.skill-error-details__original{margin-top:7px;color:hsl(var(--destructive));overflow-wrap:anywhere;text-align:center}.skill-error-details details{margin-top:9px}.skill-error-details summary{width:max-content;margin:0 auto;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.skill-error-details pre{max-height:220px;margin:8px 0 0;padding:10px 12px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .45);color:hsl(var(--foreground));font:inherit;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.skill-inline-error .skill-error-details,.skill-generation__action-error .skill-error-details{width:100%;color:inherit}.skill-inline-error .skill-error-details__summary,.skill-inline-error .skill-error-details__original,.skill-generation__action-error .skill-error-details__summary,.skill-generation__action-error .skill-error-details__original{text-align:left}.skill-inline-error .skill-error-details summary,.skill-generation__action-error .skill-error-details summary{margin-left:0}.skillcenter-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:hsl(var(--muted-foreground));font-size:12.5px}.skillcenter .skillcenter-pager{height:44px;margin-top:20px;padding:0;border-top:0}.skillcenter .skillcenter-pager-actions{padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel))}.skillcenter .skillcenter-pager button{width:28px;height:28px}.skill-detail-heading{flex:1 1 auto;overflow:hidden}.skill-detail-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.skill-detail-actions button{flex:0 0 auto;white-space:nowrap}.skill-detail-content--files{min-height:0}.skill-detail-content--files .skill-file-browser{min-height:420px;height:min(58vh,620px);border-top:1px solid hsl(var(--border))}.skill-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .28)}.skill-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(680px,calc(100vh - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 18px 48px hsl(var(--foreground) / .18)}.skill-dialog>header,.skill-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 16px}.skill-dialog>header{border-bottom:1px solid hsl(var(--border))}.skill-dialog>footer{justify-content:flex-end;border-top:1px solid hsl(var(--border))}.skill-dialog h2{margin:0;font-size:17px;font-weight:620}.skill-dialog>header>button{min-width:36px;min-height:32px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-dialog__body{min-height:0;padding:16px;overflow-y:auto}.skill-dialog__body label{display:grid;gap:6px;margin-bottom:14px;font-size:13px;font-weight:550}.skill-dialog__body input,.skill-dialog__body textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.skill-dialog__body input{min-height:36px;padding:6px 9px}.skill-dialog__body textarea{min-height:88px;padding:9px;resize:vertical}.skill-dialog__body p{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-dialog__file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:hsl(var(--muted) / .6);font-size:12px}.skill-dialog__file strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.skill-dialog__file span{flex:0 0 auto;color:hsl(var(--muted-foreground))}.skill-upload-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px))}.skill-upload-dialog__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.skill-upload-dropzone{width:100%;min-height:min(42vh,360px);display:grid;place-content:center;gap:8px;box-sizing:border-box;padding:32px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.skill-upload-dropzone:hover,.skill-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.skill-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-upload-dropzone strong{font-size:15px;font-weight:600}.skill-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:13px}.skill-add-dialog{grid-template-rows:auto minmax(0,1fr);width:min(460px,100%)}.skill-add-dialog>header>div{min-width:0}.skill-add-dialog>header p{margin:2px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.skill-add-dialog__options{display:grid;gap:10px;padding:16px}.skill-add-dialog__options>.skillcenter-disabled-action,.skill-add-dialog__options>.skillcenter-disabled-action>button{width:100%}.skill-add-dialog__options button{min-height:76px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.skill-add-dialog__options button:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .48)}.skill-add-dialog__options button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-add-dialog__options button:disabled{cursor:not-allowed;opacity:.52}.skill-add-dialog__options strong{font-size:13.5px;font-weight:600}.skill-add-dialog__options button>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.skill-generation__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:32px 32px 0;background:hsl(var(--background))}.skill-generation__header h1,.skill-generation__header p,.skill-generation__activity h2,.skill-generation__files h2{margin:0}.skill-generation__header h1{font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.skill-generation__header p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.skill-generation__ttl{color:hsl(var(--muted-foreground));font-size:12px}.skill-button{min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer}.skill-button:hover:not(:disabled){background:hsl(var(--muted) / .72)}.skill-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.skill-button:disabled{cursor:not-allowed;opacity:.5}.skill-button--quiet{background:transparent}.skill-button--primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-button--primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.skill-generation__setup{min-height:0;flex:1;margin:21px 29px 0;padding:3px 3px 48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.skill-generation__setup>label,.skill-generation__group label{display:grid;gap:6px;margin-bottom:16px;font-size:14px;font-weight:400}.skill-generation textarea,.skill-generation input{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400}.skill-generation input{height:36px;padding:0 10px}.skill-generation textarea{min-height:88px;padding:9px 10px;line-height:1.55;resize:vertical}.skill-generation textarea:focus-visible,.skill-generation input:focus-visible{outline:none;border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-generation input[aria-invalid=true]{border-color:hsl(var(--destructive) / .55);box-shadow:0 0 0 1px hsl(var(--destructive) / .12)}.skill-generation__field-help,.skill-generation__field-error{min-height:18px;font-size:12px;font-weight:400;line-height:1.5}.skill-generation__field-help{color:hsl(var(--muted-foreground))}.skill-generation__field-error{color:hsl(var(--destructive))}.skill-generation__section-head{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.skill-generation__section-head.is-basic{margin-top:0}.skill-generation__section-head div{display:grid;gap:2px}.skill-generation__section-head strong{font-size:17px;font-weight:620}.skill-generation__section-head span{color:hsl(var(--muted-foreground));font-size:12px}.skill-generation__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;isolation:isolate}.skill-generation__group{position:relative;min-width:0;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))}.skill-generation__group header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.skill-generation__group header button{border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__group label{margin-bottom:10px;font-size:12px}.skill-generation__group textarea{min-height:72px}.skill-generation__add-group{min-width:0;display:grid;place-items:center;padding:16px;border:1px dashed hsl(var(--border));border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.skill-generation__add-group:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .3);color:hsl(var(--foreground))}.skill-generation__add-group:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-generation__setup-actions{display:flex;justify-content:flex-end;margin-top:18px}.skill-config-select{position:relative;z-index:1;display:grid;gap:6px;margin-bottom:10px}.skill-config-select.is-open{z-index:100}.skill-config-select__label{color:hsl(var(--foreground));font-size:12px;font-weight:400;line-height:1.45}.skill-required-mark{margin-left:3px;color:hsl(var(--destructive))}.skill-config-select__trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.skill-config-select__trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.skill-config-select__trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.skill-config-select__trigger:disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable{padding:0 0 0 12px;cursor:text}.skill-config-select__trigger.is-editable.is-disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable:focus-within{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger.is-editable input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:none;background:transparent;color:inherit;font:inherit}.skill-config-select__trigger.is-editable input::placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__toggle{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:0;border:0;border-radius:0 5px 5px 0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skill-config-select__toggle:hover:not(:disabled){background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.skill-config-select__toggle:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-3px}.skill-config-select__toggle:disabled{cursor:default;opacity:.45}.skill-config-select__trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-config-select__trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__trigger svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground));transition:transform .16s ease}.skill-config-select__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.skill-config-select__menu{position:absolute;z-index:21;top:calc(100% + 6px);left:0;width:100%;max-height:238px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.skill-config-select__option{width:100%;min-height:34px;display:flex;align-items:center;padding:8px 10px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.skill-config-select__option:hover,.skill-config-select__option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.skill-config-select__option.is-selected{background:hsl(var(--primary) / .08)}.skill-config-select__empty{padding:9px 10px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.skill-config-select__error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.skill-inline-error,.skill-inline-notice,.skill-validation-errors{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:12.5px;line-height:1.5}.skill-inline-error,.skill-validation-errors{border:1px solid hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.skill-inline-error button{margin-left:10px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.skill-inline-notice{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .55);color:hsl(var(--muted-foreground))}.skill-validation-errors p{margin:4px 0 0}.skill-validation-errors button{min-height:30px;margin-top:10px;padding:0 10px;border:1px solid hsl(var(--destructive) / .25);border-radius:6px;background:hsl(var(--panel));color:hsl(var(--destructive));font:inherit;font-size:11.5px;cursor:pointer}.skill-validation-errors button:disabled{cursor:not-allowed;opacity:.5}.skill-generation__workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;flex:1}.skill-generation__candidate-tabs{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.skill-generation__candidate-tabs button{display:block;min-width:260px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));text-align:left;cursor:pointer}.skill-generation__candidate-tabs button.is-active{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.skill-generation__summary-row{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.skill-generation__summary-row+.skill-generation__summary-row{margin-top:7px}.skill-generation__summary-row>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.skill-generation__summary-row>strong{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skill-generation__candidate-summary{width:100%;min-width:0}.skill-generation__candidate{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:12px;gap:12px}.skill-generation__activity,.skill-generation__files{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.skill-generation__activity>header,.skill-generation__files>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-bottom:1px solid hsl(var(--border))}.skill-generation__activity>header{min-height:0;padding:12px 14px}.skill-generation__activity h2,.skill-generation__files h2{font-size:14px;font-weight:600}.skill-generation__files header button{border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__spinner{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;animation:skill-generation-spin .9s linear infinite}.skill-generation__spinner circle{opacity:.2}.skill-generation__activity .skill-conversation{flex:1;min-height:0;overflow-y:auto;padding:12px}.skill-generation__files-empty{display:grid;flex:1;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.skill-generation__ready-actions{grid-column:1 / -1;display:flex;min-width:0;align-items:flex-end;gap:10px}.skill-generation__publish-target{width:min(320px,36%);min-width:240px}.skill-generation__publish-target .skill-config-select{margin-bottom:0}.skill-generation__followup{grid-column:1 / -1;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--background))}.skill-generation__ready-actions .skill-generation__followup{min-width:0;flex:1}.skill-generation__followup textarea{min-width:0;min-height:36px;max-height:120px;flex:1;box-sizing:border-box;padding:8px 4px;resize:none;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.skill-generation__followup textarea::placeholder{color:hsl(var(--muted-foreground))}.skill-generation__followup .skill-button{height:36px;min-height:36px}.skill-generation__action-error{grid-column:1 / -1;margin-top:-4px}.skill-file-browser{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:0;flex:1}.skill-file-tree{min-width:0;overflow:auto;border-right:1px solid hsl(var(--border));padding:6px 0}.skill-file-tree__row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:30px;padding-top:4px;padding-right:8px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;white-space:nowrap}button.skill-file-tree__row{cursor:pointer}button.skill-file-tree__row:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.skill-file-tree__row.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.skill-file-tree__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.skill-file-tree__row>svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skill-file-tree__row small{color:hsl(var(--muted-foreground));font-size:10px}.skill-file-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.skill-file-preview>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:4px 9px;border-bottom:1px solid hsl(var(--border));font-size:11.5px}.skill-file-preview>header>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-preview>header div{display:flex;gap:4px}.skill-file-preview>header button{min-height:28px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skill-file-preview__body{min-width:0;min-height:0;overflow:auto}.skill-file-preview__body .cm-editor{height:100%}.skill-file-preview__markdown{padding:16px}.skill-file-preview__frontmatter{display:grid;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:8px;background:hsl(var(--secondary) / .5)}.skill-file-preview__frontmatter>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}.skill-file-preview__frontmatter dt{color:hsl(var(--muted-foreground));font-size:11px;font-weight:500}.skill-file-preview__frontmatter dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.skill-file-preview__markdown-body>:first-child{margin-top:0}.skill-file-preview__body img{display:block;max-width:calc(100% - 32px);max-height:calc(100% - 32px);margin:16px auto;object-fit:contain}.skill-file-preview__binary{display:grid;place-content:center;gap:5px;height:100%;padding:20px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}@media (max-width: 980px){.skill-generation__groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-generation__candidate{grid-template-columns:1fr;overflow-y:auto}.skill-generation__activity,.skill-generation__files{min-height:420px}.skill-generation__ready-actions{grid-column:1;align-items:stretch;flex-direction:column}.skill-generation__publish-target{width:100%;min-width:0}.skill-generation__followup{grid-column:1}}@media (max-width: 760px){.skillcenter{padding:24px 20px 0}.skillcenter-page-header{flex-direction:column;gap:16px}.skillcenter-page-heading h1{max-width:calc(100vw - 40px)}.skillcenter-page-heading--back h1{max-width:calc(100vw - 82px)}.skillcenter-search{width:100%}.skillcenter-toolbar{align-items:flex-start;flex-direction:column}.skillcenter-detail-facts{width:100%;justify-content:space-between;gap:12px}.skillcenter-detail-facts>div{min-width:0}.skillcenter-toolbar-actions{width:100%}.skillcenter-results{margin-top:22px}.skill-generation__header{padding:24px 20px 0}.skill-generation__setup{margin:17px 17px 0}}@media (max-width: 560px){.skill-generation__groups{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.skillcenter-disabled-tooltip{transition:none}.skill-generation *,.skill-generation *:before,.skill-generation *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.skill-generation__spinner{animation:none!important}}@keyframes skill-generation-spin{to{transform:rotate(360deg)}}.my-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.my-agents-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.my-agents-heading{min-width:0}.my-agents-title-row{display:flex;align-items:center;gap:8px}.my-agents-heading h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.my-agents-heading p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.my-agent-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.my-agent-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.my-agent-search svg{width:16px;height:16px;flex:0 0 16px}.my-agent-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.my-agent-search input::placeholder{color:hsl(var(--muted-foreground))}.my-agent-search input::-webkit-search-cancel-button{cursor:pointer}.my-agent-type-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.my-agent-type-pills{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.my-agent-type-pill{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.my-agent-type-pill:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.my-agent-type-pill.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.my-agent-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.my-agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.my-agent-inline-error{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.my-agent-inline-error span{min-width:0;overflow-wrap:anywhere}.my-agent-inline-error button{flex:0 0 auto;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.my-agent-card{width:100%;height:auto;box-sizing:border-box;border-radius:12px;background:hsl(var(--secondary) / .82)}.my-agent-create-primary{min-width:max-content;height:32px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.my-agent-create-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.my-agent-create-primary:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.my-agent-create-primary svg{width:14px;height:14px;flex:0 0 14px}.my-agent-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:0;animation:my-agent-card-enter .22s ease-out both;transition:transform .16s ease}.my-agent-card:hover{transform:translateY(-1px)}.my-agent-card-content{flex:0 0 auto;min-width:0;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;padding:16px;position:relative;z-index:1;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.my-agent-card-title{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.my-agent-card-title-copy{min-width:0}.my-agent-card-badges{display:flex;flex:0 0 auto;align-items:center;gap:6px}.my-agent-region-badge{min-height:22px;display:inline-flex;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600;line-height:1}.my-agent-draft-badge,.my-agent-deploying-badge{min-height:22px;display:inline-flex;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(43 90% 48% / .3);border-radius:999px;background:#fabf0f24;color:#a36f14;font-size:10px;font-weight:600;line-height:1}.my-agent-card-badges .runtime-owner-badge{min-height:22px;display:inline-flex;align-items:center;padding:0 8px;line-height:1}.my-agent-session-id{display:block;margin-top:3px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.my-agent-card h3{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:650;line-height:1.4;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.my-agent-description{min-height:40px;display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.my-agent-status-label{display:inline-flex;min-height:22px;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:550;line-height:1}.my-agent-status-label[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.my-agent-status-label[data-wakeable]{border-color:#e9aa0c4d;background:#fabf0f24;color:#a36f14}.my-agent-meta,.my-agent-meta dt,.my-agent-meta dd{margin:0}.my-agent-meta{display:grid;gap:5px;margin-top:12px}.my-agent-meta>div{display:flex;align-items:center}.my-agent-meta dt,.my-agent-meta dd{font-size:12px;line-height:1.4}.my-agent-meta dt{color:hsl(var(--muted-foreground))}.my-agent-meta dd{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at,.my-agent-region,.my-agent-expiry{width:100%;display:flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground))}.my-agent-created-at dt,.my-agent-region dt,.my-agent-expiry dt{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at dd,.my-agent-region dd,.my-agent-expiry dd{color:hsl(var(--muted-foreground));font-weight:400}.my-agent-expiry.is-expiring dd{color:#a36f14;font-weight:550}.my-agent-region dd{min-width:0;overflow:hidden;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.my-agent-actions{flex:0 0 42px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px 8px 7px;position:relative;z-index:0;border-radius:0 0 12px 12px;background:hsl(var(--secondary) / .82)}.my-agent-actions button{min-width:0;min-height:28px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.my-agent-actions button:hover:not(:disabled){background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.my-agent-actions button:disabled{cursor:default;opacity:.48}.my-agent-actions .my-agent-use{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:hsl(var(--foreground))}.my-agent-actions .my-agent-details{background:hsl(var(--background) / .56)}.my-agent-actions .my-agent-delete{color:hsl(var(--destructive))}.my-agent-actions .my-agent-delete:hover:not(:disabled){background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.my-agent-actions .my-agent-use:hover:not(:disabled){background:hsl(var(--background) / .72)}.my-agent-actions .my-agent-use.is-connected,.my-agent-actions .my-agent-use.is-connected:disabled{background:transparent;color:#1d7c40;opacity:1}.my-agent-use-spinner{width:11px;height:11px;flex:0 0 11px;box-sizing:border-box;border:1.25px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-gap-spin .7s linear infinite}.my-agent-loading-mark{box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-gap-spin .72s linear infinite}.my-agent-loading-mark{width:14px;height:14px;flex:0 0 14px}.my-agent-initial-loading,.my-agent-load-more,.my-agent-empty{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12.5px}.my-agent-initial-loading{min-height:180px;gap:8px}.my-agent-load-more{min-height:54px;gap:8px;padding-top:6px}.my-agent-empty-message{width:100%;height:100%;min-height:220px;display:grid;place-items:center}.my-agent-sandbox-empty-title{max-width:none;white-space:nowrap;text-wrap:nowrap}.my-agent-empty{min-height:220px;flex-direction:column;gap:7px}.my-agent-empty p,.my-agent-empty span{margin:0}.my-agent-empty p{white-space:pre-wrap;overflow-wrap:anywhere;color:inherit;font-size:inherit;font-weight:400}.my-agent-empty button{height:30px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px}.my-agent-actions button:focus-visible,.my-agent-type-pill:focus-visible,.my-agent-create-primary:focus-visible,.my-agent-empty button:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:-2px}@keyframes my-agent-card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){.my-agents-page{padding:24px 20px 0}.my-agents-header{flex-direction:column;gap:16px}.my-agent-search{width:100%}.my-agent-type-bar{align-items:stretch;flex-direction:column;gap:12px}.my-agent-create-primary{align-self:flex-end}.my-agent-results{padding-bottom:44px}}@media (max-width: 560px){.my-agents-page{padding-inline:16px}}@media (prefers-reduced-motion: reduce){.my-agent-card,.my-agent-loading-mark{animation:none}.my-agent-card,.my-agent-actions button,.my-agent-type-pill,.my-agent-create-primary,.my-agent-search{transition:none}.my-agent-use-spinner{animation:none}.my-agent-card:hover{transform:none}}.aw-root{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.aw-agent-head h2,.aw-eval-head h2,.aw-section-head h3{margin:0;color:hsl(var(--foreground));letter-spacing:-.025em}.aw-agent-head p,.aw-eval-head p,.aw-section-head p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.aw-view-tabs,.aw-agent-title-row,.aw-card-head,.aw-section-head,.aw-case-filters,.aw-eval-head{display:flex;align-items:center}.aw-view-tabs{flex:0 0 auto;gap:26px;padding:0 24px;border-bottom:1px solid hsl(var(--border))}.aw-view-tabs button,.aw-case-filters button{border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.aw-view-tabs button{position:relative;min-height:44px;padding:0;font-size:14px;font-weight:580}.aw-view-tabs button.is-active{color:hsl(var(--foreground))}.aw-view-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:hsl(var(--foreground))}.aw-run{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;transition:opacity .16s ease,transform .16s ease}.aw-run:not(:disabled):hover{transform:translateY(-1px)}.aw-root button:focus-visible,.aw-root input:focus-visible,.aw-root textarea:focus-visible,.aw-root select:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-run svg{width:15px;height:15px}.aw-run:disabled,.aw-create-card:disabled{cursor:default;opacity:.42}.aw-workspace-frame{flex:1;min-height:0;position:relative}.aw-workspace{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:304px minmax(0,1fr)}.aw-root.is-detail-only .aw-view-tabs,.aw-root.is-detail-only .aw-sidebar{display:none}.aw-root.is-detail-only .aw-workspace{grid-template-columns:minmax(0,1fr)}.aw-root.is-detail-only{font-size:14px}.aw-root.is-detail-only .aw-agent-head{padding-top:24px}.aw-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 12px 22px 24px}.aw-search{height:40px;min-height:40px;flex:0 0 40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--foreground) / .12);border-radius:10px;background:transparent;transition:border-color .16s ease,background-color .16s ease}.aw-search:focus-within{border-color:hsl(var(--foreground) / .16);background:hsl(var(--secondary) / .42);box-shadow:none}.aw-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;line-height:1}.aw-search input::placeholder{color:hsl(var(--muted-foreground) / .82)}.aw-search input:focus,.aw-search input:focus-visible,.aw-case-search input:focus,.aw-case-search input:focus-visible{outline:none!important;box-shadow:none}.aw-agent-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;margin-top:14px;overflow-y:auto}.aw-selection-toolbar{flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:8px;margin-top:10px}.aw-selection-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-selection-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-selection-toolbar button:disabled{cursor:default;opacity:.42}.aw-selection-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-selection-count{flex:1;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;white-space:nowrap}.aw-selection-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-selection-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-delete-error{margin-top:8px;padding:8px 10px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-agent-item,.aw-agent-check{width:100%;min-height:72px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid hsl(var(--foreground) / .1);border-radius:14px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,border-color .16s ease}.aw-agent-item:hover,.aw-agent-check:hover{border-color:hsl(var(--foreground) / .18);background:hsl(var(--secondary) / .42)}.aw-agent-item.is-active{border-color:hsl(var(--foreground) / .42);background:hsl(var(--secondary) / .28)}.aw-agent-item[draggable=true]{cursor:grab}.aw-agent-item[draggable=true]:active{cursor:grabbing}.aw-agent-item.is-dragging{opacity:.46}.aw-agent-item.is-drop-target{border-color:hsl(var(--foreground) / .46);background:hsl(var(--secondary) / .54)}.aw-agent-item.is-drop-before{box-shadow:inset 0 2px hsl(var(--foreground) / .44)}.aw-agent-item.is-drop-after{box-shadow:inset 0 -2px hsl(var(--foreground) / .44)}.aw-agent-item.is-selecting{gap:10px}.aw-agent-item.is-selected-for-delete{border-color:hsl(var(--foreground) / .36);background:hsl(var(--secondary) / .44)}.aw-agent-item.is-selection-disabled{opacity:.58}.aw-select-marker{width:16px;height:16px;flex:0 0 16px;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background))}.aw-select-marker.is-checked{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.aw-select-marker.is-checked:after{content:"";width:7px;height:4px;border-bottom:1.6px solid hsl(var(--background));border-left:1.6px solid hsl(var(--background));transform:rotate(-45deg) translateY(-1px)}.aw-agent-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.aw-agent-name-row{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-name-row>strong{min-width:0;flex:1}.aw-version-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;line-height:1.2}.aw-draft-badge{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f0ebe0;color:#675332;font-size:10px;font-weight:680;line-height:1.2}.aw-draft-badge.is-deploying{background:#e4eaf2;color:#2d5080}.aw-draft-badge.is-error{background:#dc28281f;color:hsl(var(--destructive))}.aw-draft-badge.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.aw-agent-copy strong,.aw-agent-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-agent-copy strong{font-size:13px;font-weight:650}.aw-agent-copy small{color:hsl(var(--muted-foreground));font-size:11px}.aw-agent-item>svg{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .14s ease,transform .14s ease}.aw-agent-item:hover>svg,.aw-agent-item.is-active>svg{opacity:1}.aw-agent-item:hover>svg{transform:translate(2px)}.aw-agent-check{position:relative}.aw-agent-check>input{position:absolute;width:1px;height:1px;opacity:0}.aw-check-mark{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--foreground) / .22);border-radius:5px;background:hsl(var(--background));color:transparent}.aw-check-mark svg{width:11px;height:11px}.aw-agent-check:has(input:checked) .aw-check-mark{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.aw-agent-check:has(input:focus-visible){outline:2px solid hsl(var(--ring) / .42);outline-offset:-2px}.aw-list-empty{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:28px 12px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-list-error{display:flex;flex-direction:column;align-items:center;gap:10px}.aw-list-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}.aw-create-card{width:100%;min-height:48px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px dashed hsl(var(--foreground) / .28);border-radius:14px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:border-color .16s ease,color .16s ease}.aw-create-card:hover:not(:disabled){border-color:hsl(var(--foreground) / .5);color:hsl(var(--foreground))}.aw-create-card svg{width:15px;height:15px}.aw-list-count{flex:0 0 auto;padding-top:10px;color:hsl(var(--muted-foreground));font-size:10.5px;text-align:center}.aw-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background))}.aw-detail-loading{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.aw-detail-loading-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background) / .94);box-shadow:0 14px 40px hsl(var(--foreground) / .1)}.aw-detail-loading-card>span:not(.loading-gap-spinner){display:flex;flex-direction:column;gap:2px}.aw-detail-loading-card>.loading-gap-spinner{width:18px;height:18px;flex:0 0 18px}.aw-detail-loading-card strong{font-size:13px;font-weight:650}.aw-detail-loading-card small{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-empty-selection{align-items:center;justify-content:center}.aw-empty-selection p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.aw-agent-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}.aw-agent-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.aw-head-delete{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--destructive) / .24);border-radius:999px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:620}.aw-head-delete:hover:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-head-delete:disabled{cursor:default;opacity:.46}.aw-head-delete svg{width:14px;height:14px}.aw-head-delete--draft{border-color:hsl(var(--border));background:transparent;color:hsl(var(--foreground))}.aw-head-delete--draft:hover:not(:disabled){background:hsl(var(--secondary) / .54)}.aw-head-delete.studio-update-action{border:1px solid hsl(var(--destructive) / .34);background:#ffffffc2;color:hsl(var(--destructive));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.aw-head-delete.studio-update-action:hover:not(:disabled){border:1px solid hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.aw-agent-title-row{gap:8px}.aw-agent-head h2,.aw-eval-head h2{overflow:hidden;font-size:20px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.aw-agent-title-row>span,.aw-eval-head>div>span{padding:2px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px}.aw-agent-head p{max-width:720px;overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.aw-update{align-self:center}.aw-update-wrap{position:relative;align-self:center;display:inline-flex;border-radius:999px}.aw-update-wrap.is-disabled{cursor:not-allowed}.aw-update-wrap.is-disabled .aw-update{cursor:inherit}.aw-update-spinner{width:14px;height:14px;flex-basis:14px;border-color:currentColor;border-right-color:transparent}.aw-update-disabled-reason{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:260px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .14s ease,transform .14s ease}.aw-update-wrap.is-disabled:hover .aw-update-disabled-reason,.aw-update-wrap.is-disabled:focus-visible .aw-update-disabled-reason{opacity:1;transform:translate(-50%)}.aw-update-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}@media (prefers-reduced-motion: reduce){.aw-update-disabled-reason{transition:none}}.aw-talk svg{width:15px;height:15px}.aw-agent-tabs{flex:0 0 auto;display:flex;gap:24px;margin:0 24px;padding:0;border-bottom:1px solid hsl(var(--border))}.aw-agent-tabs button{position:relative;min-height:42px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:14px;font-weight:580}.aw-agent-tabs button.is-active{color:hsl(var(--foreground))}.aw-agent-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:hsl(var(--foreground))}.aw-agent-tabs button:disabled{cursor:default}.aw-content{flex:1;min-height:0;overflow-y:auto;margin-top:14px;padding:0 24px 80px}.aw-basic-stack,.aw-usage{display:flex;flex-direction:column;gap:16px}.aw-usage-intro h3,.aw-usage-intro p,.aw-usage-users-head h3,.aw-usage-summary{margin:0}.aw-usage-intro h3,.aw-usage-users-head h3{color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-usage-intro p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-usage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aw-usage-summary>div{min-width:0;padding:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-usage-summary dt{color:hsl(var(--muted-foreground));font-size:12px;font-weight:500}.aw-usage-summary dd{margin:8px 0 0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25}.aw-usage-users-head{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.aw-usage-users-head .text-shimmer{flex:0 0 auto;font-size:12px}.aw-usage-state{min-height:116px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55;text-align:center}.aw-usage-state.is-error{flex-direction:column;color:hsl(var(--destructive));white-space:pre-wrap;overflow-wrap:anywhere}.aw-usage-state button,.aw-usage-pagination button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-usage-state button:hover,.aw-usage-pagination button:hover:not(:disabled){background:hsl(var(--secondary) / .5)}.aw-usage-state button:focus-visible,.aw-usage-pagination button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-usage-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-usage-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-usage-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aw-usage-table th,.aw-usage-table td{padding:13px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:middle}.aw-usage-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-usage-table th:first-child,.aw-usage-table td:first-child{width:48%}.aw-usage-table th:nth-child(2),.aw-usage-table td:nth-child(2){width:18%}.aw-usage-table td strong,.aw-usage-table td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-usage-table td strong{font-weight:600}.aw-usage-table td small{margin-top:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.aw-usage-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px}.aw-usage-pagination span{min-width:92px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-usage-pagination button:disabled{opacity:.48;cursor:not-allowed}.aw-integration-stack{display:flex;flex-direction:column;gap:16px}.aw-integration-intro h3,.aw-integration-intro p,.aw-integration-panel h3,.aw-integration-panel h4,.aw-integration-panel dl,.aw-integration-panel dd{margin:0}.aw-integration-intro h3{font-size:15px;font-weight:620}.aw-integration-intro p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-body{display:flex;min-width:0;flex-direction:column;gap:12px}.aw-integration-protocol-tabs{position:relative;display:grid;width:min(240px,100%);height:36px;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.aw-integration-protocol-slider{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc((100% - 9px)/2);border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .05);transition:transform .24s cubic-bezier(.22,1,.36,1)}.aw-integration-protocol-tabs.is-a2a .aw-integration-protocol-slider{transform:translate(calc(100% + 3px))}.aw-integration-protocol-tabs button{position:relative;z-index:1;min-width:0;min-height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;transition:background-color .16s ease,color .16s ease}.aw-integration-protocol-tabs button:hover{background:hsl(var(--panel) / .45);color:hsl(var(--foreground))}.aw-integration-protocol-tabs button[aria-selected=true]{color:hsl(var(--foreground));font-weight:620}.aw-integration-protocol-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-panel{min-width:0;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-integration-panel.has-example{display:flex;flex-direction:column;gap:20px}.aw-integration-panel header{display:flex;align-items:center;margin-bottom:4px}.aw-integration-panel h3{color:hsl(var(--foreground));font-size:14px;font-weight:620}.aw-integration-panel dl{display:grid;align-content:start;gap:12px}.aw-integration-panel dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px}.aw-integration-panel dt{color:hsl(var(--muted-foreground));font-size:12px}.aw-integration-panel dd{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55}.aw-integration-secret{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px}.aw-integration-secret-value{min-width:52px;overflow-wrap:anywhere}.aw-integration-secret-toggle{display:inline-grid;width:28px;height:28px;flex:0 0 28px;padding:0;place-items:center;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.aw-integration-secret-toggle:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-integration-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-secret-toggle:disabled{cursor:wait;opacity:.62}.aw-integration-secret-toggle svg,.aw-integration-secret-toggle .loading-gap-spinner{width:16px;height:16px}.aw-integration-secret-error{flex-basis:100%;color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-integration-example{min-width:0}.aw-integration-example h4{margin-bottom:8px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.aw-integration-example-code.md{min-width:0;font-size:12px}.aw-integration-example-code.md pre{max-height:360px;margin:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary))}.aw-integration-example-code.md pre code{display:block;min-width:max-content;padding:14px 16px;line-height:1.55}.aw-integration-error{display:flex;align-items:center;gap:8px;min-height:36px;padding:10px 12px;border-radius:8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-error{justify-content:space-between;color:hsl(var(--destructive))}.aw-integration-error button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.aw-canvas-card,.aw-details-card{min-width:0;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel))}.aw-canvas-card{overflow:hidden}.aw-canvas-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:13px}.aw-details-card{overflow:hidden}.aw-deploy-progress-card{width:100%;min-width:0;box-sizing:border-box;padding:24px 26px 26px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--panel))}.aw-detail-deployment{flex:0 0 auto;padding:0 24px 16px}.aw-detail-deployment.is-running{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.aw-main.is-deploying .aw-agent-tabs,.aw-main.is-deploying .aw-content,.aw-main.is-deploying .aw-basic-actions{display:none}.aw-deploy-progress-head,.aw-deploy-progress-head>div,.aw-deploy-progress-icon{display:flex;align-items:center}.aw-deploy-progress-head{justify-content:space-between;gap:20px}.aw-deploy-progress-head>div{min-width:0;gap:12px}.aw-deploy-progress-head>div>div{min-width:0}.aw-deploy-progress-icon{width:34px;height:34px;flex:0 0 34px;justify-content:center;border-radius:50%;background:#eaeff5;color:#295189}.aw-deploy-progress-icon svg{width:17px;height:17px}.aw-deploy-progress-card.is-success .aw-deploy-progress-icon{background:#e8f2ee;color:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-icon,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-icon{background:#f5ecea;color:#8d3d34}.aw-deploy-progress-head h3{margin:0;font-size:14px;font-weight:700}.aw-deploy-progress-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;overflow-wrap:anywhere}.aw-deploy-progress-head>strong{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:12px;font-weight:650}.aw-deploy-progress-track{height:5px;margin-top:18px;overflow:hidden;border-radius:999px;background:hsl(var(--secondary))}.aw-deploy-progress-track span{display:block;height:100%;border-radius:inherit;background:#295189;transition:width .32s cubic-bezier(.22,1,.36,1)}.aw-deploy-progress-card.is-success .aw-deploy-progress-track span{background:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-track span,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-track span{background:#8d3d34}.aw-deploy-steps{margin:22px 0 0;padding:0;list-style:none}.aw-deploy-steps li{position:relative;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:0 0 18px}.aw-deploy-steps li:last-child{padding-bottom:0}.aw-deploy-progress-actions{display:flex;justify-content:flex-end;margin-top:20px}.aw-deploy-steps li:not(:last-child):after{content:"";position:absolute;top:28px;bottom:0;left:13px;width:2px;border-radius:999px;background:hsl(var(--border))}.aw-deploy-steps li.is-done:not(:last-child):after{background:#9dcdb8}.aw-deploy-step-marker{position:relative;z-index:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:680}.aw-deploy-step-marker svg{width:14px;height:14px}.aw-deploy-steps li.is-done .aw-deploy-step-marker{border-color:#b3dbca;background:#e8f2ee;color:#2d7656}.aw-deploy-steps li.is-active .aw-deploy-step-marker{border-color:#9eb3d1;background:#eaeff5;color:#295189}.aw-deploy-steps li.is-failed .aw-deploy-step-marker{border-color:#dcbfbc;background:#f5ecea;color:#8d3d34}.aw-deploy-step-copy{min-width:0;padding-top:2px}.aw-deploy-step-copy strong{display:block;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:620;line-height:1.4}.aw-deploy-step-copy p{min-width:0;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.aw-deploy-steps li.is-done .aw-deploy-step-copy strong,.aw-deploy-steps li.is-active .aw-deploy-step-copy strong,.aw-deploy-steps li.is-failed .aw-deploy-step-copy strong{color:hsl(var(--foreground))}.aw-deploy-steps li.is-active .aw-deploy-step-copy p{color:hsl(var(--foreground) / .78)}.aw-deploy-step-log{min-width:0;margin-top:10px}.aw-deploy-log{min-width:0;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--canvas));overflow:hidden}.aw-deploy-log header,.aw-deploy-log header>div,.aw-deploy-log-actions,.aw-deploy-log-actions button{display:flex;align-items:center}.aw-deploy-log header{min-width:0;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.aw-deploy-log.is-collapsed header{border-bottom:0}.aw-deploy-log header>div:first-child{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.aw-deploy-log strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:640;line-height:1.35}.aw-deploy-log span{min-width:0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.aw-deploy-log-actions{flex:0 0 auto;gap:6px}.aw-deploy-log-actions button{min-height:28px;gap:5px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:11.5px;font-weight:560;cursor:pointer}.aw-deploy-log-actions button:hover{background:hsl(var(--muted))}.aw-deploy-log-actions button span{color:inherit;font-size:inherit;line-height:inherit}.aw-deploy-log-actions button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.aw-deploy-log-actions svg{width:13px;height:13px;flex:0 0 auto}.aw-deploy-log pre{max-height:260px;min-width:0;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:hsl(var(--foreground) / .86);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.55}.aw-deploy-log-empty{padding:12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.aw-deploy-log.is-error{border-color:#dcbfbc}.aw-card-head{justify-content:space-between;gap:12px;min-height:48px;padding:0 16px}.aw-card-head strong{font-size:13px;font-weight:680}.aw-card-head span{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-canvas{height:220px;min-height:0;border-top:1px solid hsl(var(--border))}.aw-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;border:0;background:#f9f8f5}.aw-canvas .abc-canvas{flex:1;min-height:0}.aw-canvas .react-flow__controls{transform:scale(.86);transform-origin:bottom left}.aw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 16px 14px}.aw-facts>div{min-height:39px;display:grid;grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);align-items:center;gap:12px;border-top:1px solid hsl(var(--border) / .72)}.aw-facts>div:nth-child(2n){padding-left:20px}.aw-facts>div:nth-child(odd){padding-right:20px}.aw-facts dt{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-facts dd{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aw-facts .aw-fact-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;overflow:visible;white-space:normal}.aw-fact-badges span{max-width:100%;overflow:hidden;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .55);font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aw-status-dot{width:6px;height:6px;display:inline-block;margin-right:6px;border-radius:50%;background:#358d67}.aw-section-head{justify-content:space-between;gap:18px;margin-bottom:16px}.aw-section-head h3{font-size:17px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-filter-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.aw-case-filter-stack{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.aw-case-source-filters{display:flex;flex-wrap:wrap;gap:6px}.aw-case-source-filters button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.aw-case-source-filters button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-case-source-filters button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button{min-width:0;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .22)}.aw-case-summary>button{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:14px 16px;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.aw-case-summary>button:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .36)}.aw-case-summary>button:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:2px}.aw-case-summary strong{color:hsl(var(--foreground));font-size:26px;font-weight:720;line-height:1}.aw-case-summary span{min-width:0;color:hsl(var(--foreground));font-size:12px;font-weight:640}.aw-case-search{width:min(360px,46%);min-width:260px;height:40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .16s ease,box-shadow .16s ease}.aw-case-search:focus-within{border-color:hsl(var(--foreground) / .32);box-shadow:0 0 0 3px hsl(var(--foreground) / .045)}.aw-case-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-case-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.aw-case-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.aw-case-toolbar{min-height:32px;display:flex;align-items:center;gap:8px;margin:-2px 0 14px}.aw-case-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-case-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-case-toolbar button:disabled{cursor:default;opacity:.42}.aw-case-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-case-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-case-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-filters button{min-height:30px;padding:0 12px;border-radius:6px;font-size:12.5px}.aw-case-filters button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .07)}.aw-case-table{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-width:870px;min-height:86px;display:grid;grid-template-columns:minmax(180px,.78fr) minmax(250px,1.16fr) 80px minmax(220px,.94fr) 48px;align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:13px}.aw-case-row:not(.aw-case-row-head){cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.aw-case-row:not(.aw-case-row-head):hover,.aw-case-row.is-focused,.aw-case-row.is-selected-for-delete{background:hsl(var(--secondary) / .28)}.aw-case-row.is-focused{box-shadow:inset 3px 0 hsl(var(--foreground) / .22)}.aw-case-row.is-selected-for-delete{box-shadow:inset 3px 0 hsl(var(--foreground) / .34)}.aw-case-row:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:-2px}.aw-case-row:first-child{border-top:0}.aw-case-row-head{min-height:38px;align-items:center;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-case-action-head{text-align:center}.aw-case-text,.aw-case-output,.aw-case-reason{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-score{color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.5}.aw-case-reason p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-reason.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-title-line{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{flex:1;min-width:0}.aw-case-actions{min-width:0;display:flex;justify-content:center}.aw-case-row strong,.aw-case-row p,.aw-case-row small{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.aw-case-row strong{color:hsl(var(--foreground));font-weight:600;line-height:1.45}.aw-case-row p{margin:0;color:hsl(var(--muted-foreground));line-height:1.5}.aw-case-output-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-output.is-expanded .aw-case-output-preview{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-expand{width:fit-content;min-height:24px;margin-top:2px;padding:0 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.aw-case-expand:hover{background:hsl(var(--secondary) / .55)}.aw-case-row small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35}.aw-case-time{color:hsl(var(--foreground) / .62)!important}.aw-case-delete{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.aw-case-delete:hover:not(:disabled){border-color:hsl(var(--destructive) / .18);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.aw-case-delete:active:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-empty{min-height:116px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px}.aw-case-error{color:hsl(var(--destructive))}.aw-case-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--destructive) / .26);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-deployment-panel{width:100%;box-sizing:border-box;margin:0}.aw-settings-card{padding:18px;border:1px solid hsl(var(--border));border-radius:14px}.aw-optimizations{display:flex;flex-direction:column;gap:16px}.aw-optimization-intro h3{margin:0;color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-optimization-intro p{margin:5px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-optimization-state{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.aw-optimization-state.is-error{color:hsl(var(--destructive))}.aw-optimization-state button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.aw-optimization-table-wrap{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-optimization-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-optimization-table th,.aw-optimization-table td{padding:14px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:top}.aw-optimization-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-optimization-table th:first-child,.aw-optimization-table td:first-child{width:108px}.aw-optimization-table th:nth-child(2),.aw-optimization-table td:nth-child(2){width:142px}.aw-optimization-module{color:hsl(var(--foreground));font-size:13px;font-weight:620;line-height:1.55}.aw-optimization-list{margin:0;padding:0;list-style:none}.aw-optimization-list li{position:relative;padding-left:16px}.aw-optimization-list li+li{margin-top:13px;padding-top:13px;border-top:1px dashed hsl(var(--border))}.aw-optimization-list li:before{position:absolute;top:6px;left:1px;width:5px;height:5px;border-radius:50%;background:hsl(var(--primary) / .72);content:""}.aw-optimization-list li+li:before{top:19px}.aw-optimization-list strong{display:block;font-size:13.5px;font-weight:650;line-height:1.45}.aw-optimization-list p{margin:5px 0 0;color:hsl(var(--muted-foreground));line-height:1.55}.aw-priority{font-size:13px;font-weight:700;line-height:1.5}.aw-priority.is-high{color:hsl(var(--destructive))}.aw-priority.is-medium{color:#93591f}.aw-priority.is-low{color:#28674c}.aw-readonly-config{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aw-readonly-config>div{min-width:0;padding:12px 14px;border-radius:10px;background:hsl(var(--secondary) / .42)}.aw-readonly-config dt{color:hsl(var(--muted-foreground));font-size:11px}.aw-readonly-config dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12px;font-weight:600}.aw-readonly-config dd.is-ready{color:#1d7c40}.aw-basic-actions{position:absolute;z-index:8;bottom:20px;left:50%;display:flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;border-radius:10px;background:transparent;box-shadow:none;transform:translate(-50%)}.aw-eval-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;justify-content:space-between;gap:20px;padding:14px 24px}.aw-evaluation-glass{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .44);color:hsl(var(--foreground));-webkit-backdrop-filter:blur(9px) saturate(118%);backdrop-filter:blur(9px) saturate(118%);transition:background .18s ease,backdrop-filter .18s ease}.aw-evaluation-glass:hover{background:hsl(var(--background) / .52);-webkit-backdrop-filter:blur(11px) saturate(125%);backdrop-filter:blur(11px) saturate(125%)}.aw-evaluation-glass span{padding:8px 13px;border:1px solid hsl(var(--border) / .82);border-radius:999px;background:hsl(var(--background) / .7);box-shadow:0 8px 24px hsl(var(--foreground) / .07);font-size:12.5px;font-weight:620;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.aw-eval-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-run{min-height:38px;padding:0 14px;border-radius:9px}.aw-eval-setup{width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.aw-eval-block{min-width:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px}.aw-eval-agent-grid{max-height:230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding:0 16px 16px}.aw-eval-agent-grid>label{min-height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid hsl(var(--border) / .82);border-radius:10px;cursor:pointer}.aw-eval-agent-grid input,.aw-metric-list input{width:15px;height:15px;accent-color:hsl(var(--foreground))}.aw-eval-agent-grid label>span{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-eval-agent-grid strong,.aw-eval-agent-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-eval-agent-grid strong{font-size:12px;font-weight:620}.aw-eval-agent-grid small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-eval-setting-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:14px}.aw-eval-fields{display:flex;flex-direction:column;gap:13px;padding:0 16px 16px}.aw-eval-fields label{min-height:36px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.aw-eval-fields label>span,.aw-eval-fields label>small{color:hsl(var(--muted-foreground));font-size:11px}.aw-eval-fields select{width:100%;height:34px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11.5px}.aw-metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}.aw-metric-list label{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid hsl(var(--border) / .82);border-radius:9px;cursor:pointer;font-size:11.5px}.aw-eval-history{width:min(820px,100%);margin:0 auto}.aw-history-list{display:flex;flex-direction:column;gap:9px}.aw-history-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 16px;align-items:center;gap:16px;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:11px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.aw-history-list>button:hover{border-color:hsl(var(--foreground) / .2)}.aw-history-list>button>span:first-child,.aw-history-score{display:flex;flex-direction:column;gap:4px}.aw-history-list strong{font-size:12px}.aw-history-list small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-history-score{align-items:flex-end}.aw-history-score strong{font-size:17px}.aw-complete{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#3c866617;color:#28674c;font-size:10.5px;font-weight:620}.aw-complete svg{width:12px;height:12px}.aw-results-empty{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));text-align:center}.aw-results-empty strong{color:hsl(var(--foreground));font-size:12.5px}.aw-results-empty span{font-size:11.5px}@media (max-width: 980px){.aw-workspace{grid-template-columns:260px minmax(0,1fr)}.aw-eval-setting-grid{grid-template-columns:minmax(0,1fr)}.aw-case-row{min-width:790px;grid-template-columns:minmax(160px,.78fr) minmax(220px,1fr) 72px minmax(180px,.82fr) 48px}}@media (max-width: 720px){.aw-view-tabs{padding-inline:16px}.aw-workspace{grid-template-columns:minmax(0,1fr);overflow-y:auto}.aw-sidebar{height:340px;max-height:340px;box-sizing:border-box;padding:18px 16px}.aw-agent-list{min-height:128px}.aw-main{min-height:620px;overflow:visible}.aw-agent-tabs{gap:18px;margin-inline:16px;overflow-x:auto}.aw-agent-head,.aw-eval-head{padding-inline:16px}.aw-content{overflow:visible;padding-inline:16px}.aw-facts{grid-template-columns:minmax(0,1fr)}.aw-facts>div:nth-child(n){padding-right:0;padding-left:0}.aw-eval-agent-grid,.aw-metric-list{grid-template-columns:minmax(0,1fr)}.aw-case-summary,.aw-case-row{min-width:0;grid-template-columns:minmax(0,1fr)}.aw-case-filter-bar{align-items:stretch;flex-direction:column;gap:12px}.aw-case-search{width:100%;min-width:0}.aw-case-row-head{display:none}.aw-case-cell{position:relative;padding-top:20px}.aw-case-cell:before{content:attr(data-label);position:absolute;top:0;left:0;color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.aw-case-actions{justify-content:flex-start}.aw-optimization-table{min-width:680px}.aw-usage-summary{grid-template-columns:minmax(0,1fr)}.aw-usage-pagination{justify-content:space-between}.aw-readonly-config{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.aw-integration-protocol-slider{transition:none}.aw-root *,.aw-root *:before,.aw-root *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.applications-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.applications-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.applications-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.applications-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.applications-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.applications-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.applications-search svg{width:16px;height:16px;flex:0 0 16px}.applications-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.applications-search input::placeholder{color:hsl(var(--muted-foreground))}.applications-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.applications-categories button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.applications-categories button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.applications-categories button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.applications-categories button:focus-visible{outline:2px solid hsl(var(--ring) / .3);outline-offset:2px}.applications-results{flex:1;min-height:0;overflow-y:auto;margin-top:28px;padding-bottom:56px;scrollbar-gutter:stable}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.application-card-wrap{position:relative;min-width:0;display:flex;border-radius:12px}.application-card-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card{width:100%;min-width:0;min-height:96px;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;padding:16px 18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;box-shadow:0 1px 2px hsl(var(--foreground) / .035);animation:application-card-enter .18s ease-out both;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.application-card:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .24);box-shadow:0 4px 14px hsl(var(--foreground) / .06)}.application-card:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card:disabled{cursor:not-allowed;opacity:.5}.application-card:disabled:hover{border-color:hsl(var(--border));background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.application-card-tooltip{position:absolute;z-index:30;top:50%;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 3px));transition:opacity .14s ease,transform .14s ease}.application-card-wrap.is-disabled:hover .application-card-tooltip,.application-card-wrap.is-disabled:focus-visible .application-card-tooltip{opacity:1;transform:translate(-50%,-50%)}.application-card-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-brand-icon{object-fit:contain}.application-card-copy{min-width:0}.application-card-title{display:flex;align-items:center;gap:6px}.application-card-copy h2{min-width:0;margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.application-card-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:16px;box-sizing:border-box;padding:1px 6px;border-radius:999px;background:hsl(var(--destructive));color:#fff;font-size:10px;font-weight:600;line-height:1.2}.application-card-badge.is-success{background:#36ab661f;color:#217343}.application-card-copy p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.applications-empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:hsl(var(--muted-foreground))}.applications-empty svg{width:32px;height:32px;margin-bottom:12px}.applications-empty h2{margin:0;color:hsl(var(--foreground));font-size:15px;font-weight:600}.applications-empty p{margin:6px 0 0;font-size:12.5px}@keyframes application-card-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.applications-page{padding:24px 20px 0}.applications-header{flex-direction:column;gap:16px}.applications-search{width:100%}}@media (prefers-reduced-motion: reduce){.application-card{animation:none;transition:none}.application-card-tooltip{transition:none}}.system-info-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));font-family:inherit}.system-info-page-header{flex:0 0 auto}.system-info-page-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.system-info-page-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.system-info-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;align-content:start;gap:16px;margin-top:24px;padding-bottom:56px}.system-info-section{min-width:0;padding:20px;border-radius:12px;background:hsl(var(--secondary) / .72)}.system-info-section h2{margin:0 0 16px;color:hsl(var(--foreground));font-size:15px;font-weight:600;line-height:1.4}.system-info-summary,.system-info-tool{margin:0}.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{min-width:0;display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);align-items:center;gap:16px}.system-info-summary dt,.system-info-tool dt,.system-info-pool dt{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:400;line-height:1.5}.system-info-summary dd,.system-info-tool dd,.system-info-pool dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.system-info-resource-value{min-width:0}.system-info-resource-value>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link{min-width:0;max-width:100%;width:fit-content;min-height:28px;display:inline-flex;align-items:center;gap:6px;margin:-4px -2px;padding:4px 2px;border-radius:4px;color:inherit;cursor:pointer;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:4px;transition:color .16s ease,text-decoration-color .16s ease}.system-info-resource-link>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link svg{width:15px;height:15px;flex:0 0 15px;opacity:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:opacity .16s ease}.system-info-resource-link:hover{color:hsl(var(--foreground));text-decoration-color:currentColor}.system-info-resource-link:hover svg,.system-info-resource-link:focus-visible svg{opacity:1}.system-info-resource-link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px;text-decoration-color:currentColor}.system-info-tool-list{display:grid;gap:8px}.system-info-pool-list{display:grid;gap:12px}.system-info-pool{min-width:0;display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding:4px 0}.system-info-empty{color:hsl(var(--muted-foreground));font-weight:400}.system-info-tool{min-width:0;padding:4px 0}.system-info-tool-label{display:flex;align-items:center;gap:7px}.system-info-tool-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(44 88% 43% / .3);border-radius:999px;background:#fac70f2e;color:#976507;font-size:10px;font-weight:600;line-height:1.25;white-space:nowrap}.system-info-loading{display:flex;align-items:center;min-height:24px;color:hsl(var(--muted-foreground));font-size:13px}.system-info-error{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:12px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.system-info-error p,.system-info-empty{margin:0}.system-info-error button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500}.system-info-error button:hover{background:hsl(var(--muted))}.system-info-error button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.system-info-empty{font-size:13px;line-height:1.55}@media (max-width: 760px){.system-info-page{padding:24px 20px 0}}@media (max-width: 520px){.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion: reduce){.system-info-resource-link,.system-info-resource-link svg{transition:none}}@media (hover: none){.system-info-resource-link svg{opacity:1}}.github-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.github-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.github-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.github-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-back svg{width:16px;height:16px}.github-integration-logo{width:30px;height:30px;flex:0 0 30px;color:hsl(var(--foreground))}.github-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.github-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-integration-layout{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:start;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.github-section-panel{width:100%;min-width:0;box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent}.github-panel-heading p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.6}.github-release-form{margin-top:24px}.github-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.github-field{min-width:0;display:flex;flex-direction:column}.github-field>label,.github-token-label-row>label{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.github-field-requirement{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:500}.github-field-requirement.is-required{color:hsl(var(--destructive))}.github-field input{width:100%;height:38px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.github-field input::placeholder{color:hsl(var(--muted-foreground))}.github-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.github-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.github-region-picker{gap:0;margin:0}.github-region-picker .pp-region-trigger,.github-region-picker .pp-region-option{height:38px;font-size:14px}.github-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.github-token-field{margin-top:16px}.github-token-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.github-token-label-row>a{display:inline-flex;align-items:center;gap:4px;color:#2371e7;font-size:12.5px;font-weight:600;line-height:1.5;text-decoration:none}.github-token-label-row>a:hover{text-decoration:underline}.github-token-label-row>a:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px;border-radius:4px}.github-token-label-row>a svg{width:13px;height:13px}.github-token-input{position:relative}.github-token-input input{padding-right:42px}.github-token-input button{position:absolute;top:5px;right:4px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.github-token-input button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-token-input button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.github-token-input button svg{width:17px;height:17px}.github-submit-message{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-top:16px;padding:10px 12px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.5}.github-submit-message.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.github-submit-message.is-success{border-color:#24894e3d;background:#2bab6012;color:#217343}.github-submit-message a,.github-history-item a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:inherit;font-weight:620;text-decoration:none}.github-submit-message a:hover,.github-history-item a:hover{text-decoration:underline}.github-submit-message svg,.github-history-item svg{width:14px;height:14px}.github-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid hsl(var(--border))}.github-secrets-note{max-width:470px;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-secrets-note strong{color:hsl(var(--foreground));font-weight:600}.github-form-actions button{min-width:126px;height:36px;padding:0 15px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:background-color .16s ease,opacity .16s ease}.github-form-actions button:hover:not(:disabled){background:hsl(var(--foreground) / .84)}.github-form-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-form-actions button:disabled{cursor:wait;opacity:.56}@media (max-width: 680px){.github-integration-page{padding:20px 18px 0}.github-field-grid{grid-template-columns:minmax(0,1fr)}.github-form-actions{align-items:stretch;flex-direction:column}.github-form-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.github-back,.github-field input,.github-form-actions button{transition:none}}.feishu-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.feishu-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.feishu-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.feishu-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.feishu-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.feishu-back:disabled{cursor:not-allowed;opacity:.5}.feishu-back svg{width:16px;height:16px}.feishu-integration-logo{width:30px;height:30px;flex:0 0 30px;object-fit:contain}.feishu-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.feishu-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.feishu-integration-layout{flex:1;min-width:0;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.feishu-section-panel{width:100%;min-width:0}.feishu-panel-description{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.feishu-form{margin-top:24px}.feishu-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.feishu-field{min-width:0;display:flex;flex-direction:column}.feishu-field>label{margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.feishu-field input{width:100%;height:36px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:6px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.feishu-field input::placeholder{color:hsl(var(--muted-foreground))}.feishu-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.feishu-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.feishu-field input:disabled{cursor:not-allowed;opacity:.62}.feishu-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-field-error{margin-top:2px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.feishu-region-picker{position:relative;min-width:0}.feishu-region-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.feishu-region-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.feishu-region-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.feishu-region-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.feishu-region-trigger:disabled{cursor:not-allowed;opacity:.5}.feishu-region-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feishu-region-trigger>svg{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.feishu-region-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.feishu-region-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;box-sizing:border-box;max-height:238px;overflow-y:auto;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.feishu-region-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left}.feishu-region-option:hover,.feishu-region-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.feishu-region-option.is-selected{background:hsl(var(--primary) / .08)}.feishu-secret-input{position:relative}.feishu-secret-input input{padding-right:54px}.feishu-secret-input>button{position:absolute;top:4px;right:4px;height:28px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550}.feishu-secret-input>button:hover:not(:disabled){background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.feishu-secret-input>button:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:-2px}.feishu-secret-input>button:disabled{cursor:not-allowed;opacity:.5}.feishu-deployment-status{margin-top:20px;padding:14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .38)}.feishu-deployment-status.is-succeeded{border-color:#40966452;background:#f1f9f4}.feishu-deployment-status.is-failed{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .045)}.feishu-deployment-heading{min-height:20px;color:hsl(var(--foreground));font-size:13px;line-height:1.5}.feishu-deployment-heading strong{display:inline-flex;align-items:center;gap:6px;font-weight:600}.feishu-deployment-heading svg{width:16px;height:16px;color:#217343}.feishu-deployment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.feishu-deployment-steps li{display:flex;align-items:center;gap:6px;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.feishu-deployment-steps li>span{width:18px;height:18px;display:grid;flex:0 0 18px;place-items:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));font-size:10px}.feishu-deployment-steps li>span svg{width:12px;height:12px}.feishu-deployment-steps li.is-active{color:hsl(var(--foreground));font-weight:550}.feishu-deployment-steps li.is-active>span{border-color:hsl(var(--foreground) / .3)}.feishu-deployment-steps li.is-done>span{border-color:#34895766;color:#217343}.feishu-deployment-error{margin:10px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.55;white-space:pre-wrap}.feishu-deployment-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;color:hsl(var(--muted-foreground));font-size:12px}.feishu-deployment-result>span:first-child{color:hsl(var(--foreground));font-weight:600}.feishu-deployment-result a{display:inline-flex;align-items:center;gap:4px;color:hsl(var(--foreground));font-weight:550;text-decoration:none}.feishu-deployment-result a:hover{text-decoration:underline}.feishu-deployment-result a svg{width:14px;height:14px}.feishu-form-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid hsl(var(--border))}.feishu-secrets-note{display:flex;min-width:0;flex-direction:column;gap:3px}.feishu-secrets-note strong{font-size:12.5px;font-weight:600}.feishu-secrets-note span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-action-buttons{display:flex;flex:0 0 auto;gap:8px}.feishu-submit,.feishu-cancel{height:36px;padding:0 15px;border-radius:7px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.feishu-submit{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.feishu-submit:hover:not(:disabled){opacity:.88}.feishu-submit:disabled{cursor:not-allowed;opacity:.45}.feishu-cancel{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.feishu-cancel:hover{background:hsl(var(--secondary))}.feishu-submit:focus-visible,.feishu-cancel:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}@media (max-width: 760px){.feishu-integration-page{padding:24px 20px 0}.feishu-field-grid{grid-template-columns:1fr}.feishu-deployment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.feishu-form-actions{align-items:stretch;flex-direction:column}.feishu-action-buttons{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.feishu-back,.feishu-field input,.feishu-region-trigger,.feishu-region-trigger>svg{transition:none}}.coding-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.coding-agents-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.coding-agents-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.coding-agents-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-back:disabled{cursor:not-allowed;opacity:.5}.coding-agents-back svg{width:16px;height:16px}.coding-agents-logo{width:32px;height:32px;flex:0 0 32px;color:hsl(var(--foreground))}.coding-agents-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.coding-agents-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.coding-agents-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.coding-agents-content{width:100%;display:flex;flex-direction:column;gap:14px}.coding-agents-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.coding-agents-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coding-agents-section-heading>div{display:flex;align-items:center;gap:9px}.coding-agents-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.coding-agents-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.coding-agents-section-heading>button,.coding-agents-error-row button{min-height:28px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.coding-agents-section-heading>button:hover:not(:disabled),.coding-agents-error-row button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-section-heading>button:focus-visible,.coding-agents-error-row button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.coding-agents-section-heading>button:disabled{cursor:wait;opacity:.5}.coding-agents-inline-state{min-height:86px;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.coding-agents-inline-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-error-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.coding-agents-agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coding-agents-agent{position:relative;min-width:0;min-height:92px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;box-sizing:border-box;padding:12px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.coding-agents-agent:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary) / .18)}.coding-agents-agent.is-selected{border-color:hsl(var(--ring) / .5);background:hsl(var(--primary) / .035);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.coding-agents-agent:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-agent:disabled{cursor:not-allowed;opacity:.58}.coding-agents-agent-mark{width:38px;height:38px;display:grid;place-items:center;color:hsl(var(--foreground))}.coding-agents-agent-mark img{width:32px;height:32px;border-radius:7px}.coding-agents-agent-mark svg{width:32px;height:32px}.coding-agents-agent-mark.is-claude-code{color:#d86e4b}.coding-agents-agent-mark.is-codex{color:#4a55ed}.coding-agents-agent-copy{min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:40px}.coding-agents-agent-copy strong{overflow:hidden;font-size:12.5px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-agent-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-status{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:600}.coding-agents-status.is-ready{background:#36ab661a;color:#247b48}.coding-agents-check{position:absolute;right:9px;bottom:9px;width:17px;height:17px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;color:transparent}.coding-agents-agent.is-selected .coding-agents-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-check svg{width:12px;height:12px}.coding-agents-skill-list{display:flex;flex-direction:column;gap:7px}.coding-agents-skill{min-width:0;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));transition:border-color .15s ease,background-color .15s ease}.coding-agents-skill:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .14)}.coding-agents-skill.is-selected{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .025)}.coding-agents-skill label{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;cursor:pointer}.coding-agents-skill label>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.coding-agents-skill input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.coding-agents-skill-check{width:15px;height:15px;display:grid;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));color:transparent}.coding-agents-skill-check svg{width:10px;height:10px}.coding-agents-skill input:checked+.coding-agents-skill-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-skill input:focus-visible+.coding-agents-skill-check,.coding-agents-skill>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-skill input:disabled+.coding-agents-skill-check{opacity:.55}.coding-agents-skill>button{min-height:30px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap}.coding-agents-skill>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-skill-list strong{font-size:12.5px;font-weight:630;line-height:1.35}.coding-agents-skill-list small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.coding-agents-global{margin-top:14px;padding:14px;border-radius:9px;background:hsl(var(--secondary) / .42)}.coding-agents-global-heading{display:flex;align-items:center;gap:9px}.coding-agents-global-heading>svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground))}.coding-agents-global-heading>div{min-width:0;display:flex;align-items:baseline;gap:8px}.coding-agents-global-heading strong{font-size:12px;font-weight:650}.coding-agents-global-heading span{color:hsl(var(--muted-foreground));font-size:11px}.coding-agents-global dl{margin:10px 0 0 27px}.coding-agents-global dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding-top:6px;font-size:11.5px;line-height:1.45}.coding-agents-global dt{color:hsl(var(--muted-foreground))}.coding-agents-global dd{min-width:0;margin:0;overflow-wrap:anywhere}.coding-agents-global>p{margin:9px 0 0 27px;color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-result{padding:11px 12px;border:1px solid;border-radius:8px;font-size:11.5px;line-height:1.45}.coding-agents-result.is-success{border-color:#2c965838;background:#2da9610f;color:#217343}.coding-agents-result.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.coding-agents-result strong{font-weight:620}.coding-agents-result ul{margin:7px 0 0;padding-left:16px;color:inherit}.coding-agents-result li{margin-top:3px;overflow-wrap:anywhere}.coding-agents-actions{min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.coding-agents-actions>span{color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-actions>button{min-width:112px;min-height:36px;padding:7px 18px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:opacity .15s ease}.coding-agents-actions>button:hover:not(:disabled){opacity:.82}.coding-agents-actions>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-actions>button:disabled{cursor:not-allowed;opacity:.42}.coding-agents-preview-dialog{width:min(980px,calc(100vw - 48px));height:min(680px,calc(100vh - 48px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 24px 64px hsl(var(--foreground) / .18)}.coding-agents-preview-dialog[open]{display:flex;flex-direction:column}.coding-agents-preview-dialog::backdrop{background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.coding-agents-preview-header{min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.coding-agents-preview-mark svg{width:18px;height:18px}.coding-agents-preview-header h2,.coding-agents-preview-header p{margin:0}.coding-agents-preview-header h2{font-size:14px;font-weight:650;line-height:1.4}.coding-agents-preview-header p{margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.coding-agents-preview-header>button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.coding-agents-preview-header>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-header>button:focus-visible,.coding-agents-preview-tree button:focus-visible,.coding-agents-preview-tree summary:focus-visible,.coding-agents-preview-state button:focus-visible,.coding-agents-preview-file pre:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:1px}.coding-agents-preview-header>button svg{width:16px;height:16px}.coding-agents-preview-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}.coding-agents-preview-tree{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.coding-agents-preview-tree-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-tree-title span{font-size:11.5px;font-weight:650}.coding-agents-preview-tree-title small{min-width:20px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;text-align:center}.coding-agents-preview-tree-scroll{min-height:0;overflow:auto;padding:8px}.coding-agents-preview-tree details{margin-bottom:4px}.coding-agents-preview-tree summary{min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;border-radius:6px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:11.5px;list-style:none}.coding-agents-preview-tree summary::-webkit-details-marker{display:none}.coding-agents-preview-tree summary:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree summary svg,.coding-agents-preview-tree button svg{width:15px;height:15px;flex:0 0 15px}.coding-agents-preview-tree details>div{padding-left:13px}.coding-agents-preview-tree button{width:100%;min-width:0;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;text-align:left}.coding-agents-preview-tree button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree button.is-selected{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground));font-weight:600}.coding-agents-preview-tree button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file{min-width:0;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.coding-agents-preview-file>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-file>header strong{min-width:0;overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file>header span{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10.5px}.coding-agents-preview-file pre{flex:1;min-width:0;min-height:0;margin:0;overflow:auto;padding:16px 18px 24px;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre}.coding-agents-preview-file code{font:inherit}.coding-agents-preview-state,.coding-agents-preview-unavailable{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.coding-agents-preview-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-preview-state.is-error{flex-direction:column;color:hsl(var(--destructive))}.coding-agents-preview-state button{min-height:30px;padding:4px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}@keyframes coding-agents-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.coding-agents-page{padding:20px 18px 0}.coding-agents-agent-grid{grid-template-columns:minmax(0,1fr)}.coding-agents-global-heading>div{align-items:flex-start;flex-direction:column;gap:2px}.coding-agents-global dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.coding-agents-actions{align-items:stretch;flex-direction:column;gap:8px}.coding-agents-actions>span{text-align:right}.coding-agents-actions>button{width:100%}.coding-agents-preview-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}.coding-agents-preview-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,34%) minmax(0,1fr)}.coding-agents-preview-tree{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.coding-agents-back,.coding-agents-agent,.coding-agents-skill,.coding-agents-actions>button{transition:none}.coding-agents-inline-state i,.coding-agents-preview-state i{animation-duration:1.5s}}.new-chat-mode{position:relative;align-self:flex-start}.new-chat-mode__trigger{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 7px 2px 5px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease}.composer--new-chat .new-chat-mode__trigger{min-height:36px;font-size:15px}.new-chat-mode__trigger:hover,.new-chat-mode__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-mode__current{max-width:min(180px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__trigger:focus-visible,.new-chat-mode__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-mode__icon,.new-chat-mode__option-icon{display:inline-grid;place-items:center;flex:0 0 auto}.new-chat-mode__icon svg{width:15px;height:15px}.new-chat-mode__option-icon svg{width:18px;height:18px}.new-chat-mode svg{fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.new-chat-mode svg.new-chat-mode__temporary-icon{stroke-width:1.3}.new-chat-mode__chevron{width:12px;height:12px;transition:transform .14s ease}.new-chat-mode__trigger[aria-expanded=true] .new-chat-mode__chevron{transform:rotate(180deg)}.new-chat-mode__menus{position:absolute;z-index:43;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:8px}.new-chat-mode__menu{flex:0 0 auto;width:286px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__option{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer}.new-chat-mode__option.is-active{background:hsl(var(--accent))}.new-chat-mode__option:disabled{cursor:not-allowed;opacity:.48}.new-chat-mode__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-mode__copy>span:last-child{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.new-chat-mode__label{display:flex;min-width:0;align-items:center;gap:7px;font-size:13px;line-height:1.3}.new-chat-mode__label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-mode__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-mode__submenu{flex:0 0 auto;width:248px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__submenu-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-mode__submenu-option:hover:not(:disabled){background:hsl(var(--accent))}.new-chat-mode__submenu-option:disabled{cursor:not-allowed;opacity:.42}.new-chat-mode__builtin-icon{width:24px;height:24px;flex:0 0 auto;stroke-width:1.75}@media (max-width: 640px){.new-chat-mode__menus{width:min(320px,calc(100vw - 48px));max-height:min(520px,calc(100vh - 160px));flex-direction:column;overflow-y:auto}.new-chat-mode__menu,.new-chat-mode__submenu{width:100%}}@media (prefers-reduced-motion: reduce){.new-chat-mode__trigger,.new-chat-mode__chevron{transition:none}}.new-chat-agent-picker{position:relative;min-width:0}.composer--new-chat .new-chat-agent-picker{position:absolute;z-index:5;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-agent-picker{left:138px}.composer--new-chat.composer--task-image .new-chat-agent-picker,.composer--new-chat.composer--task-video .new-chat-agent-picker{left:176px}.new-chat-agent-picker__trigger{display:inline-flex;align-items:center;gap:6px;max-width:min(220px,42vw);min-height:36px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-agent-picker__trigger:hover,.new-chat-agent-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-agent-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-agent-picker__trigger>span{display:flex;min-height:20px;align-items:center;overflow:hidden;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-chevron{width:13px;height:13px;flex:0 0 auto;transform:rotate(90deg);transition:transform .14s ease}.new-chat-agent-picker__trigger[aria-expanded=true] .new-chat-agent-picker__trigger-chevron{transform:rotate(-90deg)}.new-chat-agent-picker__menus{position:absolute;z-index:44;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:7px;outline:none}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-agent-picker__menu{width:218px}.new-chat-agent-picker__submenu{width:272px;max-height:286px;overflow:auto}.new-chat-agent-picker__type,.new-chat-agent-picker__runtime{display:grid;align-items:center;width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left}.new-chat-agent-picker__type{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;padding:7px 8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__type:hover,.new-chat-agent-picker__type.is-keyboard-active,.new-chat-agent-picker__runtime:hover:not(:disabled),.new-chat-agent-picker__runtime.is-keyboard-active{background:hsl(var(--accent))}.new-chat-agent-picker__type-icon,.new-chat-agent-picker__runtime-icon{width:18px;height:18px;flex:0 0 auto}.new-chat-agent-picker__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-agent-picker__runtime{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__runtime:disabled{cursor:wait;opacity:.62}.new-chat-agent-picker__runtime>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__runtime small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-agent-picker__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-agent-picker__runtime-list{display:flex;flex-direction:column;gap:1px}.new-chat-agent-picker__empty{min-height:116px;padding:14px 10px}.new-chat-agent-picker__empty-title{white-space:nowrap}.new-chat-agent-picker__empty-agent-icon{width:32px;height:32px}.new-chat-agent-picker__status,.new-chat-agent-picker__error,.new-chat-agent-picker__inline-error{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.new-chat-agent-picker__status{display:flex;min-height:76px;align-items:center;justify-content:center;gap:7px;padding:12px}.new-chat-agent-picker__error{display:flex;flex-direction:column;gap:8px;padding:10px;color:hsl(var(--destructive))}.new-chat-agent-picker__error>span,.new-chat-agent-picker__inline-error{white-space:pre-wrap;overflow-wrap:anywhere}.new-chat-agent-picker__error button,.new-chat-agent-picker__load-more{min-height:30px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.new-chat-agent-picker__inline-error{padding:6px 8px;color:hsl(var(--destructive))}.new-chat-agent-picker__load-more{width:100%;margin-top:4px}.new-chat-agent-picker__load-more:disabled{cursor:wait;opacity:.55}.new-chat-agent-picker__spinner{width:13px;height:13px;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-agent-picker-spin .7s linear infinite}.new-chat-agent-picker__trigger:focus-visible,.new-chat-agent-picker__type:focus-visible,.new-chat-agent-picker__runtime:focus-visible,.new-chat-agent-picker__error button:focus-visible,.new-chat-agent-picker__load-more:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}@keyframes new-chat-agent-picker-spin{to{transform:rotate(360deg)}}@media (max-height: 700px) and (min-width: 641px){.new-chat-agent-picker__menus{top:auto;bottom:calc(100% + 7px)}.new-chat-agent-picker__submenu{max-height:min(220px,calc(100dvh - 180px))}}@media (max-width: 640px){.new-chat-agent-picker__menus{width:min(320px,calc(100vw - 88px));max-height:min(420px,calc(100dvh - 168px));flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{width:100%;flex:0 0 auto}.new-chat-agent-picker__submenu{max-height:220px}}@media (prefers-reduced-motion: reduce){.new-chat-agent-picker__trigger,.new-chat-agent-picker__trigger-chevron{transition:none}.new-chat-agent-picker__spinner{animation:none}}.new-chat-workspace-tabs{position:relative;z-index:1;display:flex;align-self:flex-start;width:100%;height:76px;margin:0 0 -26px;padding:8px 10px 34px;align-items:flex-start;gap:6px;overflow-x:auto;overflow-y:hidden;border-radius:16px 16px 13px 13px;background:hsl(var(--muted) / .72);box-sizing:border-box;scrollbar-width:none}.new-chat-workspace-tabs::-webkit-scrollbar{display:none}.new-chat-workspace-tabs__tab{position:relative;display:inline-flex;flex:0 0 104px;width:104px;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:14px;font-weight:400;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.new-chat-workspace-tabs__tab:hover:not(:disabled):not(.is-active){background:hsl(var(--background) / .56);color:hsl(var(--foreground))}.new-chat-workspace-tabs__tab.is-active{color:hsl(var(--foreground));font-weight:400}.new-chat-workspace-tabs__slider{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid hsl(var(--border) / .76);border-radius:inherit;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035);pointer-events:none}.new-chat-workspace-tabs__tab:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-workspace-tabs__tab:disabled{cursor:not-allowed;opacity:.48}.new-chat-workspace-tabs__icon{position:relative;z-index:1;width:17px;height:17px;flex:0 0 auto}.new-chat-workspace-tabs__skill-icon{display:inline-grid;place-items:center}.new-chat-workspace-tabs__skill-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .2s cubic-bezier(.22,1,.36,1)}.new-chat-workspace-tabs__skill-shape.is-triangle{clip-path:inset(0 18% 50% 18%);transform-origin:50% 30%}.new-chat-workspace-tabs__skill-shape.is-circle{clip-path:inset(47% 50% 0 0);transform-origin:28% 72%}.new-chat-workspace-tabs__skill-shape.is-square{clip-path:inset(47% 0 0 50%);transform-origin:72% 72%}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-box:view-box;transform-origin:12px 18.5px;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-triangle{transform:translateY(-1px) scale(1.04)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-circle{transform:translate(-.6px,.6px) rotate(-6deg)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-square{transform:translate(.7px,.5px) rotate(6deg)}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-origin:3.25px 9px}.new-chat-workspace-tabs__tab:hover:not(:disabled) .video-generate-icon__clapper{transform:rotate(-14deg)}.new-chat-workspace-tabs__label{position:relative;z-index:1}.new-chat-skill-picker{position:relative;flex:0 0 auto;min-width:0}.new-chat-skill-controls{position:absolute;z-index:5;right:52px;bottom:10px;left:52px;display:flex;min-width:0;align-items:center;gap:4px}.new-chat-skill-controls__style,.new-chat-skill-controls__model{min-width:0}.new-chat-skill-controls__style{flex:0 1 auto;max-width:180px}.new-chat-skill-controls__model{flex:0 1 auto;max-width:240px;margin-left:auto}.new-chat-skill-controls__style .new-chat-compact-select,.new-chat-skill-controls__model .new-chat-compact-select{width:fit-content;max-width:100%}.new-chat-skill-controls__style .new-chat-compact-select__trigger,.new-chat-skill-controls__model .new-chat-compact-select__trigger{width:auto;max-width:100%}.new-chat-skill-controls__model .new-chat-compact-select__menu{right:0;left:auto}.new-chat-skill-picker__trigger{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-skill-picker__trigger:hover,.new-chat-skill-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-skill-picker__trigger:focus-visible,.new-chat-skill-picker__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-skill-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-skill-picker__chevron,.new-chat-skill-picker__check{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-skill-picker__chevron{transition:transform .14s ease}.new-chat-skill-picker__trigger[aria-expanded=true] .new-chat-skill-picker__chevron{transform:rotate(180deg)}.new-chat-skill-picker__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:180px;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-skill-picker__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:34px;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.new-chat-skill-picker__option:hover,.new-chat-skill-picker__option.is-active{background:hsl(var(--accent))}.new-chat-skill-picker__check{color:hsl(var(--primary))}.new-chat-compact-select{position:relative;min-width:0;max-width:190px}.new-chat-compact-select__trigger{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;gap:5px;padding:2px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-compact-select__trigger:focus-visible,.new-chat-compact-select__search input:focus-visible,.new-chat-compact-select__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-compact-select__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-compact-select__label{flex:0 0 auto;color:hsl(var(--muted-foreground) / .76)}.new-chat-compact-select__value{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__value.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.new-chat-compact-select__chevron,.new-chat-compact-select__check{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-compact-select__chevron{transition:transform .14s ease}.new-chat-compact-select__spinner{width:13px;height:13px;flex:0 0 auto;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-compact-select-spin .7s linear infinite}@keyframes new-chat-compact-select-spin{to{transform:rotate(360deg)}}.new-chat-compact-select__trigger[aria-expanded=true] .new-chat-compact-select__chevron{transform:rotate(180deg)}.new-chat-compact-select__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:min(240px,calc(100vw - 32px));padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .28),0 3px 10px hsl(var(--foreground) / .05)}.new-chat-compact-select__search{display:block;padding:2px 2px 5px}.new-chat-compact-select__search input{width:100%;min-height:32px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.new-chat-compact-select__list{max-height:240px;overflow-y:auto}.new-chat-compact-select__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:36px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-compact-select__option:hover,.new-chat-compact-select__option.is-active{background:hsl(var(--accent))}.new-chat-compact-select__option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-compact-select__option-copy strong,.new-chat-compact-select__option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__option-copy strong{font-size:13px;font-weight:550}.new-chat-compact-select__option-copy small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-compact-select__check{color:hsl(var(--primary))}.new-chat-compact-select__status{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.new-chat-compact-select__status.is-error{color:hsl(var(--destructive))}.new-chat-compact-select__status button{flex:0 0 auto;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}@media (max-width: 520px){.new-chat-workspace-tabs__tab{gap:5px;padding:0 6px;font-size:13px}.new-chat-workspace-tabs__icon{width:16px;height:16px}.new-chat-skill-controls>.new-chat-compact-select{flex:1 1 0}.new-chat-skill-picker__trigger{padding-right:5px;padding-left:4px;font-size:13px}.new-chat-compact-select__trigger{padding-right:5px;padding-left:5px;gap:3px}.new-chat-compact-select__label{display:none}}@media (prefers-reduced-motion: reduce){.new-chat-workspace-tabs__tab,.new-chat-skill-picker__trigger,.new-chat-skill-picker__chevron,.new-chat-compact-select__trigger,.new-chat-compact-select__chevron{transition:none}.new-chat-compact-select__spinner{animation:none}.new-chat-workspace-tabs__skill-shape,.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transition:none}}.new-chat-skill-target-picker{position:relative;min-width:0;flex:0 1 220px}.new-chat-skill-target-picker__trigger{max-width:100%}.new-chat-skill-target-picker__menus.is-above{top:auto;bottom:calc(100% + 7px)}.new-chat-skill-target-picker__menus>.new-chat-agent-picker__menu,.new-chat-skill-target-picker__submenu{max-height:var(--new-chat-skill-menu-max-height, 286px);overflow-y:auto;overscroll-behavior:contain}.new-chat-skill-target-picker__space{grid-template-columns:minmax(0,1fr) 16px}.new-chat-skill-target-picker__space>span,.new-chat-skill-target-picker__skill>span,.new-chat-skill-target-picker__skill>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-skill-target-picker__space.is-previewed{background:hsl(var(--accent))}.new-chat-skill-target-picker__skill{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.new-chat-skill-target-picker__skill>span{grid-column:1;font-weight:400}.new-chat-skill-target-picker__skill>small{grid-column:1}.new-chat-skill-target-picker__skill>.new-chat-agent-picker__check{grid-column:2;grid-row:1 / span 2}.new-chat-skill-target-picker__empty{display:grid;min-height:76px;place-items:center;padding:12px;color:hsl(var(--muted-foreground));font-size:12px}@media (prefers-reduced-motion: reduce){.new-chat-skill-target-picker__spinner{animation:none}}.new-chat-video-controls{position:absolute;z-index:0;top:calc(100% - 8px);right:16px;left:16px;display:flex;min-width:0;flex-direction:column;gap:12px;padding:24px 14px 12px;border:0;border-radius:0 0 14px 14px;background:hsl(var(--muted) / .72);color:hsl(var(--foreground));transform-origin:top center}.new-chat-video-controls__parameters{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:8px;background:hsl(var(--background) / .54)}.new-chat-video-task-mode{position:absolute;z-index:5;bottom:10px;left:52px;width:fit-content;min-width:0;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select{width:fit-content;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select__trigger{width:auto;min-width:96px;max-width:220px;padding-right:10px;padding-left:10px}.new-chat-video-generation-model{position:absolute;z-index:5;right:52px;bottom:10px;display:inline-flex;min-width:0;min-height:36px;max-width:290px;align-items:center;gap:5px;padding:2px 8px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-generation-model strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-controls__field{min-width:0}.new-chat-video-controls__parameters>:not(:first-child){border-left:1px solid hsl(var(--border) / .62)}.new-chat-video-controls .new-chat-compact-select{width:100%;max-width:none}.new-chat-video-controls .new-chat-compact-select__trigger,.new-chat-video-duration{width:100%;min-height:36px;border:0;border-radius:0;background:transparent}.new-chat-video-controls__parameters>:first-child,.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:8px 0 0 8px}.new-chat-video-controls__parameters>:last-child{border-radius:0 8px 8px 0}.new-chat-video-controls .new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-video-controls .new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--background) / .92)}.new-chat-video-duration{display:grid;min-width:0;grid-template-columns:72px minmax(52px,1fr);align-items:center;gap:8px;padding:2px 8px}.new-chat-video-duration.is-disabled{opacity:.48}.new-chat-video-duration__header{display:flex;align-items:center;justify-content:space-between;gap:4px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-duration__header output{color:hsl(var(--foreground));font-weight:550}.new-chat-video-duration input{width:100%;height:16px;margin:0;accent-color:hsl(var(--primary));cursor:pointer}.new-chat-video-duration input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:hsl(var(--muted-foreground) / .24)}.new-chat-video-duration input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:hsl(var(--foreground) / .72);-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-chat-video-duration input:disabled{cursor:not-allowed}.new-chat-video-duration:focus-within{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-controls__assets{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-chat-video-controls__assets.is-single{grid-template-columns:minmax(0,1fr)}.composer-input-stack.has-inline-asset .comp-input{padding-left:96px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:96px;max-width:calc(100% - 106px)}.new-chat-inline-video{position:absolute;z-index:3;top:3px;left:10px;width:70px;height:66px}.new-chat-inline-video__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-inline-video__tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;overflow:hidden;box-sizing:border-box;border:1px dashed hsl(var(--muted-foreground) / .5);border-radius:10px;background:hsl(var(--muted) / .45);color:hsl(var(--muted-foreground));font-size:12px;line-height:1;cursor:pointer;transform:rotate(-6deg);transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .15s ease-out,background-color .15s ease-out}.new-chat-inline-video__tile:hover,.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile,.new-chat-inline-video:focus-within .new-chat-inline-video__tile{border-color:hsl(var(--muted-foreground) / .72);background:hsl(var(--muted) / .68);transform:rotate(0)}.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile{outline:2px solid hsl(var(--primary) / .42);outline-offset:2px}.new-chat-inline-video__tile svg{width:22px;height:22px;flex:0 0 auto}.new-chat-inline-video__tile img,.new-chat-inline-video__tile video{width:100%;height:100%;display:block;object-fit:cover}.new-chat-inline-video__remove{position:absolute;z-index:2;top:-5px;right:-5px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;opacity:0;transition:opacity .14s ease-out,color .14s ease-out}.new-chat-inline-video:hover .new-chat-inline-video__remove,.new-chat-inline-video:focus-within .new-chat-inline-video__remove{opacity:1}.new-chat-inline-video__remove:hover{color:hsl(var(--foreground))}.new-chat-inline-video__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px;opacity:1}.new-chat-inline-video__remove svg{width:13px;height:13px}.new-chat-inline-video.is-disabled{opacity:.48}.new-chat-inline-video.is-disabled .new-chat-inline-video__tile,.new-chat-inline-video__remove:disabled{cursor:not-allowed}.new-chat-video-controls__model-hint{min-height:18px;display:flex;align-items:center;justify-content:center;margin:-2px 2px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.new-chat-video-controls__storage-unavailable{min-height:18px;margin:-3px 2px -4px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;text-align:center}.new-chat-video-model-spinner{width:13px;height:13px;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:new-chat-video-model-spin .72s linear infinite}@keyframes new-chat-video-model-spin{to{transform:rotate(360deg)}}.new-chat-video-asset{position:relative;min-width:0}.new-chat-video-asset__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-video-asset__label{display:grid;min-height:50px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;border:1px dashed hsl(var(--border) / .72);border-radius:8px;background:hsl(var(--background) / .36);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.new-chat-video-asset__label:hover{border-color:hsl(var(--muted-foreground) / .48);background:hsl(var(--background) / .8)}.new-chat-video-asset__input:focus-visible+.new-chat-video-asset__label{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset.is-disabled{opacity:.48}.new-chat-video-asset.is-disabled .new-chat-video-asset__label{cursor:not-allowed}.new-chat-video-asset__icon{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:7px;background:hsl(var(--accent));color:hsl(var(--muted-foreground))}.new-chat-video-asset__icon svg{width:15px;height:15px}.new-chat-video-asset__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-video-asset__title{display:flex;min-width:0;align-items:baseline;gap:6px;font-size:13px;font-weight:550}.new-chat-video-asset__title small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:450}.new-chat-video-asset__value{overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-asset__value.is-selected{color:hsl(var(--foreground) / .78)}.new-chat-video-asset__action{padding-right:2px;color:hsl(var(--foreground) / .74);font-size:12px;font-weight:550}.new-chat-video-asset__remove{position:absolute;z-index:1;top:50%;right:7px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transform:translateY(-50%)}.new-chat-video-asset__remove:hover{color:hsl(var(--foreground))}.new-chat-video-asset__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset__remove:disabled{cursor:not-allowed}.new-chat-video-asset__remove svg{width:14px;height:14px}.new-chat-video-asset:has(.new-chat-video-asset__remove) .new-chat-video-asset__action{visibility:hidden}@media (max-width: 620px){.new-chat-video-controls{right:16px;left:16px;padding-right:12px;padding-left:12px}.new-chat-video-controls__parameters{grid-template-columns:minmax(0,1fr)}.new-chat-video-controls__parameters>*{border-left:0;border-top:1px solid hsl(var(--border) / .62);border-radius:0!important}.new-chat-video-controls__parameters>:first-child{border-top:0;border-radius:8px 8px 0 0!important}.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:inherit}.new-chat-video-controls__parameters>:last-child{border-radius:0 0 8px 8px!important}.new-chat-video-controls__assets{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.new-chat-video-model-spinner{border-right-color:currentColor;animation:none}}@media (max-width: 520px){.new-chat-video-task-mode,.new-chat-video-task-mode .new-chat-compact-select,.new-chat-video-task-mode .new-chat-compact-select__trigger{max-width:132px}.new-chat-video-generation-model{max-width:84px}.new-chat-video-generation-model>span{display:none}.composer-input-stack.has-inline-asset .comp-input{padding-left:84px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:84px;max-width:calc(100% - 94px)}.new-chat-inline-video{width:60px;height:60px}}@media (prefers-reduced-motion: reduce){.new-chat-video-asset__label,.new-chat-inline-video__tile,.new-chat-inline-video__remove{transition:none}.new-chat-inline-video__tile{transform:none}}.stk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 6vh}.stk-head{text-align:center;margin-bottom:26px}.stk-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em}.stk-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.stk-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}.stk-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,background .12s}.stk-card:hover{border-color:hsl(var(--ring) / .35);background:hsl(var(--foreground) / .02);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.stk-card-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.stk-card-icon svg{width:21px;height:21px}.stk-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.stk-card-title{font-size:15px;font-weight:600}.stk-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.stk-card-status{flex-shrink:0;padding:4px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.stk-card-arrow{flex-shrink:0;width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.stk-card:hover .stk-card-arrow{opacity:1;transform:translate(0)}.stk-card-disabled{opacity:.5;cursor:not-allowed}.stk-card-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--card));box-shadow:none}.stk-card-disabled .stk-card-arrow{display:none}.stk-footer{margin-top:18px;width:100%;max-width:520px;display:flex;justify-content:center}.stk-import{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px dashed hsl(var(--border));border-radius:9px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.stk-import:hover{color:hsl(var(--foreground));border-color:hsl(var(--ring) / .4);background:hsl(var(--foreground) / .03)}.stk-import svg{width:15px;height:15px}@layer components{._Container_1tuad_1{position:relative;display:flex}._Container_1tuad_1[data-has-label]{align-items:flex-start}._Container_1tuad_1[data-orientation=right]{flex-direction:row-reverse}._Container_1tuad_1>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._Checkbox_1tuad_22{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;max-width:18px;height:18px;padding:0;border-radius:var(--radius-xs);background-color:transparent;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}._Checkbox_1tuad_22,:where([data-theme=light]) ._Checkbox_1tuad_22{border:1px solid var(--gray-200)}:where([data-theme=dark]) ._Checkbox_1tuad_22{border:1px solid var(--gray-500)}[data-has-label] ._Checkbox_1tuad_22{top:1px}@media (hover: hover) and (pointer: fine){._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover,:where([data-theme=light]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-600)}}._Checkbox_1tuad_22[data-state=indeterminate],._Checkbox_1tuad_22[data-state=checked]{border-color:var(--gray-900);background-color:var(--gray-900)}._Checkbox_1tuad_22:focus{outline:none}._Checkbox_1tuad_22:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._Checkbox_1tuad_22[data-disabled]{cursor:not-allowed}._Checkbox_1tuad_22[data-disabled],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-150);background:var(--gray-25)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-300);background:var(--gray-200)}._Checkbox_1tuad_22[data-disabled][data-state=checked],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-300);background-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-200);background-color:var(--gray-200)}._CheckMark_1tuad_92{position:absolute;top:0;left:0;width:64%;height:32%;transform:rotate(-45deg) translate(-10%,100%);transform-origin:center;transition:opacity .15s ease,transform .15s ease}@starting-style{._CheckMark_1tuad_92{opacity:0}}[data-state=indeterminate] ._CheckMark_1tuad_92{transform:translate(30%,80%)}[data-state=indeterminate] ._CheckMark_1tuad_92:before{opacity:0}._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{position:absolute;display:block;background:var(--gray-0);content:"";will-change:transform}@starting-style{._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{transform:scale(0)}}:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:before,:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:after{background:var(--gray-100)}._CheckMark_1tuad_92:before{top:0;bottom:0;left:0;width:2px;transform-origin:0 0;transition:transform .1s ease 80ms,opacity .2s ease}._CheckMark_1tuad_92 [data-state=indeterminate]:before{opacity:0}._CheckMark_1tuad_92:after{right:0;bottom:0;left:0;height:2px;transform-origin:0 100%;transition:transform .1s ease .16s}._Label_1tuad_162{display:flex;align-items:center;min-height:20px;cursor:pointer;font-size:14px;line-height:20px}[data-disabled] ._Label_1tuad_162{cursor:not-allowed}[data-orientation=left] ._Label_1tuad_162{padding-left:8px}[data-orientation=right] ._Label_1tuad_162{padding-right:8px}}@layer components{._RadioGroup_onrfm_1{display:flex;gap:var(--radio-group-row-gap)}._RadioGroup_onrfm_1:where([data-direction=col]){flex-direction:column;gap:var(--radio-group-col-gap)}._RadioLabel_onrfm_9{display:inline-flex;flex-direction:row;align-items:flex-start;gap:var(--radio-group-item-gap);cursor:pointer;font-size:var(--radio-group-item-font-size);line-height:var(--radio-group-item-line-height)}._RadioLabel_onrfm_9[data-disabled]{cursor:not-allowed;opacity:.5}._RadioLabel_onrfm_9[data-block]{width:100%}._RadioIndicatorWrapper_onrfm_26{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--radio-group-item-line-height)}._RadioIndicatorWrapper_onrfm_26>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._RadioItem_onrfm_43{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);padding:0;border:none;border-radius:var(--radius-full);background-color:transparent;box-shadow:0 0 0 1px var(--radio-group-indicator-border-color) inset;cursor:pointer;transition-duration:var(--transition-duration-basic);transition-property:box-shadow;transition-timing-function:var(--transition-ease-basic)}@media (hover: hover) and (pointer: fine){._RadioItem_onrfm_43:where(:not([data-disabled])):hover{box-shadow:0 0 0 1px var(--radio-group-indicator-border-color-hover) inset}}._RadioItem_onrfm_43[data-disabled]{cursor:not-allowed}._RadioItem_onrfm_43:focus{outline:none}._RadioItem_onrfm_43:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._RadioIndicator_onrfm_26{position:relative;display:inline-grid;align-items:center;justify-content:center;width:100%;height:100%}._RadioIndicator_onrfm_26:before,._RadioIndicator_onrfm_26:after{display:block;content:"";grid-column-start:1;grid-row-start:1;place-self:center center;will-change:transform}._RadioIndicator_onrfm_26:before{width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);border-radius:var(--radius-full);animation:_fade-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-background-color)}._RadioIndicator_onrfm_26:after{width:var(--radio-group-indicator-hole-size);height:var(--radio-group-indicator-hole-size);border-radius:var(--radius-full);animation:_scale-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-hole-background-color)}@keyframes _scale-in_onrfm_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _fade-in_onrfm_1{0%{opacity:0}to{opacity:1}}}.code-browser-trigger{min-height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:color .12s ease,background-color .12s ease}.code-browser-trigger svg{width:13px;height:13px}.code-browser-trigger:hover{background:hsl(var(--foreground) / .04);color:hsl(var(--foreground))}.code-browser-trigger:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.code-browser-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:code-browser-fade-in .14s ease-out}.code-browser-dialog{width:min(1040px,92vw);height:min(720px,84vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:code-browser-rise-in .18s cubic-bezier(.2,.8,.2,1)}.code-browser-head{flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.code-browser-title-wrap{min-width:0;display:flex;align-items:center;gap:10px}.code-browser-title-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:7px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-title-icon svg,.code-browser-close svg{width:16px;height:16px}.code-browser-title-wrap h2,.code-browser-title-wrap p{margin:0}.code-browser-title-wrap h2{color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35}.code-browser-title-wrap p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.code-browser-close{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.code-browser-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-workspace{flex:1;min-height:0;display:flex}.code-browser-sidebar{flex:0 0 220px;min-width:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .22)}.code-browser-sidebar-head,.code-browser-path{flex:0 0 38px;min-height:38px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.code-browser-sidebar-head{justify-content:space-between;padding:0 12px;color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.code-browser-sidebar-head span{font-variant-numeric:tabular-nums;font-weight:500}.code-browser-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.code-browser-file,.code-browser-folder{width:100%;min-height:30px;display:flex;align-items:center;gap:6px;padding-top:4px;padding-right:10px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.code-browser-file:hover,.code-browser-folder:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.code-browser-file.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.code-browser-file svg,.code-browser-folder svg{width:14px;height:14px;flex:0 0 auto}.code-browser-folder>svg:first-child{width:12px;height:12px;transition:transform .12s ease}.code-browser-folder>svg:first-child.is-open{transform:rotate(90deg)}.code-browser-file span,.code-browser-folder span,.code-browser-path span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-browser-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.code-browser-path{gap:7px;padding:0 13px;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.code-browser-path svg{width:13px;height:13px;flex:0 0 auto}.code-browser-editor{flex:1;min-height:0;overflow:hidden}.code-browser-editor>div,.code-browser-editor .cm-theme,.code-browser-editor .cm-editor{height:100%}.code-browser-editor .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.code-browser-empty{height:100%;display:grid;place-items:center;padding:20px;color:hsl(var(--muted-foreground));font-size:12px}@keyframes code-browser-fade-in{0%{opacity:0}to{opacity:1}}@keyframes code-browser-rise-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.code-browser-backdrop{padding:12px}.code-browser-dialog{width:100%;height:min(760px,92vh)}.code-browser-sidebar{flex-basis:168px}}@media (prefers-reduced-motion: reduce){.code-browser-backdrop,.code-browser-dialog{animation:none}}.pp-config-section.pp-resource-section{overflow:visible}.pp-resource-section:has(.pp-deployment-select-trigger[aria-expanded=true]){position:relative;z-index:70}.pp-resource-list{--pp-resource-mode-column: minmax(196px, .34fr);display:flex;flex-direction:column;gap:12px}.pp-resource-item{min-width:0;padding:12px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background))}.pp-resource-name{margin-bottom:10px;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.4}.pp-resource-grid{min-width:0;display:grid;grid-template-columns:var(--pp-resource-mode-column) minmax(0,.66fr);align-items:start;gap:12px}.pp-resource-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-resource-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-resource-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-field>input{width:100%;min-width:0;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;transition:border-color .12s ease,box-shadow .12s ease}.pp-resource-field>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-resource-field>input:disabled{cursor:not-allowed;opacity:.55}.pp-resource-auto-names{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-auto-names>dl{min-width:0;margin:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background))}.pp-resource-auto-names>dl>div{min-width:0;min-height:35px;display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,.66fr);align-items:center;gap:10px;padding:8px 10px}.pp-resource-auto-names>dl>div+div{border-top:1px solid hsl(var(--border) / .72)}.pp-resource-auto-names dt,.pp-resource-auto-names dd{min-width:0;margin:0}.pp-resource-auto-names dd{overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px}.pp-resource-auto-names>small{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-picker{min-width:0;display:flex;flex-direction:column;gap:6px}.pp-resource-status{min-height:17px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-error{min-height:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.pp-resource-error span{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.pp-resource-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-resource-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-resource-validation{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}@media (max-width: 760px){.pp-resource-grid,.pp-resource-fields,.pp-resource-fields-three{grid-template-columns:minmax(0,1fr)}.pp-resource-auto-names>dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (prefers-reduced-motion: reduce){.pp-resource-field>input{transition:none}}.layout{--pp-sidebar-width: 236px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.pp-toolbar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.pp-toolbar-left,.pp-toolbar-actions,.pp-actions{display:flex;align-items:center}.pp-toolbar-left{min-width:0;gap:18px}.pp-toolbar-actions{flex:0 0 auto;gap:8px}.pp-toolbar-back{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;font-weight:500;cursor:pointer}.pp-toolbar-back:hover{color:hsl(var(--foreground))}.pp-toolbar-title{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-secondary{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.pp-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.pp-secondary:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--accent))}.pp-secondary:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.pp-secondary:disabled{opacity:.55;cursor:default}.pp-body{flex:1;min-height:0;min-width:0;display:flex}.pp-files-area{flex:1 1 auto;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.pp-sidebar{flex:0 0 218px;width:218px;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .24)}.pp-sidebar-head,.pp-main-head{flex:0 0 42px;min-height:42px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.pp-sidebar-head{gap:8px;padding:0 9px 0 14px}.pp-project-name{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:650;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.pp-row{width:100%;min-height:29px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.pp-row:hover{background:hsl(var(--foreground) / .045)}.pp-file.pp-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.pp-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-folder .pp-label{color:hsl(var(--muted-foreground))}.pp-ic{width:15px;height:15px;flex:0 0 auto}.pp-chevron{color:hsl(var(--muted-foreground));transition:transform .12s ease}.pp-chevron.pp-open{transform:rotate(90deg)}.pp-icon-btn{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-icon-btn:hover:not(:disabled){background:hsl(var(--foreground) / .07);color:hsl(var(--foreground))}.pp-icon-btn:disabled{opacity:.45;cursor:default}.pp-danger:hover:not(:disabled){color:hsl(var(--destructive))}.pp-new-input{width:calc(100% - 16px);height:30px;margin:2px 8px 6px;padding:0 8px;border:1px solid hsl(var(--ring) / .55);border-radius:4px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-empty,.pp-placeholder{width:100%;padding:28px 16px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.pp-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.pp-main-head{gap:12px;padding:0 10px 0 14px;background:hsl(var(--background))}.pp-path{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-actions{gap:2px}.pp-content{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.pp-codemirror,.pp-codemirror>div,.pp-codemirror .cm-editor{width:100%;height:100%;min-height:0}.pp-codemirror .cm-editor{overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px}.pp-codemirror .cm-scroller{overflow:auto;overscroll-behavior:none;scroll-padding-block:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.58}.pp-codemirror .cm-content{padding:10px 0 0}.pp-codemirror .cm-line{padding:0 14px 0 8px}.pp-codemirror .cm-content>.cm-line:last-child:has(>br:only-child){display:none}.pp-codemirror .cm-gutters{border-right:1px solid hsl(var(--border) / .7);background:hsl(var(--secondary) / .2);color:hsl(var(--muted-foreground) / .65)}.pp-codemirror .cm-activeLine,.pp-codemirror .cm-activeLineGutter{background:hsl(var(--foreground) / .035)}.pp-codemirror .cm-focused{outline:none}.pp-editor-loading{height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12px}.pp-pre{flex:1;width:100%;height:100%;box-sizing:border-box;margin:0;padding:14px 16px 0;overflow:auto;background:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;font-style:normal;font-variant-ligatures:none;font-weight:400;line-height:1.58;-moz-tab-size:2;tab-size:2;white-space:pre}.pp-root.is-deploy{--pp-publish-content-width: min(760px, max(680px, calc(100% - 48px) ));overflow-y:auto}.pp-root.is-deploy.is-embedded{--pp-publish-content-width: 100%}.pp-root.is-deploy .pp-body{flex:0 0 auto;min-height:100%;display:grid;grid-template-rows:auto auto;overflow:visible}.pp-root.is-deploy.has-primary-pane .pp-body{display:flex;justify-content:center;background:hsl(var(--background))}.pp-root.is-deploy.has-primary-pane .pp-config{width:min(760px,100%);background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-head,.pp-root.is-deploy.has-primary-pane .pp-config-actions{border:0;background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-actions{position:sticky;bottom:0;width:var(--pp-publish-content-width);margin:0 auto;justify-content:center;padding:12px 0 18px;background:hsl(var(--background));transform:none}.pp-root.is-deploy.has-primary-pane .pp-deploy-hint{position:absolute;left:18px}.pp-root.is-deploy .pp-files-area{display:none}.pp-release-overview{min-width:0;min-height:0;border-bottom:0;background:transparent}.pp-release-preview{width:var(--pp-publish-content-width);box-sizing:border-box;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 auto;padding:8px 0 12px}.pp-release-preview.is-embedded{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch}.pp-flow-thumbnail{position:relative;height:200px;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px;background:transparent;box-shadow:none}.pp-flow-thumbnail .abc-root,.pp-flow-dialog-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto;border:0;background:transparent}.pp-flow-thumbnail .abc-canvas,.pp-flow-dialog-canvas .abc-canvas{flex:1;min-height:0;background:transparent}.pp-flow-thumbnail .react-flow__pane{cursor:grab}.pp-flow-thumbnail .react-flow__pane:active{cursor:grabbing}.pp-flow-thumbnail .react-flow__controls{display:none}.pp-flow-expand{position:absolute;z-index:5;right:10px;bottom:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit}.pp-flow-expand:hover{background:transparent;color:hsl(var(--foreground))}.pp-flow-expand:focus-visible{outline:2px solid hsl(var(--primary) / .72);outline-offset:2px}.pp-flow-expand svg{width:17px;height:17px}.pp-release-info{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-release-card-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34);color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-release-info-body{padding:14px 18px 16px}.pp-release-info-main{min-width:0}.pp-release-info h2{margin:0;color:hsl(var(--foreground));font-size:18px;font-weight:700;letter-spacing:-.02em}.pp-release-description{display:-webkit-box;margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0 0}.pp-release-facts>div{min-width:0}.pp-release-facts dt{color:hsl(var(--muted-foreground));font-size:13px}.pp-release-facts dd{margin:5px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-release-facts .pp-release-fact-long{display:-webkit-box;overflow:hidden;line-height:1.45;text-overflow:clip;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts .pp-release-prompt{-webkit-line-clamp:3}.pp-artifact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px}.pp-artifact-actions.is-rail{flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0;padding:0}.pp-artifact-actions.is-rail .pp-secondary,.pp-artifact-actions.is-rail .code-browser-trigger{flex:1 1 0;width:100%;min-height:36px;justify-content:center}.pp-artifact-actions .pp-secondary,.pp-artifact-actions .code-browser-trigger{min-height:34px;padding-inline:12px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);box-shadow:none;color:hsl(var(--foreground));font-size:13px}.pp-artifact-actions .pp-secondary:hover,.pp-artifact-actions .code-browser-trigger:hover{background:hsl(var(--secondary))}.pp-flow-backdrop{--cw-workspace-ink: 222 24% 13%;position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px;background:hsl(var(--foreground) / .36);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pp-flow-dialog{width:min(1120px,92vw);height:min(720px,86vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 80px hsl(var(--foreground) / .22)}.pp-flow-dialog>header{flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px 0 22px;border-bottom:1px solid hsl(var(--border))}.pp-flow-dialog>header>div{display:flex;flex-direction:column;gap:3px}.pp-flow-dialog>header strong{font-size:15px;font-weight:680}.pp-flow-dialog>header span{color:hsl(var(--muted-foreground));font-size:10.5px}.pp-flow-dialog>header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-flow-dialog>header button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.pp-flow-dialog>header svg{width:17px;height:17px}.pp-flow-dialog-canvas{flex:1;min-height:0;background:transparent}.pp-config{position:relative;min-width:0;width:auto;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.pp-config-head{width:var(--pp-publish-content-width);flex:0 0 48px;height:48px;box-sizing:border-box;display:flex;align-items:center;margin:0 auto;padding:0;border-bottom:0}.pp-config-title{color:hsl(var(--foreground));font-size:18px;font-weight:650;letter-spacing:-.01em}.pp-env-sub{margin-top:4px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.pp-config-scroll{width:var(--pp-publish-content-width);flex:0 0 auto;min-height:0;box-sizing:border-box;display:block;margin:0 auto;overflow:visible;padding:0 0 88px}.pp-config-actions{position:fixed;z-index:40;left:calc((100vw + var(--pp-sidebar-width, 0px)) / 2);bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;transform:translate(-50%)}.pp-config-actions.is-external{display:none}.pp-config-section{width:100%;min-width:0;box-sizing:border-box;margin:0 0 12px;padding:0 18px 16px;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-config-section:has(.pp-network-region){overflow:visible}.pp-config-section:has(.pp-network-region.is-open){position:relative;z-index:70}.pp-config-section:has(.pp-network-region)>.pp-config-label{border-radius:17px 17px 0 0}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{display:block;margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent;color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent}.pp-env-head .pp-config-label{margin:0;padding:0;border:0;background:transparent}.pp-config-note{margin:-4px 0 10px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-runtime-name-field{display:grid;gap:6px}.pp-runtime-name-field>.pp-config-note,.pp-runtime-name-field>.pp-runtime-name-error{margin:0}.pp-auth-section{overflow:visible}.pp-auth-preserved-note{margin:0}.pp-auth-fields{width:min(100%,560px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.pp-auth-fields>label{min-width:0;display:flex;flex-direction:column;gap:7px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deployment-select{position:relative;min-width:0}.pp-deployment-select-trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.pp-deployment-select-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.pp-deployment-select-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.pp-deployment-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-deployment-select-trigger:disabled{cursor:not-allowed;opacity:.5}.pp-deployment-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-trigger>.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.pp-deployment-select-chevron{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.pp-deployment-select-chevron.is-open{transform:rotate(180deg)}.pp-deployment-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:0;max-height:238px;display:flex;flex-direction:column;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.pp-deployment-select-search{flex-shrink:0;padding:2px 2px 6px}.pp-deployment-select-search>input{width:100%;height:32px;box-sizing:border-box;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-deployment-select-search>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-deployment-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pp-deployment-select-state{flex-shrink:0;padding:9px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-align:center}.pp-deployment-select-option{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.pp-deployment-select-option:hover,.pp-deployment-select-option:focus-visible,.pp-deployment-select-option.is-selected{outline:none;background:hsl(var(--muted) / .5)}.pp-deployment-select-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.pp-deployment-select-name{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-option>svg{width:15px;height:15px;flex-shrink:0;color:hsl(var(--primary))}.pp-deployment-select-badge{flex-shrink:0;padding:1px 5px;border:1px solid hsl(211 90% 48% / .24);border-radius:999px;background:#006fe61a;color:#1863b4;font-size:10px;font-weight:600}.pp-user-pool-picker{min-width:0;display:flex;flex-direction:column;gap:7px}.pp-user-pool-status{min-height:18px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.pp-user-pool-spinner{width:13px;height:13px;flex-shrink:0;animation:pp-spin .9s linear infinite}.pp-user-pool-error{min-height:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.pp-user-pool-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-user-pool-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-instance-note{margin:10px 0 0;color:#d79804;font-size:12px;line-height:1.5}.pp-instance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-instance-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-instance-error{margin:8px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select,.pp-runtime-name-input,.pp-channel-fields input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input,.pp-env-row textarea{width:100%;min-width:0;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}.pp-channel-fields input{height:30px;padding-inline:8px;font-size:11.5px}.pp-config-select:focus,.pp-runtime-name-input:focus,.pp-channel-fields input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus,.pp-env-row textarea:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-runtime-name-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .72)}.pp-runtime-name-input[aria-invalid=true]:focus{box-shadow:0 0 0 2px hsl(var(--destructive) / .1)}.pp-runtime-name-error{margin:-4px 0 10px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select:disabled,.pp-runtime-name-input:disabled,.pp-channel-fields input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input:disabled,.pp-env-row textarea:disabled{opacity:.55}.pp-channel-card{position:relative;width:clamp(154px,33.333%,236px);max-width:100%;height:112px;perspective:1200px;transition:height .18s ease}.pp-channel-card.is-flipped{height:176px}.pp-channel-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1)}.pp-channel-card.is-flipped .pp-channel-card-inner{transform:rotateY(180deg)}.pp-channel-card-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:14px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden}.pp-channel-card-front{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;padding:12px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.pp-channel-card-front:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);box-shadow:0 12px 30px hsl(var(--foreground) / .07);transform:translateY(-1px)}.pp-channel-card-front:focus-visible,.pp-channel-remove:focus-visible{outline:2px solid hsl(var(--ring) / .58);outline-offset:2px}.pp-channel-card-front:disabled{cursor:default}.pp-channel-card-back{padding:10px;transform:rotateY(180deg)}.pp-channel-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-channel-card-head>strong{font-size:12.5px;font-weight:650}.pp-channel-logo{width:42px;height:42px;flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border) / .65);border-radius:12px;background:#fff;box-shadow:0 4px 14px hsl(var(--foreground) / .07)}.pp-channel-logo img{width:30px;height:30px;display:block}.pp-channel-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.pp-channel-card-copy strong{font-size:14px;font-weight:650}.pp-channel-card-copy small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-channel-remove{min-height:24px;padding:0 6px;border:1px solid hsl(var(--destructive) / .14);border-radius:7px;background:hsl(var(--destructive) / .07);color:#863232;cursor:pointer;font:inherit;font-size:10.5px;white-space:nowrap}.pp-channel-remove:hover:not(:disabled){background:hsl(var(--destructive) / .12);color:#782626}.pp-channel-fields{display:flex;flex-direction:column;gap:6px;margin-top:7px}.pp-channel-fields label{min-width:0;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:11px}.pp-channel-fields label>span{color:hsl(var(--foreground));font-weight:560}.pp-channel-fields small{margin-left:5px;color:hsl(var(--destructive));font-size:9px;font-weight:500}.pp-network-layout{width:min(100%,560px);display:grid;grid-template-columns:minmax(132px,.36fr) minmax(0,.64fr);align-items:start;gap:24px}.pp-network-region{position:relative;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-region.is-open{z-index:80}.pp-region-trigger{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.pp-region-trigger:hover,.pp-region-trigger[aria-expanded=true]{border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025)}.pp-region-trigger:focus-visible{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-region-trigger:disabled{cursor:not-allowed;opacity:.58;background:hsl(var(--muted) / .32)}.pp-region-help{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-region-chevron{width:15px;height:15px;color:hsl(var(--muted-foreground));transition:transform .15s ease}.pp-region-chevron.is-open{transform:rotate(180deg)}.pp-region-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:81;padding:5px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .12)}.pp-region-option{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.pp-region-option:hover,.pp-region-option:focus-visible,.pp-region-option.is-selected{outline:none;background:hsl(var(--foreground) / .055)}.pp-region-option.is-selected{font-weight:600}.pp-region-option svg{width:15px;height:15px;color:hsl(var(--primary))}.pp-network-modes{display:flex;flex-direction:column;gap:9px}.pp-network-option{min-height:28px;display:flex;align-items:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560;cursor:pointer}.pp-network-option:has(input:checked){color:hsl(var(--foreground))}.pp-network-option:has(input:disabled){cursor:default;opacity:.58}.pp-network-option input{width:15px;height:15px;flex:0 0 15px;display:grid;place-items:center;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,box-shadow .12s ease}.pp-network-option input:before{width:7px;height:7px;border-radius:50%;background:hsl(var(--primary));content:"";transform:scale(0);transition:transform .12s ease-out}.pp-network-option input:checked{border-color:hsl(var(--primary))}.pp-network-option input:checked:before{transform:scale(1)}.pp-network-option input:focus-visible,.pp-network-check input:focus-visible,.pp-evaluation-set-option input:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-network-fields{display:flex;flex-direction:column;gap:12px;min-width:0}.pp-network-fields label:not(.pp-network-check){display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-fields small{font-size:10.5px;font-weight:400}.pp-network-check{display:flex;align-items:center;gap:8px;color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.pp-evaluation-set-option{display:flex;align-items:flex-start;gap:10px;color:hsl(var(--foreground));cursor:pointer}.pp-evaluation-set-option>span{display:flex;flex-direction:column;gap:3px;min-width:0}.pp-evaluation-set-option strong{font-size:13px;font-weight:550;line-height:1.45}.pp-evaluation-set-option small{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-network-check input,.pp-evaluation-set-option input{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.pp-network-check input:before,.pp-evaluation-set-option input:before{width:4px;height:8px;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;content:"";transform:translateY(-1px) rotate(45deg) scale(0);transition:transform .12s ease-out}.pp-network-check input:checked,.pp-evaluation-set-option input:checked{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check input:checked:before,.pp-evaluation-set-option input:checked:before{transform:translateY(-1px) rotate(45deg) scale(1)}.pp-env-section{width:100%;padding-bottom:16px}.pp-env-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.pp-env-head .pp-config-label{display:flex;align-items:center;gap:7px;margin-bottom:0}.pp-env-count{display:inline-flex;align-items:center}.pp-env-table{display:flex;flex-direction:column;margin-top:10px}.pp-env-group{padding:4px 7px 0;border:1px solid hsl(var(--border) / .75);border-radius:6px;background:hsl(var(--secondary) / .16)}.pp-env-group-head{display:flex;align-items:center;justify-content:space-between;padding:5px 1px 3px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.pp-env-group-head small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:450}.pp-env-group-head-custom{margin-top:12px}.pp-env-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid hsl(var(--border) / .65)}.pp-env-row.is-multiline{align-items:start}.pp-env-row input:first-child{font-family:inherit;font-size:13px}.pp-env-row-derived:last-child{border-bottom:0}.pp-env-key-fixed{background:hsl(var(--secondary) / .32)!important;cursor:default}.pp-env-key-cell{min-width:0;min-height:34px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:13px;font-weight:500}.pp-env-key-cell span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.pp-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.pp-env-help:hover .pp-env-help-popover,.pp-env-help:focus-visible .pp-env-help-popover,.pp-env-help:focus-within .pp-env-help-popover{opacity:1;pointer-events:auto}.pp-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-value-wrap{min-width:0;display:grid;gap:4px}.pp-env-value{min-width:0;width:100%}.pp-env-secret-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.pp-env-secret-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer}.pp-env-secret-toggle:hover:not(:disabled){background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.pp-env-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-secret-toggle:disabled{cursor:not-allowed;opacity:.52}.pp-env-secret-toggle svg,.pp-env-secret-spinner{width:16px;height:16px}.pp-env-secret-spinner{animation:pp-spin .8s linear infinite}.pp-env-reveal-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-json-value{min-height:86px;padding:8px 10px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.pp-env-value[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.pp-env-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.pp-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.pp-env-link svg{width:13px;height:13px;flex:0 0 13px}.pp-env-source{color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.pp-env-remove{width:28px;height:28px}.pp-env-add{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pp-env-add:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.pp-env-add:disabled{opacity:.5}.pp-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.pp-step{position:relative;min-height:34px;display:flex;align-items:flex-start;gap:9px}.pp-step:not(:last-child):after{content:"";position:absolute;top:20px;bottom:-2px;left:9px;width:1px;background:hsl(var(--border))}.pp-step-dot{z-index:1;width:19px;height:19px;flex:0 0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10px}.pp-step-body{min-width:0;display:flex;flex-direction:column;padding-top:1px}.pp-step-label{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560}.pp-step-msg{max-width:300px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-step.is-active .pp-step-dot{border-color:hsl(var(--primary));color:hsl(var(--primary))}.pp-step.is-done .pp-step-dot{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-step.is-failed .pp-step-dot{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.pp-error{margin:14px 18px;padding:10px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:5px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-deploy-result{margin:14px 18px 18px;padding:14px;border:1px solid hsl(var(--primary) / .2);border-radius:6px;background:hsl(var(--primary) / .035)}.pp-deploy-result-header{margin-bottom:12px;color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-deploy-result-body{display:flex;flex-direction:column;gap:10px}.pp-deploy-result-warning{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid hsl(42 90% 45% / .25);border-radius:6px;background:#f2ad0d12;color:#9e6310;font-size:12.5px;line-height:1.5}.pp-deploy-result-field{display:flex;flex-direction:column;gap:4px}.pp-deploy-result-field label{color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deploy-result-field code{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.pp-deploy-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pp-confirm-dialog{width:min(420px,calc(100vw - 40px));height:auto;min-height:0}.pp-confirm-head{flex-basis:60px}.pp-confirm-icon{background:#f59f0a1f;color:#ba6708}.pp-confirm-body{padding:24px 20px}.pp-confirm-body p{margin:0;color:hsl(var(--foreground));font-size:14px;line-height:1.65}.pp-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.pp-confirm-actions button{min-width:76px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pp-confirm-actions button:hover{background:hsl(var(--secondary))}.pp-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.pp-confirm-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-confirm-actions .is-primary:hover{background:hsl(var(--primary) / .9)}.pp-deploy-result-btn,.pp-console-link-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:5px;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer}.pp-deploy-result-btn{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-console-link-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.spin{animation:pp-spin .85s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pp-channel-card-inner,.pp-channel-card-front,.pp-deployment-select-chevron,.pp-config-actions .pp-deploy{transition:none}}@media (max-width: 1120px){.pp-release-preview{grid-template-columns:minmax(320px,.9fr) minmax(300px,1.1fr)}.pp-sidebar{flex-basis:190px;width:190px}}@media (max-width: 860px){.layout{--pp-sidebar-width: 204px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root.is-deploy{--pp-publish-content-width: min(88%, calc(100% - 36px) )}.pp-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.pp-toolbar-actions{width:100%}.pp-body{overflow-y:auto;flex-direction:column}.pp-root.is-deploy .pp-body{display:flex}.pp-release-overview{flex:0 0 auto;min-height:460px;border-right:0;border-bottom:0}.pp-release-preview{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:220px auto}.pp-release-info{min-height:200px}.pp-files-area{min-height:520px}.pp-config{width:100%;min-height:680px;border-top:0;border-left:0}.pp-config-scroll{padding-inline:0;padding-bottom:84px}.pp-config-actions{bottom:max(14px,env(safe-area-inset-bottom))}.pp-flow-backdrop{padding:12px}}@media (max-width: 520px){.pp-auth-fields,.pp-network-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pp-env-section{width:100%}}.cw-root{--cw-workspace-gutter: 10px;--cw-workspace-width: 60%;--cw-workbench-toolbar-height: 64px;--cw-workspace-ink: 222 24% 13%;--cw-workspace-accent: 162 44% 32%;--cw-workspace-accent-soft: 156 34% 92%;--cw-workspace-warm: 42 28% 96%;flex:1;min-height:0;display:flex;flex-direction:column;height:100%;color:hsl(var(--foreground));background:hsl(var(--background))}.cw-root.is-validate{--cw-workspace-width: min(88%, 1440px)}.cw-root.is-publish{--cw-workspace-width: min(80%, 1180px)}.cw-workspace-header{position:relative;z-index:12;flex:0 0 auto;width:var(--cw-workspace-width);min-height:48px;display:flex;justify-content:center;align-items:center;margin:12px auto 0;padding:8px 0;background:transparent}.cw-workspace-header h1{margin:0;color:hsl(var(--foreground));font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.02em;white-space:nowrap}.cw-workspace-main{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;width:var(--cw-workspace-width);margin:0 auto;padding:8px 0 20px;background:transparent}.cw-workspace-footer{flex:0 0 auto;display:flex;flex-direction:column;width:var(--cw-workspace-width);gap:12px;margin:0 auto 24px;padding:12px 0 4px;background:transparent}.cw-workspace-nav-actions{width:100%;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:12px;margin:0 auto}.cw-workspace-nav-actions.has-assistant{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"assistant next"}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:first-child,.cw-workspace-nav-actions.has-assistant>span[aria-hidden=true]{display:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-ai-slot{grid-area:assistant}.cw-publish-action-slot{grid-column:3;display:flex;justify-content:flex-end}.cw-publish-action-slot .pp-deploy{position:static;min-width:70px;min-height:38px;transform:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:last-child{grid-area:next}.cw-workspace-ai-slot{min-width:0}.cw-workspace-nav-button{min-height:36px;justify-self:start;padding:0 18px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:background-color .16s ease,border-color .16s ease}.cw-workspace-nav-button:last-child{justify-self:end}.cw-workspace-nav-button:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .55)}.cw-workspace-nav-button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.cw-workspace-nav-button.is-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .86);background:hsl(var(--foreground) / .86)}.cw-workspace-nav-button:focus-visible,.cw-workspace-progress button:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}.cw-workspace-nav-button:disabled{cursor:not-allowed;opacity:.5}.cw-workspace-nav-button.is-placeholder{visibility:hidden;pointer-events:none}.cw-workspace-progress{width:min(132px,40vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 auto}.cw-workspace-progress button{height:12px;padding:4px 0;border:0;background:transparent;cursor:pointer}.cw-workspace-progress button>span{display:block;height:3px;border-radius:999px;background:hsl(var(--muted-foreground) / .16);transition:background-color .16s ease}.cw-workspace-progress button.is-complete>span,.cw-workspace-progress button.is-active>span{background:hsl(var(--foreground) / .46)}.cw-workspace-progress button.is-active>span{height:4px}.cw-workspace-progress button:disabled{cursor:not-allowed}@media (prefers-reduced-motion: reduce){.cw-workspace-nav-button,.cw-workspace-progress button>span{transition:none}}.cw-build-workspace{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.cw-ai-compose{min-width:0}.cw-ai-compose-entry{min-width:0;display:grid;gap:6px}.cw-ai-compose-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 4px 4px 16px;border-radius:16px;background:hsl(var(--panel));box-shadow:inset 0 0 0 1px hsl(var(--border) / .7),0 8px 24px hsl(var(--foreground) / .05);transition:background-color .18s ease,box-shadow .18s ease}.cw-ai-compose.is-generating .cw-ai-compose-form{background:hsl(var(--muted) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .05)}.cw-ai-compose-form input{min-width:0;height:38px;min-height:38px;padding:6px 0;border:0;outline:none;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.cw-ai-compose-form input::placeholder{color:hsl(var(--muted-foreground) / .72)}.cw-ai-compose-form:has(input:focus-visible){background:hsl(var(--background));box-shadow:0 0 0 2px hsl(var(--ring) / .12),inset 0 0 0 1px hsl(var(--ring) / .24)}.cw-ai-compose-form input:focus,.cw-ai-compose-form input:focus-visible{outline:none;box-shadow:none}.cw-ai-compose.is-generating .cw-ai-compose-form input{color:hsl(var(--muted-foreground) / .78);cursor:wait}.cw-ai-compose-form button{height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:0;border-radius:12px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;transition:background-color .15s ease,opacity .15s ease}.cw-ai-compose-form button:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.cw-ai-compose-form button:disabled{cursor:not-allowed;opacity:.34}.cw-ai-requirement-error{margin:0;padding:0 16px;color:hsl(var(--destructive));font-size:12px;line-height:18px}.cw-ai-compose.is-generating .cw-ai-compose-form button:disabled{width:34px;padding:0;background:hsl(var(--foreground));opacity:1}.cw-ai-orb{width:14px;height:14px;display:block;border:1.5px solid hsl(var(--background) / .34);border-top-color:hsl(var(--background));border-radius:50%;animation:cw-ai-orb-spin .72s linear infinite}.cw-ai-orb>span{display:none}@keyframes cw-ai-orb-spin{to{transform:rotate(360deg)}}.cw-ai-compose-success{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:2px 3px 2px 10px;border-radius:12px;background:hsl(var(--background) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .055);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cw-ai-compose-success strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:650}.cw-ai-success-check{position:relative;width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:hsl(var(--foreground))}.cw-ai-success-check:after{position:absolute;top:3px;left:6px;width:4px;height:7px;border:solid hsl(var(--background));border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.cw-ai-regenerate{height:34px;min-height:34px;padding:0 12px;border:0;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:background-color .15s ease}.cw-ai-regenerate:hover{background:hsl(var(--muted-foreground) / .12)}.cw-ai-compose-form button:focus-visible,.cw-ai-regenerate:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}@media (prefers-reduced-motion: reduce){.cw-ai-compose-form,.cw-ai-compose-form button,.cw-ai-regenerate{transition:none}.cw-ai-orb{animation:none}}.cw-ai-error-dialog{width:460px;font-family:inherit}.cw-ai-error-message{max-height:min(320px,50vh);margin:10px 0 18px;overflow:auto;color:hsl(var(--foreground) / .78);font-family:inherit;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.cw-ai-error-close{border-color:transparent;background:hsl(var(--foreground));color:hsl(var(--background))}.cw-ai-error-close:hover{background:hsl(var(--foreground) / .86)}.cw-workspace-alert{position:absolute;z-index:30;top:94px;right:18px;max-width:min(420px,calc(100% - 36px));padding:10px 13px;border:1px solid hsl(var(--destructive) / .2);border-radius:9px;background:hsl(var(--background));box-shadow:0 12px 36px hsl(var(--foreground) / .12);color:hsl(var(--destructive));font-size:12.5px}.cw-editor{flex:1;width:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:0;overflow:hidden}.cw-editor>.abc-root{flex:0 0 200px;width:100%;min-width:0;min-height:200px;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-tree{flex-shrink:0;width:248px;overflow-y:auto;padding:16px 14px;border-right:1px solid hsl(var(--border));background:hsl(var(--panel))}.cw-tree-head{font-size:12px;font-weight:650;letter-spacing:.02em;color:hsl(var(--muted-foreground));padding:0 6px;margin-bottom:10px}.cw-tree-branch{display:flex;flex-direction:column}.cw-tree-node{position:relative;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.cw-tree-node:hover{background:hsl(var(--accent))}.cw-tree-node.is-selected{background:hsl(var(--primary) / .04);border-color:hsl(var(--primary) / .16)}.cw-tree-node.is-invalid{background:hsl(var(--destructive) / .07);border-color:hsl(var(--destructive) / .5)}.cw-tree-node.is-invalid.is-selected{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .6)}.cw-tree-node.is-draggable{cursor:grab}.cw-tree-node.is-draggable:active{cursor:grabbing}.cw-tree-node.is-dragover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .45)}.cw-tree-icon{width:15px;height:15px;flex-shrink:0;opacity:.8}.cw-tree-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cw-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.cw-tree-type{font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground))}.cw-tree-actions{display:flex;align-items:center;gap:1px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .12s ease}.cw-tree-node:hover .cw-tree-actions,.cw-tree-node.is-selected .cw-tree-actions{opacity:1;pointer-events:auto}.cw-tree-children{display:flex;flex-direction:column;gap:2px;margin-top:2px;margin-left:8px;padding-left:8px;border-left:1px solid hsl(var(--border))}.cw-detail{position:relative;flex:1 1 auto;width:100%;max-width:none;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-detail-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:0 4px 16px;background:hsl(var(--background))}.cw-detail-inner{max-width:none;margin:0 auto}.cw-lower{display:flex;gap:0;align-items:flex-start}.cw-detail .cw-form-col{flex:1;min-width:0;max-width:none;margin:0}.cw-debug{flex-shrink:0;width:380px;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid hsl(var(--border));background:hsl(var(--panel));transition:width .22s cubic-bezier(.22,1,.36,1),min-width .22s cubic-bezier(.22,1,.36,1),height .22s cubic-bezier(.22,1,.36,1),min-height .22s cubic-bezier(.22,1,.36,1),flex-basis .22s cubic-bezier(.22,1,.36,1),padding .18s ease}.cw-debug:not(.is-collapsed)>*{animation:cw-debug-content-in .18s ease-out both}.cw-debug.is-collapsed .cw-debug-expand{animation:cw-debug-control-in .18s .06s ease-out both}@keyframes cw-debug-content-in{0%{opacity:0;transform:scale(.985)}}@keyframes cw-debug-control-in{0%{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion: reduce){.cw-debug{transition:none}.cw-debug:not(.is-collapsed)>*,.cw-debug.is-collapsed .cw-debug-expand{animation:none}}.cw-debug-head{flex-shrink:0;height:var(--cw-workbench-toolbar-height);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid hsl(var(--border))}.cw-debug-collapse,.cw-debug-expand{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .12s,background .12s,transform .12s}.cw-debug-collapse{width:24px;height:24px}.cw-debug-collapse:hover,.cw-debug-expand:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.cw-debug-expand:hover{transform:scale(1.06)}.cw-debug.is-collapsed{width:48px;min-width:48px;height:100%;min-height:0;align-items:center;padding-top:14px}.cw-debug-expand{width:34px;height:34px;min-height:34px}.cw-debug-title{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:650;color:hsl(var(--foreground))}.cw-debug-start{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 10px;border:none;border-radius:8px;background:#111;box-shadow:none;color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease,transform .15s ease}.cw-debug-start:hover:not(:disabled){background:#29292b;box-shadow:0 7px 18px #00000029}.cw-debug-start:active:not(:disabled){transform:translateY(0) scale(.98)}.cw-debug-start:disabled{opacity:.45;cursor:default}.cw-debug-sub{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding:10px 16px 14px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.cw-debug-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.cw-debug-body{flex:1;min-height:0;overflow-y:auto;padding:10px 16px 18px}.cw-debug-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-run-icon{width:17px;height:17px;transition:transform .16s cubic-bezier(.22,1,.36,1)}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:translate(1.5px)}@media (prefers-reduced-motion: reduce){.cw-debug-run-icon{transition:none}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:none}}.cw-debug-progress{display:flex;flex-direction:column;gap:8px}.cw-debug-logline{display:flex;align-items:center;gap:8px;min-height:28px;padding:7px 9px;border-radius:9px;background:hsl(var(--foreground) / .04);color:hsl(var(--muted-foreground));font-size:12.5px}.cw-debug-logline .cw-i{color:hsl(var(--foreground))}.cw-debug-error{display:flex;flex-direction:column;gap:12px;color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-debug-error-detail,.cw-debug-msg-error{width:100%;min-width:0;color:hsl(var(--destructive));text-align:left}.cw-debug-error-detail .deploy-error-message-text,.cw-debug-msg-error .deploy-error-message-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.cw-debug-chat{min-height:100%;display:flex;flex-direction:column;gap:18px}.cw-debug-chat-empty{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-msg{display:flex;flex-direction:column;gap:6px;max-width:100%}.cw-debug-msg-user{align-items:flex-end}.cw-debug-msg-assistant{align-items:flex-start}.cw-debug-role{display:none}.cw-debug-content{max-width:100%;color:hsl(var(--foreground));font-size:14px;line-height:1.65;word-break:break-word}.cw-debug-msg-user .cw-debug-content{max-width:88%;padding:9px 14px;border-radius:18px;background:hsl(var(--secondary))}.cw-debug-msg-assistant .cw-debug-content{width:100%}.cw-debug-composer{flex-shrink:0;padding:10px 14px 14px;background:hsl(var(--panel))}.cw-debug-composerbox{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px;border:1px solid hsl(var(--border));border-radius:24px;background:hsl(var(--background))}.cw-debug-input{flex:1;min-width:0;max-height:120px;padding:8px 4px;border:none;outline:none;resize:none;overflow-y:auto;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.5}.cw-debug-input::placeholder{color:hsl(var(--muted-foreground))}.cw-debug-send{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;transition:opacity .15s,transform .1s,background .12s,color .12s}.cw-debug-send{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-debug-send:hover:not(:disabled){opacity:.85}.cw-debug-send:active:not(:disabled){transform:scale(.94)}.cw-debug-send:disabled{opacity:.3;cursor:default}.cw-debug-overlay{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:22px;background:hsl(var(--panel) / .5);backdrop-filter:blur(9px) saturate(.9);-webkit-backdrop-filter:blur(9px) saturate(.9)}.cw-debug-overlay-content{width:min(100%,290px);display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border:1px solid hsl(var(--border) / .72);border-radius:12px;background:hsl(var(--background) / .82);box-shadow:0 10px 30px hsl(var(--foreground) / .08);text-align:center}.cw-debug-overlay-title{color:hsl(var(--foreground));font-size:14px;font-weight:650}.cw-debug-overlay-copy{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55}.cw-debug-overlay-progress{width:100%;display:flex;flex-direction:column;gap:8px}.cw-debug-overlay-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}.cw-debug-ignore{min-height:30px;padding:6px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .1s}.cw-debug-ignore:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--background))}.cw-debug-ignore:active:not(:disabled){transform:scale(.96)}.cw-debug-ignore:disabled{opacity:.45;cursor:default}.cw-validation-workspace{position:relative;flex:1;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.cw-optimization-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:22px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--cw-workspace-warm))}.cw-optimization-head{display:flex;flex-direction:column;gap:5px;padding:0 4px 18px}.cw-optimization-head>span{color:hsl(var(--cw-workspace-ink));font-size:16px;font-weight:700;letter-spacing:-.02em}.cw-optimization-head>small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cw-optimization-list{display:flex;flex-direction:column;gap:8px}.cw-optimization-option{position:relative;width:100%;display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid hsl(var(--border) / .82);border-radius:11px;background:hsl(var(--panel) / .62);color:hsl(var(--foreground));cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.cw-optimization-option:hover{border-color:hsl(var(--cw-workspace-ink) / .24);background:hsl(var(--panel))}.cw-optimization-option.is-disabled{cursor:not-allowed;opacity:.62}.cw-optimization-option.is-disabled:hover{border-color:hsl(var(--border) / .82);background:hsl(var(--panel) / .62)}.cw-optimization-option:has(input:focus-visible){outline:2px solid hsl(var(--cw-workspace-ink) / .34);outline-offset:2px}.cw-optimization-option input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.cw-optimization-check{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;border:1px solid hsl(var(--foreground) / .24);border-radius:5px;background:hsl(var(--panel));color:#fff}.cw-optimization-check .cw-i{width:11px;height:11px;stroke-width:2.4}.cw-optimization-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.cw-optimization-copy strong{color:hsl(var(--cw-workspace-ink));font-size:12.5px;font-weight:650}.cw-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.45}.cw-validation-content{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-ab-workspace{flex:1;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.cw-ab-stage{position:relative;flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{min-height:100%;display:grid;grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr));grid-auto-rows:minmax(420px,1fr);align-items:stretch;gap:12px}.cw-ab-card{min-width:0;min-height:420px;display:flex;flex-direction:column;perspective:1400px}.cw-ab-card-inner{position:relative;width:100%;min-height:420px;flex:1;transform-style:preserve-3d;transition:transform .44s cubic-bezier(.22,1,.36,1)}.cw-ab-card-inner.is-flipped{transform:rotateY(180deg)}.cw-ab-card-face{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px dashed hsl(var(--foreground) / .2);border-radius:16px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:border-color .16s ease,background-color .16s ease}.cw-ab-card-back{transform:rotateY(180deg);overflow-x:hidden;overflow-y:auto}.cw-ab-card-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px 9px 14px}.cw-ab-card-title{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ab-card-title strong{font-size:13.5px;font-weight:680}.cw-ab-card-title span{max-width:150px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-ab-card-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.cw-ab-config-trigger,.cw-ab-remove{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11px;font-weight:400}.cw-ab-config-trigger{background:transparent;color:hsl(var(--muted-foreground))}.cw-ab-config-trigger:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-remove:hover{background:hsl(var(--secondary) / .62);color:hsl(var(--foreground))}.cw-ab-config-trigger:disabled,.cw-ab-remove:disabled{cursor:default;opacity:.45}.cw-ab-remove{width:28px;padding:0;background:transparent}.cw-ab-config-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px;background:hsl(var(--background) / .94)}.cw-ab-config-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}.cw-ab-config-head strong{font-size:16px;font-weight:680}.cw-ab-config-head span{color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-config-head>.cw-ab-config-head-actions{flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;gap:6px}.cw-ab-config-head-actions .cw-ab-config-remove{width:32px;height:32px}.cw-ab-config-done{min-height:32px;padding:0 11px;border:0;border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650}.cw-ab-config-done-wrap{position:relative;flex:0 0 auto;display:inline-flex;border-radius:8px}.cw-ab-config-done:disabled{background:hsl(var(--secondary) / .82);color:hsl(var(--muted-foreground) / .68);cursor:not-allowed}.cw-ab-config-head .cw-ab-config-done-tip{position:absolute;z-index:8;right:0;top:calc(100% + 7px);bottom:auto;width:max-content;max-width:190px;padding:6px 8px;border-radius:7px;background:hsl(var(--foreground));color:#fff;font-size:11px;font-weight:400;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.cw-ab-config-done-wrap.is-disabled:hover .cw-ab-config-done-tip,.cw-ab-config-done-wrap.is-disabled:focus-visible .cw-ab-config-done-tip{opacity:1;transform:translateY(0)}.cw-ab-config-done-wrap:focus-visible{outline:2px solid hsl(var(--foreground) / .18);outline-offset:2px}.cw-ab-config{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;padding:12px 16px 16px;background:hsl(var(--background))}.cw-ab-config>label,.cw-ab-config fieldset{min-width:0;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}.cw-ab-config>label>span,.cw-ab-config legend{color:hsl(var(--muted-foreground));font-size:13px;font-weight:650}.cw-ab-config legend{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-ab-config legend em{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-style:normal;font-weight:550}.cw-ab-config input[type=text],.cw-ab-config>label>input,.cw-ab-config>label>textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.cw-ab-config>label>textarea{min-height:58px;max-height:132px;resize:vertical;line-height:1.55}.cw-ab-optimization-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cw-ab-optimization-checkbox{display:inline-flex;align-items:center;gap:0;padding:8px 9px;border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));font-size:12.5px;cursor:not-allowed;opacity:.5}.cw-ab-optimization-checkbox>label{padding-left:7px;color:inherit;font-size:inherit}.cw-ab-config>p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cw-ab-conversation{flex:1;min-height:0;overflow-y:auto;padding:14px}.cw-ab-empty{height:100%;min-height:210px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.cw-ab-launch-hint{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-ab-ready-title{color:hsl(var(--foreground));font-size:20px;font-weight:760;line-height:1.1}.cw-ab-starting{align-content:center;gap:8px}.cw-ab-starting .cw-i{width:18px;height:18px}.cw-ab-start{min-width:118px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:9px;background:hsl(var(--secondary) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:580;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-start:hover:not(:disabled){background:hsl(var(--secondary));box-shadow:none}.cw-ab-start:disabled{background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground) / .62);cursor:not-allowed}.cw-ab-start .cw-i{width:15px;height:15px}.cw-ab-deploy-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px 12px}.cw-ab-trace{min-height:32px;margin-right:auto;padding:0 10px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:500;transition:background-color .16s ease,color .16s ease}.cw-ab-trace:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-trace:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-ab-trace:disabled{color:hsl(var(--muted-foreground) / .48);cursor:not-allowed}.cw-ab-footer-start{min-width:0;background:hsl(var(--secondary) / .58)}.cw-ab-deploy{min-height:32px;padding:0 13px;border:0;border-radius:8px;background:#111;color:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:620;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-deploy:hover:not(:disabled){background:#29292b;box-shadow:0 6px 16px #00000024}.cw-ab-deploy:disabled{cursor:not-allowed;opacity:.42}.cw-ab-add{min-height:48px;align-self:stretch;justify-content:center;padding-inline:18px;white-space:nowrap}.cw-ab-composer{position:relative;z-index:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:18px var(--cw-workspace-gutter) 18px;background:hsl(var(--background))}.cw-ab-composer .cw-debug-composerbox{width:100%;min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;background:#fff;box-shadow:0 8px 22px hsl(var(--foreground) / .045)}.cw-ab-composer .cw-debug-input{background:#fff}.cw-debug.is-standalone{flex:1;width:100%;min-width:0;border-left:0;background:transparent}.cw-debug.is-standalone .cw-debug-head{height:58px;padding-inline:22px;background:hsl(var(--panel) / .7)}.cw-debug.is-standalone .cw-debug-title{font-size:15px}.cw-debug.is-standalone .cw-debug-body{padding:22px clamp(18px,5vw,72px) 28px}.cw-debug.is-standalone .cw-debug-chat{width:min(100%,840px);margin:0 auto}.cw-debug.is-standalone .cw-debug-chat-empty{min-height:260px;border:1px dashed hsl(var(--border));border-radius:16px;background:hsl(var(--panel) / .56)}.cw-debug.is-standalone .cw-debug-composer{padding:12px 210px 20px clamp(18px,5vw,72px);background:transparent}.cw-debug.is-standalone .cw-debug-composerbox{width:min(100%,840px);min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;box-shadow:0 12px 32px hsl(var(--foreground) / .06)}.cw-debug.is-standalone .cw-debug-overlay{background:hsl(var(--background) / .68)}.cw-debug.is-standalone .cw-debug-overlay-content{width:min(100%,390px);padding:28px;border-radius:16px}.cw-validation-prototype{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:clamp(26px,4vw,56px)}.cw-validation-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 28px;max-width:1040px}.cw-eyebrow{color:hsl(var(--cw-workspace-accent));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.15em}.cw-validation-page-head h2{margin:5px 0 4px;color:hsl(var(--cw-workspace-ink));font-size:clamp(24px,3vw,34px);font-weight:720;letter-spacing:-.045em}.cw-validation-page-head p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.cw-prototype-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid hsl(var(--cw-workspace-ink));border-radius:8px;background:hsl(var(--cw-workspace-ink));color:hsl(var(--background));font:inherit;font-size:12px;font-weight:650}.cw-prototype-action:disabled{cursor:not-allowed;opacity:.72}.cw-dataset-summary,.cw-variant-grid,.cw-metric-board,.cw-prototype-table,.cw-run-list,.cw-prototype-note{width:min(100%,1040px);margin-inline:auto}.cw-dataset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 10px 32px hsl(var(--foreground) / .035)}.cw-dataset-summary>div{display:flex;flex-direction:column;gap:4px;padding:17px 20px}.cw-dataset-summary>div+div{border-left:1px solid hsl(var(--border))}.cw-dataset-summary strong{color:hsl(var(--cw-workspace-ink));font-size:22px;letter-spacing:-.04em}.cw-dataset-summary span{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-table{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-prototype-row{min-height:54px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(170px,1fr) 82px;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.cw-prototype-row.is-head{min-height:38px;border-top:0;background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.cw-prototype-row>strong{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-status-pill,.cw-run-status,.cw-run-kind{justify-self:start;padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.cw-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.cw-variant-card{position:relative;overflow:hidden;padding:20px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel));box-shadow:0 12px 34px hsl(var(--foreground) / .04)}.cw-variant-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:hsl(var(--foreground) / .22)}.cw-variant-card.is-candidate:before{background:hsl(var(--cw-workspace-accent))}.cw-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.cw-variant-head small{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));font-size:9.5px;letter-spacing:0;text-transform:none}.cw-variant-card>strong{color:hsl(var(--cw-workspace-ink));font-size:17px;letter-spacing:-.025em}.cw-variant-card>p{min-height:42px;margin:7px 0 22px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.cw-variant-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.cw-variant-card dl>div{padding:9px 10px;border-radius:8px;background:hsl(var(--secondary) / .5)}.cw-variant-card dt{color:hsl(var(--muted-foreground));font-size:9.5px}.cw-variant-card dd{margin:3px 0 0;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px}.cw-metric-board{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-metric-head,.cw-metric-row{display:grid;grid-template-columns:minmax(170px,1fr) 100px 100px 88px;align-items:center;gap:12px;padding:11px 16px}.cw-metric-head{grid-template-columns:auto auto minmax(0,1fr);min-height:48px;border-bottom:1px solid hsl(var(--border))}.cw-metric-head .cw-i{width:15px;color:hsl(var(--cw-workspace-accent))}.cw-metric-head strong{font-size:12px}.cw-metric-head span{justify-self:end;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-metric-row{min-height:44px;color:hsl(var(--muted-foreground));font-size:11px}.cw-metric-row+.cw-metric-row{border-top:1px solid hsl(var(--border) / .7)}.cw-metric-row strong{color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cw-metric-row em{color:hsl(var(--cw-workspace-accent));font-size:10.5px;font-style:normal;font-weight:650}.cw-run-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-run-row{min-height:72px;display:grid;grid-template-columns:36px minmax(220px,1fr) 70px 110px 72px;align-items:center;gap:12px;padding:11px 16px}.cw-run-row+.cw-run-row{border-top:1px solid hsl(var(--border))}.cw-run-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-run-icon .cw-i{width:14px;height:14px}.cw-run-row>div{min-width:0}.cw-run-row strong{color:hsl(var(--foreground));font-size:12px}.cw-run-row p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-run-row time{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-run-status.is-running{background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-prototype-note{display:flex;align-items:center;gap:7px;margin-top:14px;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-note .cw-i{width:13px;height:13px}.cw-publish-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:hsl(var(--muted-foreground));font-size:12px}.cw-publish-loading .cw-i{width:22px;height:22px;margin-bottom:5px;color:hsl(var(--cw-workspace-accent))}.cw-publish-loading strong{color:hsl(var(--foreground));font-size:14px}.cw-header{flex-shrink:0;display:flex;align-items:flex-start;gap:16px;padding:18px 24px 16px;border-bottom:1px solid hsl(var(--border))}.cw-header-title{flex:1;min-width:0}.cw-header-mode{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.cw-title{margin:5px 0 2px;font-size:21px;font-weight:650;letter-spacing:-.02em}.cw-subtitle{margin:0;font-size:13px;color:hsl(var(--muted-foreground))}.cw-progress-pill{flex-shrink:0;margin-top:2px;padding:5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.cw-body{flex:1;min-height:0;overflow-y:auto}.cw-center{display:flex;align-items:flex-start;justify-content:center;gap:32px;max-width:960px;margin:0 auto;padding:32px 24px 80px}.cw-form-col{flex:1 1 auto;min-width:0;max-width:640px;display:flex;flex-direction:column;gap:12px}.cw-section{scroll-margin-top:24px;padding:0;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker)){overflow:visible}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker))>.cw-sec-head{border-radius:17px 17px 0 0}.cw-sec-body{padding:2px 18px 6px}.cw-sec-title{margin:0;font-size:14px;font-weight:620;letter-spacing:-.01em;color:hsl(var(--foreground))}.cw-sec-hint{margin:0;font-size:13px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-form{display:flex;flex-direction:column;gap:0}.cw-section-desc{margin:0;font-size:13px;line-height:1.6;color:hsl(var(--muted-foreground))}.cw-field{display:grid;grid-template-columns:minmax(124px,.34fr) minmax(0,1fr);align-items:start;column-gap:16px;row-gap:6px;padding:11px 0}.cw-form>.cw-field+.cw-field,.cw-form>.cw-toggle+.cw-toggle,.cw-form>.cw-field+.cw-toggle,.cw-form>.cw-toggle+.cw-field,.cw-toggle-stack>.cw-field,.cw-toggle-stack>.cw-toggle+.cw-toggle{border-top:1px dashed hsl(var(--border) / .8)}.cw-field>.cw-label,.cw-field>.cw-remote-center-head{grid-column:1;align-self:start}.cw-field:has(>.cw-input)>.cw-label{align-self:center}.cw-field:has(>.cw-model-picker)>.cw-label{align-self:center}.cw-field>:not(.cw-label):not(.cw-remote-center-head){grid-column:2;min-width:0}.cw-form>.cw-more-options{margin:10px 0 10px calc(34% + 16px)}.cw-form>.cw-model-more-options{margin-left:0}.cw-help:not(.cw-a2a-space-status):not(.cw-dependency-hint),.cw-section-desc:not(.cw-dependency-hint),.cw-remote-center-description,.cw-ctool-desc,.cw-skill-result-desc{display:none}.cw-dependency-hint{margin:0 0 14px calc(34% + 16px)}.cw-field>.cw-dependency-hint{grid-column:2;margin:0}.cw-more-options{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:-4px;padding:4px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:560;cursor:pointer;transition:color .14s ease}.cw-more-options:hover,.cw-more-options:focus-visible{color:hsl(var(--foreground))}.cw-more-options:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:3px;border-radius:4px}.cw-more-options-chevron{width:14px;height:14px;transition:transform .18s ease}.cw-more-options-chevron.is-open{transform:rotate(90deg)}.cw-more-options-count{margin-left:2px;padding:2px 7px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:10.5px;font-weight:600}.cw-model-advanced{display:flex;flex-direction:column;gap:20px;overflow:hidden}.cw-label-with-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.cw-label-with-link a{display:inline-flex;align-items:center;gap:3px;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.3;text-decoration:none}.cw-label-with-link a:hover,.cw-label-with-link a:focus-visible{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}.cw-label-with-link a svg{width:10px;height:10px}.cw-model-source-field{align-items:center}.cw-model-source-field>.cw-label{align-self:center}.cw-model-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-model-source-option{min-width:0;min-height:36px;display:flex;align-items:stretch;overflow:hidden;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.cw-model-source-option:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .22)}.cw-model-source-option.is-disabled{background:hsl(var(--muted) / .18);color:hsl(var(--muted-foreground));opacity:.7}.cw-model-source-option.is-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--muted) / .18)}.cw-model-source-option.is-on{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .055);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.cw-model-source-option>.flex{flex:1;min-width:0}.cw-model-source-control{width:100%;min-height:100%;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;color:inherit;cursor:pointer;font-size:12.5px;font-weight:560}.cw-model-source-option.is-disabled .cw-model-source-control{cursor:not-allowed}.cw-model-source-coming-soon{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;line-height:1.3}.cw-label{font-size:13px;font-weight:400;color:hsl(var(--foreground))}.cw-req{margin-left:2px;color:hsl(var(--destructive))}.cw-help{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-remote-center-head{display:flex;flex-direction:column;gap:6px}.cw-remote-center-description{display:block;max-width:560px;margin:0;line-height:1.6}.cw-a2a-space-picker{position:relative;display:flex;flex-direction:column;gap:8px}.cw-model-picker-stack{display:grid;min-width:0;gap:12px}.cw-model-picker-field{display:grid;min-width:0;gap:6px}.cw-model-picker-label{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.45}.cw-a2a-space-picker.is-open{z-index:80}.cw-a2a-space-row{display:flex;align-items:center;gap:8px}.cw-a2a-space-select-wrap{position:relative;flex:1;min-width:0}.cw-a2a-space-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.cw-a2a-space-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.cw-a2a-space-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background-color:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.cw-a2a-space-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-trigger:disabled{cursor:not-allowed;opacity:.5}.cw-a2a-space-trigger.is-error{box-shadow:0 0 0 1px hsl(var(--destructive) / .55)}.cw-a2a-space-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.cw-a2a-space-trigger-icon{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.cw-a2a-space-trigger[aria-expanded=true] .cw-a2a-space-trigger-icon{transform:rotate(180deg)}.cw-a2a-space-menu{position:absolute;z-index:81;top:calc(100% + 6px);left:0;width:100%;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08);font-size:12px}.cw-catalog-menu{width:min(460px,calc(100vw - 64px))}.cw-catalog-menu-portal{position:fixed;z-index:1000;display:flex;min-height:0;flex-direction:column;overflow:hidden}.cw-picker-search{padding:4px 4px 6px;border-bottom:1px solid hsl(var(--border) / .72)}.cw-picker-search-input{width:100%;height:30px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.cw-picker-search-input:focus{border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 2px hsl(var(--ring) / .1)}.cw-picker-options{max-height:188px;overflow-y:auto;padding-top:4px;overscroll-behavior:contain}.cw-picker-empty{padding:14px 10px;color:hsl(var(--muted-foreground));text-align:center}.cw-a2a-space-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-option:hover,.cw-a2a-space-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.cw-a2a-space-option.is-selected{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-catalog-options{min-height:0;max-height:none;flex:1;scrollbar-gutter:stable}.cw-model-key-option{justify-content:space-between;gap:12px}.cw-model-key-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-key-option>span{flex:1}.cw-model-option{min-height:48px;justify-content:space-between;gap:14px;white-space:normal}.cw-model-option.is-activation-link{cursor:pointer}.cw-model-option:disabled{cursor:default;opacity:.62}.cw-model-option:disabled:hover{background:transparent}.cw-model-option-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.cw-model-option-copy strong,.cw-model-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-option-copy strong{font-size:12.5px;font-weight:620}.cw-model-option-copy small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cw-model-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:hsl(var(--muted) / .68);color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.25}.cw-model-status:before{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor;content:""}.cw-model-status.is-available{background:#34b2621f;color:#2a844b}.cw-model-status.is-retiring{background:#eda01d1f;color:#a2631a}.cw-model-status.is-unavailable,.cw-model-status.is-unknown{background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground))}.cw-a2a-space-refresh{flex-shrink:0;width:36px;height:36px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s ease,background-color .12s ease}.cw-a2a-space-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .4)}.cw-a2a-space-refresh:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-status{display:inline-flex;align-items:center;gap:6px}.cw-a2a-space-error{align-items:flex-start;padding:9px 11px;font-size:12.5px}.cw-viking-kb-picker{gap:6px}.cw-viking-kb-inline-status{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.cw-viking-kb-menu{padding:3px;box-shadow:0 6px 18px hsl(var(--foreground) / .06)}.cw-viking-kb-menu .cw-picker-options{max-height:min(112px,calc(100vh - 310px))}.cw-viking-kb-menu .cw-a2a-space-option{min-height:28px;padding:5px 9px;line-height:1.25}.cw-viking-kb-refresh{color:hsl(var(--foreground) / .72)}.cw-viking-kb-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .28);background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.cw-viking-kb-refresh:disabled{color:hsl(var(--muted-foreground))}.cw-error-text{font-size:12px;color:hsl(var(--destructive))}.cw-env-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:5px}.cw-env-field{display:flex;min-width:0;flex-direction:column;gap:6px}.cw-env-field-head{display:grid;min-width:0;gap:3px;color:hsl(var(--foreground));font-size:12px;font-weight:560}.cw-env-field-title{display:inline-flex;min-width:0;align-items:center;gap:5px}.cw-env-field-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.cw-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.cw-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.cw-env-help:hover .cw-env-help-popover,.cw-env-help:focus-visible .cw-env-help-popover,.cw-env-help:focus-within .cw-env-help-popover{opacity:1;pointer-events:auto}.cw-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.cw-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.cw-env-link svg{width:13px;height:13px;flex:0 0 13px}.cw-env-field-head code{display:block;max-width:100%;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.cw-env-empty{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12px}.cw-input{min-width:0;width:100%;min-height:38px;padding:9px 12px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.cw-input::placeholder{color:hsl(var(--muted-foreground))}.cw-input:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.cw-input.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-env-textarea{min-height:96px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.cw-env-error{margin-top:-2px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.4}.cw-textarea{width:100%;padding:11px 13px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .12s,box-shadow .12s}.cw-textarea::placeholder{color:hsl(var(--muted-foreground))}.cw-textarea:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-textarea.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}@keyframes cw-error-shake-a{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes cw-error-shake-b{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.cw-error-shake-0{animation:cw-error-shake-a .28s ease-in-out}.cw-error-shake-1{animation:cw-error-shake-b .28s ease-in-out}@media (prefers-reduced-motion: reduce){.cw-error-shake-0,.cw-error-shake-1{animation:none}}.cw-textarea-sm{min-height:80px;max-height:160px;overflow-y:auto}.cw-textarea-lg{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cw-markdown-loading,.cw-markdown-editor:not(.mdxeditor-popup-container){min-height:340px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background))}.cw-markdown-loading{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px}.cw-markdown-editor:not(.mdxeditor-popup-container){display:flex;flex-direction:column;max-height:420px;overflow:hidden;color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.cw-markdown-editor:not(.mdxeditor-popup-container):focus-within{border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-editor:not(.mdxeditor-popup-container).is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-toolbar{flex-shrink:0;min-height:40px;padding:5px 8px;border:0;border-bottom:1px solid hsl(var(--border));border-radius:0;background:hsl(var(--muted) / .38)}.cw-markdown-toolbar button,.cw-markdown-toolbar [role=combobox]{color:hsl(var(--foreground))}.cw-markdown-content{min-height:298px;max-height:360px;overflow-y:auto;padding:18px 20px 28px;color:hsl(var(--foreground));font-size:14px;line-height:1.7}.cw-markdown-content:focus{outline:none}.cw-markdown-content h1,.cw-markdown-content h2,.cw-markdown-content h3{margin:1.1em 0 .45em;color:hsl(var(--foreground));font-weight:650;line-height:1.3}.cw-markdown-content h1:first-child,.cw-markdown-content h2:first-child,.cw-markdown-content h3:first-child{margin-top:0}.cw-markdown-content h1{font-size:20px}.cw-markdown-content h2{font-size:17px}.cw-markdown-content h3{font-size:15px}.cw-markdown-content p{margin:0 0 .8em}.cw-markdown-content ul,.cw-markdown-content ol{margin:.5em 0 .9em;padding-left:1.5em}.cw-markdown-content ul{list-style:disc outside}.cw-markdown-content ol{list-style:decimal outside}.cw-markdown-content li{display:list-item}.cw-markdown-content blockquote{margin:.8em 0;padding-left:12px;border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.cw-markdown-error{display:block;margin-top:6px;color:hsl(var(--destructive));font-size:12px}.cw-tag-editor{display:flex;flex-direction:column;gap:12px}.cw-tag-inputrow{display:flex;gap:8px}.cw-tag-inputrow .cw-input{flex:1}.cw-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.cw-presets-label{font-size:11.5px;color:hsl(var(--muted-foreground));margin-right:2px}.cw-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12.5px;white-space:nowrap}.cw-chip-ghost{border:1px dashed hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;transition:background .12s,color .12s,border-color .12s}.cw-chip-ghost:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-chip-sub{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-pills{display:flex;flex-wrap:wrap;gap:8px}.cw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:13px}.cw-pill-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-pill-x:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.cw-empty-line{margin:0;font-size:12.5px;color:hsl(var(--muted-foreground))}.cw-check-inline{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:13px;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.cw-check-inline input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:hsl(var(--primary));cursor:pointer}.cw-checklist{display:flex;flex-direction:column;gap:8px}.cw-tools-list-shell{min-width:0;container-type:inline-size}.cw-tool-config{padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--muted) / .28)}.cw-tool-config-head{display:flex;flex-direction:column;gap:3px}.cw-checklist-tools{--cw-checklist-row-height: 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(var(--cw-checklist-row-height),auto);max-height:var(--cw-checklist-max-height);padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-checklist-tools .cw-check{min-height:var(--cw-checklist-row-height);align-items:center;padding:8px 10px}.cw-checklist-tools .cw-check-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@container (max-width: 575px){.cw-checklist-tools{grid-template-columns:minmax(0,1fr)}}.cw-check{display:flex;align-items:flex-start;gap:0;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-check>label{flex:1;min-width:0;padding-left:12px;color:inherit;cursor:pointer}.cw-checklist-tools .cw-check>label{padding-left:10px}.cw-check:hover{background:hsl(var(--foreground) / .05)}.cw-check.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-check-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-check-title{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.cw-check-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-segmented{display:flex;flex-wrap:wrap;gap:8px}.cw-seg{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:11px 13px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-seg:hover{background:hsl(var(--foreground) / .05)}.cw-seg.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-seg-title{font-size:13px;font-weight:600;color:hsl(var(--foreground))}.cw-seg-desc{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-foreground))}.cw-ctool{display:flex;flex-direction:column;gap:12px}.cw-ctool-inputs{display:flex;flex-wrap:wrap;gap:8px}.cw-ctool-inputs .cw-input{flex:1 1 180px}.cw-ctool-list{display:flex;flex-direction:column;gap:8px}.cw-ctool-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--card))}.cw-ctool-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.cw-ctool-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ctool-name{font-size:13.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--foreground));word-break:break-word}.cw-ctool-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp,.cw-mcp-list{display:flex;flex-direction:column;gap:12px}.cw-mcp-row{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card))}.cw-mcp-rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-mcp-transport{display:inline-flex;gap:6px}.cw-seg-sm{flex:0 0 auto;min-width:72px;flex-direction:row;align-items:center;justify-content:center;text-align:center;padding:6px 16px;border-radius:9px}.cw-seg-sm .cw-seg-title{font-size:12.5px}.cw-mcp-note{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp-warning{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border:1px solid #b4530940;border-radius:8px;background:#b453091a;color:#b45309;font-size:12.5px;line-height:1.5}.cw-mcp-warning svg{flex:0 0 auto;width:15px;height:15px;margin-top:2px}.cw-mcp .cw-add-sub{margin-top:0}.cw-mcp-field{align-items:center}.cw-mcp-field>.cw-label{align-self:center}.cw-subfield{margin:0;padding:9px 0;border:0;border-radius:0;background:transparent}.cw-toggle-stack{gap:0}.cw-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:9px 0;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.cw-toggle:hover{background:hsl(var(--muted) / .18)}.cw-toggle.is-on{background:hsl(var(--muted) / .24);box-shadow:none}.cw-toggle-text{grid-column:1;grid-row:1;margin-left:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-toggle-title{font-size:14px;font-weight:600}.cw-toggle-help{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-switch{grid-column:2;grid-row:1;justify-self:end;flex-shrink:0;display:flex;align-items:center;width:42px;height:24px;padding:2px;border-radius:999px;background:hsl(var(--border));transition:background .18s}.cw-toggle.is-on .cw-switch{background:hsl(var(--primary));justify-content:flex-end}.cw-switch-knob{display:block;width:20px;height:20px;border-radius:50%;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .2)}.cw-sub-list{display:flex;flex-direction:column;gap:14px}.cw-sub{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .03)}.cw-sub-head{display:flex;align-items:center;justify-content:space-between}.cw-sub-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.cw-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-icon-btn:not(:disabled):hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cw-icon-danger:not(:disabled):hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.cw-sub-head-actions{display:inline-flex;align-items:center;gap:2px}.cw-sub-list-wrap{display:flex;flex-direction:column}.cw-agent-type-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0}.cw-agent-type-option{position:relative;min-width:0;min-height:42px;display:flex;align-items:center;gap:10px;padding:0;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.cw-agent-type-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-agent-type-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-agent-type-option.is-disabled{color:hsl(var(--muted-foreground) / .52);cursor:not-allowed}.cw-agent-type-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-agent-type-control{align-self:stretch;flex:1;width:100%;min-width:0;min-height:100%;box-sizing:border-box;padding:10px 12px;color:inherit;cursor:inherit}.cw-agent-type-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-agent-type-copy strong{font-size:13px;font-weight:650}.cw-agent-type-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.cw-agent-type-disabled-hint{position:absolute;top:calc(100% + 17px);right:0;width:max-content;max-width:220px;padding:7px 10px;border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--popover));box-shadow:0 8px 24px hsl(var(--foreground) / .1);color:hsl(var(--popover-foreground));font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.cw-agent-type-option.is-disabled:hover .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus-visible .cw-agent-type-disabled-hint{opacity:1;transform:translateY(0)}.cw-agent-type-option:focus-within,.cw-agent-type-option:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-add-sub{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;width:100%;border:1px dashed hsl(var(--border));border-radius:12px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cw-add-sub:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-review{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;background:hsl(var(--card))}.cw-review-row{display:flex;gap:18px;padding:13px 16px;border-bottom:1px solid hsl(var(--border))}.cw-review-row:last-child{border-bottom:none}.cw-review-key{flex-shrink:0;width:110px;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground))}.cw-review-val{flex:1;min-width:0;font-size:13.5px}.cw-review-strong{font-weight:600}.cw-review-muted{color:hsl(var(--muted-foreground))}.cw-review-pre{margin:0;padding:10px 12px;background:hsl(var(--muted));border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.cw-review-chips,.cw-review-subs{display:flex;flex-wrap:wrap;gap:6px}.cw-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.cw-tag-on{background:#22c35d24;color:#1c7d3f}.cw-tag-off{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.cw-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:background .13s,opacity .13s,border-color .13s,transform .1s}.cw-btn:active{transform:scale(.98)}.cw-btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-btn-primary:hover:not(:disabled){opacity:.88}.cw-btn-primary:disabled{opacity:.4;cursor:default}.cw-btn-ghost{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.cw-btn-ghost:hover{background:hsl(var(--accent))}.cw-btn-soft{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));flex-shrink:0}.cw-btn-soft:hover:not(:disabled){background:hsl(var(--accent))}.cw-btn-soft:disabled{opacity:.45;cursor:default}.cw-i{width:16px;height:16px;flex-shrink:0}.cw-i-sm{width:14px;height:14px}.cw-root-preview{height:100%}.cw-preview-body{flex:1;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-preview-body>*{flex:1;min-height:0}.cw-skillhub{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.cw-skill-searchrow{display:flex;gap:8px}.cw-skill-searchbox{position:relative;flex:1;min-width:0;display:flex;align-items:center}.cw-skill-searchicon{position:absolute;left:11px;color:hsl(var(--muted-foreground));pointer-events:none}.cw-skill-input{padding-left:36px}.cw-skill-input:focus,.cw-skill-input:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:1px;border-color:hsl(var(--ring) / .48);background:hsl(var(--background));box-shadow:none}.cw-skill-selected{display:flex;flex-direction:column;gap:8px}.cw-skill-selected-label{font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground))}.cw-skill-results{display:flex;flex-direction:column;gap:8px;max-height:472px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-skill-result{flex-shrink:0;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s;min-height:72px}.cw-skill-result:hover{background:hsl(var(--foreground) / .05)}.cw-skill-result.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-skill-result-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));transition:background .12s,border-color .12s,color .12s}.cw-skill-result.is-on .cw-skill-result-icon{background:hsl(var(--foreground));border-color:hsl(var(--foreground));color:hsl(var(--background))}.cw-skill-result-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-skill-result-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground));word-break:break-word}.cw-skill-result-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-skill-result-repo{font-size:11px;font-family:inherit;line-height:1.4;color:hsl(var(--muted-foreground));word-break:break-all}.cw-skill-loading{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.cw-spin{animation:cw-spin .8s linear infinite}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-skillspane{display:flex;flex-direction:column;gap:10px;padding:10px 0 12px}.cw-skill-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.cw-skill-add:hover{border-color:hsl(var(--foreground) / .34);background:transparent;color:hsl(var(--foreground))}.cw-skill-add:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .25)}.cw-skill-add-icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.cw-skill-dialog-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#15181e47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cw-skill-dialog{width:min(680px,calc(100vw - 32px));height:min(640px,calc(100dvh - 40px));min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 72px #10131933}.cw-skill-dialog-head{flex-shrink:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;border-bottom:1px solid hsl(var(--border))}.cw-skill-dialog-head h3{margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.cw-skill-dialog-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-skill-dialog-close:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-skill-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.cw-skill-sourcetabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:44px;padding:4px;overflow:hidden;border:1px solid hsl(var(--border) / .55);border-radius:10px;background:hsl(var(--secondary) / .58)}.cw-skill-tab-slider{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:var(--cw-skill-tab-slider-width);border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--background));transform:translate(var(--cw-active-skill-tab-offset));transition:transform .24s cubic-bezier(.22,1,.36,1)}.cw-skill-pickertab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background .16s,color .16s}.cw-skill-pickertab:hover{background:hsl(var(--foreground) / .035);color:hsl(var(--foreground))}.cw-skill-pickertab.is-on{background:transparent;color:hsl(var(--foreground))}.cw-skill-pickertab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-skill-tabbody{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.cw-selected-skill-list{display:flex;flex-direction:column;gap:7px;max-height:347px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-selected-skill-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card))}.cw-selected-skill-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-selected-skill-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-selected-skill-name{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-detail{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-selected-skill-remove:hover{background:hsl(var(--destructive) / .09);color:hsl(var(--destructive))}.cw-local{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.cw-local-dropzone{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 14px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .15s,color .15s}.cw-local-drop-icon{width:20px;height:20px;color:hsl(var(--muted-foreground))}.cw-local-dropzone.is-dragging{border-color:hsl(var(--foreground) / .48);color:hsl(var(--foreground))}.cw-local-drop-hint{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px}.cw-local-dropzone.is-dragging .cw-local-drop-hint,.cw-local-dropzone.is-dragging .cw-local-drop-icon{color:hsl(var(--foreground))}.cw-local-hint{margin:0;font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-skillspace{height:100%;min-height:0;display:flex;flex-direction:column}.cw-skillspace-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}.cw-skillspace-select{width:100%;flex:1;min-width:0}.cw-skillspace-region-label{flex-shrink:0;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted) / .52);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;white-space:nowrap}.cw-skillspace-console-link{flex-shrink:0;padding:9px 12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.cw-skillspace-console-link .cw-i{display:block}.cw-skill-result-version{color:hsl(var(--muted-foreground));font-weight:400;font-size:11px;margin-left:4px}.cw-skill-result-repo .cw-i{vertical-align:-2px;margin-right:2px}@media (max-width: 1280px){.cw-root{--cw-workspace-width: calc(100% - 48px) }.cw-workspace-header{padding-inline:16px}.cw-debug{width:280px}.cw-tree{width:208px}}@media (max-width: 1080px){.cw-editor{overflow:hidden}.cw-tree{height:auto}.cw-detail{flex:1 1 auto;width:100%;max-width:none;min-height:0}.cw-debug{flex:0 0 100%;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px;border-left:none;border-top:1px solid hsl(var(--border))}.cw-debug.is-collapsed{flex:0 0 48px;width:100%;min-width:0;height:48px;min-height:48px;align-items:flex-end;padding:7px 12px}.cw-debug.is-collapsed .cw-debug-expand{width:34px;min-height:34px}.cw-lower{gap:0}.cw-detail .cw-form-col{max-width:100%}}@media (max-width: 860px){.cw-root{--cw-workspace-gutter: 8px;--cw-workspace-width: calc(100% - 16px) }.cw-workspace-header{min-height:50px;padding:6px 10px}.cw-workspace-header h1{font-size:17px}.cw-validation-workspace{display:flex}.cw-ab-stage{padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr))}.cw-ab-composer{padding-inline:var(--cw-workspace-gutter)}.cw-editor{flex-direction:column;overflow-x:hidden;overflow-y:hidden}.cw-editor>.abc-root{flex:0 0 180px;width:100%;min-width:0;min-height:180px}.cw-tree{width:100%;height:auto;max-height:220px;border-right:0;border-bottom:1px solid hsl(var(--border))}.cw-detail{flex:1 1 auto;width:100%;max-width:none;height:auto;min-height:0;border-left:0}.cw-detail-scroll{padding:16px 12px 20px}.cw-debug{flex:none;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px}.cw-debug.is-collapsed{width:100%;height:48px;min-height:48px}.cw-center{gap:0;padding:24px 16px 64px}.cw-form-col{max-width:100%}}@media (max-width: 700px){.cw-workspace-header h1{text-align:center}.cw-workspace-nav-actions{grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr)}.cw-workspace-nav-button{padding-inline:12px}.cw-form>.cw-more-options,.cw-dependency-hint{margin-left:0}.cw-field{grid-template-columns:minmax(0,1fr);row-gap:8px}.cw-field>.cw-label,.cw-field>.cw-remote-center-head,.cw-field>:not(.cw-label):not(.cw-remote-center-head),.cw-field>.cw-dependency-hint{grid-column:1}.cw-optimization-list,.cw-ab-grid,.cw-ab-config{grid-template-columns:minmax(0,1fr)}.cw-ab-composer{grid-template-columns:minmax(0,1fr);padding-bottom:12px}.cw-ab-add{width:100%}.cw-dataset-summary>div+div{border-top:1px solid hsl(var(--border));border-left:0}}.package-create{flex:1;min-width:0;min-height:0;display:flex;color:hsl(var(--foreground))}.package-create-preview{height:100%}.package-create-preview>*{flex:1;min-width:0;min-height:0}.package-source-pane{padding:16px 18px 18px}.package-source-label{margin-bottom:10px;color:hsl(var(--foreground));font-size:15px;font-weight:650}.package-dropzone{min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.package-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:3px}.package-dropzone.is-dragging{border-color:hsl(var(--primary) / .62);background:hsl(var(--primary) / .045)}.package-dropzone.is-ready{background:hsl(var(--background))}.package-dropzone>strong{max-width:100%;overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.package-dropzone>span{max-width:420px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.package-upload-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}.package-upload-actions button{min-height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.package-upload-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.package-upload-secondary:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary))}.package-upload-actions button:disabled{cursor:default;opacity:.45}.package-upload-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.package-dropzone input{display:none}.package-create-error{flex:0 0 auto;margin-top:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));font-size:13px;line-height:1.5}@media (max-width: 860px){.package-dropzone{min-height:140px}}@media (prefers-reduced-motion: reduce){.package-dropzone,.package-upload-actions button{transition:none}}.studio-update-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:32px;padding:0 10px;border:1px solid #1664ff;border-radius:8px;background:#1664ff;color:#fff;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle{gap:0;width:32px;min-width:32px;padding:0;overflow:hidden;white-space:nowrap;transition:width .18s ease,gap .18s ease,padding .18s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle:hover,.studio-update-trigger.is-idle:focus-visible{gap:7px;width:124px;padding:0 10px;border-color:#1664ff;background:#1664ff;color:#fff}.studio-update-trigger.is-idle>span{max-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:max-width .18s ease,opacity .12s ease,transform .18s ease}.studio-update-trigger.is-idle:hover>span,.studio-update-trigger.is-idle:focus-visible>span{max-width:86px;opacity:1;transform:translate(0)}.studio-update-trigger.is-submitting{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.studio-update-trigger.is-error{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--destructive))}.studio-update-trigger.is-published{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.studio-update-icon{width:17px;height:17px;flex:0 0 17px}.studio-update-dialog{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;width:min(500px,calc(100vw - 32px));max-width:calc(100vw - 32px);min-width:0;overflow:hidden}.studio-update-dialog.is-progress{width:min(760px,calc(100vw - 32px));height:min(700px,calc(100dvh - 32px));grid-template-rows:auto minmax(0,1fr) auto}.studio-update-dialog.is-progress>.studio-update-progress-body,.studio-update-dialog.is-progress>.studio-update-error-panel{grid-row:2;min-height:0}.studio-update-dialog.is-progress>.confirm-actions{grid-row:3}.studio-update-progress-body{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-height:0}.studio-update-progress-body .studio-update-live-log,.studio-update-error-panel .studio-update-live-log{display:flex;min-height:0;flex-direction:column}.studio-update-progress-body .studio-update-log-lines,.studio-update-error-panel .studio-update-log-lines{min-height:0;max-height:none;flex:1;overflow-y:auto}.studio-update-dialog>.studio-update-dialog-mark{grid-column:1;grid-row:1}.studio-update-dialog>.confirm-title{grid-column:2;grid-row:1;align-self:start;margin:5px 0 12px}.studio-update-dialog>:not(.studio-update-dialog-mark,.confirm-title){grid-column:1 / -1;width:100%;max-width:100%;min-width:0}.studio-update-dialog .confirm-text,.studio-update-dialog .studio-update-changelog li,.studio-update-dialog .studio-update-changelog p,.studio-update-dialog .studio-update-error,.studio-update-dialog .studio-update-progress small,.studio-update-dialog .studio-update-progress-note,.studio-update-dialog .studio-update-console-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.studio-update-field{position:relative;display:grid;gap:6px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-version-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.studio-update-version-trigger:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.studio-update-version-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.studio-update-version-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.studio-update-version-trigger>svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.studio-update-version-trigger>span,.studio-update-version-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-update-version-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.studio-update-version-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:100%;max-height:190px;padding:4px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel, var(--background)));box-shadow:0 12px 28px hsl(var(--foreground) / .1),0 2px 8px hsl(var(--foreground) / .05);overscroll-behavior:contain}.studio-update-version-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer}.studio-update-version-option:hover,.studio-update-version-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.studio-update-version-option.is-selected{background:hsl(var(--primary) / .08)}.studio-update-version-option>svg{width:15px;height:15px;flex:0 0 15px;color:hsl(var(--primary));stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.studio-update-dialog-mark{display:inline-grid;flex:0 0 30px;width:30px;height:30px;margin-bottom:12px;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-update-dialog-mark svg{width:18px;height:18px}.studio-update-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-versions div:last-child{grid-column:1 / -1}.studio-update-versions dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-versions dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.studio-update-changelog{margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px}.studio-update-changelog>div{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:500}.studio-update-changelog ul{display:block;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;list-style:disc outside;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li{display:list-item;margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-changelog li+li{margin-top:5px}.studio-update-changelog p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-confirm{border-color:transparent;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-update-confirm:hover{background:hsl(var(--primary) / .88)}.studio-update-error{margin-bottom:12px;color:hsl(var(--destructive))}.studio-update-error-panel{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-width:0;min-height:0}.studio-update-error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.studio-update-error-meta>div{min-width:0;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-error-meta dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-error-meta dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.studio-update-log-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid hsl(var(--border));border-bottom:0;border-radius:8px 8px 0 0;background:hsl(var(--muted) / .28);color:hsl(var(--foreground));font-size:11px;font-weight:500}.studio-update-log-header>span{display:inline-flex;align-items:center;gap:6px}.studio-update-log-header i{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.studio-update-log-header i.is-active{background:#1664ff;box-shadow:0 0 0 3px #1664ff1c}.studio-update-log-header i.is-complete{background:#29ae60}.studio-update-log-header i.is-error{background:hsl(var(--destructive))}.studio-update-log-header small{color:hsl(var(--muted-foreground));font-size:10px;font-weight:400}.studio-update-log-header button{padding:2px 0;border:0;background:transparent;color:hsl(var(--primary));font:inherit;cursor:pointer}.studio-update-log-header button:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-log-header button:disabled{color:hsl(var(--muted-foreground));cursor:default;text-decoration:none}.studio-update-log-lines{min-height:92px;max-height:min(210px,29vh);padding:11px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:0 0 8px 8px;background:hsl(var(--foreground) / .035);color:hsl(var(--foreground));font-family:inherit;font-size:11px;line-height:1.55;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-log-lines:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-2px}.studio-update-log-lines>div+div{margin-top:3px}.studio-update-log-lines p{margin:0;color:hsl(var(--muted-foreground))}.studio-update-console-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:hsl(var(--primary));font-size:11px;font-weight:500;text-decoration:none}.studio-update-console-link:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.studio-update-progress-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-progress-summary span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-summary strong{overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-progress{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none}.studio-update-progress li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-height:38px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-progress li:not(:last-child):after{position:absolute;top:14px;bottom:-2px;left:5px;width:1px;background:hsl(var(--border));content:""}.studio-update-progress li.is-complete:not(:last-child):after{background:#1664ff}.studio-update-progress-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:2px;border:2px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.studio-update-progress li.is-active,.studio-update-progress li.is-complete{color:hsl(var(--foreground))}.studio-update-progress li.is-active .studio-update-progress-dot{border-color:#1664ff;box-shadow:0 0 0 3px #1664ff1f}.studio-update-progress li.is-complete .studio-update-progress-dot{border-color:#1664ff;background:#1664ff}.studio-update-progress li>div{display:grid;gap:3px;min-width:0}.studio-update-progress small{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-note{margin:12px 0 18px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.new-chat-video-task-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:new-chat-video-task-fade .14s ease-out}.new-chat-video-task-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:new-chat-video-task-rise .18s cubic-bezier(.2,.8,.2,1)}.new-chat-video-task-dialog__head{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 20px;border-bottom:1px solid hsl(var(--border))}.new-chat-video-task-dialog__close svg{width:17px;height:17px}.new-chat-video-task-dialog__head h2,.new-chat-video-task-dialog__head p{margin:0}.new-chat-video-task-dialog__head h2{width:fit-content;color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35;outline:0}.new-chat-video-task-dialog__head p{overflow:hidden;margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-dialog__close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.new-chat-video-task-dialog__close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.new-chat-video-task-dialog button:focus-visible,.new-chat-video-task-dialog a:focus-visible,.new-chat-video-task-dialog video:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.new-chat-video-task-dialog__body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;overscroll-behavior:contain}.new-chat-video-task-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.new-chat-video-task-steps li{min-width:0;padding:0 0 8px;border-bottom:2px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.4}.new-chat-video-task-step__label{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-step__label>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.new-chat-video-task-step__loading{width:13px;height:13px;flex:0 0 auto;animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-steps li.is-active,.new-chat-video-task-steps li.is-done,.new-chat-video-task-steps li.is-failed{color:hsl(var(--foreground))}.new-chat-video-task-steps li.is-active{border-color:hsl(var(--primary))}.new-chat-video-task-steps li.is-done{border-color:#91cab1}.new-chat-video-task-steps li.is-failed{border-color:hsl(var(--destructive))}.new-chat-video-task-error{padding:12px 14px;border:1px solid hsl(var(--destructive) / .22);border-radius:9px;background:hsl(var(--destructive) / .05);color:hsl(var(--foreground))}.new-chat-video-task-error p{margin:0}.new-chat-video-task-error p{color:hsl(var(--foreground));font-size:13px;line-height:1.55}.new-chat-video-task-prompt{min-width:0;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas))}.new-chat-video-task-prompt h3,.new-chat-video-task-prompt p{margin:0}.new-chat-video-task-prompt h3{color:hsl(var(--foreground));font-size:12px;font-weight:620}.new-chat-video-task-prompt p{max-height:144px;overflow-y:auto;margin-top:7px;color:hsl(var(--foreground) / .78);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-preview{min-height:224px;display:grid;place-items:center;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:#161618}.new-chat-video-task-preview video{width:100%;max-height:360px;display:block;object-fit:contain}.new-chat-video-task-preview.is-loading{align-content:center;gap:8px;padding:24px;background:hsl(var(--canvas));color:hsl(var(--muted-foreground));text-align:center}.new-chat-video-task-preview__loading{width:20px;height:20px;color:hsl(var(--muted-foreground));animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-preview.is-loading strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.new-chat-video-task-preview.is-loading>span:last-child{font-size:12px}.new-chat-video-task-dialog__actions{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.new-chat-video-task-dialog__actions p{min-width:0;margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-dialog__actions p.is-warning{color:hsl(var(--destructive));font-weight:500}.new-chat-video-task-dialog__actions>div{display:flex;flex:0 0 auto;gap:8px}.new-chat-video-task-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.new-chat-video-task-button:hover{background:hsl(var(--secondary))}.new-chat-video-task-button.is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.new-chat-video-task-button.is-primary:hover{background:hsl(var(--primary) / .9)}.new-chat-video-task-button svg{width:15px;height:15px}@keyframes new-chat-video-task-fade{0%{opacity:0}to{opacity:1}}@keyframes new-chat-video-task-rise{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes new-chat-video-task-spin{to{transform:rotate(360deg)}}@media (max-width: 620px){.new-chat-video-task-backdrop{padding:12px}.new-chat-video-task-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.new-chat-video-task-steps{grid-template-columns:minmax(0,1fr);gap:10px}.new-chat-video-task-dialog__actions{align-items:stretch;flex-direction:column}.new-chat-video-task-dialog__actions>div{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.new-chat-video-task-backdrop,.new-chat-video-task-dialog,.new-chat-video-task-step__loading,.new-chat-video-task-preview__loading{animation:none}}.sandbox-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid hsl(268 58% 58% / .34);background:#f4eefb;color:#5b318c;font:inherit;font-weight:600;cursor:pointer;transition:background-color .14s ease-out,border-color .14s ease-out}.sandbox-entry svg{width:15px;height:15px;flex:0 0 auto}.sandbox-entry:hover:not(:disabled){border-color:#803ecc85;background:#ece2f9}.sandbox-entry:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-entry:disabled{cursor:default;opacity:.72}.sandbox-entry--composer{min-height:30px;padding:0 13px;border-radius:999px;font-size:12px}.sandbox-entry--header{min-height:32px;padding:0 10px;border-radius:7px;font-size:12px}.sandbox-entry.is-active{border-style:dashed}.sandbox-new-chat-entry{display:flex;justify-content:center;min-height:30px}.composer-slot{width:100%;min-width:0}.sandbox-composer-wrap{position:relative;z-index:50}.sandbox-session-warning{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;width:calc(100% - 32px);max-width:736px;min-height:24px;margin:0 auto 6px;color:#c7840f;font-size:12px}.sandbox-session-warning-dot{display:none}.sandbox-session-warning-copy{grid-column:2;white-space:nowrap;text-align:center}.sandbox-session-warning button{grid-column:3;justify-self:end;padding:3px 5px;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-weight:580;cursor:pointer}.sandbox-session-warning button:hover{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.sandbox-composer-wrap .composer-box{display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(44px,auto) 36px;align-items:center;gap:2px 8px;min-height:104px;padding:10px 8px 8px;border-radius:24px}.sandbox-composer-wrap .comp-input{grid-row:1;grid-column:1 / -1;align-self:stretch;width:100%;min-height:44px;padding:8px 10px 4px}.sandbox-composer-wrap .sandbox-composer-input{grid-row:1;grid-column:1 / -1;align-self:stretch;display:flex;flex-flow:row wrap;align-content:flex-start;align-items:center;gap:6px;min-height:44px;padding:5px 10px 2px}.sandbox-composer-input>.invocation-chips{flex:0 1 auto}.sandbox-composer-input>.comp-input{flex:1 1 180px;min-width:120px;min-height:28px;padding:4px 0;line-height:20px}.sandbox-codex-composer .composer-command-menu{z-index:100;display:flex;max-height:min(420px,calc(100vh - 180px));flex-direction:column}.sandbox-codex-composer .composer-command-list{min-height:0;max-height:none}.sandbox-composer-wrap .composer-left-controls{grid-row:2;grid-column:1;justify-self:start}.composer-left-controls{display:flex;align-items:center;gap:2px;min-width:0}.sandbox-composer-control{width:32px;height:32px}.sandbox-composer-control svg{width:16px;height:16px}.sandbox-composer-control.is-locked{color:hsl(var(--muted-foreground) / .56)}.sandbox-codex-composer .composer-menu-separator{height:1px;margin:4px 6px;background:hsl(var(--border))}.turn--system{width:100%;align-items:stretch;margin-bottom:16px}.sandbox-activity-record{width:100%;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--muted-foreground))}.sandbox-activity-summary{display:grid;grid-template-columns:7px auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.45}.sandbox-activity-dot{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .68)}.sandbox-activity-label{padding-right:7px;border-right:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11px;font-weight:600}.sandbox-activity-summary strong{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-weight:560}.sandbox-activity-summary time{color:hsl(var(--muted-foreground));font-size:11px;white-space:nowrap}.sandbox-activity-details{display:grid;gap:5px;margin:8px 0 0 21px}.sandbox-activity-details>div{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px;font-size:12px;line-height:1.5}.sandbox-activity-details dt,.sandbox-activity-details dd{min-width:0;margin:0}.sandbox-activity-details dt{color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-activity-details dd{overflow-wrap:break-word;color:hsl(var(--foreground))}.sandbox-activity-details code{font:inherit;font-size:11px;line-height:1.5;white-space:pre-wrap}.sandbox-composer-wrap .comp-send{grid-row:2;grid-column:2}.main.is-sandbox-session{position:relative;isolation:isolate;background:linear-gradient(to bottom,#f4edfd,#f8f3fc,#fbf8fc 48%,hsl(var(--panel)) 76%)}.main.is-sandbox-session:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 78% 40% at 18% 0%,hsl(244 82% 84% / .24),transparent 70%),radial-gradient(ellipse 70% 36% at 52% 0%,hsl(284 70% 86% / .2),transparent 72%),radial-gradient(ellipse 64% 38% at 88% 2%,hsl(324 66% 88% / .16),transparent 72%),linear-gradient(to bottom,hsl(var(--panel) / 0),hsl(var(--panel) / .18) 42%,hsl(var(--panel)) 76%);filter:blur(24px);opacity:1;animation:sandbox-smoke-enter .42s ease-out both}.main.is-sandbox-session>*{position:relative;z-index:1}.sandbox-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-dialog{width:min(440px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-dialog-enter .18s ease-out both}.sandbox-dialog-visual{position:relative;display:grid;height:112px;place-items:center;overflow:hidden;border-bottom:1px solid hsl(var(--border));background:radial-gradient(circle at 35% 70%,hsl(256 68% 78% / .34),transparent 40%),radial-gradient(circle at 68% 30%,hsl(276 66% 72% / .28),transparent 42%),#f9f8fc}.sandbox-dialog-orbit{position:absolute;width:104px;height:44px;border:1px solid hsl(268 52% 54% / .22);border-radius:50%;transform:rotate(-12deg)}.sandbox-dialog-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid hsl(268 58% 58% / .3);border-radius:14px;background:hsl(var(--panel) / .9);color:#68389f;box-shadow:0 8px 24px #6c38a824}.sandbox-dialog-icon svg{width:23px;height:23px}.sandbox-spinner{width:21px;height:21px;border:2px solid hsl(268 48% 42% / .2);border-top-color:currentColor;border-radius:50%;animation:sandbox-spin .8s linear infinite}.sandbox-dialog-copy{padding:22px 24px 20px;text-align:center}.sandbox-dialog-copy h2{margin:0 0 8px;color:hsl(var(--foreground));font-size:17px;font-weight:650}.sandbox-dialog-copy p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.65}.sandbox-dialog-copy .sandbox-dialog-error{color:hsl(var(--destructive))}.sandbox-dialog-field{display:grid;gap:6px;margin-top:16px;text-align:left}.sandbox-dialog-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.sandbox-dialog-field-label>:last-child{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400}.sandbox-dialog-field input{width:100%;height:36px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.sandbox-dialog-field input:focus-visible{border-color:hsl(var(--primary) / .64);box-shadow:0 0 0 2px hsl(var(--primary) / .14)}.sandbox-dialog-field input:disabled{cursor:default;opacity:.66}.sandbox-dialog-persistence{display:grid;gap:3px;margin-top:12px;text-align:left}.sandbox-dialog-persistence-control{justify-self:start;color:hsl(var(--foreground));font-weight:550}.sandbox-dialog-persistence-description{margin:0 0 0 26px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.sandbox-dialog-persistence-description.is-warning{color:#9e6b1a}.sandbox-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-dialog-actions button{min-width:80px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-dialog-actions button:hover{background:hsl(var(--secondary))}.sandbox-dialog-actions button:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-dialog-actions .is-primary{border-color:#68389f;background:#68389f;color:hsl(var(--primary-foreground))}.sandbox-dialog-actions .is-primary:hover{background:#5b318c}@keyframes sandbox-spin{to{transform:rotate(360deg)}}@keyframes sandbox-dialog-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-smoke-enter{0%{opacity:0}to{opacity:1}}.sandbox-codex-composer .composer-command-head small{max-width:210px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sandbox-codex-composer .composer-command-icon--command,.sandbox-codex-composer .composer-command-icon--model{font-size:16px;font-weight:700;line-height:1}.sandbox-codex-composer .composer-command-icon--command{background:hsl(var(--accent));color:hsl(var(--foreground))}.sandbox-codex-composer .composer-command-icon--model{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-token-usage{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-right:auto}.sandbox-token-usage>span{display:inline-flex;align-items:baseline;gap:4px;padding:3px 7px;border:1px solid hsl(var(--border) / .76);border-radius:6px;background:hsl(var(--muted) / .42);color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-token-usage small{font-size:9px;font-weight:560}.sandbox-token-usage strong{color:hsl(var(--foreground) / .76);font-size:10px;font-weight:600;line-height:1.2}@media (max-width: 700px){.sandbox-entry--header span{display:none}.sandbox-entry--header{width:32px;padding:0}.sandbox-session-warning{grid-template-columns:1fr auto;width:calc(100% - 16px)}.sandbox-session-warning-copy{grid-column:1;white-space:normal;text-align:left}.sandbox-session-warning button{grid-column:2}.sandbox-activity-summary{grid-template-columns:7px auto minmax(0,1fr)}.sandbox-activity-summary time{grid-column:3}.sandbox-activity-details>div{grid-template-columns:1fr;gap:1px}}@media (prefers-reduced-motion: reduce){.sandbox-entry,.sandbox-dialog,.main.is-sandbox-session:before{animation:none;transition:none}}.sandbox-control-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sandbox-control-fade .14s ease-out}.sandbox-control-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:sandbox-control-rise .18s cubic-bezier(.2,.8,.2,1)}.sandbox-control-head{min-height:60px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 17px;border-bottom:1px solid hsl(var(--border))}.sandbox-control-head-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-head-icon svg{width:17px;height:17px}.sandbox-control-head h2,.sandbox-control-head p{margin:0}.sandbox-control-head h2{color:hsl(var(--foreground));font-size:14px;font-weight:660;line-height:1.35}.sandbox-control-head p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-control-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-control-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-dialog button:focus-visible,.sandbox-control-dialog input:focus-visible,.sandbox-control-dialog iframe:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.sandbox-control-close svg{width:16px;height:16px}.sandbox-control-body{min-height:0;overflow:auto;padding:18px}.sandbox-control-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.sandbox-control-actions button,.sandbox-control-state button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:590;text-decoration:none;cursor:pointer}.sandbox-control-actions button:hover:not(:disabled),.sandbox-control-state button:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary))}.sandbox-control-actions button.is-primary,.sandbox-control-state button{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sandbox-control-actions button:disabled{cursor:default;opacity:.5}.sandbox-control-actions svg{width:13px;height:13px}.sandbox-choice-group{margin:0 0 18px;padding:0;border:0}.sandbox-settings-dialog{width:min(720px,calc(100vw - 40px))}.sandbox-choice-group legend{margin-bottom:8px;color:hsl(var(--foreground));font-size:12px;font-weight:650}.sandbox-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sandbox-choice-list button{min-width:0;min-height:72px;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-choice-list button:hover:not(:disabled),.sandbox-choice-list button.is-active{border-color:hsl(var(--primary) / .42);background:hsl(var(--accent))}.sandbox-choice-list button.is-danger:hover:not(:disabled),.sandbox-choice-list button.is-danger.is-active{border-color:hsl(var(--destructive) / .38);background:hsl(var(--destructive) / .06)}.sandbox-choice-list button>i{width:12px;height:12px;flex:0 0 auto;margin-top:2px;border:1px solid hsl(var(--border));border-radius:50%}.sandbox-choice-list button.is-active>i{border:3px solid hsl(var(--primary));background:hsl(var(--background))}.sandbox-choice-list button>span{min-width:0;display:grid;gap:5px}.sandbox-choice-list strong{color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-choice-list small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.sandbox-network-toggle{min-height:54px;display:flex;align-items:center;gap:12px;margin-top:2px;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .24)}.sandbox-network-toggle>span{min-width:0;flex:1;display:grid;gap:3px}.sandbox-network-toggle strong{font-size:11px}.sandbox-network-toggle small{color:hsl(var(--muted-foreground));font-size:11px}.sandbox-network-toggle input{width:16px;height:16px;accent-color:hsl(var(--primary))}.sandbox-network-toggle.is-disabled{opacity:.62}.sandbox-control-note,.sandbox-control-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(42 70% 52% / .25);border-radius:8px;background:#fcf8ed;color:#916622;font-size:12px;line-height:1.55}.sandbox-control-note.is-danger,.sandbox-control-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.sandbox-workspace-dialog{width:min(600px,calc(100vw - 40px))}.sandbox-workspace-input{display:grid;gap:7px;color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-workspace-input>div{display:flex;gap:7px}.sandbox-workspace-input input{min-width:0;height:36px;flex:1;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.sandbox-workspace-input input:focus{border-color:hsl(var(--primary) / .55);box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.sandbox-workspace-input button{width:64px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .35);color:hsl(var(--foreground));font:inherit;font-size:11px;cursor:pointer}.sandbox-directory-browser{height:268px;margin-top:14px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .14)}.sandbox-directory-head{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;font-size:10px}.sandbox-directory-head span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-head svg{width:13px}.sandbox-directory-list{height:calc(100% - 36px);overflow:auto;padding:5px}.sandbox-directory-list button{width:100%;min-height:34px;display:grid;grid-template-columns:18px minmax(0,auto) minmax(0,1fr) 16px;align-items:center;gap:7px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11px;text-align:left;cursor:pointer}.sandbox-directory-list button:hover{background:hsl(var(--foreground) / .05)}.sandbox-directory-list button>svg:first-child{width:15px;color:hsl(var(--foreground))}.sandbox-directory-list button>svg:last-child{width:13px;color:hsl(var(--muted-foreground))}.sandbox-directory-list button small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-empty{display:grid;min-height:120px;place-items:center;color:hsl(var(--muted-foreground));font-size:11px}.sandbox-tool-dialog{width:min(1120px,calc(100vw - 44px));height:min(760px,calc(100vh - 48px));max-height:none}.sandbox-tool-toolbar{min-height:42px;display:flex;align-items:center;gap:12px;padding:5px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .2)}.sandbox-tool-toolbar>span{display:inline-flex;align-items:center;gap:7px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.sandbox-tool-toolbar>span i{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .5)}.sandbox-tool-toolbar>span i.is-ready{background:#2ab262}.sandbox-tool-toolbar>span i.is-loading{background:#e9ab1c}.sandbox-tool-surface{flex:1;min-height:0;display:grid;overflow:hidden;background:hsl(var(--secondary) / .2)}.sandbox-tool-dialog--terminal .sandbox-tool-surface{background:#15171e}.sandbox-tool-surface iframe{width:100%;height:100%;border:0;background:hsl(var(--background))}.sandbox-control-state{display:grid;place-items:center;align-content:center;gap:8px;padding:28px;color:hsl(var(--muted-foreground));text-align:center}.sandbox-control-state>svg{width:22px;height:22px;color:hsl(var(--foreground))}.sandbox-control-state strong{color:hsl(var(--foreground));font-size:13px}.sandbox-control-state span{max-width:420px;font-size:11px;line-height:1.55}.sandbox-approval-dialog{width:min(560px,calc(100vw - 40px))}.sandbox-approval-reason{margin-bottom:11px;color:hsl(var(--foreground));font-size:12px;line-height:1.55}.sandbox-approval-dialog pre{max-height:240px;margin:0 0 10px;overflow:auto;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:#181a21;color:#e0e6eb;font:inherit;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.sandbox-approval-meta{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-approval-meta code{color:hsl(var(--foreground));font:inherit;font-size:10px}.sandbox-approval-actions{flex-wrap:wrap}.sandbox-threads-dialog{width:min(620px,calc(100vw - 40px))}.sandbox-thread-list{display:grid;max-height:min(520px,64vh);overflow-y:auto;padding:7px}.sandbox-thread-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:62px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-thread-list>button:hover{background:hsl(var(--accent))}.sandbox-thread-list>button.is-active{background:hsl(var(--muted) / .7);cursor:default}.sandbox-thread-list>button>span{display:grid;min-width:0;gap:4px}.sandbox-thread-list strong,.sandbox-thread-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-thread-list strong{font-size:12px;font-weight:620}.sandbox-thread-list small,.sandbox-thread-list time{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-thread-list svg{width:14px;height:14px;color:hsl(var(--muted-foreground))}@keyframes sandbox-control-fade{0%{opacity:0}to{opacity:1}}@keyframes sandbox-control-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.sandbox-control-backdrop{padding:10px}.sandbox-control-dialog{width:100%;max-height:calc(100vh - 20px)}.sandbox-tool-dialog{height:calc(100vh - 20px)}.sandbox-choice-list,.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:1fr}.sandbox-choice-list button{min-height:58px}.sandbox-control-head p{display:none}.sandbox-control-actions>button{flex:1}}@media (prefers-reduced-motion: reduce){.sandbox-control-backdrop,.sandbox-control-dialog{animation:none}}.sandbox-agent-details{display:grid;align-content:start;gap:20px;width:min(920px,100%);height:100%;min-height:0;margin:0 auto;padding:28px 32px;overflow:auto}.sandbox-agent-details-header{display:grid;gap:20px}.sandbox-agent-back{display:inline-flex;width:fit-content;height:32px;align-items:center;gap:6px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;font-weight:550;cursor:pointer}.sandbox-agent-back:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.sandbox-agent-back:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-back svg{width:16px;height:16px;flex:0 0 auto}.sandbox-agent-details-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650}.sandbox-agent-details-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px}.sandbox-agent-detail-error{padding:10px 12px;border:1px solid hsl(var(--destructive) / .3);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px}.sandbox-agent-detail-panel{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.sandbox-agent-detail-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 24px}.sandbox-agent-detail-panel dl>div{min-width:0;padding:16px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:nth-last-child(-n+2){border-bottom:0}.sandbox-agent-detail-panel dl>div:nth-child(odd){padding-right:24px}.sandbox-agent-detail-panel dl>div:nth-child(2n){padding-left:24px}.sandbox-agent-detail-panel dl>.is-wide{grid-column:1 / -1;padding-right:0}.sandbox-agent-detail-panel dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-detail-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:520}.sandbox-agent-detail-panel footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .25)}.sandbox-agent-detail-panel footer button{height:34px;padding:0 14px;border-radius:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-agent-delete{border:1px solid hsl(var(--destructive) / .34);background:hsl(var(--panel));color:hsl(var(--destructive))}.sandbox-agent-open{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-agent-detail-panel footer button:disabled{cursor:default;opacity:.58}@media (max-width: 720px){.sandbox-agent-details{padding:20px 16px}.sandbox-agent-detail-panel dl{grid-template-columns:1fr;padding:8px 16px}.sandbox-agent-detail-panel dl>div,.sandbox-agent-detail-panel dl>div:nth-child(odd),.sandbox-agent-detail-panel dl>div:nth-child(2n){padding:14px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:last-child{border-bottom:0}}@layer components{._SegmentedControl_1sl7d_1{--segmented-control-option-radius: calc( var(--segmented-control-radius) - var(--segmented-control-gutter) );position:relative;overflow:auto;display:inline-flex;flex-wrap:nowrap;gap:var(--segmented-control-gap);height:var(--segmented-control-size);padding:var(--segmented-control-gutter);border-radius:var(--segmented-control-radius);background:var(--segmented-control-background);font-size:var(--segmented-control-font-size);font-weight:var(--segmented-control-font-weight);-ms-overflow-style:none;scrollbar-width:none;vertical-align:middle;white-space:nowrap}._SegmentedControl_1sl7d_1::-webkit-scrollbar{width:0;height:0}._SegmentedControl_1sl7d_1::-webkit-scrollbar-track,._SegmentedControl_1sl7d_1::-webkit-scrollbar-thumb{background:transparent}._SegmentedControl_1sl7d_1:where([data-block]){overflow:hidden;display:flex;width:100%;white-space:wrap}._SegmentedControl_1sl7d_1:where([data-size="3xs"]){--segmented-control-size: var(--control-size-3xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size="2xs"]){--segmented-control-size: var(--control-size-2xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=xs]){--segmented-control-size: var(--control-size-xs);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=sm]){--segmented-control-size: var(--control-size-sm);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-size=md]){--segmented-control-size: var(--control-size-md);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=lg]){--segmented-control-size: var(--control-size-lg);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=xl]){--segmented-control-size: var(--control-size-xl);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-lg);--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-size="2xl"]){--segmented-control-size: var(--control-size-2xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-size="3xl"]){--segmented-control-size: var(--control-size-3xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-gutter-size="2xs"]){--segmented-control-option-gutter: var(--control-gutter-2xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xs]){--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=sm]){--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-gutter-size=md]){--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-gutter-size=lg]){--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xl]){--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-pill]){--segmented-control-radius: var(--radius-full);--segmented-control-option-radius: var(--radius-full)}._SegmentedControlOption_1sl7d_140{position:relative;padding:0 var(--segmented-control-option-gutter);border-radius:var(--segmented-control-option-radius);color:var(--color-text-secondary);cursor:pointer;line-height:1;transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,color;transition-timing-function:var(--transition-ease-basic)}._SegmentedControlOption_1sl7d_140:focus{outline:0}:where(._SegmentedControl_1sl7d_1[data-block]) ._SegmentedControlOption_1sl7d_140{flex:1}:where(._SegmentedControl_1sl7d_1[data-pill]) ._SegmentedControlOption_1sl7d_140{padding:0 calc(var(--segmented-control-option-gutter) * var(--control-gutter-pill-scaling))}._SegmentedControlOption_1sl7d_140[data-state=on]:focus-visible{outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140:before{position:absolute;inset:var(--segmented-control-option-highlight-gutter);border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-option-highlight-background-color);content:"";opacity:0;pointer-events:none;transform:scale(1);transition-duration:var(--transition-duration-basic);transition-property:opacity,transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SegmentedControlOption_1sl7d_140:active:before{transform:scale(var(--scale),.97)}._SegmentedControlOption_1sl7d_140 svg{display:block}@media (hover: hover) and (pointer: fine){._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover:before{opacity:.5}}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):focus-visible{color:var(--color-text);outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):active:before{opacity:.75}._SegmentedControlOption_1sl7d_140[data-state=on]{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-disabled]{cursor:not-allowed;opacity:.5}._SegmentedControlOption_1sl7d_140[data-disabled]:before{opacity:0!important}._SegmentedControlThumb_1sl7d_219{position:absolute;top:var(--segmented-control-gutter);bottom:var(--segmented-control-gutter);left:0;border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-thumb-background);box-shadow:var(--segmented-control-thumb-shadow);pointer-events:none;will-change:transform}}.sandbox-agent-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;background:hsl(var(--canvas))}.sandbox-agent-workspace>header{display:flex;min-width:0;min-height:62px;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.sandbox-agent-workspace-title{display:flex;min-width:0;align-items:center;gap:10px}.sandbox-agent-workspace-title>button{display:inline-grid;width:24px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-agent-workspace-title>button:hover{color:hsl(var(--foreground))}.sandbox-agent-workspace-title svg{width:17px;height:17px}.sandbox-agent-workspace-title>div{min-width:0}.sandbox-agent-workspace-title h1{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.sandbox-agent-workspace-title p{display:flex;align-items:center;gap:7px;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-workspace-status{display:inline-flex;min-height:18px;align-items:center;padding:0 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:550;line-height:1}.sandbox-agent-workspace-status[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.sandbox-agent-workspace-tabs{width:200px;flex:0 0 auto}.sandbox-agent-workspace button:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-workspace-surface{min-width:0;min-height:0;overflow:hidden}.sandbox-agent-workspace-surface iframe{display:block;width:100%;height:100%;border:0;background:hsl(var(--panel))}.sandbox-agent-workspace-state{display:grid;height:100%;place-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.sandbox-agent-workspace-state p{margin:0}.sandbox-agent-workspace-state.is-error{color:hsl(var(--destructive))}.sandbox-agent-workspace-state button{justify-self:center;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}@media (max-width: 720px){.sandbox-agent-workspace>header{align-items:stretch;flex-direction:column}.sandbox-agent-workspace-tabs{width:100%}}.auth-expired-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .22);backdrop-filter:blur(5px) saturate(.88);-webkit-backdrop-filter:blur(5px) saturate(.88)}.auth-expired-dialog{position:relative;width:min(400px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 28px 80px hsl(var(--foreground) / .2),0 2px 8px hsl(var(--foreground) / .06);animation:auth-expired-enter .18s cubic-bezier(.22,1,.36,1) both}.auth-expired-mark{display:grid;width:32px;height:32px;margin:32px auto 0;place-items:center;color:hsl(var(--foreground))}.auth-expired-mark svg{width:21px;height:21px;stroke-width:1.8}.auth-expired-copy{padding:22px 32px 28px;text-align:center}.auth-expired-copy h2{margin:0;color:hsl(var(--foreground));font-size:19px;font-weight:650;letter-spacing:-.01em}.auth-expired-copy>p:last-child{margin:11px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.7}.auth-expired-copy .auth-expired-error{margin-top:10px;color:hsl(var(--destructive))}.auth-expired-actions{padding:0 16px 16px}.auth-expired-actions button{width:100%;height:38px;border:1px solid hsl(var(--foreground));border-radius:9px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.auth-expired-actions button:hover{opacity:.88}.auth-expired-actions button:active{transform:translateY(1px)}.auth-expired-actions button:focus-visible{outline:3px solid hsl(var(--ring) / .28);outline-offset:2px}.auth-expired-actions button:disabled{cursor:wait;opacity:.58}@keyframes auth-expired-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-expired-dialog{animation:none}}.issue-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:issue-feedback-fade-in .14s ease-out}.issue-feedback-dialog{width:min(480px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:issue-feedback-rise-in .18s cubic-bezier(.2,.8,.2,1)}.issue-feedback-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid hsl(var(--border))}.issue-feedback-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.issue-feedback-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.issue-feedback-close svg,.issue-feedback-success-mark svg{width:16px;height:16px}.issue-feedback-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.issue-feedback-body,.issue-feedback-success{min-height:0;overflow-y:auto;padding:20px}.issue-feedback-intro{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-privacy{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.issue-feedback-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.issue-feedback-chip{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.issue-feedback-chip:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-chip[aria-pressed=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.issue-feedback-field{display:grid;gap:8px;color:hsl(var(--foreground));font-size:13px;font-weight:550}.issue-feedback-field textarea{width:100%;min-height:112px;resize:vertical;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400;line-height:1.55}.issue-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.issue-feedback-error{margin:12px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.issue-feedback-success{min-height:220px;display:grid;grid-template-columns:36px 1fr;gap:12px;align-content:center;align-items:center;animation:issue-feedback-success-in .18s ease-out}.issue-feedback-success-mark{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#24a8541a;color:#238b49;animation:issue-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.issue-feedback-success-mark:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:12px;content:"";opacity:0;animation:issue-feedback-success-ring .44s ease-out}.issue-feedback-success-mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:issue-feedback-check-draw .28s .1s ease-out forwards}.issue-feedback-success h3{margin:0 0 4px;font-size:15px;font-weight:600}.issue-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.issue-feedback-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.issue-feedback-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.issue-feedback-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.issue-feedback-close:focus-visible,.issue-feedback-chip:focus-visible,.issue-feedback-field textarea:focus-visible,.issue-feedback-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.issue-feedback-dialog button:disabled,.issue-feedback-dialog textarea:disabled{cursor:not-allowed;opacity:.55}@keyframes issue-feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes issue-feedback-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes issue-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes issue-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes issue-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes issue-feedback-check-draw{to{stroke-dashoffset:0}}@media (max-width: 560px){.issue-feedback-backdrop{padding:16px}.issue-feedback-dialog{max-height:calc(100vh - 32px)}}@media (prefers-reduced-motion: reduce){.issue-feedback-backdrop,.issue-feedback-dialog,.issue-feedback-success,.issue-feedback-success-mark,.issue-feedback-success-mark:after,.issue-feedback-success-mark path{animation:none}.issue-feedback-success-mark path{stroke-dashoffset:0}}.share-message-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:share-message-fade-in .14s ease-out}.share-message-dialog{width:min(720px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:share-message-rise-in .18s cubic-bezier(.2,.8,.2,1)}.share-message-export{position:fixed;top:0;left:-100000px;width:816px;box-sizing:border-box;padding:24px;overflow:visible;background:hsl(var(--background));color:hsl(var(--foreground));pointer-events:none}.share-message-export>.turn{width:100%;max-width:100%;margin-right:0;margin-left:0;opacity:1!important;transform:none!important;animation:none!important}.share-message-export>.turn:not(:last-of-type){margin-bottom:24px}.share-message-export>.turn:last-of-type{margin-bottom:0}.share-message-export-note{margin:24px 0 0;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.5;text-align:center}.share-message-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 20px;border-bottom:1px solid hsl(var(--border));flex:0 0 auto}.share-message-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.share-message-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.share-message-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.share-message-close svg{width:16px;height:16px}.share-message-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.share-message-body{min-height:260px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px;background:hsl(var(--canvas))}.share-message-generating,.share-message-failure{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px}.share-message-failure p,.share-message-error{margin:0;color:hsl(var(--destructive));font-size:12.5px;line-height:1.55;text-align:center}.share-message-failure button{height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-preview{width:min(100%,816px);margin:0 auto;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.share-message-preview img{display:block;width:100%;height:auto}.share-message-error{margin-top:12px}.share-message-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border));flex:0 0 auto}.share-message-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-actions button:hover:not(:disabled),.share-message-failure button:hover{background:hsl(var(--secondary))}.share-message-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.share-message-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.share-message-actions button:disabled{cursor:not-allowed;opacity:.5}.share-message-close:focus-visible,.share-message-failure button:focus-visible,.share-message-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}@keyframes share-message-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-message-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 560px){.share-message-backdrop{padding:16px}.share-message-dialog{max-height:calc(100vh - 32px)}.share-message-head p{display:none}.share-message-actions{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.share-message-backdrop,.share-message-dialog{animation:none}}@layer components{._Popover_1wdpp_3{overflow:auto;width:var(--popover-width, auto);min-width:var(--popover-min-width, 300px);max-width:min(var(--popover-max-width, 700px),var(--radix-popover-content-available-width));max-height:var(--radix-popover-content-available-height);border-radius:var(--popover-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);-webkit-overflow-scrolling:touch;transform-origin:var(--radix-popover-content-transform-origin);will-change:transform}._Popover_1wdpp_3:focus{outline:none}._Popover_1wdpp_3[data-translucent]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(360deg,#f7f7f87f,#f7f7f8)}:where([data-theme=dark]) ._Popover_1wdpp_3[data-translucent]{background:linear-gradient(360deg,#56586940,#5658697d)}._Popover_1wdpp_3[data-animate=shake]{animation:_shake_1wdpp_1 .4s ease}._Transition_1wdpp_1[data-entering] ._Popover_1wdpp_3{opacity:0;transform:scale(.95)}._Transition_1wdpp_1[data-entering-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-entering][data-interrupted] ._Popover_1wdpp_3{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Transition_1wdpp_1[data-exiting] ._Popover_1wdpp_3{opacity:1;transform:scale(1)}._Transition_1wdpp_1[data-exiting-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-exiting][data-interrupted] ._Popover_1wdpp_3{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}@keyframes _shake_1wdpp_1{0%{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}to{transform:translate(0)}}}@layer components{._Container_13560_1{--textarea-line-height: 20px;--textarea-font-weight: var(--font-weight-normal);--textarea-color: var(--color-text);--textarea-gutter-y: calc(.5 * calc(var(--textarea-base-height) - var(--textarea-line-height)));--textarea-min-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-min-rows)) );--textarea-max-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-max-rows)) )}._Container_13560_1:where([data-size="3xs"]){--textarea-base-height: var(--control-size-3xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size="2xs"]){--textarea-base-height: var(--control-size-2xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=xs]){--textarea-base-height: var(--control-size-xs);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=sm]){--textarea-base-height: var(--control-size-sm);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-size=md]){--textarea-base-height: var(--control-size-md);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=lg]){--textarea-base-height: var(--control-size-lg);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=xl]){--textarea-base-height: var(--control-size-xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-lg);--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-size="2xl"]){--textarea-base-height: var(--control-size-2xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-size="3xl"]){--textarea-base-height: var(--control-size-3xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-gutter-size="2xs"]){--textarea-gutter-x: var(--control-gutter-2xs)}._Container_13560_1:where([data-gutter-size=xs]){--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-gutter-size=sm]){--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-gutter-size=md]){--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-gutter-size=lg]){--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-gutter-size=xl]){--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1{position:relative;overflow:hidden;display:flex;width:100%;border-radius:var(--textarea-radius);color:var(--textarea-color);cursor:text;font-size:var(--textarea-font-size);font-weight:var(--textarea-font-weight);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_13560_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_13560_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_13560_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_13560_1[data-disabled]{cursor:not-allowed;opacity:.5}._Textarea_13560_174{display:block;width:100%;max-width:100%;min-height:var(--textarea-min-height);max-height:var(--textarea-max-height);padding:var(--textarea-gutter-y) var(--textarea-gutter-x);border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;box-shadow:none;color:inherit;filter:none;font-size:inherit;font-weight:inherit;line-height:var(--textarea-line-height);resize:none}._Textarea_13560_174:focus{outline:0}._Textarea_13560_174:disabled{cursor:not-allowed}._Textarea_13560_174::-moz-placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174::placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174:-webkit-autofill{animation:_native-autofill-in_13560_1 1ms}._Textarea_13560_174:-webkit-autofill,._Textarea_13560_174:-webkit-autofill:focus,._Textarea_13560_174:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill-and-obscured,._Textarea_13560_174:-webkit-autofill-strong-password,._Textarea_13560_174:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill:first-line{font-size:16px!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Textarea_13560_174::-webkit-resizer{visibility:hidden}@keyframes _native-autofill-in_13560_1{0%{opacity:1}to{opacity:1}}}.response-annotation-anchor{position:fixed;z-index:80;width:1px;pointer-events:none}.response-annotation-popover{--response-annotation-surface: 48 100% 97%;--response-annotation-excerpt: 47 86% 93%;--response-annotation-border: 43 72% 82%;width:min(360px,calc(100vw - 24px));border:1px solid hsl(var(--response-annotation-border));border-radius:12px;background:hsl(var(--response-annotation-surface))}.response-annotation-form{display:grid;gap:12px;padding:12px}.response-annotation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.response-annotation-header h2{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600}.response-annotation-form blockquote{max-height:82px;margin:0;padding:8px 10px;overflow:auto;border-left:2px solid hsl(var(--response-annotation-border));border-radius:0 7px 7px 0;background:hsl(var(--response-annotation-excerpt));color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap}.response-annotation-field{display:grid;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.response-annotation-field textarea{min-height:78px;background:hsl(var(--background));font-family:inherit;font-size:13px;font-weight:400;line-height:1.55}.response-annotation-error{margin:-4px 0 0;font-size:11.5px;line-height:1.45}.response-annotation-error{color:hsl(var(--destructive))}.response-annotation-actions{display:flex;justify-content:flex-end;gap:8px}.response-annotation-action{font-size:12px}.response-annotation-success{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.response-annotation-success strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.response-annotation-success p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}:where([data-theme=dark]) .response-annotation-popover{--response-annotation-surface: 43 22% 14%;--response-annotation-excerpt: 43 25% 18%;--response-annotation-border: 42 32% 30%}@media (prefers-reduced-motion: reduce){.response-annotation-popover{transition:none}}.platform-feedback-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.platform-feedback-header{flex:0 0 auto}.platform-feedback-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.platform-feedback-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.platform-feedback-scroll{min-height:0;overflow-y:auto;padding:24px 0 40px}.platform-feedback-form,.platform-feedback-success{width:min(720px,100%)}.platform-feedback-form{display:grid;gap:24px}.platform-feedback-section{display:grid;gap:12px}.platform-feedback-section-heading{display:flex;align-items:center;gap:8px}.platform-feedback-section h2,.platform-feedback-field>span{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600;line-height:1.45}.platform-feedback-section-heading>span,.platform-feedback-suggestions>span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.platform-feedback-pills{display:flex;flex-wrap:wrap;gap:8px}.platform-feedback-pills button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;transition:background .14s ease,border-color .14s ease}.platform-feedback-pills button:hover:not(:disabled){background:hsl(var(--secondary))}.platform-feedback-pills button[aria-pressed=true]{border-color:hsl(var(--primary) / .42);background:hsl(var(--primary) / .08)}.platform-feedback-field{display:grid;gap:8px}.platform-feedback-field textarea{width:100%;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:1.55}.platform-feedback-field textarea{min-height:132px;resize:vertical}.platform-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.platform-feedback-suggestions{display:grid;gap:8px}.platform-feedback-privacy{margin:0;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.platform-feedback-error{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.platform-feedback-actions{display:flex;justify-content:flex-end}.platform-feedback-actions button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:1px solid hsl(var(--primary));border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.platform-feedback-actions button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.platform-feedback-success{min-height:280px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-content:center;align-items:center;animation:platform-feedback-success-in .18s ease-out}.platform-feedback-success-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#24a8541a;color:#238b49;animation:platform-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.platform-feedback-success-icon:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:13px;content:"";opacity:0;animation:platform-feedback-success-ring .44s ease-out}.platform-feedback-success-icon svg{width:16px;height:16px}.platform-feedback-success-icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:platform-feedback-check-draw .28s .1s ease-out forwards}.platform-feedback-success h2{margin:0 0 4px;font-size:15px;font-weight:600}.platform-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.platform-feedback-pills button:focus-visible,.platform-feedback-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:2px}.platform-feedback-field textarea:focus-visible{border-color:hsl(var(--ring) / .58);outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .3)}.platform-feedback-page button:disabled,.platform-feedback-page textarea:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 720px){.platform-feedback-page{padding:24px 20px 0}}@media (max-width: 560px){.platform-feedback-page{padding-inline:16px}}@keyframes platform-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes platform-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes platform-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes platform-feedback-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.platform-feedback-pills button,.platform-feedback-success,.platform-feedback-success-icon,.platform-feedback-success-icon:after,.platform-feedback-success-icon path{transition:none;animation:none}.platform-feedback-success-icon path{stroke-dashoffset:0}}.PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:#00000080;color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:#0000004d;box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0} diff --git a/veadk/webui/assets/index-DPt3La7N.css b/veadk/webui/assets/index-DPt3La7N.css deleted file mode 100644 index 6e9fdb8d..00000000 --- a/veadk/webui/assets/index-DPt3La7N.css +++ /dev/null @@ -1,14 +0,0 @@ -/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, -apple-system, system-ui, "Segoe UI", "Noto Sans", "Helvetica", "Arial", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", "Menlo", "Monaco", "Consolas", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;--spacing:.25rem;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--container-sm:24rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--breakpoint-xs:380px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-2xs:.125rem;--radius-xs:.25rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.625rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.25rem;--radius-4xl:1.5rem;--radius-full:9999px;--text-sm:var(--font-text-sm-size);--text-sm--line-height:var(--font-text-sm-line-height);--text-sm--font-weight:var(--font-text-sm-weight);--text-sm--letter-spacing:var(--font-text-sm-tracking);--tracking-wide:var(--font-tracking-wide);--tracking-normal:var(--font-tracking-normal);--tracking-tight:var(--font-tracking-tight);--shadow-hairline:var(--shadow-hairline)}:root,:where([data-theme]){--gray-500:#5d5d5d;--alpha-0:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-0:color-mix(in oklab, var(--alpha-base) 0%, transparent)}}:root,:where([data-theme]){--alpha-02:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-02:color-mix(in oklab, var(--alpha-base) 2%, transparent)}}:root,:where([data-theme]){--alpha-04:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-04:color-mix(in oklab, var(--alpha-base) 4%, transparent)}}:root,:where([data-theme]){--alpha-05:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-05:color-mix(in oklab, var(--alpha-base) 5%, transparent)}}:root,:where([data-theme]){--alpha-06:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-06:color-mix(in oklab, var(--alpha-base) 6%, transparent)}}:root,:where([data-theme]){--alpha-08:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-08:color-mix(in oklab, var(--alpha-base) 8%, transparent)}}:root,:where([data-theme]){--alpha-10:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-10:color-mix(in oklab, var(--alpha-base) 10%, transparent)}}:root,:where([data-theme]){--alpha-12:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-12:color-mix(in oklab, var(--alpha-base) 12%, transparent)}}:root,:where([data-theme]){--alpha-15:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-15:color-mix(in oklab, var(--alpha-base) 15%, transparent)}}:root,:where([data-theme]){--alpha-16:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-16:color-mix(in oklab, var(--alpha-base) 16%, transparent)}}:root,:where([data-theme]){--alpha-20:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-20:color-mix(in oklab, var(--alpha-base) 20%, transparent)}}:root,:where([data-theme]){--alpha-25:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-25:color-mix(in oklab, var(--alpha-base) 25%, transparent)}}:root,:where([data-theme]){--alpha-30:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-30:color-mix(in oklab, var(--alpha-base) 30%, transparent)}}:root,:where([data-theme]){--alpha-35:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-35:color-mix(in oklab, var(--alpha-base) 35%, transparent)}}:root,:where([data-theme]){--alpha-40:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-40:color-mix(in oklab, var(--alpha-base) 40%, transparent)}}:root,:where([data-theme]){--alpha-50:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-50:color-mix(in oklab, var(--alpha-base) 50%, transparent)}}:root,:where([data-theme]){--alpha-60:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-60:color-mix(in oklab, var(--alpha-base) 60%, transparent)}}:root,:where([data-theme]){--alpha-70:var(--alpha-base)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--alpha-70:color-mix(in oklab, var(--alpha-base) 70%, transparent)}}:root,:where([data-theme]){--white:#fff;--black:#000;--green-25:#edfaf2;--green-50:#d9f4e4;--green-75:#b8ebcc;--green-100:#8cdfad;--green-200:#66d492;--green-300:#40c977;--green-400:#04b84c;--green-500:#00a240;--green-600:#008635;--green-700:#00692a;--green-800:#004f1f;--green-900:#003716;--green-950:#011c0b;--green-1000:#001207;--green-a25:var(--green-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--green-a25:color-mix(in oklab, var(--green-400) 8%, transparent)}}:root,:where([data-theme]){--green-a50:var(--green-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--green-a50:color-mix(in oklab, var(--green-400) 15%, transparent)}}:root,:where([data-theme]){--green-a75:var(--green-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--green-a75:color-mix(in oklab, var(--green-400) 29%, transparent)}}:root,:where([data-theme]){--green-a100:var(--green-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--green-a100:color-mix(in oklab, var(--green-400) 45%, transparent)}}:root,:where([data-theme]){--green-a200:var(--green-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--green-a200:color-mix(in oklab, var(--green-400) 60%, transparent)}}:root,:where([data-theme]){--green-a300:var(--green-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--green-a300:color-mix(in oklab, var(--green-400) 75%, transparent)}}:root,:where([data-theme]){--red-25:#fff0f0;--red-50:#ffd9d9;--red-75:#ffc6c5;--red-100:#ffa4a2;--red-200:#ff8583;--red-300:#ff6764;--red-400:#fa423e;--red-500:#e02e2a;--red-600:#ba2623;--red-700:#911e1b;--red-800:#6e1615;--red-900:#4d100e;--red-950:#280b0a;--red-1000:#1f0909;--red-a25:var(--red-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--red-a25:color-mix(in oklab, var(--red-400) 8%, transparent)}}:root,:where([data-theme]){--red-a50:var(--red-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--red-a50:color-mix(in oklab, var(--red-400) 16%, transparent)}}:root,:where([data-theme]){--red-a75:var(--red-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--red-a75:color-mix(in oklab, var(--red-400) 30%, transparent)}}:root,:where([data-theme]){--red-a100:var(--red-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--red-a100:color-mix(in oklab, var(--red-400) 48%, transparent)}}:root,:where([data-theme]){--red-a200:var(--red-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--red-a200:color-mix(in oklab, var(--red-400) 64%, transparent)}}:root,:where([data-theme]){--red-a300:var(--red-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--red-a300:color-mix(in oklab, var(--red-400) 79%, transparent)}}:root,:where([data-theme]){--pink-25:#fff4f9;--pink-50:#ffe8f3;--pink-75:#ffd4e8;--pink-100:#ffbada;--pink-200:#ffa3ce;--pink-300:#ff8cc1;--pink-400:#ff66ad;--pink-500:#e04c91;--pink-600:#ba437a;--pink-700:#963c67;--pink-800:#6e2c4a;--pink-900:#4d1f34;--pink-950:#29101c;--pink-1000:#1a0a11;--pink-a25:var(--pink-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--pink-a25:color-mix(in oklab, var(--pink-400) 8%, transparent)}}:root,:where([data-theme]){--pink-a50:var(--pink-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--pink-a50:color-mix(in oklab, var(--pink-400) 16%, transparent)}}:root,:where([data-theme]){--pink-a75:var(--pink-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--pink-a75:color-mix(in oklab, var(--pink-400) 28%, transparent)}}:root,:where([data-theme]){--pink-a100:var(--pink-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--pink-a100:color-mix(in oklab, var(--pink-400) 45%, transparent)}}:root,:where([data-theme]){--pink-a200:var(--pink-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--pink-a200:color-mix(in oklab, var(--pink-400) 60%, transparent)}}:root,:where([data-theme]){--pink-a300:var(--pink-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--pink-a300:color-mix(in oklab, var(--pink-400) 76%, transparent)}}:root,:where([data-theme]){--orange-25:#fff5f0;--orange-50:#ffe7d9;--orange-75:#ffcfb4;--orange-100:#ffb790;--orange-200:#ff9e6c;--orange-300:#ff8549;--orange-400:#fb6a22;--orange-500:#e25507;--orange-600:#b9480d;--orange-700:#923b0f;--orange-800:#6d2e0f;--orange-900:#4a2206;--orange-950:#281105;--orange-1000:#211107;--orange-a25:var(--orange-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--orange-a25:color-mix(in oklab, var(--orange-400) 7%, transparent)}}:root,:where([data-theme]){--orange-a50:var(--orange-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--orange-a50:color-mix(in oklab, var(--orange-400) 16%, transparent)}}:root,:where([data-theme]){--orange-a75:var(--orange-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--orange-a75:color-mix(in oklab, var(--orange-400) 33%, transparent)}}:root,:where([data-theme]){--orange-a100:var(--orange-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--orange-a100:color-mix(in oklab, var(--orange-400) 48%, transparent)}}:root,:where([data-theme]){--orange-a200:var(--orange-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--orange-a200:color-mix(in oklab, var(--orange-400) 65%, transparent)}}:root,:where([data-theme]){--orange-a300:var(--orange-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--orange-a300:color-mix(in oklab, var(--orange-400) 81%, transparent)}}:root,:where([data-theme]){--yellow-25:#fffbed;--yellow-50:#fff6d9;--yellow-75:#ffeeb8;--yellow-100:#ffe48c;--yellow-200:#ffdb66;--yellow-300:#ffd240;--yellow-400:#ffc300;--yellow-500:#e0ac00;--yellow-600:#ba8e00;--yellow-700:#916f00;--yellow-800:#6e5400;--yellow-900:#4d3b00;--yellow-950:#261d00;--yellow-1000:#1a1400;--yellow-a25:var(--yellow-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--yellow-a25:color-mix(in oklab, var(--yellow-400) 8%, transparent)}}:root,:where([data-theme]){--yellow-a50:var(--yellow-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--yellow-a50:color-mix(in oklab, var(--yellow-400) 15%, transparent)}}:root,:where([data-theme]){--yellow-a75:var(--yellow-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--yellow-a75:color-mix(in oklab, var(--yellow-400) 27%, transparent)}}:root,:where([data-theme]){--yellow-a100:var(--yellow-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--yellow-a100:color-mix(in oklab, var(--yellow-400) 45%, transparent)}}:root,:where([data-theme]){--yellow-a200:var(--yellow-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--yellow-a200:color-mix(in oklab, var(--yellow-400) 59%, transparent)}}:root,:where([data-theme]){--yellow-a300:var(--yellow-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--yellow-a300:color-mix(in oklab, var(--yellow-400) 74%, transparent)}}:root,:where([data-theme]){--purple-25:#f9f5fe;--purple-50:#efe5fe;--purple-75:#e0cefd;--purple-100:#ceb0fb;--purple-200:#be95fa;--purple-300:#ad7bf9;--purple-400:#924ff7;--purple-500:#8046d9;--purple-600:#6b3ab4;--purple-700:#532d8d;--purple-800:#3f226a;--purple-900:#2c184a;--purple-950:#160c25;--purple-1000:#100a19;--purple-a25:var(--purple-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--purple-a25:color-mix(in oklab, var(--purple-400) 6%, transparent)}}:root,:where([data-theme]){--purple-a50:var(--purple-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--purple-a50:color-mix(in oklab, var(--purple-400) 15%, transparent)}}:root,:where([data-theme]){--purple-a75:var(--purple-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--purple-a75:color-mix(in oklab, var(--purple-400) 28%, transparent)}}:root,:where([data-theme]){--purple-a100:var(--purple-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--purple-a100:color-mix(in oklab, var(--purple-400) 45%, transparent)}}:root,:where([data-theme]){--purple-a200:var(--purple-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--purple-a200:color-mix(in oklab, var(--purple-400) 60%, transparent)}}:root,:where([data-theme]){--purple-a300:var(--purple-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--purple-a300:color-mix(in oklab, var(--purple-400) 75%, transparent)}}:root,:where([data-theme]){--blue-25:#f5faff;--blue-50:#e5f3ff;--blue-75:#cce6ff;--blue-100:#99ceff;--blue-200:#66b5ff;--blue-300:#339cff;--blue-400:#0285ff;--blue-500:#0169cc;--blue-600:#004f99;--blue-700:#003f7a;--blue-800:#013566;--blue-900:#00284d;--blue-950:#000e1a;--blue-1000:#000d19;--blue-a25:var(--blue-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--blue-a25:color-mix(in oklab, var(--blue-400) 4%, transparent)}}:root,:where([data-theme]){--blue-a50:var(--blue-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--blue-a50:color-mix(in oklab, var(--blue-400) 13%, transparent)}}:root,:where([data-theme]){--blue-a75:var(--blue-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--blue-a75:color-mix(in oklab, var(--blue-400) 25%, transparent)}}:root,:where([data-theme]){--blue-a100:var(--blue-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--blue-a100:color-mix(in oklab, var(--blue-400) 40%, transparent)}}:root,:where([data-theme]){--blue-a200:var(--blue-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--blue-a200:color-mix(in oklab, var(--blue-400) 60%, transparent)}}:root,:where([data-theme]){--blue-a300:var(--blue-400)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--blue-a300:color-mix(in oklab, var(--blue-400) 80%, transparent)}}:root,:where([data-theme]){--hairline:1px}:where(:root),:where([data-theme=light]){--gray-0:#fff;--gray-25:#fcfcfc;--gray-50:#f9f9f9;--gray-75:#f3f3f3;--gray-100:#ededed;--gray-150:#dfdfdf;--gray-200:#cdcdcd;--gray-250:#b9b9b9;--gray-300:#afafaf;--gray-350:#9f9f9f;--gray-400:#8f8f8f;--gray-450:#767676;--gray-550:#4f4f4f;--gray-600:#414141;--gray-650:#393939;--gray-700:#303030;--gray-750:#282828;--gray-800:#212121;--gray-850:#1c1c1c;--gray-900:#181818;--gray-925:#161616;--gray-950:#131313;--gray-975:#101010;--gray-1000:#0d0d0d;--alpha-base:#0d0d0d}:where([data-theme=dark]){--gray-0:#0d0d0d;--gray-25:#101010;--gray-50:#131313;--gray-75:#161616;--gray-100:#181818;--gray-150:#1c1c1c;--gray-200:#212121;--gray-250:#282828;--gray-300:#303030;--gray-350:#393939;--gray-400:#414141;--gray-450:#4f4f4f;--gray-550:#767676;--gray-600:#8f8f8f;--gray-650:#9f9f9f;--gray-700:#afafaf;--gray-750:#b9b9b9;--gray-800:#cdcdcd;--gray-850:#dcdcdc;--gray-900:#ededed;--gray-925:#f3f3f3;--gray-950:#f3f3f3;--gray-975:#f9f9f9;--gray-1000:#fff;--alpha-base:#fff}@media (min-resolution:150dpi),(min-resolution:1.5x){:root,:where([data-theme]){--hairline:.5px}}:root,:where([data-theme]){--shadow-color:0 0 0;--elevation-100-geo:0 1px 2px -1px;--elevation-200-geo:0 2px 4px -1px;--elevation-300-geo:0 4px 8px -2px;--elevation-400-geo:0 8px 16px -4px}:where(:root),:where([data-theme=light]){--shadow-alpha-100:.08;--shadow-alpha-200:.08;--shadow-alpha-300:.1;--shadow-alpha-400:.12;--shadow-hairline-width:1px;--shadow-hairline-color:#00000014}@media (min-resolution:150dpi),(min-resolution:1.5x){:where(:root),:where([data-theme=light]){--shadow-hairline-width:.5px;--shadow-hairline-color:#0000001a}}:where([data-theme=dark]){--shadow-alpha-100:.2;--shadow-alpha-200:.2;--shadow-alpha-300:.36;--shadow-alpha-400:.3;--shadow-hairline-width:1px;--shadow-hairline-color:#ffffff1a}@media (min-resolution:150dpi),(min-resolution:1.5x){:where([data-theme=dark]){--shadow-hairline-width:.5px;--shadow-hairline-color:#ffffff1f}}:where([data-theme=dark]) [data-surface=elevated]{--shadow-hairline:0 0 #0000}:root,:where([data-theme]){--color-text:var(--gray-1000);--color-text-inverse:var(--gray-0);--color-text-primary:var(--color-text);--color-text-primary-soft:var(--color-text);--color-background-primary-soft-alt:var(--alpha-02);--color-border-primary-soft-alt:var(--alpha-06);--color-text-primary-soft-alt:var(--color-text);--color-text-primary-surface:var(--color-text);--color-text-primary-solid:var(--color-text-inverse);--color-text-primary-outline:var(--color-text);--color-text-primary-outline-hover:var(--color-text);--color-text-primary-ghost:var(--color-text);--color-text-primary-ghost-hover:var(--color-text);--color-ring-primary:var(--color-ring);--color-ring-primary-soft:var(--color-ring-primary);--color-ring-primary-solid:var(--color-ring-primary);--color-ring-primary-outline:var(--color-ring-primary);--color-ring-primary-ghost:var(--color-ring-primary);--color-text-secondary-soft:var(--color-text);--color-background-secondary-soft-alt:var(--alpha-02);--color-border-secondary-soft-alt:var(--alpha-06);--color-text-secondary-soft-alt:var(--color-text);--color-text-secondary-solid:var(--white);--color-text-secondary-outline:var(--color-text-secondary);--color-text-secondary-outline-hover:var(--color-text);--color-text-secondary-ghost:var(--color-text-secondary);--color-text-secondary-ghost-hover:var(--color-text);--color-ring-secondary:var(--color-ring);--color-ring-secondary-soft:var(--color-ring-secondary);--color-ring-secondary-solid:var(--color-ring-secondary);--color-ring-secondary-outline:var(--color-ring-secondary);--color-ring-secondary-ghost:var(--color-ring-secondary);--color-background-info-soft:var(--blue-50);--color-background-info-soft-hover:var(--blue-75);--color-background-info-soft-active:var(--blue-75);--color-background-info-soft-alpha:var(--blue-a50);--color-background-info-soft-alpha-hover:var(--blue-a75);--color-background-info-soft-alpha-active:var(--blue-a75);--color-background-info-solid:var(--blue-400);--color-background-info-solid-hover:var(--blue-500);--color-background-info-solid-active:var(--blue-500);--color-text-info-solid:var(--white);--color-background-info-outline-hover:var(--blue-a25);--color-background-info-outline-active:var(--blue-a25);--color-border-info-outline:var(--blue-500);--color-border-info-outline-hover:var(--blue-500);--color-text-info-outline:var(--blue-500);--color-text-info-outline-hover:var(--blue-500);--color-background-info-ghost-hover:var(--blue-a50);--color-background-info-ghost-active:var(--blue-a50);--color-ring-info:var(--color-ring);--color-ring-info-soft:var(--color-ring-info);--color-ring-info-solid:var(--color-ring-info);--color-ring-info-outline:var(--color-ring-info);--color-ring-info-ghost:var(--color-ring-info);--color-background-warning-soft:var(--orange-50);--color-background-warning-soft-hover:var(--orange-75);--color-background-warning-soft-active:var(--orange-75);--color-background-warning-soft-alpha:var(--orange-a50);--color-background-warning-soft-alpha-hover:var(--orange-a75);--color-background-warning-soft-alpha-active:var(--orange-a75);--color-background-warning-solid:var(--orange-500);--color-background-warning-solid-hover:var(--orange-600);--color-background-warning-solid-active:var(--orange-600);--color-text-warning-solid:var(--white);--color-background-warning-outline-hover:var(--orange-a25);--color-background-warning-outline-active:var(--orange-a25);--color-border-warning-outline:var(--orange-500);--color-border-warning-outline-hover:var(--orange-500);--color-text-warning-outline:var(--orange-500);--color-text-warning-outline-hover:var(--orange-500);--color-background-warning-ghost-hover:var(--orange-a50);--color-background-warning-ghost-active:var(--orange-a50);--color-text-warning-ghost:var(--orange-500);--color-text-warning-ghost-hover:var(--orange-500);--color-ring-warning:var(--color-ring);--color-ring-warning-soft:var(--color-ring-warning);--color-ring-warning-solid:var(--color-ring-warning);--color-ring-warning-outline:var(--color-ring-warning);--color-ring-warning-ghost:var(--color-ring-warning);--color-text-caution-hover:var(--yellow-800);--color-background-caution-soft:var(--yellow-50);--color-background-caution-soft-hover:var(--yellow-75);--color-background-caution-soft-active:var(--yellow-75);--color-background-caution-soft-alpha:var(--yellow-a50);--color-background-caution-soft-alpha-hover:var(--yellow-a75);--color-background-caution-soft-alpha-active:var(--yellow-a75);--color-background-caution-solid:var(--yellow-600);--color-background-caution-solid-hover:var(--yellow-700);--color-background-caution-solid-active:var(--yellow-700);--color-text-caution-solid:var(--white);--color-background-caution-outline-hover:var(--yellow-a25);--color-background-caution-outline-active:var(--yellow-a25);--color-border-caution-outline:var(--yellow-700);--color-border-caution-outline-hover:var(--yellow-700);--color-text-caution-outline:var(--yellow-700);--color-text-caution-outline-hover:var(--yellow-700);--color-background-caution-ghost-hover:var(--yellow-a50);--color-background-caution-ghost-active:var(--yellow-a50);--color-text-caution-ghost:var(--yellow-700);--color-text-caution-ghost-hover:var(--yellow-700);--color-ring-caution:var(--color-ring);--color-ring-caution-soft:var(--color-ring-caution);--color-ring-caution-solid:var(--color-ring-caution);--color-ring-caution-outline:var(--color-ring-caution);--color-ring-caution-ghost:var(--color-ring-caution);--color-background-danger-soft:var(--red-50);--color-background-danger-soft-hover:var(--red-75);--color-background-danger-soft-active:var(--red-75);--color-background-danger-soft-alpha:var(--red-a50);--color-background-danger-soft-alpha-hover:var(--red-a75);--color-background-danger-soft-alpha-active:var(--red-a75);--color-background-danger-solid:var(--red-500);--color-background-danger-solid-hover:var(--red-600);--color-background-danger-solid-active:var(--red-600);--color-text-danger-solid:var(--white);--color-background-danger-outline-hover:var(--red-a25);--color-background-danger-outline-active:var(--red-a25);--color-border-danger-outline:var(--red-500);--color-border-danger-outline-hover:var(--red-500);--color-text-danger-outline:var(--red-500);--color-text-danger-outline-hover:var(--red-500);--color-background-danger-ghost-hover:var(--red-a50);--color-background-danger-ghost-active:var(--red-a50);--color-text-danger-ghost:var(--red-500);--color-text-danger-ghost-hover:var(--red-500);--color-ring-danger:var(--red-200);--color-ring-danger-soft:var(--color-ring-danger);--color-ring-danger-solid:var(--color-ring-danger);--color-ring-danger-outline:var(--color-ring-danger);--color-ring-danger-ghost:var(--color-ring-danger);--color-background-success-soft:var(--green-50);--color-background-success-soft-hover:var(--green-75);--color-background-success-soft-active:var(--green-75);--color-background-success-soft-alpha:var(--green-a50);--color-background-success-soft-alpha-hover:var(--green-a75);--color-background-success-soft-alpha-active:var(--green-a75);--color-text-success-solid:var(--white);--color-background-success-outline-hover:var(--green-a25);--color-background-success-outline-active:var(--green-a25);--color-text-success-outline:var(--green-500);--color-text-success-outline-hover:var(--green-500);--color-background-success-ghost-hover:var(--green-a50);--color-background-success-ghost-active:var(--green-a50);--color-text-success-ghost:var(--green-500);--color-text-success-ghost-hover:var(--green-500);--color-ring-success:var(--color-ring);--color-ring-success-soft:var(--color-ring-info);--color-ring-success-solid:var(--color-ring-info);--color-ring-success-outline:var(--color-ring-info);--color-ring-success-ghost:var(--color-ring-info);--color-background-discovery-soft:var(--purple-50);--color-background-discovery-soft-hover:var(--purple-75);--color-background-discovery-soft-active:var(--purple-75);--color-background-discovery-soft-alpha:var(--purple-a50);--color-background-discovery-soft-alpha-hover:var(--purple-a75);--color-background-discovery-soft-alpha-active:var(--purple-a75);--color-background-discovery-solid:var(--purple-400);--color-background-discovery-solid-hover:var(--purple-500);--color-background-discovery-solid-active:var(--purple-500);--color-text-discovery-solid:var(--white);--color-background-discovery-outline-hover:var(--purple-a25);--color-background-discovery-outline-active:var(--purple-a25);--color-border-discovery-outline:var(--purple-500);--color-border-discovery-outline-hover:var(--purple-500);--color-background-discovery-ghost-hover:var(--purple-a50);--color-background-discovery-ghost-active:var(--purple-a50);--color-text-discovery-ghost:var(--purple-500);--color-text-discovery-ghost-hover:var(--purple-500);--color-ring-discovery:var(--color-ring);--color-ring-discovery-soft:var(--color-ring);--color-ring-discovery-solid:var(--color-ring);--color-ring-discovery-outline:var(--color-ring);--color-ring-discovery-ghost:var(--color-ring);--color-background-disabled:var(--alpha-05);--color-border-disabled:var(--alpha-06);--font-tracking-wide:0em;--font-tracking-normal:0em;--font-tracking-tight:0em;--font-heading-5xl-size:4.5rem;--font-heading-5xl-line-height:4.5rem;--font-heading-5xl-weight:var(--font-weight-semibold);--font-heading-5xl-tracking:var(--tracking-tight);--font-heading-4xl-size:3.75rem;--font-heading-4xl-line-height:3.75rem;--font-heading-4xl-weight:var(--font-weight-semibold);--font-heading-4xl-tracking:var(--tracking-tight);--font-heading-3xl-size:3rem;--font-heading-3xl-line-height:3rem;--font-heading-3xl-weight:var(--font-weight-semibold);--font-heading-3xl-tracking:var(--tracking-tight);--font-heading-2xl-size:2.25rem;--font-heading-2xl-line-height:2.625rem;--font-heading-2xl-weight:var(--font-weight-semibold);--font-heading-2xl-tracking:var(--tracking-tight);--font-heading-xl-size:2rem;--font-heading-xl-line-height:2.375rem;--font-heading-xl-weight:var(--font-weight-semibold);--font-heading-xl-tracking:var(--tracking-tight);--font-heading-lg-size:1.5rem;--font-heading-lg-line-height:1.75rem;--font-heading-lg-weight:var(--font-weight-semibold);--font-heading-lg-tracking:var(--tracking-normal);--font-heading-md-size:1.25rem;--font-heading-md-line-height:1.625rem;--font-heading-md-weight:var(--font-weight-semibold);--font-heading-md-tracking:var(--tracking-normal);--font-heading-sm-size:1.125rem;--font-heading-sm-line-height:1.625rem;--font-heading-sm-weight:var(--font-weight-semibold);--font-heading-sm-tracking:var(--tracking-normal);--font-heading-xs-size:1rem;--font-heading-xs-line-height:1.5rem;--font-heading-xs-weight:var(--font-weight-semibold);--font-heading-xs-tracking:var(--tracking-normal);--font-text-lg-size:1.125rem;--font-text-lg-line-height:1.8125rem;--font-text-lg-weight:var(--font-weight-normal);--font-text-lg-tracking:var(--tracking-normal);--font-text-md-size:1rem;--font-text-md-line-height:1.5rem;--font-text-md-weight:var(--font-weight-normal);--font-text-md-tracking:var(--tracking-normal);--font-text-sm-size:.875rem;--font-text-sm-line-height:1.25rem;--font-text-sm-weight:var(--font-weight-normal);--font-text-sm-tracking:var(--tracking-normal);--font-text-xs-size:.75rem;--font-text-xs-line-height:1.125rem;--font-text-xs-weight:var(--font-weight-normal);--font-text-xs-tracking:var(--tracking-wide);--font-text-2xs-size:.625rem;--font-text-2xs-line-height:.875rem;--font-text-2xs-weight:var(--font-weight-normal);--font-text-2xs-tracking:var(--tracking-wide);--font-text-3xs-size:.5rem;--font-text-3xs-line-height:.75rem;--font-text-3xs-weight:var(--font-weight-normal);--font-text-3xs-tracking:var(--tracking-wide);--control-size-3xs:1.375rem;--control-size-2xs:1.5rem;--control-size-xs:1.625rem;--control-size-sm:1.75rem;--control-size-md:2rem;--control-size-lg:2.25rem;--control-size-xl:2.5rem;--control-size-2xl:2.75rem;--control-size-3xl:3rem;--control-gutter-2xs:.375rem;--control-gutter-xs:.5rem;--control-gutter-sm:.625rem;--control-gutter-md:.75rem;--control-gutter-lg:.875rem;--control-gutter-xl:1rem;--control-gutter-pill-scaling:1.33;--control-radius-sm:var(--radius-sm);--control-radius-md:var(--radius-md);--control-radius-lg:var(--radius-lg);--control-radius-xl:var(--radius-xl);--control-font-size-sm:var(--font-text-xs-size);--control-font-size-md:var(--font-text-sm-size);--control-font-size-lg:var(--font-text-md-size);--control-icon-size-xs:.875rem;--control-icon-size-sm:1rem;--control-icon-size-md:1.125rem;--control-icon-size-lg:1.25rem;--control-icon-size-xl:1.375rem;--control-icon-size-2xl:1.5rem;--cubic-enter:cubic-bezier(.19, 1, .22, 1);--cubic-exit:cubic-bezier(.8, 0, .4, 1);--cubic-exit-snappy:cubic-bezier(.65, 0, .4, 1);--cubic-move:cubic-bezier(.65, 0, .35, 1);--transition-duration-basic:.15s;--transition-ease-basic:ease;--scrollbar-color:var(--alpha-30);--shadow-hairline:0 0 0 var(--shadow-hairline-width) var(--shadow-hairline-color);--shadow-100:var(--elevation-100-geo) rgb(var(--shadow-color) / var(--shadow-alpha-100));--shadow-100-strong:var(--elevation-100-geo) rgb(var(--shadow-color) / calc(var(--shadow-alpha-100) * 1.25));--shadow-100-stronger:var(--elevation-100-geo) rgb(var(--shadow-color) / calc(var(--shadow-alpha-100) * 1.6));--shadow-200:var(--elevation-200-geo) rgb(var(--shadow-color) / var(--shadow-alpha-200));--shadow-200-strong:var(--elevation-200-geo) rgb(var(--shadow-color) / calc(var(--shadow-alpha-200) * 1.25));--shadow-200-stronger:var(--elevation-200-geo) rgb(var(--shadow-color) / calc(var(--shadow-alpha-200) * 1.6));--shadow-300:var(--elevation-300-geo) rgb(var(--shadow-color) / var(--shadow-alpha-300));--shadow-300-strong:var(--elevation-300-geo) rgb(var(--shadow-color) / calc(var(--shadow-alpha-300) * 1.25));--shadow-300-stronger:var(--elevation-300-geo) rgb(var(--shadow-color) / calc(var(--shadow-alpha-300) * 1.6));--shadow-400:var(--elevation-400-geo) rgb(var(--shadow-color) / var(--shadow-alpha-400));--shadow-400-strong:var(--elevation-400-geo) rgb(var(--shadow-color) / calc(var(--shadow-alpha-400) * 1.25));--shadow-400-stronger:var(--elevation-400-geo) rgb(var(--shadow-color) / calc(var(--shadow-alpha-400) * 1.6))}:where(:root),:where([data-theme=light]){--color-text-secondary:var(--gray-500);--color-text-tertiary:var(--gray-400);--color-ring:var(--blue-500);--color-background-primary-soft:var(--gray-100);--color-background-primary-soft-hover:var(--gray-150);--color-background-primary-soft-active:var(--gray-200);--color-background-primary-soft-alpha:var(--alpha-08);--color-background-primary-soft-alpha-hover:var(--alpha-12);--color-background-primary-soft-alpha-active:var(--alpha-16);--color-background-primary-surface:var(--alpha-05);--color-border-primary-surface:var(--alpha-05);--color-background-primary-solid:var(--gray-900);--color-background-primary-solid-hover:var(--gray-700);--color-background-primary-solid-active:var(--gray-600);--color-background-primary-outline-hover:var(--alpha-02);--color-background-primary-outline-active:var(--alpha-04);--color-border-primary-outline:var(--alpha-16);--color-border-primary-outline-hover:var(--alpha-20);--color-background-primary-ghost-hover:var(--alpha-08);--color-background-primary-ghost-active:var(--alpha-12);--color-background-secondary-soft:var(--gray-100);--color-background-secondary-soft-hover:var(--gray-150);--color-background-secondary-soft-active:var(--gray-200);--color-background-secondary-soft-alpha:var(--alpha-08);--color-background-secondary-soft-alpha-hover:var(--alpha-12);--color-background-secondary-soft-alpha-active:var(--alpha-16);--color-background-secondary-solid:var(--gray-500);--color-background-secondary-solid-hover:var(--gray-600);--color-background-secondary-solid-active:var(--gray-700);--color-background-secondary-outline-hover:var(--alpha-02);--color-background-secondary-outline-active:var(--alpha-04);--color-border-secondary-outline:var(--alpha-16);--color-border-secondary-outline-hover:var(--alpha-20);--color-background-secondary-ghost-hover:var(--alpha-08);--color-background-secondary-ghost-active:var(--alpha-12);--color-text-info:var(--blue-500);--color-text-info-soft:var(--blue-600);--color-background-info-surface:var(--blue-a25);--color-border-info-surface:var(--blue-a25);--color-text-info-surface:var(--blue-600);--color-text-info-ghost:var(--blue-500);--color-text-info-ghost-hover:var(--blue-500);--color-text-warning:var(--orange-700);--color-text-warning-soft:var(--orange-700);--color-background-warning-surface:var(--orange-a25);--color-border-warning-surface:var(--orange-a25);--color-text-warning-surface:var(--orange-700);--color-text-caution:var(--yellow-700);--color-text-caution-soft:var(--yellow-800);--color-background-caution-surface:var(--yellow-a25);--color-border-caution-surface:var(--yellow-a25);--color-text-caution-surface:var(--yellow-800);--color-text-danger:var(--red-700);--color-text-danger-soft:var(--red-600);--color-background-danger-surface:var(--red-a25);--color-border-danger-surface:var(--red-a25);--color-text-danger-surface:var(--red-600);--color-text-success:var(--green-700);--color-text-success-soft:var(--green-600);--color-background-success-surface:var(--green-a25);--color-border-success-surface:var(--green-a25);--color-text-success-surface:var(--green-600);--color-background-success-solid:var(--green-500);--color-background-success-solid-hover:var(--green-500);--color-background-success-solid-active:var(--green-500);--color-border-success-outline:var(--green-500);--color-border-success-outline-hover:var(--green-500);--color-text-discovery:var(--purple-700);--color-text-discovery-soft:var(--purple-600);--color-background-discovery-surface:var(--purple-a25);--color-border-discovery-surface:var(--purple-a25);--color-text-discovery-surface:var(--purple-600);--color-text-discovery-outline:var(--purple-500);--color-text-discovery-outline-hover:var(--purple-500);--color-text-disabled:var(--gray-400);--color-border-subtle:var(--alpha-05);--color-border:var(--alpha-10);--color-border-strong:var(--alpha-15);--shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--color-surface:var(--gray-0);--color-surface-secondary:var(--gray-50);--color-surface-tertiary:var(--gray-75);--color-surface-elevated:var(--gray-0);--color-surface-elevated-secondary:var(--gray-50)}:where([data-theme=dark]){--color-text-secondary:var(--gray-700);--color-text-tertiary:var(--gray-600);--color-ring:var(--blue-400);--color-background-primary-soft:var(--gray-300);--color-background-primary-soft-hover:var(--gray-350);--color-background-primary-soft-active:var(--gray-400);--color-background-primary-soft-alpha:var(--alpha-12);--color-background-primary-soft-alpha-hover:var(--alpha-16);--color-background-primary-soft-alpha-active:var(--alpha-20);--color-background-primary-surface:var(--alpha-08);--color-border-primary-surface:var(--alpha-08);--color-background-primary-solid:var(--gray-950);--color-background-primary-solid-hover:var(--gray-900);--color-background-primary-solid-active:var(--gray-850);--color-background-primary-outline-hover:var(--alpha-04);--color-background-primary-outline-active:var(--alpha-06);--color-border-primary-outline:var(--alpha-25);--color-border-primary-outline-hover:var(--alpha-30);--color-background-primary-ghost-hover:var(--alpha-12);--color-background-primary-ghost-active:var(--alpha-16);--color-background-secondary-soft:var(--gray-300);--color-background-secondary-soft-hover:var(--gray-350);--color-background-secondary-soft-active:var(--gray-400);--color-background-secondary-soft-alpha:var(--alpha-12);--color-background-secondary-soft-alpha-hover:var(--alpha-16);--color-background-secondary-soft-alpha-active:var(--alpha-20);--color-background-secondary-solid:var(--gray-400);--color-background-secondary-solid-hover:var(--gray-450);--color-background-secondary-solid-active:var(--gray-500);--color-background-secondary-outline-hover:var(--alpha-04);--color-background-secondary-outline-active:var(--alpha-06);--color-border-secondary-outline:var(--alpha-25);--color-border-secondary-outline-hover:var(--alpha-30);--color-background-secondary-ghost-hover:var(--alpha-12);--color-background-secondary-ghost-active:var(--alpha-16);--color-text-info:var(--blue-200);--color-text-info-soft:var(--blue-300);--color-background-info-surface:var(--blue-a50);--color-border-info-surface:var(--blue-a50);--color-text-info-surface:var(--blue-300);--color-text-info-ghost:var(--blue-200);--color-text-info-ghost-hover:var(--blue-200);--color-text-warning:var(--orange-500);--color-text-warning-soft:var(--orange-400);--color-background-warning-surface:var(--orange-a50);--color-border-warning-surface:var(--orange-a50);--color-text-warning-surface:var(--orange-400);--color-text-caution:var(--yellow-500);--color-text-caution-soft:var(--yellow-400);--color-background-caution-surface:var(--yellow-a50);--color-border-caution-surface:var(--yellow-a50);--color-text-caution-surface:var(--yellow-400);--color-text-danger:var(--red-500);--color-text-danger-soft:var(--red-400);--color-background-danger-surface:var(--red-a50);--color-border-danger-surface:var(--red-a50);--color-text-danger-surface:var(--red-400);--color-text-success:var(--green-400);--color-text-success-soft:var(--green-400);--color-background-success-surface:var(--green-a50);--color-border-success-surface:var(--green-a50);--color-text-success-surface:var(--green-400);--color-background-success-solid:var(--green-600);--color-background-success-solid-hover:var(--green-600);--color-background-success-solid-active:var(--green-600);--color-border-success-outline:var(--green-600);--color-border-success-outline-hover:var(--green-600);--color-text-discovery:var(--purple-500);--color-text-discovery-soft:var(--purple-200);--color-background-discovery-surface:var(--purple-a50);--color-border-discovery-surface:var(--purple-a50);--color-text-discovery-surface:var(--purple-200);--color-text-discovery-outline:var(--purple-400);--color-text-discovery-outline-hover:var(--purple-400);--color-text-disabled:var(--gray-500);--color-border-subtle:var(--alpha-06);--color-border:var(--alpha-12);--color-border-strong:var(--alpha-20);--shadow:0 10px 15px -3px #0003, 0 4px 6px -4px #0003;--color-surface:var(--gray-200);--color-surface-secondary:var(--gray-100);--color-surface-tertiary:var(--gray-50);--color-surface-elevated:var(--gray-300);--color-surface-elevated-secondary:var(--gray-400)}:root,:where([data-theme]){--alert-border-radius:var(--radius-xl);--alert-gap:calc(var(--spacing) * 3);--alert-gutter:calc(var(--spacing) * 4);--alert-font-size:var(--font-text-sm-size);--alert-line-height:var(--font-text-sm-line-height);--alert-title-font-weight:var(--font-weight-semibold);--avatar-radius:var(--radius-full);--avatar-size:28px;--avatar-font-size-scaling:.5;--avatar-overflow-font-size-scaling-one:.45;--avatar-overflow-font-size-scaling-two:.37;--avatar-overflow-font-size-scaling-three:.3;--avatar-group-cutout-width:3px;--avatar-group-cutout-color:var(--color-surface);--avatar-group-spacing:-8px;--badge-gutter-sm:calc(var(--control-gutter-2xs) - 1px);--badge-gutter-md:var(--control-gutter-2xs);--badge-gutter-lg:var(--control-gutter-xs);--badge-size-sm:calc(var(--control-size-3xs) - 2px);--badge-size-md:var(--control-size-3xs);--badge-size-lg:var(--control-size-2xs);--badge-radius-sm:var(--radius-xs);--badge-radius-md:var(--radius-xs);--badge-radius-lg:var(--radius-sm);--badge-font-size-sm:var(--font-text-xs-size);--badge-font-size-md:var(--font-text-sm-size);--badge-font-size-lg:var(--font-text-sm-size);--badge-tracking-sm:var(--tracking-wide);--badge-tracking-md:var(--tracking-normal);--badge-tracking-lg:var(--tracking-normal);--badge-font-weight-sm:var(--font-weight-semibold);--badge-font-weight-md:var(--font-weight-semibold);--badge-font-weight-lg:var(--font-weight-semibold);--badge-icon-font-size-sm:var(--font-text-xs-size);--badge-icon-font-size-md:var(--font-text-md-size);--badge-icon-font-size-lg:var(--font-text-md-size);--badge-indicator-size-sm:var(--font-text-xs-size);--badge-indicator-size-md:var(--font-text-xs-size);--badge-indicator-size-lg:var(--font-text-sm-size);--button-gap-sm:3px;--button-gap-md:4px;--button-gap-lg:6px;--button-font-weight:var(--font-weight-medium);--input-gap-xs:4px;--input-gap-sm:6px;--input-gap-md:8px;--input-gap-lg:10px;--input-text-color:var(--color-text);--input-placeholder-text-color:var(--color-text-tertiary);--input-outline-border-color:var(--color-border-primary-outline);--input-outline-border-color-focus:var(--alpha-50);--input-soft-background-color:var(--color-background-primary-soft-alpha);--input-soft-border-color-focus:var(--alpha-20);--link-font-weight:inherit;--link-gap:calc(var(--spacing) * .5);--link-radius:var(--radius-sm);--link-underline-decoration-offset:.1em;--chat-max-width:800px;--chat-gutter:calc(var(--spacing) * 5);--chat-background-color:var(--color-surface);--thread-gutter:calc(var(--spacing) * 4);--composer-gutter:calc(var(--spacing) * 3);--composer-compact-gutter:calc(var(--spacing) * 2);--composer-radius:var(--radius-4xl);--composer-background-color:var(--color-surface-elevated);--smoothing-background-color:var(--color-surface);--user-message-text-color:var(--color-text);--source-list-gutter:var(--thread-gutter);--codeblock-background-color:var(--gray-25);--codeblock-syntax-4:var(--pink-500);--dialog-min-width:250px;--dialog-max-width:450px;--dialog-container-inner-padding:calc(var(--spacing) * 5);--dialog-backdrop-fade-background:var(--color-surface-elevated)}@supports (color:color-mix(in lab,red,red)){:root,:where([data-theme]){--dialog-backdrop-fade-background:color-mix(in oklab, var(--color-surface-elevated) 60%, transparent)}}:root,:where([data-theme]){--menu-gutter:calc(var(--spacing) * 1.5);--menu-radius:var(--radius-xl);--menu-font-size:var(--font-text-sm-size);--menu-line-height:var(--font-text-sm-line-height);--menu-item-padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2);--menu-item-gap:calc(var(--spacing) * 1.5);--menu-separator-gutter:var(--menu-gutter) calc(-1 * var(--menu-gutter));--menu-separator-background-color:var(--color-border);--menu-radio-indicator-size:var(--font-text-lg-size);--menu-radio-indicator-hole-size:var(--font-text-3xs-size);--menu-checkbox-indicator-size:var(--font-text-lg-size);--modal-container-inner-padding:calc(var(--spacing) * 5);--popover-radius:var(--radius-xl);--radio-group-col-gap:calc(var(--spacing) * 2.5);--radio-group-row-gap:calc(var(--spacing) * 5);--radio-group-item-gap:calc(var(--spacing) * 1.5);--radio-group-item-font-size:var(--font-text-sm-size);--radio-group-item-line-height:var(--font-text-sm-line-height);--radio-group-indicator-size:var(--font-text-md-size);--radio-group-indicator-border-color:var(--color-border-primary-outline);--radio-group-indicator-border-color-hover:var(--alpha-25);--radio-group-indicator-background-color:var(--color-background-primary-solid);--radio-group-indicator-hole-size:.375rem;--radio-group-indicator-hole-background-color:var(--color-text-primary-solid);--segmented-control-gap:2px;--segmented-control-gutter:2px;--segmented-control-font-weight:var(--font-weight-semibold);--segmented-control-thumb-shadow:0 1px 4px -1px #0003;--segmented-control-option-highlight-gutter:1px;--select-control-font-weight:var(--font-weight-medium);--switch-track-width:32px;--switch-track-height:19px;--switch-thumb-offset:3px;--switch-thumb-size:calc(var(--switch-track-height) - 2 * var(--switch-thumb-offset));--switch-thumb-shadow:0 1px 2px #0003;--switch-label-gap:calc(var(--spacing) * 2)}:where(:root),:where([data-theme=light]){--avatar-image-border-color:var(--alpha-04);--input-outline-border-color-hover:var(--alpha-25);--input-border-color-invalid:var(--red-500);--link-primary-text-color:var(--blue-500);--link-primary-text-color-hover:var(--blue-800);--user-message-background-color:var(--alpha-05);--codeblock-syntax-1:#c0660d;--codeblock-syntax-2:var(--blue-500);--codeblock-syntax-3:var(--green-600);--codeblock-syntax-5:var(--purple-500);--dialog-backdrop-dim-background:#0000004d;--menu-item-background-color:var(--alpha-08);--modal-backdrop-background:#0000004d;--segmented-control-background:var(--gray-100);--segmented-control-thumb-background:var(--gray-0);--segmented-control-option-highlight-background-color:var(--gray-200);--slider-track-color:var(--gray-150);--slider-range-color:var(--gray-450);--switch-track-color:var(--gray-150);--switch-track-color-hover:var(--gray-200);--switch-track-color-checked:var(--gray-900);--switch-track-color-checked-disabled:var(--gray-300);--switch-track-color-disabled:var(--gray-100);--switch-thumb-color:var(--gray-0);--switch-thumb-color-disabled:var(--gray-0)}:where([data-theme=dark]){--avatar-image-border-color:var(--alpha-15);--input-outline-border-color-hover:var(--alpha-30);--input-border-color-invalid:var(--red-600);--link-primary-text-color:var(--blue-300);--link-primary-text-color-hover:var(--blue-400);--user-message-background-color:var(--alpha-08);--codeblock-syntax-1:var(--yellow-100);--codeblock-syntax-2:var(--blue-200);--codeblock-syntax-3:var(--green-300);--codeblock-syntax-5:var(--purple-300);--dialog-backdrop-dim-background:#00000080;--menu-item-background-color:var(--alpha-10);--modal-backdrop-background:#00000080;--segmented-control-background:var(--gray-0);--segmented-control-thumb-background:var(--gray-300);--segmented-control-option-highlight-background-color:var(--gray-300);--slider-track-color:var(--gray-400);--slider-range-color:var(--gray-600);--switch-track-color:var(--gray-400);--switch-track-color-hover:var(--gray-450);--switch-track-color-checked:var(--blue-400);--switch-track-color-checked-disabled:var(--blue-700);--switch-track-color-disabled:var(--gray-300);--switch-thumb-color:var(--gray-1000);--switch-thumb-color-disabled:var(--gray-800)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html,:host{font-synthesis-weight:none}textarea{resize:none}img,svg{flex-grow:0;flex-shrink:0}input,textarea,select,optgroup{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;filter:none;outline-offset:0;outline-width:2px}a,button,input,label,select,textarea,:where([aria-role=button]){touch-action:manipulation}button{text-transform:none;vertical-align:middle}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}pre{white-space:pre-wrap}table{border-spacing:0}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}html,:host{color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:var(--tracking-normal)}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}*{scrollbar-color:var(--scrollbar-color) transparent;scrollbar-width:thin}[data-exiting]{pointer-events:none}::placeholder{color:var(--color-text-tertiary)}b,strong{font-weight:var(--font-weight-semibold)}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_AMS-Regular.woff2)format("woff2")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Caligraphic-Bold.woff2)format("woff2")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Caligraphic-Regular.woff2)format("woff2")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Fraktur-Bold.woff2)format("woff2")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Fraktur-Regular.woff2)format("woff2")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Main-Bold.woff2)format("woff2")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Main-BoldItalic.woff2)format("woff2")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Main-Italic.woff2)format("woff2")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Main-Regular.woff2)format("woff2")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Math-BoldItalic.woff2)format("woff2")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Math-Italic.woff2)format("woff2")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_SansSerif-Bold.woff2)format("woff2")}@font-face{font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_SansSerif-Italic.woff2)format("woff2")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_SansSerif-Regular.woff2)format("woff2")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Script-Regular.woff2)format("woff2")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Size1-Regular.woff2)format("woff2")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Size2-Regular.woff2)format("woff2")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Size3-Regular.woff2)format("woff2")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Size4-Regular.woff2)format("woff2")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(https://cdn.openai.com/common/fonts/katex/KaTeX_Typewriter-Regular.woff2)format("woff2")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.0"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{width:100%;height:inherit;fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:currentColor;stroke-dasharray:none;stroke-dashoffset:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-width:1px;display:block;position:absolute}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.bottom-0{bottom:0}.left-0{left:0}.container{width:100%}@media (min-width:380px){.container{max-width:380px}}@media (min-width:576px){.container{max-width:576px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.mx-px{margin-inline:1px}.mt-1{margin-top:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-1{margin-bottom:var(--spacing)}.\!hidden{display:none!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-0{height:0}.h-\[var\(--button-icon-size\)\]{height:var(--button-icon-size)}.w-\[var\(--button-icon-size\)\]{width:var(--button-icon-size)}.w-full{width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-\[120px\]{min-width:120px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-default{border-color:var(--color-border)}.border-subtle{border-color:var(--color-border-subtle)}.bg-surface{background-color:var(--color-surface)}.fill-secondary{fill:var(--color-text-secondary)}.p-4{padding:calc(var(--spacing) * 4)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-right{text-align:right}.heading-lg{font-size:var(--font-heading-lg-size);font-weight:var(--font-heading-lg-weight);letter-spacing:var(--font-heading-lg-tracking);line-height:var(--font-heading-lg-line-height)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));letter-spacing:var(--tw-tracking,var(--text-sm--letter-spacing));font-weight:var(--tw-font-weight,var(--text-sm--font-weight))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-wrap{text-wrap:wrap}.text-ellipsis{text-overflow:ellipsis}.text-secondary{color:var(--color-text-secondary)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow-lg{--tw-shadow:var(--shadow-300);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (min-width:576px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--destructive:0 72% 51%;--border:240 5.9% 90%;--ring:240 5.9% 10%;--radius:.5rem;--canvas:240 5% 97.3%;--panel:0 0% 100%;--feature-link:208 100% 47.45%;color-scheme:light;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}#root{position:fixed;top:0;right:0;bottom:0;left:0}body{background:hsl(var(--canvas));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased}.icon{flex-shrink:0;width:16px;height:16px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}*{scrollbar-width:thin;scrollbar-color:hsl(var(--foreground) / .18) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--foreground) / .18);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--foreground) / .32);background-clip:content-box}::-webkit-scrollbar-corner{background:0 0}.layout{height:100dvh;min-height:0;display:flex;overflow:hidden}.main-shell{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.sidebar{background:0 0;flex-direction:column;flex-shrink:0;width:236px;height:100%;min-height:0;transition:width .22s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.sidebar.is-collapsed{width:56px}@media (max-width:860px){.sidebar{width:204px}}.sidebar-top{flex-direction:column;gap:2px;padding:0 10px 8px;display:flex}.sidebar-brand-row{align-items:center;gap:6px;height:54px;min-height:54px;padding:0 0 0 10px;display:flex}.sidebar:not(.is-collapsed) .sidebar-top{padding-right:0}.sidebar:not(.is-collapsed) .sidebar-brand-row{padding-right:10px}.brand{min-width:0;color:inherit;cursor:pointer;letter-spacing:-.01em;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:9px;padding:0;font-family:inherit;font-size:15px;font-weight:600;display:flex}.brand-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-logo,.brand-title,.brand{cursor:pointer}.login-brand-logo,.login-brand,.login-title{cursor:text}.sidebar-collapse-toggle{width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 28px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.sidebar-collapse-toggle:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.sidebar-collapse-toggle .icon{width:17px;height:17px}.sidebar.is-collapsed .sidebar-brand-row{justify-content:center;padding-inline:0}.sidebar.is-collapsed .brand{display:none}.brand-logo,.login-brand-logo{object-fit:contain;flex:0 0 20px;width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;max-height:20px;display:block}.new-chat{height:36px;min-height:36px;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;transition:background .12s;display:flex}.new-chat .icon{width:18px;height:18px}.new-chat:hover,.new-chat.is-active{background:hsl(var(--foreground) / .05)}.sidebar-beta-badge{color:#976507;background:#fac70f29;border:1px solid #ce8b0d47;border-radius:999px;flex:none;padding:1px 5px;font-size:9.5px;font-weight:600;line-height:1.3}.new-chat--conversation>.icon{transform-origin:50%}.new-chat--conversation:hover>.icon{animation:.65s cubic-bezier(.22,1,.36,1) both sidebar-plus-return}.sidebar-agent-face{overflow:visible}.sidebar-agent-face__eye{transform-box:fill-box;transform-origin:50%;animation:1s ease-in-out infinite sidebar-agent-blink}@keyframes sidebar-plus-return{0%{transform:rotate(0)}48%{transform:rotate(48deg)}to{transform:rotate(0)}}@keyframes sidebar-agent-blink{0%,42%,58%,to{transform:scaleY(1)}50%{transform:scaleY(.08)}}@media (prefers-reduced-motion:reduce){.new-chat--conversation:hover>.icon,.sidebar-agent-face__eye{animation:none}}.studio-update-action{color:#fff;min-width:104px;min-height:40px;box-shadow:none;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;font:inherit;background:#111;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 17px;font-size:12.5px;font-weight:650;transition:background-color .24s cubic-bezier(.22,1,.36,1),color .18s,box-shadow .24s,-webkit-backdrop-filter .24s,backdrop-filter .24s;display:inline-flex}.studio-update-action:not(:disabled):hover{color:#fff;background:#29292b;border:0;box-shadow:0 7px 18px #00000029}.studio-update-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.studio-update-action:disabled{cursor:default;opacity:.42}.sidebar.is-collapsed .new-chat{white-space:nowrap;align-self:center;gap:0;width:36px;height:36px;min-height:36px;padding:9px;overflow:hidden}.sidebar.is-collapsed .sidebar-nav-label,.sidebar.is-collapsed .sidebar-beta-badge,.sidebar.is-collapsed .sidebar-history{display:none}.agentsel{--agentsel-available-width: calc(100vw - 250px) ;z-index:32;width:min(320px,var(--agentsel-available-width));background:0 0;border:0;flex-flow:wrap;align-content:stretch;align-items:stretch;gap:8px;margin-left:6px;animation:.16s ease-out agentsel-in;display:flex;position:absolute;top:8px;left:100%;overflow:visible;container-type:inline-size}.agentsel.has-detail{width:min(688px,var(--agentsel-available-width))}.agentsel--navbar{z-index:44;width:min(clamp(264px,26vw,288px),100vw - 48px);height:min(640px,100dvh - 74px);margin-left:0;position:absolute;top:calc(100% + 7px);left:0}.agentsel--navbar .agentsel-main{flex-basis:auto;width:100%}.sidebar.is-collapsed .agentsel{--agentsel-available-width: calc(100vw - 70px) }.agentsel-main{border:1px solid hsl(var(--border));background:hsl(var(--background));width:320px;min-width:min(240px,100%);height:100%;min-height:0;max-height:100%;box-shadow:0 12px 40px hsl(var(--foreground) / .14);border-radius:12px;flex-direction:column;flex:320px;display:flex;overflow:hidden}.agentsel-detail{border:1px solid hsl(var(--border));background:hsl(var(--background));width:360px;min-width:min(280px,100%);height:100%;min-height:0;max-height:100%;box-shadow:0 12px 40px hsl(var(--foreground) / .14);border-radius:12px;flex-direction:column;flex:360px;display:flex;overflow:hidden}.agentsel-preview{animation:.16s cubic-bezier(.22,1,.36,1) agentsel-preview-in}@container (max-width:527px){.agentsel.has-detail>.agentsel-main,.agentsel.has-detail>.agentsel-detail{height:calc(50% - 4px);max-height:calc(50% - 4px)}}.agentsel-preview-head{padding:7px 14px}.agentsel-detail-tabs{border:1px solid hsl(var(--border) / .58);background:hsl(var(--secondary) / .58);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;height:36px;padding:3px;display:grid;position:relative;overflow:hidden}.agentsel-detail-tabs-slider{z-index:0;border:1px solid hsl(var(--border) / .72);background:hsl(var(--background));border-radius:6px;width:calc(50% - 3px);transition:transform .24s cubic-bezier(.22,1,.36,1);position:absolute;top:3px;bottom:3px;left:3px;transform:translate(0)}.agentsel-detail-tabs.is-runtime .agentsel-detail-tabs-slider{transform:translate(100%)}.agentsel-detail-tabs button{z-index:1;min-width:0;color:hsl(var(--muted-foreground));font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:12px;font-weight:550;transition:color .16s;position:relative}.agentsel-detail-tabs button:hover,.agentsel-detail-tabs button[aria-selected=true]{color:hsl(var(--foreground))}.agentsel-detail-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .24);outline-offset:-2px}.agentsel-tab-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.agentsel-tab-panel[hidden]{display:none}.agentsel-detail-body{overscroll-behavior-y:contain;scrollbar-gutter:stable;flex:1;min-width:0;min-height:0;padding:12px 14px;overflow:hidden auto}.agentsel-panel-state{min-height:120px;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;gap:7px;font-size:12.5px;display:flex}.agentsel-panel-state .icon{width:15px;height:15px}.agentsel-panel-empty{text-align:center;color:hsl(var(--muted-foreground));overflow-wrap:anywhere;flex-direction:column;gap:6px;padding:24px 8px;font-size:12.5px;display:flex}.agentsel-panel-empty small{color:hsl(var(--muted-foreground) / .75);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.agentsel-identity,.agentsel-runtime-identity{align-items:flex-start;gap:10px;min-width:0;display:flex}.agentsel-identity{padding-bottom:12px}.agentsel-identity-icon,.agentsel-runtime-identity>.icon{width:18px;height:18px;color:hsl(var(--muted-foreground));flex-shrink:0;margin-top:1px}.agentsel-identity-copy,.agentsel-runtime-identity>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.agentsel-identity-copy strong,.agentsel-runtime-identity strong{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:650;overflow:hidden}.agentsel-identity-copy span,.agentsel-runtime-identity span{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.agentsel-runtime-identity{border-bottom:1px solid hsl(var(--border));margin-bottom:14px;padding-bottom:12px}.agentsel-info-section{border-top:1px solid hsl(var(--border));min-width:0;padding:11px 0}.agentsel-info-section h3{color:hsl(var(--muted-foreground));align-items:center;gap:6px;margin:0 0 8px;font-size:11.5px;font-weight:600;display:flex}.agentsel-info-section h3 .icon{width:13px;height:13px}.agentsel-description{white-space:pre-wrap;overflow-wrap:anywhere;max-height:104px;color:hsl(var(--foreground));margin:0;font-size:12.5px;line-height:1.65;overflow-y:auto}.agentsel-chips{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.agentsel-chip{border:1px solid hsl(var(--border));background:hsl(var(--canvas) / .7);max-width:100%;color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:3px 7px;font-size:11.5px;line-height:1.35;display:block;overflow:hidden}.agentsel-info-list{flex-direction:column;gap:6px;min-width:0;display:flex}.agentsel-info-list-item{background:hsl(var(--canvas) / .72);border-radius:6px;flex-direction:column;gap:2px;min-width:0;padding:7px 8px;display:flex}.agentsel-info-list-item>strong,.agentsel-component-head>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.agentsel-info-list-item>span{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.agentsel-component-head{align-items:center;gap:8px;min-width:0;display:flex}.agentsel-component-head>strong{flex:1;min-width:0}.agentsel-component-head>span{background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px}.agentsel-kv{flex-direction:column;gap:8px;margin:0;display:flex}.agentsel-kv-row{grid-template-columns:52px 1fr;gap:8px;font-size:12.5px;display:grid}.agentsel-kv-row dt{color:hsl(var(--muted-foreground))}.agentsel-kv-row dd{min-width:0;color:hsl(var(--foreground));overflow-wrap:anywhere;margin:0}.agentsel-envs{margin-top:14px}.agentsel-envs-head{color:hsl(var(--muted-foreground));margin-bottom:6px;font-size:12px;font-weight:600}.agentsel-env{flex-direction:column;gap:1px;margin-bottom:6px;display:flex}.agentsel-env-k{overflow-wrap:anywhere;color:hsl(var(--muted-foreground));font-family:inherit;font-size:11px}.agentsel-env-v{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:inherit;font-size:11.5px}.agentsel-head-actions{align-items:center;gap:2px;display:flex}.agentsel-pager{flex:0 0 36px;justify-content:center;align-items:center;gap:14px;padding:6px 10px 0;display:flex}.agentsel-pager button{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;padding:2px;display:flex}.agentsel-pager button:hover:not(:disabled){color:hsl(var(--foreground))}.agentsel-pager button:disabled{opacity:.3;cursor:default}.agentsel-pager button .icon{width:18px;height:18px}.agentsel-pager-label{color:hsl(var(--muted-foreground));text-align:center;min-width:40px;font-size:13px}@keyframes agentsel-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes agentsel-preview-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.agentsel-head{box-sizing:border-box;border-bottom:1px solid hsl(var(--border));flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 14px;display:flex}.agentsel-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex;overflow:hidden}.agentsel-title .icon{width:17px;height:17px}.agentsel-refresh{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.agentsel-refresh:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.agentsel-refresh .icon{width:16px;height:16px}.agentsel-body{overscroll-behavior-y:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:10px;overflow-y:auto}.agentsel-body--cloud{scrollbar-gutter:auto;flex-direction:column;display:flex;overflow:hidden}.agentsel-tools{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.agentsel-search{border:1px solid hsl(var(--border));border-radius:8px;align-items:center;gap:8px;padding:7px 10px;display:flex}.agentsel-search .icon{width:15px;height:15px;color:hsl(var(--muted-foreground))}.agentsel-search input{font:inherit;color:hsl(var(--foreground));background:0 0;border:none;outline:none;flex:1;font-size:13px}.agentsel-mine{color:hsl(var(--muted-foreground));cursor:pointer;align-items:center;gap:7px;font-size:12.5px;display:flex}.agentsel-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.agentsel-listwrap{min-height:220px;position:relative}.agentsel-body--cloud .agentsel-listwrap{overscroll-behavior-y:contain;scrollbar-gutter:auto;flex:1;min-height:0;overflow-y:auto}.agentsel-loading{color:hsl(var(--muted-foreground));background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.agentsel-loading .icon{width:16px;height:16px}.agentsel-item{width:100%;min-height:46px;color:hsl(var(--foreground));font:inherit;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:4px 0;font-size:13.5px;display:flex}.agentsel-main button.agentsel-item{cursor:pointer;min-height:0;padding:9px 10px}.agentsel-item:hover{background:hsl(var(--foreground) / .05);box-shadow:none;transform:none}.agentsel-runtime-item:hover{background:0 0}.agentsel-item.active{background:hsl(var(--foreground) / .08);font-weight:600}.agentsel-item.is-previewed{background:hsl(var(--foreground) / .055)}.agentsel-runtime-item.active,.agentsel-runtime-item.is-previewed{background:0 0}.agentsel-item .icon{width:16px;height:16px;color:hsl(var(--muted-foreground));flex-shrink:0}.agentsel-item-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.agentsel-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:550;overflow:hidden}.agentsel-item-meta{align-items:center;gap:4px;min-width:0;display:flex}.agentsel-item-actions{flex-shrink:0;align-items:center;gap:1px;display:flex}.agentsel-connect,.agentsel-info{color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px}.agentsel-connect{min-width:38px;height:28px;padding:0 5px;font-size:11.5px;font-weight:550}.agentsel-info{place-items:center;width:28px;height:28px;padding:0;display:grid}.agentsel-connect:hover:not(:disabled),.agentsel-info:hover{background:hsl(var(--foreground) / .07);color:hsl(var(--foreground));box-shadow:none}.agentsel-info.active{color:hsl(var(--foreground));box-shadow:none;background:0 0}.agentsel-connect:disabled{opacity:.55;cursor:default}.agentsel-info .icon{width:15px;height:15px}.agentsel-rt{flex-direction:column;display:flex}.agentsel-rt-row{width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 8px;font-size:13.5px;display:flex}.agentsel-rt-row:hover{background:hsl(var(--foreground) / .05)}.agentsel-rt-row .icon{width:15px;height:15px;color:hsl(var(--muted-foreground));flex-shrink:0}.agentsel-rt-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.runtime-owner-badge{color:#0b68cb;background:#007bff1f;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.agentsel-status{border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:10px}.agentsel-status.is-ok{color:#238b49;background:#21c45d24}.agentsel-status.is-warn{color:#b86614;background:#f59f0a29}.agentsel-status.is-bad{color:#ca2b2b;background:#dc282824}.agentsel-status.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.agentsel-apps{flex-direction:column;gap:2px;padding:2px 0 6px 20px;display:flex}.agentsel-app{width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.agentsel-app:hover{background:hsl(var(--foreground) / .05)}.agentsel-app.active{background:hsl(var(--foreground) / .08);font-weight:600}.agentsel-app .icon{width:14px;height:14px;color:hsl(var(--muted-foreground));flex-shrink:0}.agentsel-apps-note{color:hsl(var(--muted-foreground));align-items:center;gap:7px;padding:7px 10px;font-size:12.5px;display:flex}.agentsel-apps-note .icon{width:14px;height:14px}.agentsel-apps-note--muted{font-style:italic}.agentsel-empty{text-align:center;color:hsl(var(--muted-foreground));padding:24px 10px;font-size:13px}.agentsel-error{overflow-wrap:anywhere;color:#bd2828;white-space:pre-wrap;background:#dc282814;border-radius:8px;min-width:0;max-width:100%;margin:4px 0 10px;padding:8px 10px;font-size:12.5px;overflow:hidden}.agentsel-more{border:1px dashed hsl(var(--border));width:100%;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;background:0 0;border-radius:8px;margin-top:8px;padding:9px;font-size:13px}.agentsel-more:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}@media (max-width:860px){.agentsel{--agentsel-available-width: calc(100vw - 218px) }}.sidebar-history{flex-direction:column;flex:1;min-height:0;display:flex}.history-head{color:hsl(var(--foreground));justify-content:space-between;align-items:center;padding:8px 10px 6px 20px;font-size:13px;font-weight:600;display:flex}.history-refresh{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;padding:2px;display:flex}.history-refresh:hover{color:hsl(var(--foreground))}.history-new-chat{width:24px;height:24px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin:-4px 0;padding:0;transition:color .12s;display:inline-flex}.history-new-chat .icon{width:15px;height:15px}.history-new-chat:hover{color:hsl(var(--foreground));background:0 0}.history-list{flex-direction:column;flex:1;gap:2px;padding:4px 10px 12px;display:flex;overflow-y:auto}.history-empty{color:hsl(var(--muted-foreground));text-align:center;padding:16px 8px;font-size:13px}.history-error{background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));border-radius:8px;margin:4px 0 8px;padding:8px 10px;font-size:12px;line-height:1.5}.history-item{border-radius:8px;align-items:center;transition:background .12s;display:flex;position:relative}.history-item:hover{background:hsl(var(--foreground) / .05)}.history-item.active{background:hsl(var(--foreground) / .08)}.history-item-btn{text-align:left;min-width:0;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:7px;padding:9px 10px;font-size:14px;display:flex}.history-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.history-current-badge{background:hsl(var(--foreground) / .08);color:hsl(var(--muted-foreground));border-radius:999px;flex:none;padding:2px 5px;font-size:10px;font-weight:600;line-height:1.2}.history-item-btn:focus-visible,.history-more:focus-visible,.history-load-more:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.history-item-btn:disabled,.history-more:disabled{cursor:wait;opacity:.58}.history-streaming{background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:4px;animation:1.4s ease-in-out infinite history-pulse;box-shadow:0 0 #22c55e80}@keyframes history-pulse{0%,to{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 0 4px #22c55e00}}.history-evaluating-status{color:#956718;flex-shrink:0;align-items:center;gap:5px;font-size:10.5px;font-weight:600;line-height:1;display:inline-flex}.history-evaluating{background:#f59f0a;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s ease-in-out infinite history-evaluation-pulse;box-shadow:0 0 #f59f0a6b}@keyframes history-evaluation-pulse{0%,to{box-shadow:0 0 #f59f0a6b}50%{box-shadow:0 0 0 4px #f59f0a00}}@media (prefers-reduced-motion:reduce){.history-streaming,.history-evaluating{box-shadow:none;animation:none}}.history-more{width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;transition:opacity .12s,background .12s;display:flex}.history-item:hover .history-more,.history-item:focus-within .history-more{opacity:1}.history-more:hover{background:hsl(var(--border));color:hsl(var(--foreground))}.history-load-more{min-height:32px;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;margin-top:6px;font-size:12px;font-weight:550}.history-load-more:hover:not(:disabled){background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.history-load-more:disabled{cursor:wait;opacity:.6}.menu-scrim{z-index:30;position:fixed;top:0;right:0;bottom:0;left:0}.history-menu{z-index:31;background:hsl(var(--background));border:1px solid hsl(var(--border));min-width:120px;box-shadow:0 6px 20px hsl(var(--foreground) / .12);border-radius:8px;margin-top:2px;padding:4px;position:absolute;top:100%;right:4px}.menu-item{width:100%;font:inherit;cursor:pointer;color:hsl(var(--foreground));background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.menu-item:hover{background:hsl(var(--accent))}.menu-item--danger{color:hsl(var(--destructive))}.menu-item .icon{width:15px;height:15px}.main{background:hsl(var(--panel));border:1px solid hsl(var(--border));border-radius:12px;flex-direction:column;flex:1;min-width:0;min-height:0;margin:10px;display:flex;position:relative;overflow:hidden}.error{z-index:3;border-radius:var(--radius);background:hsl(var(--destructive) / .1);width:calc(100% - 32px);max-width:768px;color:hsl(var(--destructive));overflow-wrap:anywhere;margin:10px auto 0;padding:10px 12px;font-size:13px;position:relative}.case-return-bar{flex:none;justify-content:center;padding:12px 16px 0;display:flex}.case-return-bar button{border:1px solid hsl(var(--border));background:hsl(var(--background));min-height:32px;color:hsl(var(--foreground));cursor:pointer;font:inherit;box-shadow:0 1px 2px hsl(var(--foreground) / .05);border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:620;display:inline-flex}.case-return-bar button:hover{background:hsl(var(--secondary) / .55)}.case-return-bar svg{width:14px;height:14px}.transcript{flex:1;padding:28px 16px 8px;overflow-y:auto}.transcript.is-streaming{overflow-anchor:none}.welcome{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:32px;padding:0 16px clamp(88px,16vh,136px);display:flex;position:relative}.welcome-primary{flex-direction:column;align-items:center;gap:32px;width:100%;display:flex;position:relative}.welcome-heading{z-index:10;flex-direction:column;align-items:center;gap:72px;display:flex;position:relative}.welcome-feature-pill{background:hsl(var(--muted));height:36px;color:hsl(var(--muted-foreground));white-space:nowrap;border-radius:999px;align-items:center;gap:12px;padding:0 16px;font-size:13px;font-weight:500;line-height:1;display:inline-flex;position:relative}.welcome-feature-divider{background:hsl(var(--border));width:1px;height:16px}.welcome-feature-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:hsl(var(--feature-link));font:inherit;line-height:inherit;cursor:pointer;background:0 0;border:0;padding:0}.welcome-feature-link:focus-visible{outline:2px solid hsl(var(--feature-link) / .35);outline-offset:3px;border-radius:3px}.welcome-feature-pill:has(.studio-update-trigger--feature)>.welcome-feature-link:not(.studio-update-trigger--feature),.welcome-feature-pill:has(.studio-update-trigger--feature)>.welcome-feature-popover{display:none}.welcome-feature-popover{z-index:40;border:1px solid hsl(var(--border));background:hsl(var(--background));width:min(340px,100vw - 32px);box-shadow:0 14px 36px hsl(var(--foreground) / .12);color:hsl(var(--foreground));text-align:left;white-space:normal;opacity:0;pointer-events:none;border-radius:14px;padding:16px;transition:opacity .16s,transform .16s;position:absolute;top:50%;left:calc(100% + 12px);transform:translate(-4px,-50%)}.welcome-feature-pill:hover .welcome-feature-popover,.welcome-feature-pill:focus-within .welcome-feature-popover{opacity:1;pointer-events:auto;transform:translateY(-50%)}.welcome-feature-popover>strong{margin-bottom:12px;font-size:13px;font-weight:600;display:block}.welcome-feature-popover ul{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(220px,32vh);margin:0;padding:0 4px 0 18px;list-style:outside;display:block;overflow-y:auto}.welcome-feature-popover li{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;display:list-item}.welcome-feature-popover li+li{margin-top:8px}@media (max-width:900px){.welcome-feature-popover{top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px)}.welcome-feature-pill:hover .welcome-feature-popover,.welcome-feature-pill:focus-within .welcome-feature-popover{transform:translate(-50%)}}.welcome-title,.composer-placeholder-reveal{animation:.9s cubic-bezier(.22,1,.36,1) both welcome-text-reveal}@keyframes welcome-text-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.welcome-title,.composer-placeholder-reveal{opacity:1;clip-path:none;animation:none}.welcome-feature-popover{transition:none}}.welcome-title{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:600}.welcome .composer{padding:0}.turn{flex-direction:column;gap:8px;max-width:768px;margin:0 auto 22px;display:flex}.turn:last-child{margin-bottom:0}.turn--user{align-items:flex-end}.turn--assistant{align-items:flex-start}.turn--assistant.is-feedback-target{border-radius:12px;animation:2.4s ease-out feedback-target-pulse}@keyframes feedback-target-pulse{0%{background:hsl(var(--foreground) / .07);box-shadow:0 0 0 8px hsl(var(--foreground) / .05)}to{box-shadow:0 0 hsl(var(--foreground) / 0);background:0 0}}.transcript.is-streaming>.turn--assistant:last-child{min-height:max(0px,100% - 180px)}.turn--subagent{isolation:isolate;width:100%;max-width:768px;box-shadow:none;background:0 0;border:0;border-radius:14px;gap:10px;margin-top:42px;margin-bottom:22px;padding:30px 16px 14px;position:relative}.turn--subagent:before{z-index:-1;border-radius:inherit;-webkit-backdrop-filter:blur(18px)saturate(115%);content:"";pointer-events:none;background:radial-gradient(circle at 12% 8%,#e3ebf28c,#0000 38%),radial-gradient(circle at 88% 78%,#e3e6ed6b,#0000 42%),linear-gradient(120deg,#ffffff8f,#f2f4f742);border:1px solid #dadfe7d1;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.turn--subagent:has(>.turn-meta){padding-bottom:0}.turn--subagent:has(>.turn-meta):before{bottom:44px}.transcript.is-streaming>.turn--subagent:last-child{min-height:0}.subagent-run-label{background:hsl(var(--background));max-width:calc(100% - 28px);min-height:36px;box-shadow:none;border:1px solid #d5dae2;border-radius:10px;align-items:center;gap:8px;padding:4px 9px 4px 4px;display:inline-flex;position:absolute;top:0;left:14px;transform:translateY(-50%)}.subagent-run-handoff{color:#606b7b;white-space:nowrap;background:#eff2f5;border-radius:7px;flex:none;align-items:center;gap:5px;height:26px;padding:0 8px 0 6px;font-size:12px;font-weight:400;display:inline-flex}.subagent-run-handoff svg{flex:0 0 15px;width:15px;height:15px}.subagent-run-title{min-width:0;color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:400;overflow:hidden}.subagent-run-description{color:#636c79;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;padding:0 2px 4px;font-size:13.5px;line-height:1.6;display:-webkit-box;overflow:hidden}.turn--subagent .turn-meta{margin:20px -16px 0;position:static}@media (max-width:700px){.turn--subagent{width:100%;padding:30px 10px 12px}.turn--subagent:has(>.turn-meta){padding-bottom:0}.turn--subagent .turn-meta{margin-left:-10px;margin-right:-10px}.subagent-run-label{max-width:calc(100% - 20px);left:10px}}.bubble{font-size:14.5px;line-height:1.65}.turn--user .bubble{background:hsl(var(--secondary));border-radius:18px;max-width:85%;padding:10px 16px}.turn--assistant .bubble{max-width:100%}.md{font-size:14.5px;line-height:1.65}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .7em}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{letter-spacing:-.01em;margin:1.1em 0 .5em;font-weight:650;line-height:1.3}.md h1{font-size:1.4em}.md h2{font-size:1.25em}.md h3{font-size:1.1em}.md h4,.md h5,.md h6{font-size:1em}.md ul{list-style:outside}.md ol{list-style:decimal}.md ul ul{list-style-type:circle}.md ul ul ul{list-style-type:square}.md ol ol{list-style-type:lower-alpha}.md ol ol ol{list-style-type:lower-roman}.md li,.md li>ul,.md li>ol{margin:.15em 0}.md a{color:hsl(var(--primary));text-underline-offset:2px;text-decoration:underline}.md a:hover{opacity:.8}.md blockquote{border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground));margin:0 0 .7em;padding:.1em .9em}.md strong{font-weight:650}.md code{background:hsl(var(--muted));border-radius:5px;padding:.12em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em}.md pre{background:hsl(var(--muted));border-radius:8px;margin:0 0 .7em;padding:12px 14px;line-height:1.55;overflow-x:auto}.md pre code{background:0 0;border-radius:0;padding:0;font-size:12.5px}.md table{border-collapse:collapse;width:100%;box-shadow:0 2px 8px hsl(var(--foreground) / .1),0 0 0 1px hsl(var(--border));border-radius:12px;margin:0 0 .7em;font-size:.95em;overflow:hidden}.md table thead th,.md table th{background:hsl(var(--muted));border:1px solid hsl(var(--border));text-align:left;padding:12px 16px;font-size:.98em;font-weight:650}.md table tbody td,.md table td{border:1px solid hsl(var(--border));text-align:left;vertical-align:top;padding:12px 16px;line-height:1.65}.md table tbody tr:nth-child(2n){background:hsl(var(--muted) / .25)}.md table tbody tr:hover{background:hsl(var(--accent))}.md table caption{caption-side:top;text-align:left;color:hsl(var(--muted-foreground));padding:0 0 8px;font-size:.9em;font-weight:600}.md table colgroup,.md table col{display:table-column}.md table thead,.md table tbody,.md table tfoot{display:table-row-group}.md table tr{display:table-row}.md strong,.md b{font-weight:650}.md em,.md i{font-style:italic}.md del,.md s{text-decoration:line-through}.md ins,.md u{text-decoration:underline}.md mark{background:#fff3c2b3;border-radius:4px;padding:.1em .3em}.md sub{vertical-align:sub;font-size:.8em}.md sup{vertical-align:super;font-size:.8em}.md code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.md pre{overflow-x:auto}@media (max-width:640px){.md table{font-size:.85em}.md table thead th,.md table th,.md table tbody td,.md table td{padding:8px 10px}}.md p{line-height:1.7}.md br{content:"";margin:.4em 0;display:block}.md hr{border:none;border-top:1px solid hsl(var(--border));margin:1.5em 0}.md blockquote{border-left:3px solid hsl(var(--primary) / .4);background:hsl(var(--muted) / .3);border-radius:0 8px 8px 0;margin:.8em 0;padding:.6em 1em}.md ul,.md ol{margin:.6em 0;padding-left:1.6em}.md li{margin:.3em 0;line-height:1.6}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{margin-top:1.2em;margin-bottom:.5em;line-height:1.3}.md h1{font-size:1.6em;font-weight:700}.md h2{font-size:1.4em;font-weight:650}.md h3{font-size:1.2em;font-weight:600}.md h4{font-size:1.1em;font-weight:600}.md h5,.md h6{font-size:1em;font-weight:600}.md .image-preview-trigger{background:hsl(var(--muted));width:fit-content;max-width:40%;box-shadow:0 0 0 1px hsl(var(--border));cursor:zoom-in;border:0;border-radius:10px;margin:0 0 .7em;padding:0;line-height:0;display:block;position:relative;overflow:hidden}.md .image-preview-trigger:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.md .image-preview-trigger img{border-radius:inherit;width:auto;max-width:100%;height:auto;transition:filter .18s,transform .18s;display:block}.md .image-preview-trigger:hover img{filter:brightness(.92);transform:scale(1.01)}.image-preview-hint{color:#fff;opacity:0;background:#131316ad;border:1px solid #fff3;border-radius:8px;place-items:center;width:28px;height:28px;transition:opacity .16s,transform .16s;display:grid;position:absolute;bottom:8px;right:8px;transform:translateY(3px)}.image-preview-hint svg{width:14px;height:14px}.image-preview-trigger:hover .image-preview-hint,.image-preview-trigger:focus-visible .image-preview-hint{opacity:1;transform:translateY(0)}.md .video-container{gap:6px;margin:0 0 .7em;display:grid}.md .video-caption{color:hsl(var(--muted-foreground));font-size:.9em}.md .video-link-text{color:inherit;text-decoration:none;transition:color .15s}.md .video-link-text:hover{color:hsl(var(--foreground));text-decoration:underline}.md .video-preview-trigger{background:hsl(var(--muted));width:fit-content;max-width:80%;box-shadow:0 2px 8px hsl(var(--foreground) / .1),0 0 0 1px hsl(var(--border));cursor:pointer;border:0;border-radius:12px;padding:0;line-height:0;transition:box-shadow .18s,transform .18s;display:block;position:relative;overflow:hidden}.md .video-preview-trigger:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.md .video-preview-trigger:hover{box-shadow:0 4px 16px hsl(var(--foreground) / .15),0 0 0 1px hsl(var(--border));transform:translateY(-1px)}.md .video-preview-trigger .video-thumbnail{border-radius:inherit;width:auto;max-width:100%;height:auto;transition:filter .18s,transform .18s;display:block}.md .video-preview-trigger:hover .video-thumbnail{filter:brightness(.9);transform:scale(1.01)}.video-preview-hint{color:#fff;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#131316b3;border:1px solid #fff3;border-radius:10px;place-items:center;width:32px;height:32px;transition:opacity .16s,transform .16s;display:grid;position:absolute;bottom:10px;right:10px;transform:translateY(4px)}.video-preview-hint svg{width:16px;height:16px}.video-preview-trigger:hover .video-preview-hint,.video-preview-trigger:focus-visible .video-preview-hint{opacity:1;transform:translateY(0)}.md .video-inline{max-width:100%;box-shadow:0 2px 8px hsl(var(--foreground) / .1),0 0 0 1px hsl(var(--border));border-radius:12px;margin:0 0 .7em}.video-viewer-backdrop{z-index:90;-webkit-backdrop-filter:blur(16px)saturate(.85);backdrop-filter:blur(16px)saturate(.85);background:#131316c7;place-items:center;padding:28px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.video-viewer{border:1px solid hsl(var(--foreground) / .15);background:hsl(var(--background));border-radius:18px;flex-direction:column;width:min(1080px,94vw);max-height:min(880px,90vh);display:flex;overflow:hidden;box-shadow:0 32px 100px #07070885}.video-viewer-header{background:hsl(var(--muted) / .3);border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;min-height:56px;padding:10px 16px;display:flex}.video-viewer-title{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-weight:500;overflow:hidden}.video-viewer-nav{gap:6px;display:flex}.video-viewer-download,.video-viewer-close{width:36px;height:36px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.video-viewer-download:hover,.video-viewer-close:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.video-viewer-download svg,.video-viewer-close svg{width:17px;height:17px}.video-viewer-body{background:#161618;flex:1;place-items:center;min-height:0;padding:20px;display:grid;overflow:hidden}.video-viewer-body .video-fullscreen{background:#000;border-radius:12px;max-width:100%;max-height:calc(90vh - 96px);box-shadow:0 4px 20px #0006}@media (max-width:640px){.md .video-preview-trigger{max-width:100%}.video-viewer-backdrop{padding:0}.video-viewer{border:none;border-radius:0;width:100vw;max-height:100vh}.video-viewer-body .video-fullscreen{border-radius:0;max-height:calc(100vh - 96px)}}.turn--user .md code,.turn--user .md pre{background:hsl(var(--background) / .55)}.block-thinking,.block-tool{width:100%}.think-head,.tool-head{color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;display:inline-flex}.think-head{gap:8px;min-height:32px;padding:3px 7px 3px 3px}.think-icon{flex:0 0 20px;place-items:center;width:20px;height:26px;display:grid}.think-icon>svg{width:18px;height:18px}.spark{color:hsl(var(--muted-foreground))}.spark.pulse{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.chev{opacity:.58;flex:0 0 13px;width:13px;height:13px;transition:transform .18s}.chev.open{transform:rotate(90deg)}.think-label{font-size:14.5px;font-weight:400;line-height:1.35}.think-label--done{color:hsl(var(--muted-foreground))}.tool-head{color:hsl(var(--muted-foreground));transition:color .12s}.tool-head:hover{color:hsl(var(--foreground))}.tool-head--generic{gap:8px;min-height:32px;padding:3px 7px 3px 3px}.tool-name{color:inherit;font-size:14.5px;font-weight:400;line-height:1.35}.tool-icon{flex:0 0 20px;place-items:center;width:20px;height:26px;display:grid}.tool-icon>svg{width:18px;height:18px}.tool-icon--generic{color:hsl(var(--muted-foreground))}.tool-chevron{opacity:.58;flex:0 0 13px;width:13px;height:13px;transition:transform .18s}.tool-chevron.is-open{transform:rotate(90deg)}.tool-detail{flex-direction:column;gap:8px;margin:6px 0 4px;padding-left:3px;display:flex}.tool-section-label{text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));margin-bottom:4px;font-size:11px}.tool-result{max-height:240px;overflow:auto}.think-collapse{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.think-collapse.open{grid-template-rows:1fr}.think-collapse-inner{overflow:hidden}.think-body{color:hsl(var(--muted-foreground));white-space:pre-wrap;border-left:0;max-height:220px;margin:0;padding:0;font-size:14px;line-height:1.7;overflow-y:auto}.tool-args{background:hsl(var(--muted));white-space:pre-wrap;border-radius:6px;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.turn-meta{color:hsl(var(--muted-foreground));opacity:0;align-items:center;gap:10px;margin-top:2px;font-size:12px;transition:opacity .15s;display:flex}.turn-empty{color:hsl(var(--muted-foreground));margin-top:2px;font-size:13px;font-style:italic}.auth-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:12px;width:100%;max-width:640px;margin:2px 0;padding:18px 20px}.auth-card-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.auth-card-icon{color:#f59f0a;width:18px;height:18px}.auth-card-icon--done{color:#1eae53}.auth-card-collapsed{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--muted-foreground));border-radius:9px;align-items:center;gap:7px;margin:2px 0;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.auth-card-code{background:hsl(var(--muted));color:hsl(var(--foreground));word-break:break-all;border-radius:5px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.auth-card-title{font-size:14px;font-weight:600}.auth-card-desc{color:hsl(var(--muted-foreground));margin:0 0 14px;font-size:13px;line-height:1.6}.auth-card-btn{background:hsl(var(--primary));color:hsl(var(--primary-foreground));font:inherit;cursor:pointer;border:none;border-radius:9px;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .12s;display:inline-flex}.auth-card-btn:hover:not(:disabled){opacity:.88}.auth-card-btn:disabled{opacity:.55;cursor:default}.auth-card-btn .cw-i{width:15px;height:15px}.auth-card-done{color:#1eae53;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.auth-card-done .cw-i{width:16px;height:16px}.auth-card-err{color:hsl(var(--destructive));margin-top:8px;font-size:12px}.artifact-list{gap:8px;width:min(100%,440px);margin:6px 0;display:grid}.artifact-card{width:100%;color:hsl(var(--foreground));text-align:left;background:#f5f9ff;border:1px solid #d1e1fa;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.artifact-card__icon{color:#2371e7;background:#d8e7fd;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.artifact-card__icon svg{width:18px;height:18px}.artifact-card__copy{flex:auto;gap:3px;min-width:0;display:grid}.artifact-card__name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.artifact-card__hint{color:hsl(var(--muted-foreground));font-size:12px}.artifact-card__actions{flex:none;gap:6px;margin-left:auto;display:flex}.artifact-card__action{background:hsl(var(--background));color:#315b9b;white-space:nowrap;cursor:pointer;border:1px solid #becde4;border-radius:8px;flex:none;align-items:center;gap:5px;min-height:30px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.artifact-card__action:hover:not(:disabled){background:#ebf3ff}.artifact-card__action:disabled{cursor:default;opacity:.55}.artifact-card__action svg{width:14px;height:14px}.artifact-card__action--primary{color:#fff;background:#2c77e8;border-color:#3e81e5}.artifact-card__action--primary:hover:not(:disabled){background:#1867dc}.artifact-card__error{color:hsl(var(--destructive));font-size:12px}.artifact-preview{z-index:1200;place-items:center;padding:28px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.artifact-preview__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:default;background:#0b182b94;border:0;position:absolute;top:0;right:0;bottom:0;left:0}.artifact-preview__panel{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:16px;grid-template-rows:auto minmax(0,1fr);width:min(1120px,92vw);max-height:90vh;display:grid;position:relative;overflow:hidden;box-shadow:0 26px 80px #0b182b4d}.artifact-preview__header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:0 16px 0 20px;font-size:14px;font-weight:600;display:flex}.artifact-preview__header button{width:32px;height:32px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.artifact-preview__header button:hover{background:hsl(var(--muted))}.artifact-preview__header svg{width:17px;height:17px}.artifact-preview__canvas{background:#eceff3;min-height:0;padding:18px;overflow:auto}.artifact-preview__canvas img{border-radius:8px;width:100%;height:auto;display:block;box-shadow:0 6px 24px #0b182b29}.turn-actions{align-items:center;gap:2px;display:inline-flex}.turn-actions--right{opacity:0;align-self:flex-end;margin-top:2px;transition:opacity .15s}.turn--assistant:hover .turn-meta,.turn--user:hover .turn-actions--right{opacity:1}.icon-btn{width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.icon-btn:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn:disabled:hover{color:hsl(var(--muted-foreground));background:0 0}.icon-btn .icon{width:15px;height:15px}.feedback-btn:hover,.feedback-btn--good,.feedback-btn--bad,.feedback-btn--good:hover,.feedback-btn--bad:hover{color:hsl(var(--foreground));background:0 0}.feedback-btn[aria-busy=true]{opacity:1}.feedback-btn--good[aria-busy=true]:hover,.feedback-btn--bad[aria-busy=true]:hover{color:hsl(var(--foreground))}.feedback-btn .icon{width:18px;height:18px}.meta-text{white-space:nowrap;color:hsl(var(--muted-foreground));font-size:12px}.turn-actions--right{gap:6px}.drawer-scrim{background:hsl(var(--foreground) / .2);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;animation:.2s fade;position:fixed;top:0;right:0;bottom:0;left:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer{background:hsl(var(--background));border-left:1px solid hsl(var(--border));width:min(560px,92vw);box-shadow:-12px 0 40px hsl(var(--foreground) / .14);z-index:41;flex-direction:column;animation:.24s cubic-bezier(.22,1,.36,1) slidein;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slidein{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-head{border-bottom:1px solid hsl(var(--border));background:hsl(var(--canvas));justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.drawer-title{letter-spacing:-.01em;font-size:15px;font-weight:650}.drawer-sub{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;margin-top:3px;font-size:12px}.drawer-close{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;border-radius:6px;padding:6px;display:flex}.drawer-close:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.drawer-body{flex:1;padding:16px 18px;overflow:auto}.drawer-loading,.drawer-empty{color:hsl(var(--muted-foreground));align-items:center;gap:8px;font-size:14px;display:flex}.drawer-loading{flex:1;justify-content:center;padding:24px}.drawer-empty{padding:20px 0}.drawer--trace{width:min(1080px,96vw)}.trace-split{flex:1;min-height:0;display:flex}.trace-tree{border-right:1px solid hsl(var(--border));flex:1.25;min-width:0;padding:8px 6px;overflow:auto}.trace-row{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:5px 8px;transition:background .1s;display:flex}.trace-row:hover{background:hsl(var(--foreground) / .04)}.trace-row.active{background:hsl(var(--primary) / .07);box-shadow:inset 2px 0 hsl(var(--primary) / .55)}.trace-label{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.trace-caret{width:16px;height:16px;color:hsl(var(--muted-foreground));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.trace-caret.hidden{visibility:hidden}.trace-caret .chev{width:13px;height:13px;transition:transform .18s}.trace-caret.open .chev{transform:rotate(90deg)}.trace-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.trace-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.trace-dur{text-align:right;width:66px;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.trace-track{background:hsl(var(--foreground) / .05);border-radius:5px;flex:0 0 34%;height:16px;position:relative}.trace-bar{opacity:.9;border-radius:4px;min-width:3px;height:8px;position:absolute;top:4px}.trace-detail{flex:1;min-width:0;padding:18px 20px;overflow:auto}.td-title{letter-spacing:-.01em;word-break:break-all;font-size:15px;font-weight:600}.td-dur{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;align-items:center;gap:7px;margin-top:4px;font-size:12px;display:flex}.td-dot{border-radius:50%;width:8px;height:8px}.td-section{letter-spacing:.01em;color:hsl(var(--foreground));margin:22px 0 9px;font-size:12px;font-weight:650}.td-props{flex-direction:column;display:flex}.td-prop{border-bottom:1px solid hsl(var(--border));gap:16px;padding:7px 0;font-size:13px;display:flex}.td-key{color:hsl(var(--muted-foreground));flex-shrink:0;min-width:140px}.td-val{text-align:right;word-break:break-word;font-variant-numeric:tabular-nums;flex:1;min-width:0}.td-pre{background:hsl(var(--canvas));border:1px solid hsl(var(--border));white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:320px;margin:0;padding:11px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;overflow:auto}.composer{width:100%;max-width:768px;margin:0 auto;padding:6px 16px 18px}.conversation-composer-slot{padding:6px 16px 18px}.conversation-composer-slot>.composer-slot>.composer{padding:0}.composer--new-chat{position:relative}.composer-box{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:26px;align-items:flex-end;gap:6px;padding:6px 6px 6px 8px;display:flex;position:relative}.composer--new-chat .composer-box{z-index:2;border-color:hsl(var(--border) / .55);border-radius:16px;min-height:136px;padding:10px;display:block;box-shadow:0 8px 32px #00000007,0 24px 72px 8px #00000005}.composer-input-stack{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.composer-input-stack .comp-input{width:100%}.composer--new-chat .composer-input-stack{min-height:114px}.composer--new-chat .comp-input{min-height:76px;padding:4px 10px}.composer--new-chat .comp-input::placeholder{color:#0000}.composer-placeholder-reveal{z-index:1;width:max-content;max-width:calc(100% - 20px);color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-size:15px;line-height:1.5;position:absolute;top:4px;left:10px;overflow:hidden}.composer--new-chat .composer-menu-wrap{height:36px;position:absolute;bottom:10px;left:10px}.composer--new-chat .new-chat-mode{align-items:center;min-height:36px;display:flex;position:absolute;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-mode{left:138px}.composer--new-chat.composer--task-image .new-chat-mode,.composer--new-chat.composer--task-video .new-chat-mode{left:176px}.new-chat-task-chip{z-index:2;color:#7a5bae;width:78px;height:36px;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:15px;line-height:1;transition:background .15s,transform .15s;display:inline-flex;position:absolute;bottom:10px;left:52px}.new-chat-task-chip--image,.new-chat-task-chip--video{width:116px}.new-chat-task-chip>span:last-child{white-space:nowrap;flex:none}.new-chat-task-chip:hover,.new-chat-task-chip:focus-visible{background:#f4f1f8;outline:none}.new-chat-task-chip:active{transform:scale(.97)}.new-chat-task-chip:disabled{cursor:default;opacity:.5}.new-chat-task-chip__icon{border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;display:grid;position:relative}.new-chat-task-chip__task-icon,.new-chat-task-chip__remove-icon{width:18px;height:18px;transition:opacity .12s,transform .15s;position:absolute}.new-chat-task-chip__remove-icon{color:#fff;opacity:0;box-sizing:content-box;background:#896bbd;border-radius:50%;width:12px;height:12px;padding:3px;transform:scale(.72)}.new-chat-task-chip:hover .new-chat-task-chip__task-icon,.new-chat-task-chip:focus-visible .new-chat-task-chip__task-icon{opacity:0;transform:scale(.72)}.new-chat-task-chip:hover .new-chat-task-chip__remove-icon,.new-chat-task-chip:focus-visible .new-chat-task-chip__remove-icon{opacity:1;transform:scale(1)}.composer--new-chat .comp-send{position:absolute;bottom:10px;right:10px}.composer--new-chat .comp-send .icon{width:20px;height:20px}.task-shortcuts{z-index:1;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex;position:absolute;top:calc(100% + 18px);left:0}.task-shortcut{border:1px solid hsl(var(--border) / .72);background:hsl(var(--background));min-width:92px;height:40px;color:hsl(var(--muted-foreground));font:inherit;white-space:nowrap;cursor:pointer;opacity:0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:13px;line-height:1;transition:border-color .14s,background .14s,color .14s,transform .14s;animation:.32s cubic-bezier(.22,1,.36,1) forwards task-shortcut-enter;display:inline-flex;transform:translateY(6px)}.task-shortcut>span{white-space:nowrap}.task-shortcut:nth-child(2){animation-delay:45ms}.task-shortcut:nth-child(3){animation-delay:90ms}.task-shortcut:nth-child(4){animation-delay:.135s}.task-shortcut:hover{color:#7454ab;background:#f6f5fa;border-color:#8970b257;transform:translateY(-1px)}.task-shortcut:focus-visible{outline-offset:2px;outline:2px solid #8970b257}.task-shortcut:disabled{cursor:not-allowed;opacity:.5}.task-shortcut>svg{stroke:currentColor;flex:none;width:18px;height:18px}.prompt-suggestions{z-index:1;gap:3px;width:100%;display:grid;position:absolute;top:calc(100% + 18px);left:0}.prompt-suggestion{width:100%;min-height:46px;color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer;opacity:0;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:8px 14px;font-size:15px;line-height:1.5;transition:background .14s,color .14s,transform .14s;animation:.44s cubic-bezier(.22,1,.36,1) forwards prompt-suggestion-enter;display:flex;transform:translateY(10px)}.prompt-suggestion:nth-child(2){animation-delay:65ms}.prompt-suggestion:nth-child(3){animation-delay:.13s}.prompt-suggestion:nth-child(4){animation-delay:.195s}.prompt-suggestion:hover{background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.prompt-suggestion:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:-2px}.prompt-suggestion:disabled{cursor:not-allowed;opacity:.5}.prompt-suggestion>svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px;transform-origin:50%;flex:none;width:18px;height:18px;transition:transform .22s cubic-bezier(.22,1,.36,1)}.prompt-suggestion>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-height:1.5em;transition:max-height .22s cubic-bezier(.22,1,.36,1);display:block;overflow:hidden}.prompt-suggestion:hover>span,.prompt-suggestion:focus-visible>span{white-space:normal;text-overflow:clip;max-height:4.5em}.prompt-suggestion:first-child:hover>svg{transform:rotate(-8deg)scale(1.06)}.prompt-suggestion:nth-child(2):hover>svg{transform:rotate(6deg)scale(1.07)}.prompt-suggestion:nth-child(3):hover>svg{transform:rotate(-5deg)scale(1.06)}.prompt-suggestion:nth-child(4):hover>svg{transform:rotate(5deg)scale(1.06)}@keyframes prompt-suggestion-enter{to{opacity:1;transform:translateY(0)}}@keyframes task-shortcut-enter{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.task-shortcut,.prompt-suggestion,.new-chat-task-chip,.new-chat-task-chip__task-icon,.new-chat-task-chip__remove-icon{opacity:1;transition:none;animation:none;transform:none}.prompt-suggestion>svg,.prompt-suggestion>span{transition:none}.prompt-suggestion:hover>svg{transform:none}}.composer-meta{min-width:0;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;gap:8px;padding:7px 12px 0;font-size:11px;line-height:1.4;display:flex}.composer-session-line{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.composer-session-id{text-overflow:ellipsis;max-width:300px;font-family:inherit;overflow:hidden}.composer-session-copy{width:18px;height:18px;color:inherit;cursor:pointer;opacity:.72;background:0 0;border:0;border-radius:4px;flex:0 0 18px;place-items:center;padding:0;transition:background .12s,color .12s,opacity .12s;display:inline-grid}.composer-session-copy:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground));opacity:1}.composer-session-copy svg{width:11px;height:11px}.composer-meta-separator{opacity:.55}.comp-input{resize:none;color:hsl(var(--foreground));font:inherit;background:0 0;border:none;outline:none;flex:1;max-height:200px;padding:8px 4px;font-size:15px;line-height:1.5;overflow-y:auto}.comp-input::placeholder{color:hsl(var(--muted-foreground))}.comp-icon{width:36px;height:36px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.comp-icon:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.composer-submit-actions{flex-shrink:0;align-items:center;gap:6px;height:36px;display:flex}.composer--new-chat .composer-submit-actions{display:contents}.comp-send{background:hsl(var(--primary));width:36px;height:36px;color:hsl(var(--primary-foreground));cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,transform .1s;display:flex}.comp-send .icon{width:20px;height:20px}.comp-send:hover:not(:disabled){opacity:.85}.comp-send:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.comp-send:active:not(:disabled){transform:scale(.94)}.comp-send:disabled{opacity:.3;cursor:default}.token-usage-indicator{z-index:3;width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:default;border-radius:999px;outline:none;flex:0 0 28px;place-items:center;transition:background-color .14s,color .14s;display:grid;position:relative}.token-usage-indicator:hover{background:hsl(var(--muted) / .72);color:hsl(var(--foreground) / .68)}.token-usage-indicator:focus-visible{color:hsl(var(--foreground) / .68);outline:2px solid hsl(var(--ring) / .45);outline-offset:1px}.token-usage-ring{width:16px;height:16px;overflow:visible}.token-usage-ring__track,.token-usage-ring__value{fill:none;transform-origin:50%;transform:rotate(-90deg)}.token-usage-ring__track{stroke:hsl(var(--muted-foreground) / .3);stroke-width:2.25px}.token-usage-ring__value{stroke:currentColor;stroke-width:2.75px;stroke-linecap:butt;transition:stroke-dasharray .18s ease-out}.token-usage-tooltip{--token-context-system:#4e545f;--token-context-input:#5685b3;--token-context-output:#c48945;--token-context-remaining:hsl(var(--muted));z-index:30;border:1px solid hsl(var(--border));background:hsl(var(--panel));width:360px;box-shadow:0 10px 30px hsl(var(--foreground) / .12);color:hsl(var(--foreground));text-align:left;visibility:hidden;opacity:0;pointer-events:none;border-radius:12px;padding:12px 14px;font-size:12px;font-weight:400;line-height:1.5;transition:visibility 0s linear .14s,opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 10px);right:-42px;transform:translateY(4px)}.token-usage-indicator:hover .token-usage-tooltip,.token-usage-indicator:focus-visible .token-usage-tooltip{visibility:visible;opacity:1;transition-delay:0s;transform:translateY(0)}.token-usage-tooltip__header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.token-usage-tooltip__header strong{font-size:13px;font-weight:600}.token-usage-tooltip__header span{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:500}.token-usage-tooltip__title{color:hsl(var(--muted-foreground));margin-bottom:4px;font-size:11.5px;font-weight:500}.token-usage-tooltip__unknown{font-size:13px;font-weight:550}.token-context-grid{background:hsl(var(--muted) / .34);border-radius:9px;grid-template-columns:repeat(10,10px);align-self:start;gap:4px;padding:10px;display:grid}.token-context-breakdown{grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:16px;display:grid}.token-context-cell{background:var(--token-context-remaining);width:10px;height:10px;box-shadow:inset 0 0 0 1px hsl(var(--border) / .72);border-radius:2px;display:flex;overflow:hidden}.token-context-cell__slice{min-width:0;height:100%}.token-context-cell__slice.is-system,.token-context-swatch.is-system{background:var(--token-context-system)}.token-context-cell__slice.is-input,.token-context-swatch.is-input{background:var(--token-context-input)}.token-context-cell__slice.is-output,.token-context-swatch.is-output{background:var(--token-context-output)}.token-context-cell__slice.is-remaining,.token-context-swatch.is-remaining{background:var(--token-context-remaining)}.token-context-legend{gap:9px;margin:0;padding:6px 0;display:grid}.token-context-legend>div{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.token-context-legend dt{min-width:0;color:hsl(var(--muted-foreground));white-space:nowrap;align-items:center;gap:5px;display:flex}.token-context-legend dd{white-space:nowrap;margin:0;font-weight:550}.token-context-legend em{background:hsl(var(--muted));border-radius:999px;padding:1px 4px;font-size:9.5px;font-style:normal;font-weight:500;line-height:1.35}.token-context-summary{border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));gap:2px;margin-top:12px;padding-top:10px;font-size:11.5px;display:grid}.token-context-summary strong{color:hsl(var(--foreground));font-weight:600}.token-context-swatch{width:8px;height:8px;box-shadow:inset 0 0 0 1px hsl(var(--border) / .72);border-radius:2px;flex:0 0 8px}.token-usage-tooltip__overflow{color:hsl(var(--destructive));margin-top:9px;font-size:11px;font-weight:500}.token-usage-tooltip__model{border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;margin-top:10px;padding-top:8px;font-size:11px;overflow:hidden}@media (prefers-reduced-motion:reduce){.token-usage-indicator,.token-usage-ring__value,.token-usage-tooltip{transition:none}}.invocation-chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.composer>.invocation-chips{padding:0 8px 8px}.turn--user>.invocation-chips{justify-content:flex-end;margin-bottom:6px}.invocation-chip{border:1px solid hsl(var(--border));background:hsl(var(--background));max-width:260px;min-height:28px;color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .025);border-radius:8px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;font-weight:560;line-height:1.2;display:inline-flex}.invocation-chip--skill{color:#267848}.invocation-chip--agent{color:#2762b0}.invocation-chip>svg{flex:none;width:13px;height:13px}.invocation-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.invocation-chip button{color:currentColor;cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;width:17px;height:17px;margin:-1px -3px -1px 1px;padding:0;display:inline-flex}.invocation-chip button:hover{background:hsl(var(--accent));opacity:1}.invocation-chip button svg{width:11px;height:11px}.composer-command-menu{z-index:34;border:1px solid hsl(var(--border));background:hsl(var(--background));width:min(500px,100vw - 48px);box-shadow:0 2px 7px hsl(var(--foreground) / .08),0 22px 60px -24px hsl(var(--foreground) / .28);transform-origin:0 100%;border-radius:14px;animation:.13s ease-out command-menu-in;position:absolute;bottom:calc(100% + 10px);left:0;overflow:hidden}@keyframes command-menu-in{0%{opacity:0;transform:translateY(5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.composer-command-head{border-bottom:1px solid hsl(var(--border));height:38px;color:hsl(var(--muted-foreground));letter-spacing:.02em;align-items:center;gap:7px;padding:0 10px 0 12px;font-size:11px;font-weight:650;display:flex}.composer-command-head>svg{width:13px;height:13px}.composer-command-head>span{flex:1}.composer-command-menu kbd{border:1px solid hsl(var(--border));background:hsl(var(--canvas));min-width:22px;color:hsl(var(--muted-foreground));text-align:center;border-radius:5px;padding:2px 5px;font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.composer-command-list{max-height:min(330px,42vh);padding:5px;display:grid;overflow-y:auto}.composer-command-item{width:100%;min-height:52px;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;display:grid}.composer-command-item.is-active{background:hsl(var(--accent))}.composer-command-icon{border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.composer-command-icon--skill{color:#218349;background:#e7f8ee}.composer-command-icon--agent{color:#2664b5;background:#e9f1fc}.composer-command-icon svg{width:16px;height:16px}.composer-command-copy{gap:3px;min-width:0;display:grid}.composer-command-copy strong{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:620;line-height:1.2;overflow:hidden}.composer-command-copy>span{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;overflow:hidden}.composer-command-empty{min-height:68px;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;gap:7px;padding:14px;font-size:12px;display:flex}.composer-command-empty svg{width:14px;height:14px}.composer-menu-wrap{flex-shrink:0;position:relative}.composer-menu{z-index:31;background:hsl(var(--background));border:1px solid hsl(var(--border));min-width:168px;box-shadow:0 6px 20px hsl(var(--foreground) / .12);border-radius:12px;margin-bottom:6px;padding:4px;position:absolute;bottom:100%;left:0}.media-grid{flex-wrap:wrap;gap:8px;max-width:min(620px,100%);display:flex}.turn--user .media-grid{justify-content:flex-end}.composer>.media-grid{justify-content:flex-start;padding:0 8px 9px}.media-card{border:1px solid hsl(var(--border));background:hsl(var(--background));width:272px;min-width:0;box-shadow:0 1px 2px hsl(var(--foreground) / .025);border-radius:14px;transition:border-color .16s,box-shadow .16s,transform .16s;position:relative;overflow:visible}.media-card:hover{border-color:hsl(var(--foreground) / .2);box-shadow:0 8px 28px -20px hsl(var(--foreground) / .28);transform:translateY(-1px)}.media-card--image{width:176px}.media-grid--compact .media-card{width:224px}.media-grid--compact .media-card--image{width:92px}.media-card-main{border-radius:inherit;width:100%;min-width:0;height:68px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;padding:10px 12px;display:flex}.media-card-main:disabled{cursor:default}.media-card--image .media-card-main{height:132px;padding:4px;display:block}.media-grid--compact .media-card-main{height:58px;padding:8px 10px}.media-grid--compact .media-card--image .media-card-main{height:72px;padding:3px}.media-card-image{object-fit:cover;background:hsl(var(--muted));border-radius:10px;width:100%;height:100%;display:block}.media-card--image .media-card-copy,.media-card--image .media-card-open{display:none}.media-card-icon{width:40px;height:44px;color:hsl(var(--muted-foreground));background:hsl(var(--muted));border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.media-card--pdf .media-card-icon{color:#db2a24;background:#fdeded}.media-card--video .media-card-icon{color:#226cd3;background:#edf3fd}.media-card--markdown .media-card-icon{color:#259353;background:#ebfaf1}.media-card-icon svg{width:21px;height:21px}.media-card-video-container{background:#131316;place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.media-card-video{object-fit:cover;opacity:.85;width:100%;height:100%}.media-card-video-play{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:50%;place-items:center;width:48px;height:48px;transition:transform .18s,background .18s;display:grid;position:absolute;transform:scale(1)}.media-card-video-play svg{width:20px;height:20px;margin-left:3px}.media-card-main:hover .media-card-video-play{background:#000000b3;transform:scale(1.08)}.media-card-copy{flex:1;gap:5px;min-width:0;display:grid}.media-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:560;line-height:1.2;overflow:hidden}.media-card-meta{min-width:0;color:hsl(var(--muted-foreground));align-items:center;gap:5px;font-size:11px;line-height:1.2;display:flex}.media-card-type{letter-spacing:.06em;font-size:9px;font-weight:700}.media-card-open{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;flex:none;transition:opacity .15s}.media-card:hover .media-card-open{opacity:1}.media-card-spinner{width:12px;height:12px;animation:.85s linear infinite spin}.media-card--error{border-color:hsl(var(--destructive) / .42)}.media-card--error .media-card-meta{color:hsl(var(--destructive))}.media-card-remove{z-index:2;border:1px solid hsl(var(--border));background:hsl(var(--background));width:21px;height:21px;color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .12);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:-7px;right:-7px}.media-card-remove:hover{color:hsl(var(--foreground))}.media-card-remove svg{width:12px;height:12px}.media-viewer-backdrop{z-index:90;-webkit-backdrop-filter:blur(12px)saturate(.8);backdrop-filter:blur(12px)saturate(.8);background:#131316b8;place-items:center;padding:28px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.media-viewer{border:1px solid hsl(var(--foreground) / .13);background:hsl(var(--background));border-radius:18px;flex-direction:column;width:min(1080px,94vw);height:min(820px,90vh);display:flex;overflow:hidden;box-shadow:0 32px 100px #07070875}.media-viewer-header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--background) / .94);justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:9px 12px 9px 18px;display:flex}.media-viewer-header>div{gap:2px;min-width:0;display:grid}.media-viewer-header strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:620;overflow:hidden}.media-viewer-header span{color:hsl(var(--muted-foreground));font-size:11px}.media-viewer-header nav{gap:4px;display:flex}.media-viewer-header a,.media-viewer-header button{width:36px;height:36px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;padding:0;display:inline-flex}.media-viewer-header a:hover,.media-viewer-header button:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.media-viewer-header svg{width:17px;height:17px}.media-viewer-body{background:hsl(var(--canvas));flex:1;min-height:0;overflow:auto}.media-viewer-body--image,.media-viewer-body--video{background:#161618;place-items:center;padding:24px;display:grid}.media-viewer-body--image img,.media-viewer-body--video video{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.media-viewer-video-wrapper{place-items:center;width:100%;display:grid}.media-viewer-video{background:#000;border-radius:12px;max-width:100%;max-height:calc(90vh - 140px);box-shadow:0 4px 20px #0006}.media-viewer-body--pdf iframe{background:#fff;border:none;width:100%;height:100%;display:block}.media-document{border:1px solid hsl(var(--border));background:hsl(var(--background));width:min(820px,100% - 48px);box-shadow:0 12px 38px -30px hsl(var(--foreground) / .3);border-radius:12px;margin:24px auto;padding:34px 40px}.media-document--plain{white-space:pre-wrap;word-break:break-word;min-height:calc(100% - 48px);font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.media-viewer-loading{height:100%;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.media-viewer-loading svg{width:17px;height:17px;animation:.85s linear infinite spin}@media (max-width:640px){.composer-command-menu{width:auto;right:0}.media-card{width:min(272px,82vw)}.media-viewer-backdrop{padding:0}.media-viewer{border:none;border-radius:0;width:100vw;height:100vh}.media-document{width:calc(100% - 24px);margin:12px auto;padding:22px 18px}.md .image-preview-trigger{max-width:100%}}.a2ui-surface{width:100%;max-width:360px;font-size:14px}.a2ui-card{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 1px 2px hsl(var(--foreground) / .04),0 8px 24px -16px hsl(var(--foreground) / .18);border-radius:8px;padding:18px}.a2ui-column,.a2ui-row{gap:10px}.a2ui-text{color:hsl(var(--foreground));margin:0;line-height:1.5}.a2ui-text--h1{letter-spacing:0;font-size:19px;font-weight:650}.a2ui-text--h2{letter-spacing:0;font-size:16px;font-weight:650}.a2ui-text--h3{font-size:14px;font-weight:600}.a2ui-text--h4{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:600}.a2ui-text--caption{color:hsl(var(--muted-foreground));font-size:12px}.a2ui-text--body{font-size:14px}.a2ui-icon{color:hsl(var(--muted-foreground));justify-content:center;align-items:center;font-size:15px;line-height:1;display:inline-flex}.a2ui-divider--h{background:hsl(var(--border));width:100%;height:1px;margin:4px 0}.a2ui-divider--v{background:hsl(var(--border));align-self:stretch;width:1px}.a2ui-button{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));cursor:pointer;font:inherit;border:1px solid #0000;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,opacity .15s}.a2ui-button:hover{background:hsl(var(--accent))}.a2ui-button--primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.a2ui-button--primary:hover{background:hsl(var(--primary));opacity:.88}.a2ui-button--borderless{color:hsl(var(--foreground));background:0 0}.a2ui-button--borderless:hover{background:hsl(var(--accent))}.a2ui-surface[data-a2ui-surface^=flight-]{max-width:520px}.a2ui-surface[data-a2ui-surface^=flight-] .a2ui-card{background:linear-gradient(180deg,#f6fbfe,hsl(var(--card)) 42%),hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .05),0 18px 48px -28px #283d5359;border-color:#d7e0ea;padding:0;overflow:hidden}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-content]{gap:16px;padding:18px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-top]{gap:12px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-brand]{min-width:0}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-brand-icon]{color:#004fa3;background:#006fe61a;border-radius:999px;width:28px;height:28px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-title]{color:#41454e;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-status-chip]{background:#e3f8ed;border:1px solid #bbe7d2;border-radius:999px;flex-shrink:0;gap:6px;padding:5px 9px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-status-chip] .a2ui-icon,.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-status-text]{color:#126e41}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-hero]{background:hsl(var(--background) / .88);border:1px solid #dde6ee;border-radius:8px;gap:16px;padding:18px;position:relative}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-origin],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-destination]{flex:1 1 0;gap:2px;min-width:0}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-origin-code],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-destination-code]{color:#191d24;font-size:34px;font-weight:760;line-height:1}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-origin-label],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-destination-label]{color:#717784;font-size:11px;font-weight:700}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-origin-city],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-destination-city]{color:#545964;font-size:13px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-route-mark]{flex:none;gap:3px;padding:0 4px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-route-icon]{color:#0054ad;background:#006fe61f;border-radius:999px;width:34px;height:34px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-duration],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-aircraft]{white-space:nowrap;font-size:11px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-times],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-details]{gap:10px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-departure-time],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-arrival-time],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-terminal],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-gate],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-boarding]{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;flex:1 1 0;gap:2px;min-width:0;padding:11px 12px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-departure-value],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-arrival-value]{font-size:14px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-departure-airport],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-arrival-airport]{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-terminal-value],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-gate-value],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-boarding-value]{font-size:20px;line-height:1.15}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-footer]{gap:10px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-divider]{background:#d9e0e8;margin:0}@media (max-width:520px){.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-content]{padding:14px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-hero],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-times],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-details]{flex-wrap:wrap}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-route-mark]{order:3;width:100%}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-terminal],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-gate],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-boarding]{min-width:120px}.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-origin-code],.a2ui-surface[data-a2ui-surface^=flight-] [data-a2ui-id=flight-destination-code]{font-size:34px}}.a2ui-fallback{background:hsl(var(--muted));border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));border-radius:10px;padding:8px 10px;font-size:12px}.a2ui-fallback pre{margin:6px 0 0;overflow-x:auto}.boot{background:hsl(var(--background));height:100vh}.boot-error{color:hsl(var(--foreground));flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.boot-error p{margin:0}.boot-error button,.login-provider-error button{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font:inherit;cursor:pointer;border-radius:8px;padding:7px 18px;font-size:13px}.boot-error button:hover,.login-provider-error button:hover{background:hsl(var(--accent))}.navbar{background:0 0;flex:0 0 54px;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:0 10px;display:flex}.navbar-left,.navbar-right,.navbar-default,.navbar-portal-slot,.navbar-portal-actions{align-items:center;display:flex}.navbar-left{flex:1;min-width:0;container-type:inline-size}.navbar-default{min-width:0}.navbar-title-group{align-items:center;gap:6px;min-width:0;display:flex}.loading-gap-spinner{box-sizing:border-box;border:1.5px solid #111;border-right-color:#0000;border-radius:50%;flex:0 0 16px;width:16px;height:16px;animation:.7s linear infinite loading-gap-spin;display:inline-block}@keyframes loading-gap-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-gap-spinner{animation-duration:1.4s}}.agent-info-trigger{width:30px;height:30px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:7px;flex:0 0 30px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.agent-info-trigger:hover,.agent-info-trigger[aria-expanded=true]{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.agent-info-trigger:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.agent-info-trigger svg{width:17px;height:17px}.navbar-right{flex:none;gap:10px;min-width:0}.navbar-portal-slot,.navbar-portal-actions{min-width:0}.navbar-portal-slot:empty,.navbar-portal-actions:empty,.navbar-left:has(.navbar-portal-slot:not(:empty))>.navbar-default{display:none}.global-deploy-center{z-index:38;position:relative}.global-deploy-task{border:1px solid hsl(var(--border));background:hsl(var(--background) / .82);max-width:300px;min-height:32px;color:hsl(var(--muted-foreground));font:inherit;white-space:nowrap;cursor:pointer;border-radius:7px;outline:none;align-items:center;gap:7px;padding:0 10px;font-size:12px;transition:border-color .12s,background-color .12s;display:flex}.global-deploy-task:hover{background:hsl(var(--background))}.global-deploy-task:focus-visible{border-color:hsl(var(--ring) / .32);box-shadow:0 0 0 2px hsl(var(--ring) / .07)}.global-deploy-task.is-idle{color:hsl(var(--muted-foreground))}.global-deploy-task.is-running{color:#1863b4;border-color:#0c77e93d}.global-deploy-task.is-success{color:#277c46;border-color:#279b5138}.global-deploy-task.is-error{border-color:hsl(var(--destructive) / .24);color:hsl(var(--destructive))}.global-deploy-task.is-cancelled{color:hsl(var(--muted-foreground))}.global-deploy-task-icon{flex:none;width:14px;height:14px}.global-deploy-task-detail{text-overflow:ellipsis;overflow:hidden}.global-deploy-task-chevron{flex:none;width:13px;height:13px;transition:transform .14s}.global-deploy-task-chevron.is-open{transform:rotate(180deg)}.global-deploy-task-scrim{z-index:1;background:0 0;border:0;padding:0;position:fixed;top:0;right:0;bottom:0;left:0}.global-deploy-popover{z-index:2;border:1px solid hsl(var(--border));background:hsl(var(--background));width:390px;max-width:calc(100vw - 32px);box-shadow:0 14px 36px hsl(var(--foreground) / .14);border-radius:10px;position:absolute;top:40px;right:0;overflow:hidden}.global-deploy-popover-head{border-bottom:1px solid hsl(var(--border));height:44px;color:hsl(var(--foreground));justify-content:space-between;align-items:center;padding:0 14px;font-size:13px;font-weight:650;display:flex}.global-deploy-popover-head span:last-child{background:hsl(var(--secondary));min-width:20px;color:hsl(var(--muted-foreground));text-align:center;border-radius:999px;padding:1px 6px;font-size:11px}.global-deploy-list{max-height:min(520px,100vh - 82px);padding:8px;overflow-y:auto}.global-deploy-empty{color:hsl(var(--muted-foreground));text-align:center;padding:34px 16px;font-size:12.5px}.global-deploy-item{border:1px solid hsl(var(--border) / .8);background:hsl(var(--canvas) / .42);border-radius:8px;padding:12px}.global-deploy-item+.global-deploy-item{margin-top:7px}.global-deploy-item-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.global-deploy-runtime-name{min-width:0;color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.global-deploy-status{color:hsl(var(--muted-foreground));flex:none;font-size:11.5px}.global-deploy-item.is-running .global-deploy-status{color:#1863b4}.global-deploy-item.is-success .global-deploy-status{color:#277c46}.global-deploy-item.is-error .global-deploy-status{color:hsl(var(--destructive))}.global-deploy-item.is-cancelled .global-deploy-status{color:hsl(var(--muted-foreground))}.global-deploy-meta{grid-template-columns:1fr 1fr;gap:9px 14px;margin:11px 0 0;display:grid}.global-deploy-meta>div{min-width:0}.global-deploy-meta dt{color:hsl(var(--muted-foreground));margin-bottom:3px;font-size:10.5px}.global-deploy-meta dd{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;overflow:hidden}.global-deploy-message{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;margin:10px 0 0;font-size:11.5px;line-height:1.45;overflow:hidden}.global-deploy-error{color:hsl(var(--muted-foreground));margin-top:10px;font-size:11.5px}.deploy-error-message-text{-webkit-line-clamp:3;overflow-wrap:anywhere;white-space:pre-wrap;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.deploy-error-message.is-expanded .deploy-error-message-text{-webkit-line-clamp:unset;max-height:280px;display:block;overflow:auto}.deploy-error-message-actions{justify-content:flex-end;gap:2px;margin-top:6px;display:flex}.deploy-error-message-actions button{width:26px;height:26px;color:inherit;cursor:pointer;opacity:.72;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.deploy-error-message-actions button:hover{background:hsl(var(--foreground) / .07);opacity:1}.deploy-error-message-actions button:disabled{cursor:default;opacity:.5}.deploy-error-message-actions .deploy-error-retry{width:auto;font:inherit;gap:5px;margin-right:auto;padding:0 8px;font-size:11.5px;font-weight:600}.deploy-error-message-actions svg{width:14px;height:14px}.global-deploy-progress{background:hsl(var(--foreground) / .08);border-radius:999px;height:3px;margin-top:10px;overflow:hidden}.global-deploy-progress span{border-radius:inherit;background:#2581e4;height:100%;transition:width .18s;display:block}.global-deploy-item-actions{justify-content:flex-end;margin-top:9px;display:flex}.global-deploy-item-actions button{border:1px solid hsl(var(--border));background:hsl(var(--background));min-height:27px;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;border-radius:5px;padding:0 9px;font-size:11.5px}.global-deploy-item-actions button:hover:not(:disabled){border-color:hsl(var(--destructive) / .3);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.global-deploy-item-actions button:disabled{opacity:.55;cursor:default}.navbar-title{letter-spacing:-.01em;color:hsl(var(--foreground));padding:5px 8px;font-size:16px;font-weight:650}.agent-dd{min-width:0;max-width:33.333cqw;position:relative}.agent-dd-trigger{color:hsl(var(--foreground));font:inherit;letter-spacing:-.01em;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;max-width:100%;padding:5px 8px;font-size:16px;font-weight:650;transition:background .12s;display:inline-flex}.agent-dd-trigger:hover{background:hsl(var(--foreground) / .05)}.agent-dd-current{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.agent-dd-chev{opacity:.6;width:16px;height:16px;transition:transform .2s}.agent-dd-chev.open{transform:rotate(180deg)}.agent-switch{letter-spacing:-.01em;align-items:center;gap:6px;min-width:0;max-width:33.333cqw;padding:5px 8px;font-size:16px;font-weight:650;display:inline-flex}.agent-switch-action{width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:7px;flex:0 0 28px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.agent-switch-action:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.agent-switch-action:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.agent-switch-action svg{width:16px;height:16px}@keyframes ddpop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.account{position:relative}.account-avatar{isolation:isolate;background:radial-gradient(circle at var(--avatar-x,32%) var(--avatar-y,30%),hsl(var(--avatar-hue-a,202) 100% 92%) 0 12%,hsl(var(--avatar-hue-a,202) 95% 75% / .76) 34%,transparent 62%),radial-gradient(ellipse at 82% 78%,hsl(var(--avatar-hue-c,185) 86% 49% / .88) 0 18%,transparent 58%),linear-gradient(142deg,hsl(var(--avatar-hue-b,222) 94% 83%),hsl(var(--avatar-hue-b,222) 95% 54%) 52%,hsl(var(--avatar-hue-c,185) 74% 62%));color:#152747e0;cursor:pointer;text-shadow:0 1px 2px #ffffff9e;width:32px;height:32px;box-shadow:none;background-position:20% 12%,80% 80%,50%;background-size:180% 180%,160% 160%,100% 100%;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:filter .16s,transform .16s;animation:9s ease-in-out infinite alternate avatar-smoke-drift;display:flex;position:relative;overflow:hidden}.account-avatar:hover{filter:saturate(1.12)brightness(1.03);transform:scale(1.035)}.account-avatar.has-image{text-shadow:none;animation:none}.account-avatar-image{z-index:1;border-radius:inherit;object-fit:cover;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}@keyframes avatar-smoke-drift{0%{background-position:18% 12%,82% 84%,50%}50%{background-position:58% 42%,54% 62%,50%}to{background-position:82% 70%,26% 24%,50%}}.account-avatar--lg{cursor:default;border-radius:11px;width:40px;height:40px;font-size:16px}.account-pop{z-index:31;background:hsl(var(--panel));border:1px solid hsl(var(--border));min-width:220px;box-shadow:0 8px 28px hsl(var(--foreground) / .14);border-radius:14px;padding:12px;animation:.12s ddpop;position:absolute;top:calc(100% + 8px);right:0}.account-head{align-items:center;gap:10px;display:flex}.account-id{flex:1;min-width:0}.account-name-row{align-items:center;gap:6px;min-width:0;display:flex}.account-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.account-sub{color:hsl(var(--muted-foreground));white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.account-action{width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;font-size:13px;transition:background .12s;display:flex}.account-action+.account-action{margin-top:2px}.account-action:hover{background:hsl(var(--foreground) / .05)}.account-action .icon{width:16px;height:16px;color:hsl(var(--muted-foreground))}.sidebar-footer{flex-shrink:0;margin-top:auto}.sidebar-feedback{width:calc(100% - 20px);height:36px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:32px minmax(0,1fr);align-items:center;column-gap:9px;margin:0 10px;padding:0 10px 0 8px;font-size:14px;transition:background .12s;display:grid}.sidebar-feedback:hover{background:#fffae6}.sidebar-feedback>.icon{justify-self:center}.sidebar-feedback:focus-visible{box-shadow:inset 0 0 0 2px hsl(var(--ring) / .3);outline:none}.sidebar-user{flex-shrink:0;padding:8px 10px 12px;position:relative}.sidebar-user-btn{width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:9px;padding:7px 8px;transition:background .12s;display:flex}.sidebar-user-btn:hover{background:hsl(var(--foreground) / .05)}.sidebar-user-identity{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sidebar-user-primary{align-items:center;gap:6px;min-width:0;display:flex}.sidebar-user-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.sidebar-user-email{text-align:left;min-width:0;color:hsl(var(--muted-foreground));white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.25;overflow:hidden}.studio-role-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:2px 5px;font-size:10px;font-weight:600;line-height:1.2}.studio-role-badge--admin{color:#7027b4;background:#8f37e11c;border-color:#7d2cc93d}.studio-role-badge--developer{color:#976507;background:#fac70f2e;border-color:#ce9b0d4d}.studio-role-badge--user{color:#1b7e43;background:#25b15f1f;border-color:#2994543d}.sidebar.is-collapsed .sidebar-user-btn{justify-content:center;gap:0;width:36px;height:36px;padding:2px;overflow:hidden}.sidebar.is-collapsed .sidebar-feedback{grid-template-columns:1fr;justify-content:center;column-gap:0;width:36px;margin-inline:10px;padding:9px;overflow:hidden}.sidebar.is-collapsed .sidebar-user-identity{display:none}.sidebar.is-collapsed .sidebar-user-pop{width:220px;left:8px;right:auto}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.sidebar-user-pop{position:absolute;inset:auto 10px calc(100% - 4px)}.skillcenter-pager button:focus-visible,.skill-detail-close:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:1px}.skillcenter-status{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:999px;flex-shrink:0;padding:2px 6px;font-size:10.5px;line-height:16px}.skillcenter-status.is-positive{color:#1d7742;background:#e7f8ee}.skillcenter-status.is-progress{color:#8d5911;background:#fdf5e3}.skillcenter-status.is-danger{color:hsl(var(--destructive));background:hsl(var(--destructive) / .09)}.skillcenter-pager{border-top:1px solid hsl(var(--border));height:44px;color:hsl(var(--muted-foreground));flex:0 0 44px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:11.5px;display:flex}.skillcenter-pager-actions{align-items:center;gap:7px;display:flex}.skillcenter-pager-actions>span{text-align:center;min-width:38px}.skillcenter-pager button,.skill-detail-close{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.skillcenter-pager button{width:26px;height:26px;padding:0}.skillcenter-pager button:hover:not(:disabled),.skill-detail-close:hover{color:hsl(var(--foreground));background:hsl(var(--accent))}.skillcenter-pager button:disabled{opacity:.35;cursor:default}.skillcenter-pager button .icon{width:17px;height:17px}.skillcenter-empty,.skillcenter-loading,.skillcenter-error{min-height:130px;color:hsl(var(--muted-foreground));text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;gap:8px;padding:24px;font-size:12.5px;line-height:1.55;display:flex}.skillcenter-error{color:hsl(var(--destructive))}.skillcenter-loading--overlay{z-index:2;background:hsl(var(--background) / .82);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);min-height:0;position:absolute;top:0;right:0;bottom:0;left:0}.skillcenter-loading-mark{border:1.5px solid hsl(var(--foreground) / .16);border-top-color:hsl(var(--foreground) / .62);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite spin}.skill-detail-backdrop{z-index:80;background:hsl(var(--foreground) / .25);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:16px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.skill-detail-dialog{border:1px solid hsl(var(--border));background:hsl(var(--background));width:min(760px,100%);height:min(760px,100%);min-height:0;box-shadow:0 18px 48px hsl(var(--foreground) / .16);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.skill-detail-head{border-bottom:1px solid hsl(var(--border));flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 14px;display:flex}.skill-detail-heading{align-items:flex-start;gap:11px;min-width:0;display:flex}.skill-detail-heading>div{min-width:0}.skill-detail-heading h2{text-overflow:ellipsis;white-space:nowrap;margin:1px 0 4px;font-size:16px;font-weight:650;line-height:22px;overflow:hidden}.skill-detail-heading p{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:17px;display:-webkit-box;overflow:hidden}.skill-detail-close{flex:0 0 30px;width:30px;height:30px;padding:0}.skill-detail-meta{border-bottom:1px solid hsl(var(--border));background:hsl(var(--canvas) / .45);flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:0;padding:14px 18px;display:grid}.skill-detail-meta>div{min-width:0}.skill-detail-meta dt{color:hsl(var(--muted-foreground));margin-bottom:3px;font-size:10.5px}.skill-detail-meta dd{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;line-height:17px;overflow:hidden}.skill-detail-content{flex-direction:column;flex:1;min-height:0;display:flex}.skill-detail-content-title{border-bottom:1px solid hsl(var(--border));flex:0 0 40px;align-items:center;height:40px;padding:0 18px;font-size:12px;font-weight:600;display:flex}.skill-detail-content>.skillcenter-loading,.skill-detail-content>.skillcenter-error,.skill-detail-content>.skillcenter-empty{flex:1;min-height:0}.skill-detail-markdown{overflow-wrap:anywhere;flex:1;min-height:0;padding:18px 22px 28px;overflow-y:auto}@media (max-width:760px){.skill-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.skill-detail-backdrop{padding:8px}.skill-detail-dialog{border-radius:10px}.skill-detail-meta{grid-template-columns:minmax(0,1fr);gap:8px;max-height:180px;overflow-y:auto}}.addagent{flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:8vh 16px 16px;display:flex;overflow-y:auto}.addagent-card{width:100%;max-width:480px}.addagent-title{letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:650}.addagent-sub{color:hsl(var(--muted-foreground));margin:0 0 22px;font-size:13px;line-height:1.6}.addagent-field{margin-bottom:14px;display:block}.addagent-label{color:hsl(var(--muted-foreground));margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.addagent-input{border:1px solid hsl(var(--border));width:100%;font:inherit;background:hsl(var(--background));color:hsl(var(--foreground));border-radius:10px;padding:10px 12px;font-size:14px}.addagent-input:focus{border-color:hsl(var(--ring) / .4);outline:none}.addagent-error{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));border-radius:10px;margin:4px 0 14px;padding:9px 12px;font-size:12.5px;line-height:1.5}.addagent-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.addagent-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;padding:9px 16px;font-size:14px;font-weight:500;transition:background .12s,opacity .12s;display:inline-flex}.addagent-btn--ghost{border-color:hsl(var(--border));color:hsl(var(--foreground));background:0 0}.addagent-btn--ghost:hover{background:hsl(var(--foreground) / .05)}.addagent-btn--primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.addagent-btn--primary:hover:not(:disabled){opacity:.88}.addagent-btn:disabled{opacity:.4;cursor:default}.addagent-btn .icon{width:15px;height:15px}.search{flex-direction:column;flex:1;width:100%;max-width:720px;min-height:0;margin:0 auto;padding:28px 16px 16px;display:flex}.search-box{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:12px;align-items:center;gap:0;padding:5px 6px;transition:border-color .16s,box-shadow .16s;display:flex;position:relative}.search-box:focus-within{border-color:hsl(var(--foreground) / .3);box-shadow:0 0 0 3px hsl(var(--foreground) / .035)}.search-source-picker-wrap{flex:none;position:relative}.search-source-picker{max-width:176px;height:34px;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.search-source-picker:hover,.search-source-picker[aria-expanded=true]{background:hsl(var(--foreground) / .045)}.search-source-picker>span{flex:none;font-size:13px;font-weight:550}.search-source-picker>small{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:400;overflow:hidden}.search-source-chevron{width:12px;height:12px;color:hsl(var(--muted-foreground));flex:none;transition:transform .15s}.search-source-chevron.open{transform:rotate(180deg)}.search-source-menu{z-index:30;border:1px solid hsl(var(--border));background:hsl(var(--panel));width:224px;box-shadow:0 12px 28px hsl(var(--foreground) / .1);border-radius:9px;flex-direction:column;padding:5px;display:flex;position:absolute;top:calc(100% + 9px);left:-6px}.search-source-menu>button{min-width:0;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:2px;padding:8px 9px;display:flex}.search-source-menu>button:hover:not(:disabled),.search-source-menu>button[aria-selected=true]{background:hsl(var(--foreground) / .055)}.search-source-menu>button:disabled{color:hsl(var(--muted-foreground));cursor:default}.search-source-menu>button>span{font-size:12.5px;font-weight:550}.search-source-menu>button>small{max-width:100%;color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.search-box-divider{background:hsl(var(--border));width:1px;height:18px;margin:0 11px 0 5px}.search-input{color:hsl(var(--foreground));font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:15px}.search-input::placeholder{color:hsl(var(--muted-foreground))}.search-input:disabled{cursor:default}.search-go{background:hsl(var(--primary));width:34px;height:34px;color:hsl(var(--primary-foreground));cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,transform .1s;display:flex}.search-go:hover:not(:disabled){opacity:.85}.search-go:active:not(:disabled){transform:scale(.94)}.search-go:disabled{opacity:.3;cursor:default}.search-go .icon{width:17px;height:17px}.search-results{flex-direction:column;flex:1;gap:4px;min-height:0;margin-top:12px;display:flex;overflow-y:auto}.search-empty{text-align:center;color:hsl(var(--muted-foreground));padding:40px 8px;font-size:13px}.search-result{text-align:left;width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;transition:background .12s;display:flex}.search-result:hover{background:hsl(var(--foreground) / .05)}.search-result-static{cursor:default;border:1px solid #0000}.search-result-static:hover{border-color:hsl(var(--border));background:hsl(var(--foreground) / .025)}a.search-result{color:inherit;text-decoration:none}.search-result-ext{vertical-align:-1px;opacity:.6;width:12px;height:12px;margin-left:4px}.search-result-icon{width:16px;height:16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:2px}.search-result-body{flex:1;min-width:0}.search-result-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.search-result-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.search-result-meta{color:hsl(var(--muted-foreground));flex-shrink:0;font-size:11.5px}.search-result-snippet{color:hsl(var(--muted-foreground));-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.search-result-snippet-expanded{-webkit-line-clamp:4;white-space:pre-wrap;overflow-wrap:anywhere}.login{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground));border-radius:14px;flex-direction:column;display:flex;position:fixed;top:10px;right:10px;bottom:10px;left:10px;overflow:hidden}.login-top{padding:18px 24px}.login-brand{letter-spacing:-.01em;align-items:center;gap:9px;font-size:15px;font-weight:600;display:inline-flex}.login-main{flex:1;justify-content:center;align-items:center;padding:0 24px;display:flex}.login-card{width:100%;max-width:420px}.login-title{letter-spacing:-.02em;margin:0 0 14px;font-size:28px;font-weight:700;line-height:1.2}.login-sub{color:hsl(var(--muted-foreground));margin:0 0 28px;font-size:15px}.login-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));width:100%;color:hsl(var(--foreground));font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:15px;font-weight:500;transition:background .15s,border-color .15s,transform .1s;display:flex}.login-btn:hover{background:hsl(var(--accent));border-color:hsl(var(--ring) / .3)}.login-btn:active{transform:scale(.99)}.login-btn .icon{width:18px;height:18px}.login-powered{color:hsl(var(--muted-foreground));margin:18px 0 0;font-size:12px}.login-legal{color:hsl(var(--muted-foreground));margin:6px 0 0;font-size:12px}.login-legal a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:hsl(var(--muted-foreground) / .45);text-decoration-color:hsl(var(--muted-foreground) / .45);text-underline-offset:2px;font-weight:600}.login-legal a:hover{color:hsl(var(--foreground))}.login-footer{text-align:center;color:hsl(var(--muted-foreground));padding:18px 24px;font-size:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.login-providers{flex-direction:column;gap:10px;display:flex}.login-provider-error{color:hsl(var(--destructive));flex-direction:column;align-items:flex-start;gap:12px;font-size:13px;display:flex}.login-provider-error p{margin:0}.login-name{align-items:center;gap:8px;display:flex}.login-name-input{border:1px solid hsl(var(--border));font:inherit;background:hsl(var(--background));color:hsl(var(--foreground));border-radius:14px;flex:1;padding:13px 16px;font-size:15px}.login-name-input:focus{border-color:hsl(var(--ring) / .4);outline:none}.login-name-go{background:hsl(var(--primary));width:36px;height:36px;color:hsl(var(--primary-foreground));cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.login-name-go .icon{width:18px;height:18px}.login-name-go:disabled{opacity:.35;cursor:default}.login-hint{min-height:16px;color:hsl(var(--destructive));margin:8px 0 0;font-size:12px;line-height:16px}.session-loading{z-index:5;color:hsl(var(--muted-foreground));background:hsl(var(--background) / .6);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.main{position:relative}.topo{background:hsl(var(--background));border:1px solid hsl(var(--border));width:288px;min-height:0;box-shadow:0 8px 24px hsl(var(--foreground) / .035);z-index:2;border-radius:18px;flex-direction:column;padding:16px;display:flex;position:absolute;top:28px;bottom:18px;right:18px;overflow:hidden}.topo.is-loading{place-items:center;min-height:88px;display:grid;bottom:auto}.topo.is-drawer{width:auto;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:22px;position:static;overflow:visible}.topo.is-loading.is-drawer{min-height:112px}.topo-loading-label{font-size:12px;line-height:1.5}.topo-agent-card{border:0;border-bottom:1px solid hsl(var(--border) / .72);background:0 0;border-radius:0;flex:none;min-width:0;padding:0 0 16px}.topo-agent-heading{flex-direction:column;gap:4px;min-width:0;display:flex}.topo-agent-heading h2{color:hsl(var(--foreground));letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:650;line-height:1.4;overflow:hidden}.topo-agent-heading>span{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.4;overflow:hidden}.topo-description{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:12px 0 0;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.topo-module-stack{flex:1;grid-template-rows:minmax(124px,.95fr) minmax(142px,1.15fr) minmax(160px,.9fr);gap:0;min-width:0;min-height:0;display:grid}.topo-module-card{background:0 0;border:0;border-radius:0;flex-direction:column;min-width:0;min-height:0;padding:14px 0;display:flex}.topo-module-card+.topo-module-card{border-top:1px solid hsl(var(--border) / .72)}.topo-module-title{min-height:20px;color:hsl(var(--muted-foreground));align-items:center;gap:6px;width:100%;margin-bottom:0;font-size:13px;font-weight:600;line-height:1;display:inline-flex;position:static}.topo-module-label{text-overflow:ellipsis;white-space:nowrap;align-items:center;height:20px;display:inline-flex;overflow:hidden}.topo-section-count{background:hsl(var(--muted) / .72);min-width:18px;height:18px;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:650;line-height:1;display:inline-flex}.topo-remove-capability:disabled,.topo-capability-add-slot:disabled{cursor:not-allowed;opacity:.45}.topo-module-scroll{box-sizing:border-box;overscroll-behavior:contain;scrollbar-color:hsl(var(--border)) transparent;scrollbar-width:thin;flex:1;min-height:24px;padding-top:9px;overflow-y:auto}.topo-module-scroll::-webkit-scrollbar{width:4px}.topo-module-scroll::-webkit-scrollbar-track{background:0 0}.topo-module-scroll::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:999px}.topo-module-scroll:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:3px;border-radius:5px}.topo-tools-scroll{max-height:104px}.topo-skills-scroll{max-height:152px}.topo-tool-list{flex-direction:column;min-width:0;display:flex}.topo-tool{min-width:0;color:hsl(var(--foreground));align-items:center;gap:6px;padding:7px 2px 7px 14px;font-size:12.5px;line-height:1.4;display:flex;position:relative}.topo-tool:before{content:"";border:1px solid hsl(var(--muted-foreground) / .7);border-radius:2px;width:5px;height:5px;position:absolute;top:13px;left:2px}.topo-tool:first-child{padding-top:0}.topo-tool:first-child:before{top:6px}.topo-tool:last-child{padding-bottom:1px}.topo-tool+.topo-tool{border-top:1px solid hsl(var(--border) / .72)}.topo-capability-title,.topo-skill-title{align-items:center;gap:6px;min-width:0;display:flex}.topo-capability-title{flex:1}.topo-capability-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.topo-capability-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.topo-capability-copy code{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9.5px;font-weight:450;line-height:1.25;overflow:hidden}.topo-capability-add-slot{border:1px dashed hsl(var(--border));background:hsl(var(--muted) / .18);width:100%;min-height:34px;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:6px;margin:0;padding:5px 10px;font-size:11.5px;transition:border-color .15s,background .15s,color .15s;display:flex}.topo-capability-add-dock{background:hsl(var(--background));flex:none;padding-top:6px}.topo-capability-add-slot>span:first-child{font-size:15px;line-height:1}.topo-capability-add-slot:hover:not(:disabled){border-color:hsl(var(--primary) / .55);background:hsl(var(--primary) / .055);color:hsl(var(--primary))}.topo-capability-add-slot:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:2px}.topo-custom-badge{background:hsl(var(--primary) / .1);height:17px;color:hsl(var(--primary));border-radius:5px;flex-shrink:0;align-items:center;padding:0 5px;font-size:9.5px;font-weight:650;line-height:1;display:inline-flex}.topo-remove-capability{width:20px;height:20px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;font-size:15px;line-height:1;display:inline-flex}.topo-remove-capability:hover:not(:disabled){background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.topo-skill-list{flex-direction:column;min-width:0;display:flex}.topo-skill{flex-direction:column;gap:2px;min-width:0;padding:8px 0;display:flex}.topo-skill:first-child{padding-top:0}.topo-skill:last-child{padding-bottom:1px}.topo-skill+.topo-skill{border-top:1px solid hsl(var(--border) / .72)}.topo-skill-name{min-width:0;color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500;line-height:1.45;overflow:hidden}.topo-skill-title{width:100%}.topo-skill-description{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.topo-empty{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.topo-topology{min-height:0}.topo-canvas-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.topo-canvas-expand,.topo-canvas-dialog-header button{width:30px;height:30px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.topo-canvas-expand:hover,.topo-canvas-dialog-header button:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.topo-canvas-expand:focus-visible,.topo-canvas-dialog-header button:focus-visible{outline:2px solid hsl(var(--ring) / .5);outline-offset:2px}.topo-canvas-expand svg,.topo-canvas-dialog-header button svg{width:16px;height:16px}.topo-canvas-preview{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:12px;flex:1;min-height:120px;position:relative;overflow:hidden}.topo-canvas-preview .abc-root,.topo-canvas-dialog-body .abc-root{border:0;flex:auto;width:100%;min-width:0;height:100%}.topo-canvas-preview .abc-minimap{display:none}.topo-canvas-dialog{z-index:1200;background:hsl(var(--background));flex-direction:column;min-width:0;min-height:0;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.topo-canvas-dialog-header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:0 24px;display:flex}.topo-canvas-dialog-header>div{align-items:baseline;gap:10px;min-width:0;display:flex}.topo-canvas-dialog-header strong{font-size:15px;font-weight:600}.topo-canvas-dialog-header span{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.topo-canvas-dialog-body{flex:1;min-width:0;min-height:0;padding:16px;display:flex}.topo-canvas-dialog-body .abc-canvas{border:1px solid hsl(var(--border));border-radius:16px;overflow:hidden}@media (max-width:640px){.topo-canvas-dialog-header{padding:0 16px}.topo-canvas-dialog-body{padding:8px}}.topo-canvas-heading .topo-section-count{flex-shrink:0}@media (min-width:1280px){.agent-info-trigger{display:none}.topo:not(.is-drawer) .topo-module-scroll{max-height:none}.main:has(>.topo)>.transcript{padding-right:322px}.main:has(>.topo)>.conversation-composer-slot{padding-left:16px;padding-right:322px}.conversation-composer-slot>.composer-slot>.composer{margin-left:auto;margin-right:auto}}@media (max-width:1279px){.topo{display:none}.topo.is-drawer{display:block}.topo.is-drawer .topo-module-stack{flex-direction:column;display:flex}}@media (prefers-reduced-motion:reduce){.topo-node{transition:none}.topo-node.is-active,.topo-remote{animation:none}}.session-capability-dialog-layer{z-index:110;place-items:center;padding:24px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.session-capability-dialog-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1013187a;border:0;width:100%;height:100%;padding:0;position:absolute;top:0;right:0;bottom:0;left:0}.session-capability-dialog{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:16px;flex-direction:column;width:min(560px,100vw - 32px);max-height:min(720px,100vh - 48px);animation:.18s cubic-bezier(.22,1,.36,1) session-capability-dialog-in;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #0d121c40,0 2px 8px #0d121c1f}.session-capability-dialog.is-wide{width:min(980px,100vw - 48px);height:min(720px,100dvh - 48px)}@keyframes session-capability-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.session-capability-dialog-head{border-bottom:1px solid hsl(var(--border));grid-template-columns:38px minmax(0,1fr) 32px;align-items:center;gap:12px;min-height:76px;padding:16px 18px;display:grid}.session-capability-dialog-head.is-iconless{grid-template-columns:minmax(0,1fr) 32px}.session-capability-dialog-mark{background:hsl(var(--primary) / .09);width:38px;height:38px;color:hsl(var(--primary));border-radius:11px;place-items:center;display:grid}.session-capability-dialog-mark svg{width:20px;height:20px}.session-capability-dialog-head h2{color:hsl(var(--foreground));letter-spacing:-.01em;margin:0;font-size:15px;font-weight:680}.session-capability-dialog-head p{color:hsl(var(--muted-foreground));margin:4px 0 0;font-size:11.5px;line-height:1.45}.session-capability-dialog-close{width:32px;height:32px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.session-capability-dialog-close:hover{background:hsl(var(--muted) / .7);color:hsl(var(--foreground))}.session-capability-dialog-close svg{width:18px;height:18px}.session-capability-search{border:1px solid hsl(var(--border));background:hsl(var(--background));min-width:0;height:40px;color:hsl(var(--muted-foreground));border-radius:6px;flex:0 0 40px;align-items:center;gap:8px;padding:0 12px;display:flex}.session-capability-search:focus-within{border-color:hsl(var(--ring) / .65);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.session-capability-search svg{flex:none;width:16px;height:16px}.session-capability-search input{width:100%;min-width:0;height:100%;color:hsl(var(--foreground));font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:12px}.session-capability-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.session-tool-dialog-body{flex-direction:column;gap:12px;min-height:0;padding:16px;display:flex}.session-tool-picker{overscroll-behavior:contain;flex-direction:column;gap:7px;min-height:120px;display:flex;overflow-y:auto}.session-tool-option,.session-skill-option{border:1px solid hsl(var(--border) / .85);background:hsl(var(--background));border-radius:10px;align-items:center;gap:10px;min-width:0;display:flex}.session-tool-option{min-height:72px;padding:10px 11px}.session-tool-option:hover,.session-skill-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--muted) / .22)}.session-tool-option-icon{background:hsl(var(--muted) / .75);width:32px;height:32px;color:hsl(var(--foreground) / .78);border-radius:9px;flex:0 0 32px;place-items:center;display:grid}.session-tool-option-icon svg{width:17px;height:17px}.session-tool-option-copy,.session-skill-option-copy{flex-direction:column;flex:1;min-width:0;display:flex}.session-tool-option-copy{gap:2px}.session-tool-option-copy strong,.session-skill-option-copy strong{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:620;overflow:hidden}.session-skill-option-copy strong{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.session-tool-option-copy code{color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.session-tool-option-copy>span,.session-skill-option-copy>span{color:hsl(var(--muted-foreground));-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.session-tool-option>button,.session-skill-option>button{background:hsl(var(--foreground));min-width:58px;height:30px;color:hsl(var(--background));font:inherit;cursor:pointer;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.session-tool-option>button:disabled,.session-skill-option>button:disabled{opacity:.42;cursor:default}.session-skill-option>button svg{width:13px;height:13px}.session-skill-dialog-body{flex-direction:column;flex:1;min-height:0;display:flex}.session-skill-source-tabs{border-bottom:1px solid hsl(var(--border));align-items:stretch;gap:24px;min-height:48px;padding:0 18px;display:flex}.session-skill-source-tabs button{color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 2px;font-size:12.5px;font-weight:600;display:inline-flex;position:relative}.session-skill-source-tabs button:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.session-skill-source-tabs button:hover,.session-skill-source-tabs button.is-active{color:hsl(var(--foreground))}.session-skill-source-tabs button.is-active:after{background:hsl(var(--foreground))}.session-skill-source-tabs button>span{background:hsl(var(--muted));height:18px;color:hsl(var(--muted-foreground));border-radius:5px;align-items:center;padding:0 6px;font-size:9.5px;font-weight:600;display:inline-flex}.session-public-skill-browser{flex-direction:column;flex:1;height:min(548px,100vh - 204px);min-height:0;display:flex}.session-public-skill-head{align-items:center;gap:12px;min-height:68px;padding:13px 16px;display:flex}.session-public-skill-head .session-capability-search{flex:1}.session-public-skill-head>span{color:hsl(var(--muted-foreground));flex:none;font-size:10.5px}.session-public-skill-list{overscroll-behavior:contain;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;min-height:0;padding:12px;display:grid;overflow-y:auto}.session-public-skill-list>.session-capability-empty,.session-public-skill-list>.session-capability-loading,.session-public-skill-list>.session-capability-error{grid-column:1/-1}.session-public-skill-option{min-height:106px;padding:11px}.session-public-skill-option .session-skill-option-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-skill-browser{flex:1;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.4fr);height:min(548px,100vh - 204px);min-height:0;display:grid}.session-skill-spaces,.session-skill-results{flex-direction:column;min-width:0;min-height:0;display:flex}.session-skill-spaces{border-right:1px solid hsl(var(--border));background:hsl(var(--muted) / .16)}.session-skill-pane-head{flex-direction:column;gap:10px;min-height:92px;padding:13px 14px;display:flex}.session-skill-pane-head>div{align-items:center;gap:7px;min-width:0;display:flex}.session-skill-pane-head strong{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:650;overflow:hidden}.session-skill-pane-head>div>span{background:hsl(var(--muted));min-width:19px;height:18px;color:hsl(var(--muted-foreground));border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;display:inline-flex}.session-skill-pane-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:7px;min-height:0;padding:10px;display:flex;overflow-y:auto}.session-skill-space{width:100%;min-height:76px;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:9px;padding:10px;display:flex}.session-skill-space:hover{background:hsl(var(--background) / .72)}.session-skill-space.is-active{border-color:hsl(var(--primary) / .28);background:hsl(var(--background));box-shadow:0 1px 3px hsl(var(--foreground) / .06)}.session-skill-space>span:last-child{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.session-skill-space strong,.session-skill-space small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-skill-space strong{font-size:12px;font-weight:620}.session-skill-space small{color:hsl(var(--muted-foreground));font-size:10.5px}.session-skill-space em{color:hsl(var(--muted-foreground));font-size:10px;font-style:normal}.session-skill-option{min-height:82px;padding:11px}.session-skill-option-copy{gap:4px}.session-skill-option-copy small{color:hsl(var(--muted-foreground) / .84);font-size:9.5px}.session-capability-empty,.session-capability-loading,.session-capability-error{min-height:120px;color:hsl(var(--muted-foreground));text-align:center;justify-content:center;align-items:center;font-size:12px;display:flex}.session-capability-error{color:hsl(var(--destructive))}@media (max-width:720px){.session-capability-dialog-layer{padding:12px}.session-capability-dialog.is-wide{width:calc(100vw - 24px);height:calc(100dvh - 24px)}.session-skill-browser{grid-template-rows:minmax(180px,.75fr) minmax(260px,1.25fr);grid-template-columns:1fr;height:min(620px,100vh - 170px)}.session-public-skill-browser{height:min(620px,100vh - 170px)}.session-public-skill-list{grid-template-columns:1fr}.session-skill-spaces{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion:reduce){.session-capability-dialog{animation:none}}.drawer--agent-info{border-right:1px solid hsl(var(--border));width:min(400px,92vw);box-shadow:12px 0 40px hsl(var(--foreground) / .14);border-left:0;animation:.22s cubic-bezier(.22,1,.36,1) agent-info-slide-in;left:0;right:auto}.agent-info-drawer-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}@keyframes agent-info-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.drawer--agent-info,.agent-info-scrim{animation:none}}.quick-create{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:0 24px 6vh;display:flex}.qc-head{text-align:center;margin-bottom:28px}.qc-title{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:650}.qc-sub{color:hsl(var(--muted-foreground));margin:8px 0 0;font-size:14px}.qc-cards{grid-template-columns:repeat(4,220px);justify-content:center;gap:16px;display:grid}@media (max-width:1240px){.qc-cards{grid-template-columns:repeat(2,220px)}}@media (max-width:560px){.qc-cards{grid-template-columns:minmax(0,320px)}}.qc-card{text-align:left;border:1px solid hsl(var(--border));background:hsl(var(--card));cursor:pointer;font:inherit;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:20px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.qc-card:hover{border-color:hsl(var(--ring) / .35);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.qc-card-arrow{width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .15s,transform .15s;position:absolute;top:18px;right:18px;transform:translate(-4px)}.qc-card:hover .qc-card-arrow{opacity:1;transform:translate(0)}.qc-icon{background:hsl(var(--secondary));width:40px;height:40px;color:hsl(var(--foreground));border-radius:12px;justify-content:center;align-items:center;margin-bottom:6px;display:inline-flex}.qc-icon svg{width:20px;height:20px}.qc-card-title{font-size:15px;font-weight:600}.qc-card-desc{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.navbar-title{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(60vw,640px);padding:0;font-size:15px;font-weight:600;overflow:hidden}.create-stub{color:hsl(var(--muted-foreground));flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.create-back{font:inherit;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;align-self:flex-start;margin:12px;font-size:13px}.create-back:hover{color:hsl(var(--foreground))}.navbar-crumbs{align-items:center;gap:4px;min-width:0;display:flex}.navbar-crumbs>.crumb:first-child{padding-left:0}.crumb{letter-spacing:-.01em;white-space:nowrap;border-radius:6px;padding:2px 4px;font-size:15px;font-weight:600}.crumb-link{font:inherit;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;font-weight:500;transition:background .12s,color .12s}.crumb-link:hover{color:hsl(var(--foreground));background:hsl(var(--foreground) / .05)}.crumb-current{color:hsl(var(--foreground))}.crumb-sep{width:15px;height:15px;color:hsl(var(--muted-foreground));flex-shrink:0}.confirm-scrim{z-index:60;background:hsl(var(--foreground) / .25);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.confirm-box{background:hsl(var(--background));border:1px solid hsl(var(--border));width:340px;max-width:calc(100vw - 32px);box-shadow:0 16px 48px -16px hsl(var(--foreground) / .3);border-radius:14px;padding:20px}.confirm-title{margin-bottom:6px;font-size:15px;font-weight:600}.confirm-text{color:hsl(var(--muted-foreground));margin-bottom:18px;font-size:13px;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer;border-radius:8px;padding:7px 14px;font-size:13px;transition:background .12s}.confirm-btn:hover{background:hsl(var(--foreground) / .05)}.confirm-btn--danger{background:hsl(var(--destructive));color:#fff;border-color:#0000}.confirm-btn--danger:hover{background:hsl(var(--destructive) / .9)}.studio-confirm-backdrop{z-index:1200;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:32px;animation:.14s ease-out studio-confirm-fade-in;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.studio-confirm-dialog{border:1px solid hsl(var(--border));background:hsl(var(--background));width:min(420px,100vw - 40px);height:auto;min-height:0;box-shadow:0 24px 64px hsl(var(--foreground) / .16);border-radius:12px;flex-direction:column;animation:.18s cubic-bezier(.2,.8,.2,1) studio-confirm-rise-in;display:flex;overflow:hidden}.studio-confirm-head{border-bottom:1px solid hsl(var(--border));flex:0 0 58px;justify-content:space-between;align-items:center;gap:20px;padding:0 16px 0 18px;display:flex}.studio-confirm-title-wrap{align-items:center;gap:10px;min-width:0;display:flex}.studio-confirm-title-icon{color:#ba6708;background:#f59f0a1f;border-radius:7px;flex:none;place-items:center;width:30px;height:30px;display:grid}.studio-confirm-title-icon svg,.studio-confirm-close svg{width:16px;height:16px}.studio-confirm-title-wrap h2{min-width:0;color:hsl(var(--foreground));margin:0;font-size:14px;font-weight:650;line-height:1.35}.studio-confirm-close{width:30px;height:30px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;transition:background .16s,color .16s;display:grid}.studio-confirm-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-confirm-close:focus-visible,.studio-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.studio-confirm-close:disabled{cursor:not-allowed;opacity:.48}.studio-confirm-body{padding:24px 20px}.studio-confirm-body p{color:hsl(var(--foreground));margin:0;font-size:14px;line-height:1.65}.studio-confirm-actions{border-top:1px solid hsl(var(--border));justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.studio-confirm-actions button{border:1px solid hsl(var(--border));background:hsl(var(--background));min-width:76px;height:34px;color:hsl(var(--foreground));font:inherit;cursor:pointer;border-radius:8px;padding:0 14px;font-size:12px;font-weight:600}.studio-confirm-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.studio-confirm-actions button:disabled{cursor:not-allowed;opacity:.6}.studio-confirm-actions .studio-confirm-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-confirm-actions .studio-confirm-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.studio-confirm-dialog--warning .studio-confirm-title-icon{color:#ba6708;background:#f59f0a1f}.studio-confirm-dialog--danger .studio-confirm-title-icon{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.studio-confirm-dialog--danger .studio-confirm-actions .studio-confirm-primary{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.studio-confirm-dialog--danger .studio-confirm-actions .studio-confirm-primary:hover:not(:disabled){background:hsl(var(--destructive) / .9)}@keyframes studio-confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes studio-confirm-rise-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.studio-confirm-backdrop,.studio-confirm-dialog{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.abc-root{--cw-workbench-toolbar-height: 64px;--cw-workspace-ink: 222 24% 13%;--cw-workspace-accent: 162 44% 32%;--cw-workspace-accent-soft: 156 34% 92%;--cw-workspace-warm: 42 28% 96%;flex:0 1 52%;min-width:460px;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-right:0;background:hsl(var(--background))}.abc-canvas{flex:1;min-height:0;background:hsl(var(--background))}.abc-canvas .react-flow__pane{cursor:grab}.abc-canvas .react-flow__pane:active{cursor:grabbing}.abc-node{--abc-type-tone: 220 9% 24%;--abc-type-soft: 220 10% 97%;--abc-type-border: 220 9% 78%;position:relative;width:220px;height:88px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:12px 14px;border:.5px solid hsl(var(--abc-type-border) / .62);border-radius:13px;background:hsl(var(--panel));box-shadow:0 10px 30px hsl(var(--foreground) / .055);color:hsl(var(--foreground));transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.abc-node:hover{border-color:hsl(var(--abc-type-tone) / .36);box-shadow:0 13px 34px hsl(var(--foreground) / .08)}.abc-node.is-selected{border-color:hsl(var(--abc-type-tone) / .62);box-shadow:0 0 0 1px hsl(var(--abc-type-tone) / .06),0 14px 38px hsl(var(--foreground) / .09)}.abc-node.is-llm{grid-template-columns:minmax(0,1fr);background:hsl(var(--panel))}.abc-node.is-a2a{--abc-type-tone: 213 18% 38%;--abc-type-soft: 214 20% 94%;--abc-type-border: 213 15% 72%;background:linear-gradient(145deg,hsl(var(--abc-type-soft)),hsl(var(--panel)) 58%)}.abc-canvas .react-flow__node-group{padding:0;border:0;border-radius:18px;background:transparent}.abc-group{--abc-type-tone: 213 40% 40%;--abc-type-soft: 214 45% 96%;--abc-type-border: 213 32% 62%;position:relative;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:.5px solid hsl(var(--abc-type-border) / .5);border-radius:18px;background:linear-gradient(180deg,hsl(var(--abc-type-soft) / .88),transparent 88px),hsl(var(--panel) / .72);box-shadow:0 14px 42px hsl(var(--foreground) / .055);transition:border-color .15s ease,box-shadow .15s ease}.abc-group.is-selected{border-color:hsl(var(--abc-type-tone) / .62);box-shadow:0 0 0 1px hsl(var(--abc-type-tone) / .06),0 16px 46px hsl(var(--foreground) / .08)}.abc-group.is-parallel{--abc-type-tone: 40 43% 38%;--abc-type-soft: 43 52% 94%;--abc-type-border: 40 38% 58%;border-style:solid}.abc-group.is-sequential{--abc-type-tone: 213 40% 40%;--abc-type-soft: 214 45% 96%;--abc-type-border: 213 32% 62%}.abc-group.is-llm{--abc-type-tone: 220 9% 24%;--abc-type-soft: 220 10% 97%;--abc-type-border: 220 9% 66%}.abc-group.is-loop{--abc-type-tone: 151 34% 34%;--abc-type-soft: 148 32% 94%;--abc-type-border: 151 28% 55%}.abc-group-head{position:relative;height:64px;display:flex;align-items:center;justify-content:center;padding:9px 56px;border-bottom:1px solid hsl(var(--border) / .75)}.abc-group.is-compact-empty .abc-group-head{border-bottom:0}.abc-group-head>span:first-child{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.abc-group-head strong{color:hsl(var(--abc-type-tone));font-size:13px;letter-spacing:-.02em}.abc-group-head small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;line-height:1.3;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.abc-group-add{height:40px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px dashed hsl(var(--abc-type-tone) / .42);border-radius:10px;background:hsl(var(--background) / .58);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:10px;font-weight:600;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.abc-group-boundary-actions{position:absolute;top:64px;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.abc-group-boundary-add{position:absolute;top:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--abc-type-tone) / .32);border-radius:50%;background:hsl(var(--background) / .94);box-shadow:0 6px 18px hsl(var(--foreground) / .08);color:hsl(var(--abc-type-tone));cursor:pointer;opacity:.72;pointer-events:auto;transform:translateY(-50%);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,opacity .15s ease}.abc-group-boundary-add.is-start{left:18px}.abc-group-boundary-add.is-end{right:18px}.abc-root.is-vertical .abc-group-boundary-actions{top:64px;right:0;bottom:0;left:0}.abc-root.is-vertical .abc-group-boundary-add{left:50%;transform:translate(-50%)}.abc-root.is-vertical .abc-group-boundary-add.is-start{top:18px}.abc-root.is-vertical .abc-group-boundary-add.is-end{top:auto;right:auto;bottom:18px}.abc-group-boundary-add:hover{border-color:hsl(var(--abc-type-tone) / .64);background:hsl(var(--abc-type-soft) / .92);box-shadow:0 8px 22px hsl(var(--foreground) / .1);opacity:1}.abc-group-boundary-add:focus-visible{outline:2px solid hsl(var(--abc-type-tone) / .5);outline-offset:2px;opacity:1}.abc-group-boundary-add svg{width:14px;height:14px}.abc-group-add-empty,.abc-group-add-bottom{position:absolute;right:24px;bottom:24px;left:24px}.abc-group-add:hover{border-color:hsl(var(--abc-type-tone) / .72);background:hsl(var(--abc-type-soft) / .86);color:hsl(var(--abc-type-tone))}.abc-group-add:focus-visible{outline:2px solid hsl(var(--abc-type-tone) / .5);outline-offset:2px}.abc-group-add svg{width:14px;height:14px}.abc-node.is-contained-in-parallel .abc-handle{opacity:0}.abc-node-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:hsl(var(--abc-type-soft));color:hsl(var(--abc-type-tone))}.abc-node-icon svg{width:17px;height:17px}.abc-node-copy{min-width:0;display:flex;flex-direction:column;gap:2px;padding-right:18px}.abc-node-delete{position:absolute;z-index:3;top:7px;right:7px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel) / .96);box-shadow:0 4px 12px hsl(var(--foreground) / .08);color:hsl(var(--muted-foreground));cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-2px) scale(.92);transition:opacity .12s ease,transform .12s ease,border-color .12s ease,color .12s ease}.abc-node:hover>.abc-node-delete,.abc-node:focus-within>.abc-node-delete,.abc-group:hover>.abc-node-delete,.abc-group:focus-within>.abc-node-delete,.abc-node-delete:focus-visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.abc-node-delete:hover{border-color:hsl(var(--destructive) / .32);color:hsl(var(--destructive))}.abc-node-delete:focus-visible{outline:2px solid hsl(var(--destructive) / .34);outline-offset:2px}.abc-node-delete svg{width:12px;height:12px}.abc-group>.abc-node-delete{top:19px;right:12px}.abc-group>.abc-node-delete+.abc-handle{z-index:4}.abc-loop-handle{left:50%!important;opacity:0;pointer-events:none}.abc-node-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--abc-type-tone));font-size:9px;font-weight:700;letter-spacing:.04em}.abc-node-copy>strong{overflow:hidden;font-size:13px;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.abc-node-copy>small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.abc-terminal{width:96px;height:34px;display:flex;align-items:center;justify-content:center;border:.5px solid hsl(var(--border) / .68);border-radius:999px;background:hsl(var(--secondary) / .68);box-shadow:none;color:hsl(var(--foreground) / .76);font-size:10.5px;font-weight:650;letter-spacing:.03em}.abc-handle{width:7px!important;height:7px!important;border:0!important;background:transparent!important;opacity:0!important;pointer-events:none}.abc-group.is-sequential>.abc-handle{background:#3d628f!important}.abc-group.is-parallel>.abc-handle{background:#8b6f37!important}.abc-group.is-loop>.abc-handle,.abc-node.is-contained-in-loop .abc-loop-handle{background:#397458!important}.abc-canvas .react-flow__edge-path{transition:stroke-width .12s ease}.abc-canvas .react-flow__edge:hover .react-flow__edge-path{stroke-width:2.2}.abc-edge-tools{position:absolute;z-index:1002;display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:0;border-radius:999px;pointer-events:all}.abc-canvas .react-flow__edgelabel-renderer{z-index:1002}.abc-edge-hover-path{fill:none;stroke:transparent;stroke-width:22px;pointer-events:stroke}.abc-edge-label{position:absolute;bottom:calc(100% + 1px);left:50%;padding:2px 5px;border-radius:5px;background:hsl(var(--background) / .92);color:hsl(var(--muted-foreground));font-size:10px;font-weight:600;transform:translate(-50%);white-space:nowrap}.abc-edge-add{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--cw-workspace-accent) / .28);border-radius:50%;background:hsl(var(--background));box-shadow:0 4px 12px hsl(var(--foreground) / .1);color:hsl(var(--cw-workspace-accent));cursor:pointer;opacity:0;transform:scale(.82);transition:opacity .14s ease,transform .14s ease,border-color .14s ease}.abc-edge-tools.is-visible .abc-edge-add,.abc-edge-tools:hover .abc-edge-add,.abc-edge-add:focus-visible{border-color:hsl(var(--cw-workspace-accent) / .68);opacity:1;transform:scale(1)}.abc-edge-add:focus-visible{outline:2px solid hsl(var(--cw-workspace-accent) / .5);outline-offset:2px}.abc-edge-add svg{width:11px;height:11px}@media (hover: none){.abc-edge-add{opacity:.88;transform:scale(1)}.abc-node-delete{opacity:1;pointer-events:auto;transform:none}}@media (prefers-reduced-motion: reduce){.abc-node-delete,.abc-edge-add{transition:none}}.abc-canvas .react-flow__controls{overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.abc-canvas .react-flow__controls-button{border-bottom-color:hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.abc-minimap{width:168px!important;height:104px!important;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))!important;box-shadow:0 8px 24px hsl(var(--foreground) / .06)}.abc-minimap-node .abc-minimap-shell,.abc-minimap-node .abc-minimap-icon-mark,.abc-minimap-node .abc-minimap-group-divider{vector-effect:non-scaling-stroke}.abc-minimap-node-agent .abc-minimap-shell{fill:hsl(var(--panel));stroke:#585e6ab8;stroke-width:1.4px}.abc-minimap-node-agent.is-a2a .abc-minimap-shell{fill:#f0f5fa;stroke:#4788aec7}.abc-minimap-agent-icon{fill:#edeff3}.abc-minimap-node-agent.is-a2a .abc-minimap-agent-icon{fill:#dae9f1}.abc-minimap-icon-mark{fill:none;stroke:#4f5f72;stroke-width:1.25px}.abc-minimap-icon-eye{fill:#4f5f72}.abc-minimap-copy-line{fill:hsl(var(--muted-foreground) / .34)}.abc-minimap-copy-line.is-primary{fill:hsl(var(--foreground) / .7)}.abc-minimap-node-terminal .abc-minimap-shell{fill:hsl(var(--cw-workspace-ink));stroke:hsl(var(--panel));stroke-width:1.5px;vector-effect:non-scaling-stroke}.abc-minimap-terminal-dot{fill:hsl(var(--panel) / .82)}.abc-minimap-node-group .abc-minimap-shell{fill:hsl(var(--panel) / .32);stroke:#3d628fc7;stroke-width:1.5px}.abc-minimap-node-group.is-parallel .abc-minimap-shell{stroke:#8b6f37d1}.abc-minimap-node-group.is-sequential .abc-minimap-shell{stroke:#3d628fd1}.abc-minimap-node-group.is-llm .abc-minimap-shell{stroke:#585e6ac7}.abc-minimap-node-group.is-loop .abc-minimap-shell{stroke:#397458d6}.abc-minimap-group-divider{stroke:hsl(var(--border));stroke-width:1px}.abc-minimap-group-title{fill:hsl(var(--muted-foreground) / .42)}.abc-minimap-node.is-selected .abc-minimap-shell{stroke-width:2.5px}.abc-minimap-node-agent.is-selected .abc-minimap-shell{stroke:#2e3138}.abc-minimap-node-group.is-sequential.is-selected .abc-minimap-shell{stroke:#314e72}.abc-minimap-node-group.is-parallel.is-selected .abc-minimap-shell{stroke:#6d572c}.abc-minimap-node-group.is-loop.is-selected .abc-minimap-shell{stroke:#2d5c46}@media (max-width: 1080px){.abc-root{min-width:360px}}@media (max-width: 860px){.abc-root{flex:none;width:100%;min-width:0;height:480px;border-right:0;border-bottom:0}.abc-minimap{display:none}}@media (max-width: 520px){.abc-root{height:430px}}.text-shimmer.text-shimmer{color:transparent;background-size:200% auto;background-position:200% center;background-clip:text;-webkit-background-clip:text;animation:text-shimmer 4s linear infinite}@keyframes text-shimmer{to{background-position:-200% center}}@media (prefers-reduced-motion: reduce){.text-shimmer.text-shimmer{animation:none;background-position:50% center}}@layer components{._LoadingIndicator_7yl6f_1{position:relative;width:var(--indicator-size, 1em);height:var(--indicator-size, 1em);animation:_rotate_7yl6f_1 var(--indicator-rotate-duration, .8s) linear infinite;transition:opacity .15s ease}._LoadingIndicator_7yl6f_1:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border:var(--indicator-stroke, 2px) solid var(--indicator-color, currentcolor);border-radius:50%;content:"";-webkit-mask-image:conic-gradient(rgb(0 0 0 / 0%),rgb(0 0 0));mask-image:conic-gradient(#0000,#000)}._LoadingIndicator_7yl6f_1:after{position:absolute;top:0;left:50%;display:block;width:var(--indicator-stroke, 2px);height:var(--indicator-stroke, 2px);border-radius:100%;margin-left:calc(var(--indicator-stroke, 2px) * -1 / 2);background-color:var(--indicator-color, currentcolor);content:""}@keyframes _rotate_7yl6f_1{0%{transform:rotate(0)}to{transform:rotate(1turn)}}}@layer components{._TransitionGroupChild_1hv1z_1{display:block}}@layer components{._Button_1864l_1{position:relative;display:inline-block;gap:var(--button-gap);flex-shrink:0;height:var(--button-size);padding:0 var(--button-gutter);border-radius:var(--button-radius);cursor:pointer;font-size:var(--button-font-size);font-weight:var(--button-font-weight);line-height:1;transition-duration:var(--transition-duration-basic);transition-property:opacity,color;transition-timing-function:var(--transition-ease-basic);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}._Button_1864l_1:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;content:"";transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,transform,box-shadow,border-color;transition-timing-function:var(--transition-ease-basic);will-change:transform}._Button_1864l_1:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;content:"";pointer-events:none;transition-duration:var(--transition-duration-basic);transition-property:transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._Button_1864l_1:focus{outline:none}._Button_1864l_1:focus-visible:after{outline:2px solid var(--button-ring-color, var(--color-ring));outline-offset:var(--button-ring-offset, 2px)}._Button_1864l_1 svg:where(:not([data-no-autosize])){width:var(--button-icon-size);height:var(--button-icon-size)}:where(._Button_1864l_1 svg:where(:not([data-no-autosize])):first-child:not(:only-child)){margin-left:var(--button-icon-offset, -1px)}:where(._Button_1864l_1 svg:where(:not([data-no-autosize])):last-child:not(:only-child)){margin-right:var(--button-icon-offset, -1px)}._Button_1864l_1:where([data-optically-align=start]){margin-inline-start:calc(var(--button-gutter) * -1)}._Button_1864l_1:where([data-optically-align=end]){margin-inline-end:calc(var(--button-gutter) * -1)}._Button_1864l_1:where([data-optically-align=start][data-uniform]){margin-inline-start:calc(((var(--button-size) - var(--button-icon-size)) / 2) * -1)}._Button_1864l_1:where([data-optically-align=end][data-uniform]){margin-inline-end:calc(((var(--button-size) - var(--button-icon-size)) / 2) * -1)}._Button_1864l_1:where([data-size="3xs"]){--button-size: var(--control-size-3xs);--button-gutter: var(--control-gutter-2xs);--button-font-size: var(--control-font-size-sm);--button-icon-size: var(--control-icon-size-xs);--button-gap: var(--button-gap-sm);--button-radius: var(--control-radius-sm);--button-icon-offset: -1px;--indicator-size: 11px;--circular-progress-size: 11px}._Button_1864l_1:where([data-size="2xs"]){--button-size: var(--control-size-2xs);--button-gutter: var(--control-gutter-xs);--button-font-size: var(--control-font-size-sm);--button-icon-size: var(--control-icon-size-sm);--button-gap: var(--button-gap-md);--button-radius: var(--control-radius-sm);--button-icon-offset: -1px;--indicator-size: 12px;--circular-progress-size: 12px}._Button_1864l_1:where([data-size=xs]){--button-size: var(--control-size-xs);--button-gutter: var(--control-gutter-xs);--button-font-size: var(--control-font-size-md);--button-icon-size: var(--control-icon-size-sm);--button-gap: var(--button-gap-md);--button-radius: var(--control-radius-sm);--button-icon-offset: -1px;--indicator-size: 13px;--circular-progress-size: 14px}._Button_1864l_1:where([data-size=sm]){--button-size: var(--control-size-sm);--button-gutter: var(--control-gutter-sm);--button-font-size: var(--control-font-size-md);--button-icon-size: var(--control-icon-size-md);--button-gap: var(--button-gap-md);--button-radius: var(--control-radius-sm);--button-icon-offset: -1px;--indicator-size: 15px;--circular-progress-size: 15px}._Button_1864l_1:where([data-size=md]){--button-size: var(--control-size-md);--button-gutter: var(--control-gutter-md);--button-font-size: var(--control-font-size-md);--button-icon-size: var(--control-icon-size-md);--button-gap: var(--button-gap-lg);--button-radius: var(--control-radius-md);--button-icon-offset: -1px;--indicator-size: 16px;--circular-progress-size: 16px}._Button_1864l_1:where([data-size=lg]){--button-size: var(--control-size-lg);--button-gutter: var(--control-gutter-md);--button-font-size: var(--control-font-size-md);--button-icon-size: var(--control-icon-size-md);--button-gap: var(--button-gap-lg);--button-radius: var(--control-radius-md);--button-icon-offset: -1px;--indicator-size: 16px;--circular-progress-size: 16px}._Button_1864l_1:where([data-size=xl]){--button-size: var(--control-size-xl);--button-gutter: var(--control-gutter-lg);--button-font-size: var(--control-font-size-md);--button-icon-size: var(--control-icon-size-md);--button-gap: var(--button-gap-lg);--button-radius: var(--control-radius-lg);--button-icon-offset: -1px;--indicator-size: 18px;--circular-progress-size: 18px}._Button_1864l_1:where([data-size="2xl"]){--button-size: var(--control-size-2xl);--button-gutter: var(--control-gutter-lg);--button-font-size: var(--control-font-size-lg);--button-icon-size: var(--control-icon-size-lg);--button-gap: var(--button-gap-lg);--button-radius: var(--control-radius-xl);--button-icon-offset: -2px;--indicator-size: 18px;--circular-progress-size: 18px}._Button_1864l_1:where([data-size="3xl"]){--button-size: var(--control-size-3xl);--button-gutter: var(--control-gutter-xl);--button-font-size: var(--control-font-size-lg);--button-icon-size: var(--control-icon-size-lg);--button-gap: var(--button-gap-lg);--button-radius: var(--control-radius-xl);--button-icon-offset: -2px;--indicator-size: 20px;--circular-progress-size: 20px}._Button_1864l_1:where([data-gutter-size="2xs"]){--button-gutter: var(--control-gutter-2xs)}._Button_1864l_1:where([data-gutter-size=xs]){--button-gutter: var(--control-gutter-xs)}._Button_1864l_1:where([data-gutter-size=sm]){--button-gutter: var(--control-gutter-sm)}._Button_1864l_1:where([data-gutter-size=md]){--button-gutter: var(--control-gutter-md)}._Button_1864l_1:where([data-gutter-size=lg]){--button-gutter: var(--control-gutter-lg)}._Button_1864l_1:where([data-gutter-size=xl]){--button-gutter: var(--control-gutter-xl)}._Button_1864l_1:where([data-icon-size=sm]){--button-icon-size: var(--control-icon-size-sm)}._Button_1864l_1:where([data-icon-size=md]){--button-icon-size: var(--control-icon-size-md)}._Button_1864l_1:where([data-icon-size=lg]){--button-icon-size: var(--control-icon-size-lg)}._Button_1864l_1:where([data-icon-size=xl]){--button-icon-size: var(--control-icon-size-xl)}._Button_1864l_1:where([data-icon-size="2xl"]){--button-icon-size: var(--control-icon-size-2xl)}._Button_1864l_1:where([data-pill]){--button-radius: var(--radius-full);padding:0 calc(var(--button-gutter) * var(--control-gutter-pill-scaling))}._Button_1864l_1:where([data-block]){width:100%}._Button_1864l_1[data-uniform]{--button-gutter: 0;width:var(--button-size)}._Button_1864l_1[data-variant=ghost]{--button-ring-offset: -1px;color:var(--button-text-color)}._Button_1864l_1[data-variant=ghost]:before{background-color:var(--button-background-color);opacity:0;transform:scale(var(--scale))}._Button_1864l_1[data-variant=ghost][aria-expanded=true],._Button_1864l_1[data-variant=ghost][data-state=open]{color:var(--button-text-color-hover)}._Button_1864l_1[data-variant=ghost][aria-expanded=true]:before,._Button_1864l_1[data-variant=ghost][data-state=open]:before{opacity:.6;transform:scale(1)}._Button_1864l_1[data-variant=ghost][data-selected]{color:var(--button-text-color-hover)}._Button_1864l_1[data-variant=ghost][data-selected]:before{opacity:1;transform:scale(1)}@media (hover: hover) and (pointer: fine){._Button_1864l_1[data-variant=ghost]:where(:not([data-disabled])):hover{color:var(--button-text-color-hover)}._Button_1864l_1[data-variant=ghost]:where(:not([data-disabled])):hover:before{opacity:1;transform:scale(1)}}._Button_1864l_1[data-variant=ghost]:where(:not([data-disabled])):active:before{background-color:var(--button-background-color-active);opacity:1;transform:scale(var(--scale))}._Button_1864l_1[data-variant=ghost]:where(:not([data-disabled])):active:after{transform:scale(var(--scale))}._Button_1864l_1[data-variant=ghost]:where([data-color=primary]){--button-background-color: var(--color-background-primary-ghost-hover);--button-background-color-active: var(--color-background-primary-ghost-active);--button-text-color: var(--color-text-primary-ghost);--button-text-color-hover: var(--color-text-primary-ghost-hover);--button-ring-color: var(--color-ring-primary-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=secondary]){--button-background-color: var(--color-background-secondary-ghost-hover);--button-background-color-active: var(--color-background-secondary-ghost-active);--button-text-color: var(--color-text-secondary-ghost);--button-text-color-hover: var(--color-text-secondary-ghost-hover);--button-ring-color: var(--color-ring-secondary-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=danger]){--button-background-color: var(--color-background-danger-ghost-hover);--button-background-color-active: var(--color-background-danger-ghost-active);--button-text-color: var(--color-text-danger-ghost);--button-text-color-hover: var(--color-text-danger-ghost-hover);--button-ring-color: var(--color-ring-danger-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=success]){--button-background-color: var(--color-background-success-ghost-hover);--button-background-color-active: var(--color-background-success-ghost-active);--button-text-color: var(--color-text-success-ghost);--button-text-color-hover: var(--color-text-success-ghost-hover);--button-ring-color: var(--color-ring-success-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=warning]){--button-background-color: var(--color-background-warning-ghost-hover);--button-background-color-active: var(--color-background-warning-ghost-active);--button-text-color: var(--color-text-warning-ghost);--button-text-color-hover: var(--color-text-warning-ghost-hover);--button-ring-color: var(--color-ring-warning-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=caution]){--button-background-color: var(--color-background-caution-ghost-hover);--button-background-color-active: var(--color-background-caution-ghost-active);--button-text-color: var(--color-text-caution-ghost);--button-text-color-hover: var(--color-text-caution-ghost-hover);--button-ring-color: var(--color-ring-caution-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=info]){--button-background-color: var(--color-background-info-ghost-hover);--button-background-color-active: var(--color-background-info-ghost-active);--button-text-color: var(--color-text-info-ghost);--button-text-color-hover: var(--color-text-info-ghost-hover);--button-ring-color: var(--color-ring-info-ghost)}._Button_1864l_1[data-variant=ghost]:where([data-color=discovery]){--button-background-color: var(--color-background-discovery-ghost-hover);--button-background-color-active: var(--color-background-discovery-ghost-active);--button-text-color: var(--color-text-discovery-ghost);--button-text-color-hover: var(--color-text-discovery-ghost-hover);--button-ring-color: var(--color-ring-discovery-ghost)}._Button_1864l_1[data-variant=solid]{color:var(--button-text-color)}._Button_1864l_1[data-variant=solid]:before{background-color:var(--button-background-color)}._Button_1864l_1[data-variant=solid][aria-expanded=true]:before,._Button_1864l_1[data-variant=solid][data-state=open]:before,._Button_1864l_1[data-variant=solid][data-selected]:before{background-color:var(--button-background-color-hover)}@media (hover: hover) and (pointer: fine){._Button_1864l_1[data-variant=solid]:where(:not([data-disabled])):hover:before{background-color:var(--button-background-color-hover)}}._Button_1864l_1[data-variant=solid]:where(:not([data-disabled])):active:before{background-color:var(--button-background-color-active)}._Button_1864l_1[data-variant=solid]:where(:not([data-disabled])):active:before,._Button_1864l_1[data-variant=solid]:where(:not([data-disabled])):active:after{transform:scale(var(--scale))}._Button_1864l_1[data-variant=solid]:where([data-color=primary]){--button-background-color: var(--color-background-primary-solid);--button-background-color-hover: var(--color-background-primary-solid-hover);--button-background-color-active: var(--color-background-primary-solid-active);--button-text-color: var(--color-text-primary-solid);--button-ring-color: var(--color-ring-primary-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=secondary]){--button-background-color: var(--color-background-secondary-solid);--button-background-color-hover: var(--color-background-secondary-solid-hover);--button-background-color-active: var(--color-background-secondary-solid-active);--button-text-color: var(--color-text-secondary-solid);--button-ring-color: var(--color-ring-secondary-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=success]){--button-background-color: var(--color-background-success-solid);--button-background-color-hover: var(--color-background-success-solid-hover);--button-background-color-active: var(--color-background-success-solid-active);--button-text-color: var(--color-text-success-solid);--button-ring-color: var(--color-ring-success-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=danger]){--button-background-color: var(--color-background-danger-solid);--button-background-color-hover: var(--color-background-danger-solid-hover);--button-background-color-active: var(--color-background-danger-solid-active);--button-text-color: var(--color-text-danger-solid);--button-ring-color: var(--color-ring-danger-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=warning]){--button-background-color: var(--color-background-warning-solid);--button-background-color-hover: var(--color-background-warning-solid-hover);--button-background-color-active: var(--color-background-warning-solid-active);--button-text-color: var(--color-text-warning-solid);--button-ring-color: var(--color-ring-warning-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=caution]){--button-background-color: var(--color-background-caution-solid);--button-background-color-hover: var(--color-background-caution-solid-hover);--button-background-color-active: var(--color-background-caution-solid-active);--button-text-color: var(--color-text-caution-solid);--button-ring-color: var(--color-ring-caution-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=info]){--button-background-color: var(--color-background-info-solid);--button-background-color-hover: var(--color-background-info-solid-hover);--button-background-color-active: var(--color-background-info-solid-active);--button-text-color: var(--color-text-info-solid);--button-ring-color: var(--color-ring-info-solid)}._Button_1864l_1[data-variant=solid]:where([data-color=discovery]){--button-background-color: var(--color-background-discovery-solid);--button-background-color-hover: var(--color-background-discovery-solid-hover);--button-background-color-active: var(--color-background-discovery-solid-active);--button-text-color: var(--color-text-discovery-solid);--button-ring-color: var(--color-ring-discovery-solid)}._Button_1864l_1[data-variant=soft]{color:var(--button-text-color)}._Button_1864l_1[data-variant=soft]:before{background-color:var(--button-background-color)}._Button_1864l_1[data-variant=soft][aria-expanded=true]:before,._Button_1864l_1[data-variant=soft][data-state=open]:before,._Button_1864l_1[data-variant=soft][data-selected]:before{background-color:var(--button-background-color-hover)}@media (hover: hover) and (pointer: fine){._Button_1864l_1[data-variant=soft]:where(:not([data-disabled])):hover:before{background-color:var(--button-background-color-hover)}}._Button_1864l_1[data-variant=soft]:where(:not([data-disabled])):active:before{background-color:var(--button-background-color-active)}._Button_1864l_1[data-variant=soft]:where(:not([data-disabled])):active:before,._Button_1864l_1[data-variant=soft]:where(:not([data-disabled])):active:after{transform:scale(var(--scale))}._Button_1864l_1[data-variant=soft]:where([data-color=primary]){--button-background-color: var(--color-background-primary-soft-alpha);--button-background-color-hover: var(--color-background-primary-soft-alpha-hover);--button-background-color-active: var(--color-background-primary-soft-alpha-active);--button-text-color: var(--color-text-primary-soft);--button-ring-color: var(--color-ring-primary-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=secondary]){--button-background-color: var(--color-background-secondary-soft-alpha);--button-background-color-hover: var(--color-background-secondary-soft-alpha-hover);--button-background-color-active: var(--color-background-secondary-soft-alpha-active);--button-text-color: var(--color-text-secondary-soft);--button-ring-color: var(--color-ring-secondary-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=success]){--button-background-color: var(--color-background-success-soft-alpha);--button-background-color-hover: var(--color-background-success-soft-alpha-hover);--button-background-color-active: var(--color-background-success-soft-alpha-active);--button-text-color: var(--color-text-success-soft);--button-ring-color: var(--color-ring-success-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=danger]){--button-background-color: var(--color-background-danger-soft-alpha);--button-background-color-hover: var(--color-background-danger-soft-alpha-hover);--button-background-color-active: var(--color-background-danger-soft-alpha-active);--button-text-color: var(--color-text-danger-soft);--button-ring-color: var(--color-ring-danger-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=warning]){--button-background-color: var(--color-background-warning-soft-alpha);--button-background-color-hover: var(--color-background-warning-soft-alpha-hover);--button-background-color-active: var(--color-background-warning-soft-alpha-active);--button-text-color: var(--color-text-warning-soft);--button-ring-color: var(--color-ring-warning-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=caution]){--button-background-color: var(--color-background-caution-soft-alpha);--button-background-color-hover: var(--color-background-caution-soft-alpha-hover);--button-background-color-active: var(--color-background-caution-soft-alpha-active);--button-text-color: var(--color-text-caution-soft);--button-ring-color: var(--color-ring-caution-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=info]){--button-background-color: var(--color-background-info-soft-alpha);--button-background-color-hover: var(--color-background-info-soft-alpha-hover);--button-background-color-active: var(--color-background-info-soft-alpha-active);--button-text-color: var(--color-text-info-soft);--button-ring-color: var(--color-ring-info-soft)}._Button_1864l_1[data-variant=soft]:where([data-color=discovery]){--button-background-color: var(--color-background-discovery-soft-alpha);--button-background-color-hover: var(--color-background-discovery-soft-alpha-hover);--button-background-color-active: var(--color-background-discovery-soft-alpha-active);--button-text-color: var(--color-text-discovery-soft);--button-ring-color: var(--color-ring-discovery-soft)}._Button_1864l_1[data-variant=outline]{--button-ring-offset: -1px;color:var(--button-text-color)}._Button_1864l_1[data-variant=outline]:before{background-color:transparent;box-shadow:0 0 0 1px var(--button-border-color) inset,var(--button-shadow-custom, 0 0 #00000000)}._Button_1864l_1[data-variant=outline][aria-expanded=true],._Button_1864l_1[data-variant=outline][data-state=open],._Button_1864l_1[data-variant=outline][data-selected]{color:var(--button-text-color-hover)}._Button_1864l_1[data-variant=outline][aria-expanded=true]:before,._Button_1864l_1[data-variant=outline][data-state=open]:before,._Button_1864l_1[data-variant=outline][data-selected]:before{background-color:var(--button-background-color-hover);box-shadow:0 0 0 1px var(--button-border-color-hover) inset,var(--button-shadow-custom, 0 0 #00000000)}@media (hover: hover) and (pointer: fine){._Button_1864l_1[data-variant=outline]:where(:not([data-disabled])):hover{color:var(--button-text-color-hover)}._Button_1864l_1[data-variant=outline]:where(:not([data-disabled])):hover:before{background-color:var(--button-background-color-hover);box-shadow:0 0 0 1px var(--button-border-color-hover) inset,var(--button-shadow-custom, 0 0 #00000000)}}._Button_1864l_1[data-variant=outline]:where(:not([data-disabled])):active:before{background-color:var(--button-background-color-active);transform:scale(var(--scale))}._Button_1864l_1[data-variant=outline]:where(:not([data-disabled])):active:after{transform:scale(var(--scale))}._Button_1864l_1[data-variant=outline]:where([data-color=primary]){--button-background-color-hover: var(--color-background-primary-outline-hover);--button-background-color-active: var(--color-background-primary-outline-active);--button-border-color: var(--color-border-primary-outline);--button-border-color-hover: var(--color-border-primary-outline-hover);--button-text-color: var(--color-text-primary-outline);--button-text-color-hover: var(--color-text-primary-outline-hover);--button-ring-color: var(--color-ring-primary-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=secondary]){--button-background-color-hover: var(--color-background-secondary-outline-hover);--button-background-color-active: var(--color-background-secondary-outline-active);--button-border-color: var(--color-border-secondary-outline);--button-border-color-hover: var(--color-border-secondary-outline-hover);--button-text-color: var(--color-text-secondary-outline);--button-text-color-hover: var(--color-text-secondary-outline-hover);--button-ring-color: var(--color-ring-secondary-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=danger]){--button-background-color-hover: var(--color-background-danger-outline-hover);--button-background-color-active: var(--color-background-danger-outline-active);--button-border-color: var(--color-border-danger-outline);--button-border-color-hover: var(--color-border-danger-outline-hover);--button-text-color: var(--color-text-danger-outline);--button-text-color-hover: var(--color-text-danger-outline-hover);--button-ring-color: var(--color-ring-danger-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=success]){--button-background-color-hover: var(--color-background-success-outline-hover);--button-background-color-active: var(--color-background-success-outline-active);--button-border-color: var(--color-border-success-outline);--button-border-color-hover: var(--color-border-success-outline-hover);--button-text-color: var(--color-text-success-outline);--button-text-color-hover: var(--color-text-success-outline-hover);--button-ring-color: var(--color-ring-success-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=warning]){--button-background-color-hover: var(--color-background-warning-outline-hover);--button-background-color-active: var(--color-background-warning-outline-active);--button-border-color: var(--color-border-warning-outline);--button-border-color-hover: var(--color-border-warning-outline-hover);--button-text-color: var(--color-text-warning-outline);--button-text-color-hover: var(--color-text-warning-outline-hover);--button-ring-color: var(--color-ring-warning-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=caution]){--button-background-color-hover: var(--color-background-caution-outline-hover);--button-background-color-active: var(--color-background-caution-outline-active);--button-border-color: var(--color-border-caution-outline);--button-border-color-hover: var(--color-border-caution-outline-hover);--button-text-color: var(--color-text-caution-outline);--button-text-color-hover: var(--color-text-caution-outline-hover);--button-ring-color: var(--color-ring-caution-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=info]){--button-background-color-hover: var(--color-background-info-outline-hover);--button-background-color-active: var(--color-background-info-outline-active);--button-border-color: var(--color-border-info-outline);--button-border-color-hover: var(--color-border-info-outline-hover);--button-text-color: var(--color-text-info-outline);--button-text-color-hover: var(--color-text-info-outline-hover);--button-ring-color: var(--color-ring-info-outline)}._Button_1864l_1[data-variant=outline]:where([data-color=discovery]){--button-background-color-hover: var(--color-background-discovery-outline-hover);--button-background-color-active: var(--color-background-discovery-outline-active);--button-border-color: var(--color-border-discovery-outline);--button-border-color-hover: var(--color-border-discovery-outline-hover);--button-text-color: var(--color-text-discovery-outline);--button-text-color-hover: var(--color-text-discovery-outline-hover);--button-ring-color: var(--color-ring-discovery-outline)}._Button_1864l_1[disabled]{pointer-events:none}._Button_1864l_1[data-disabled][data-variant]{--button-background-color: var(--color-background-disabled);--button-border-color: var(--color-border-disabled);--button-text-color: var(--color-text-disabled);cursor:not-allowed;pointer-events:auto}._Button_1864l_1[data-disabled][data-variant]:active:before{transform:scale(1)}._Button_1864l_1[data-disabled][data-variant][data-disabled-tone=relaxed]{cursor:default}._ButtonInner_1864l_4{position:relative;display:flex;flex-direction:inherit;align-items:center;justify-content:center;gap:inherit;width:100%;height:100%;transition:opacity .15s ease .1s}[data-loading] ._ButtonInner_1864l_4{opacity:0;transition:opacity .3s ease}._ButtonLoader_1864l_749{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;pointer-events:none}._ButtonLoader_1864l_749[data-entering]{opacity:0}._ButtonLoader_1864l_749[data-exiting]{opacity:1}._ButtonLoader_1864l_749[data-entering-active],._ButtonLoader_1864l_749[data-entering][data-interrupted]{opacity:1;transition:opacity .15s ease .1s}._ButtonLoader_1864l_749[data-exiting-active],._ButtonLoader_1864l_749[data-exiting][data-interrupted]{opacity:0;transition:opacity .15s ease}}@layer components{._EmptyMessage_1r5gu_1{display:flex;flex-direction:column;align-items:center;justify-content:center}._EmptyMessage_1r5gu_1[data-fill=static]{width:100%;height:100%}._EmptyMessage_1r5gu_1[data-fill=absolute]{position:absolute;top:0;right:0;bottom:0;left:0}._IconBadge_1r5gu_16{--badge-size: 40px;--icon-size: 24px;display:flex;align-items:center;justify-content:center;width:var(--badge-size);height:var(--badge-size);border-radius:var(--radius-md);margin:0 0 12px;background:var(--badge-background-color);color:var(--badge-text-color)}._IconBadge_1r5gu_16 svg{width:var(--icon-size);height:var(--icon-size)}._IconBadge_1r5gu_16[data-size=sm]{--badge-size: 32px;--icon-size: 20px}._IconBadge_1r5gu_16[data-color=secondary]{--badge-background-color: var(--color-background-secondary-soft);--badge-text-color: var(--color-text-secondary-soft)}._IconBadge_1r5gu_16[data-color=warning]{--badge-background-color: var(--color-background-warning-soft);--badge-text-color: var(--color-text-warning-soft)}._IconBadge_1r5gu_16[data-color=danger]{--badge-background-color: var(--color-background-danger-soft);--badge-text-color: var(--color-text-danger-soft)}._Title_1r5gu_54{max-width:90%;color:var(--color-text);font-size:16px;font-weight:var(--font-weight-semibold);text-align:center;text-wrap:balance}._Title_1r5gu_54:where([data-color=danger]){color:var(--color-text-danger)}._Title_1r5gu_54:where([data-color=warning]){color:var(--color-text-warning)}._Description_1r5gu_69{max-width:90%;margin:6px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:1.45;text-align:center;text-wrap:balance}._ActionRow_1r5gu_77{margin-top:calc(var(--spacing) * 4)}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! - Theme: GitHub - Description: Light theme as seen on github.com - Author: github.com - Maintainer: @Hirse - Updated: 2021-05-15 - - Outdated base version: https://github.com/primer/github-syntax-light - Current colors taken from GitHub's CSS -<<<<<<<< HEAD:veadk/webui/assets/index-DPt3La7N.css -*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.builtin-tool-head{--builtin-tool-accent: 215 18% 42%;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:3px 7px 3px 3px;border:0;border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;transition:color .12s ease}.builtin-tool-head[data-tool-tone=search]{--builtin-tool-accent: 211 62% 42%}.builtin-tool-head[data-tool-tone=image]{--builtin-tool-accent: 28 67% 42%}.builtin-tool-head[data-tool-tone=video]{--builtin-tool-accent: 260 38% 48%}.builtin-tool-head[data-tool-tone=presentation]{--builtin-tool-accent: 252 38% 52%}.builtin-tool-head[data-tool-tone=memory]{--builtin-tool-accent: 174 52% 34%}.builtin-tool-head[data-tool-tone=knowledge]{--builtin-tool-accent: 225 48% 45%}.builtin-tool-head[data-tool-tone=skill]{--builtin-tool-accent: 154 50% 34%}.builtin-tool-head[data-tool-tone=sandbox]{--builtin-tool-accent: 32 67% 42%}.builtin-tool-head:hover{color:hsl(var(--foreground))}.builtin-tool-icon{position:relative;width:20px;height:26px;flex:0 0 20px;display:grid;place-items:center;color:hsl(var(--builtin-tool-accent))}.builtin-tool-icon>svg{width:18px;height:18px}.builtin-tool-label{font-size:14.5px;font-weight:400;line-height:1.35}.builtin-tool-head.is-done .builtin-tool-label{color:hsl(var(--muted-foreground))}.builtin-tool-chevron{width:13px;height:13px;flex:0 0 13px;opacity:.58;transition:transform .18s ease}.builtin-tool-chevron.is-open{transform:rotate(90deg)}.skill-conversation{min-height:220px;margin:0 0 16px;padding:8px 0 18px}.skill-conversation .bubble{font-size:13px;line-height:1.65}.skill-conversation .think-head,.skill-conversation .tool-head,.skill-conversation .builtin-tool-head{display:grid;grid-template-columns:20px minmax(0,1fr) 13px;align-items:center;gap:8px;width:100%;min-height:38px;padding:4px 0;text-align:left}.skill-conversation .think-label,.skill-conversation .tool-name,.skill-conversation .builtin-tool-label{min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere;text-align:left}.skill-conversation .think-icon,.skill-conversation .tool-icon,.skill-conversation .builtin-tool-icon{width:20px;height:26px}.skill-conversation .chev,.skill-conversation .tool-chevron,.skill-conversation .builtin-tool-chevron{justify-self:end}.skill-generation{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:hsl(var(--background));color:hsl(var(--foreground))}.skillcenter{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.skillcenter-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.skillcenter-page-heading{min-width:0}.skillcenter-page-heading--back{display:flex;align-items:center;gap:8px}.skillcenter-page-heading--back>div{min-width:0}.skillcenter-page-heading h1{max-width:min(620px,55vw);margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.skillcenter-page-heading p{display:-webkit-box;max-width:680px;margin:6px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skillcenter-back{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-back svg{width:18px;height:18px}.skillcenter-search{width:min(320px,38vw);height:36px;flex:0 0 auto;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.skillcenter-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.skillcenter-search svg{width:16px;height:16px;flex:0 0 16px}.skillcenter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.skillcenter-search input::placeholder{color:hsl(var(--muted-foreground))}.skillcenter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.skillcenter-toolbar-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.my-agent-type-bar.skillcenter-list-toolbar{justify-content:flex-end}.skillcenter-detail-facts{min-width:0;display:flex;align-items:center;gap:24px}.skillcenter-detail-facts>div{min-width:72px;display:grid;gap:3px}.skillcenter-detail-facts span{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.2}.skillcenter-detail-facts strong{max-width:220px;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-primary-action,.skillcenter-secondary-action{min-width:max-content;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.skillcenter-primary-action{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.skillcenter-primary-action:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.skillcenter-secondary-action:hover{background:hsl(var(--secondary))}.skillcenter-secondary-action.is-danger{color:hsl(var(--destructive))}.skillcenter-secondary-action.is-danger:hover:not(:disabled){border-color:hsl(var(--destructive) / .24);background:hsl(var(--destructive) / .06)}.skillcenter-secondary-action:disabled{cursor:not-allowed;opacity:.48}.skillcenter-primary-action:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.skillcenter-primary-action svg{width:15px;height:15px}.skillcenter-disabled-action{position:relative;display:inline-flex;border-radius:8px}.skillcenter-disabled-action.is-disabled{cursor:not-allowed}.skillcenter-disabled-action.is-disabled>button{cursor:inherit}.skillcenter-disabled-tooltip{position:absolute;z-index:30;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.skillcenter-disabled-action.is-top .skillcenter-disabled-tooltip{bottom:calc(100% + 8px);transform:translate(-50%,3px)}.skillcenter-disabled-action.is-bottom .skillcenter-disabled-tooltip{top:calc(100% + 8px);transform:translate(-50%,-3px)}.skillcenter-disabled-action.is-inside .skillcenter-disabled-tooltip{top:50%;transform:translate(-50%,calc(-50% + 3px))}.skillcenter-disabled-action.is-disabled:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled:focus-visible .skillcenter-disabled-tooltip{opacity:1}.skillcenter-disabled-action.is-disabled.is-top:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-top:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-bottom:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-bottom:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-inside:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-inside:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%,-50%)}.skillcenter-disabled-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.skillcenter-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.skillcenter-space-card{position:relative}.my-agent-card.skillcenter-space-card{overflow:visible}.my-agent-card.skillcenter-space-card:hover{transform:none}.skillcenter-back:focus-visible,.skillcenter-primary-action:focus-visible,.skillcenter-secondary-action:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.my-agent-actions.skillcenter-card-actions{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr)) 28px}.skillcenter-card-actions .skillcenter-card-more{width:28px;min-height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-card-more:hover,.skillcenter-card-more[aria-expanded=true]{background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.skillcenter-card-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:1px}.skillcenter-card-menu{position:relative;z-index:30}.skillcenter-card-more svg{width:16px;height:16px}.skillcenter-card-menu__popover{position:absolute;z-index:20;right:0;bottom:calc(100% + 6px);width:132px;box-sizing:border-box;padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .14)}.skillcenter-card-menu__popover button{width:100%;min-height:32px;display:flex;align-items:center;padding:0 9px;border:0;border-radius:5px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.skillcenter-card-menu__popover button:hover,.skillcenter-card-menu__popover button:focus-visible{outline:0;background:hsl(var(--secondary))}.skillcenter-card-menu__popover button.is-danger{color:hsl(var(--destructive))}.skillcenter-card-menu__popover button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.skillcenter-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.skillcenter-table th{height:42px;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:11px;font-weight:560;text-align:left}.skillcenter-table th:first-child{width:auto}.skillcenter-table th:nth-child(2){width:104px}.skillcenter-table th:nth-child(3){width:180px}.skillcenter-table td{height:72px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.skillcenter-table tbody tr:last-child td{border-bottom:0}.skillcenter-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.skillcenter-table__skill button{width:100%;display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.skillcenter-table__title-row{min-width:0;display:flex;align-items:center;gap:7px}.skillcenter-table__skill strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__skill .skillcenter-table__version-badge{flex:0 0 auto;padding:2px 6px;overflow:visible;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .6);color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.2}.skillcenter-table__skill .skillcenter-table__description{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__actions-heading{text-align:right!important}.skillcenter-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.skillcenter-table__actions button,.skill-detail-actions button{min-height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skillcenter-table__actions button:hover:not(:disabled),.skill-detail-actions button:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-table__actions button:disabled,.skill-detail-actions button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table__actions button.is-danger{color:hsl(var(--destructive))}.skillcenter-inline-error{margin-top:16px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors.is-full-page{min-height:260px;align-items:center;justify-content:center;margin:0;border:0;background:transparent}.skillcenter-space-errors__content{min-width:0;width:min(680px,100%);display:grid;gap:10px}.skillcenter-space-errors__content>strong{font-size:13px;font-weight:600}.skillcenter-space-errors__content>section{min-width:0;display:grid;gap:4px}.skillcenter-space-errors__content>section>span{color:hsl(var(--foreground));font-size:11.5px;font-weight:600}.skillcenter-space-errors .skill-error-details{min-width:0;width:100%;color:inherit}.skillcenter-space-errors .skill-error-details__summary,.skillcenter-space-errors .skill-error-details__original{text-align:left}.skillcenter-space-errors .skill-error-details summary{margin-left:0}.skillcenter-space-errors>button{min-height:30px;flex:0 0 auto;padding:0 10px;border:1px solid hsl(var(--destructive) / .22);border-radius:7px;background:hsl(var(--panel));color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px}.skillcenter-page-state{min-height:300px;display:grid;place-items:center}.skillcenter-page-state.is-error{color:hsl(var(--destructive))}.skill-error-details{width:min(620px,100%);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:left}.skill-error-details__summary{text-align:center}.skill-error-details__original{margin-top:7px;color:hsl(var(--destructive));overflow-wrap:anywhere;text-align:center}.skill-error-details details{margin-top:9px}.skill-error-details summary{width:max-content;margin:0 auto;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.skill-error-details pre{max-height:220px;margin:8px 0 0;padding:10px 12px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .45);color:hsl(var(--foreground));font:inherit;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.skill-inline-error .skill-error-details,.skill-generation__action-error .skill-error-details{width:100%;color:inherit}.skill-inline-error .skill-error-details__summary,.skill-inline-error .skill-error-details__original,.skill-generation__action-error .skill-error-details__summary,.skill-generation__action-error .skill-error-details__original{text-align:left}.skill-inline-error .skill-error-details summary,.skill-generation__action-error .skill-error-details summary{margin-left:0}.skillcenter-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:hsl(var(--muted-foreground));font-size:12.5px}.skillcenter .skillcenter-pager{height:44px;margin-top:20px;padding:0;border-top:0}.skillcenter .skillcenter-pager-actions{padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel))}.skillcenter .skillcenter-pager button{width:28px;height:28px}.skill-detail-heading{flex:1 1 auto;overflow:hidden}.skill-detail-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.skill-detail-actions button{flex:0 0 auto;white-space:nowrap}.skill-detail-content--files{min-height:0}.skill-detail-content--files .skill-file-browser{min-height:420px;height:min(58vh,620px);border-top:1px solid hsl(var(--border))}.skill-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .28)}.skill-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(680px,calc(100vh - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 18px 48px hsl(var(--foreground) / .18)}.skill-dialog>header,.skill-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 16px}.skill-dialog>header{border-bottom:1px solid hsl(var(--border))}.skill-dialog>footer{justify-content:flex-end;border-top:1px solid hsl(var(--border))}.skill-dialog h2{margin:0;font-size:17px;font-weight:620}.skill-dialog>header>button{min-width:36px;min-height:32px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-dialog__body{min-height:0;padding:16px;overflow-y:auto}.skill-dialog__body label{display:grid;gap:6px;margin-bottom:14px;font-size:13px;font-weight:550}.skill-dialog__body input,.skill-dialog__body textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.skill-dialog__body input{min-height:36px;padding:6px 9px}.skill-dialog__body textarea{min-height:88px;padding:9px;resize:vertical}.skill-dialog__body p{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-dialog__file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:hsl(var(--muted) / .6);font-size:12px}.skill-dialog__file strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.skill-dialog__file span{flex:0 0 auto;color:hsl(var(--muted-foreground))}.skill-upload-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px))}.skill-upload-dialog__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.skill-upload-dropzone{width:100%;min-height:min(42vh,360px);display:grid;place-content:center;gap:8px;box-sizing:border-box;padding:32px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.skill-upload-dropzone:hover,.skill-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.skill-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-upload-dropzone strong{font-size:15px;font-weight:600}.skill-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:13px}.skill-add-dialog{grid-template-rows:auto minmax(0,1fr);width:min(460px,100%)}.skill-add-dialog>header>div{min-width:0}.skill-add-dialog>header p{margin:2px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.skill-add-dialog__options{display:grid;gap:10px;padding:16px}.skill-add-dialog__options>.skillcenter-disabled-action,.skill-add-dialog__options>.skillcenter-disabled-action>button{width:100%}.skill-add-dialog__options button{min-height:76px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.skill-add-dialog__options button:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .48)}.skill-add-dialog__options button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-add-dialog__options button:disabled{cursor:not-allowed;opacity:.52}.skill-add-dialog__options strong{font-size:13.5px;font-weight:600}.skill-add-dialog__options button>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.skill-generation__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:32px 32px 0;background:hsl(var(--background))}.skill-generation__header h1,.skill-generation__header p,.skill-generation__activity h2,.skill-generation__files h2{margin:0}.skill-generation__header h1{font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.skill-generation__header p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.skill-generation__ttl{color:hsl(var(--muted-foreground));font-size:12px}.skill-button{min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer}.skill-button:hover:not(:disabled){background:hsl(var(--muted) / .72)}.skill-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.skill-button:disabled{cursor:not-allowed;opacity:.5}.skill-button--quiet{background:transparent}.skill-button--primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-button--primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.skill-generation__setup{min-height:0;flex:1;margin:21px 29px 0;padding:3px 3px 48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.skill-generation__setup>label,.skill-generation__group label{display:grid;gap:6px;margin-bottom:16px;font-size:14px;font-weight:400}.skill-generation textarea,.skill-generation input{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400}.skill-generation input{height:36px;padding:0 10px}.skill-generation textarea{min-height:88px;padding:9px 10px;line-height:1.55;resize:vertical}.skill-generation textarea:focus-visible,.skill-generation input:focus-visible{outline:none;border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-generation input[aria-invalid=true]{border-color:hsl(var(--destructive) / .55);box-shadow:0 0 0 1px hsl(var(--destructive) / .12)}.skill-generation__field-help,.skill-generation__field-error{min-height:18px;font-size:12px;font-weight:400;line-height:1.5}.skill-generation__field-help{color:hsl(var(--muted-foreground))}.skill-generation__field-error{color:hsl(var(--destructive))}.skill-generation__section-head{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.skill-generation__section-head.is-basic{margin-top:0}.skill-generation__section-head div{display:grid;gap:2px}.skill-generation__section-head strong{font-size:17px;font-weight:620}.skill-generation__section-head span{color:hsl(var(--muted-foreground));font-size:12px}.skill-generation__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;isolation:isolate}.skill-generation__group{position:relative;min-width:0;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))}.skill-generation__group header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.skill-generation__group header button{border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__group label{margin-bottom:10px;font-size:12px}.skill-generation__group textarea{min-height:72px}.skill-generation__add-group{min-width:0;display:grid;place-items:center;padding:16px;border:1px dashed hsl(var(--border));border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.skill-generation__add-group:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .3);color:hsl(var(--foreground))}.skill-generation__add-group:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-generation__setup-actions{display:flex;justify-content:flex-end;margin-top:18px}.skill-config-select{position:relative;z-index:1;display:grid;gap:6px;margin-bottom:10px}.skill-config-select.is-open{z-index:100}.skill-config-select__label{color:hsl(var(--foreground));font-size:12px;font-weight:400;line-height:1.45}.skill-required-mark{margin-left:3px;color:hsl(var(--destructive))}.skill-config-select__trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.skill-config-select__trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.skill-config-select__trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.skill-config-select__trigger:disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable{padding:0 0 0 12px;cursor:text}.skill-config-select__trigger.is-editable.is-disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable:focus-within{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger.is-editable input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:none;background:transparent;color:inherit;font:inherit}.skill-config-select__trigger.is-editable input::placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__toggle{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:0;border:0;border-radius:0 5px 5px 0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skill-config-select__toggle:hover:not(:disabled){background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.skill-config-select__toggle:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-3px}.skill-config-select__toggle:disabled{cursor:default;opacity:.45}.skill-config-select__trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-config-select__trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__trigger svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground));transition:transform .16s ease}.skill-config-select__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.skill-config-select__menu{position:absolute;z-index:21;top:calc(100% + 6px);left:0;width:100%;max-height:238px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.skill-config-select__option{width:100%;min-height:34px;display:flex;align-items:center;padding:8px 10px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.skill-config-select__option:hover,.skill-config-select__option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.skill-config-select__option.is-selected{background:hsl(var(--primary) / .08)}.skill-config-select__empty{padding:9px 10px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.skill-config-select__error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.skill-inline-error,.skill-inline-notice,.skill-validation-errors{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:12.5px;line-height:1.5}.skill-inline-error,.skill-validation-errors{border:1px solid hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.skill-inline-error button{margin-left:10px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.skill-inline-notice{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .55);color:hsl(var(--muted-foreground))}.skill-validation-errors p{margin:4px 0 0}.skill-validation-errors button{min-height:30px;margin-top:10px;padding:0 10px;border:1px solid hsl(var(--destructive) / .25);border-radius:6px;background:hsl(var(--panel));color:hsl(var(--destructive));font:inherit;font-size:11.5px;cursor:pointer}.skill-validation-errors button:disabled{cursor:not-allowed;opacity:.5}.skill-generation__workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;flex:1}.skill-generation__candidate-tabs{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.skill-generation__candidate-tabs button{display:block;min-width:260px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));text-align:left;cursor:pointer}.skill-generation__candidate-tabs button.is-active{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.skill-generation__summary-row{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.skill-generation__summary-row+.skill-generation__summary-row{margin-top:7px}.skill-generation__summary-row>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.skill-generation__summary-row>strong{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skill-generation__candidate-summary{width:100%;min-width:0}.skill-generation__candidate{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:12px;gap:12px}.skill-generation__activity,.skill-generation__files{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.skill-generation__activity>header,.skill-generation__files>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-bottom:1px solid hsl(var(--border))}.skill-generation__activity>header{min-height:0;padding:12px 14px}.skill-generation__activity h2,.skill-generation__files h2{font-size:14px;font-weight:600}.skill-generation__files header button{border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__spinner{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;animation:skill-generation-spin .9s linear infinite}.skill-generation__spinner circle{opacity:.2}.skill-generation__activity .skill-conversation{flex:1;min-height:0;overflow-y:auto;padding:12px}.skill-generation__files-empty{display:grid;flex:1;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.skill-generation__ready-actions{grid-column:1 / -1;display:flex;min-width:0;align-items:flex-end;gap:10px}.skill-generation__publish-target{width:min(320px,36%);min-width:240px}.skill-generation__publish-target .skill-config-select{margin-bottom:0}.skill-generation__followup{grid-column:1 / -1;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--background))}.skill-generation__ready-actions .skill-generation__followup{min-width:0;flex:1}.skill-generation__followup textarea{min-width:0;min-height:36px;max-height:120px;flex:1;box-sizing:border-box;padding:8px 4px;resize:none;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.skill-generation__followup textarea::placeholder{color:hsl(var(--muted-foreground))}.skill-generation__followup .skill-button{height:36px;min-height:36px}.skill-generation__action-error{grid-column:1 / -1;margin-top:-4px}.skill-file-browser{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:0;flex:1}.skill-file-tree{min-width:0;overflow:auto;border-right:1px solid hsl(var(--border));padding:6px 0}.skill-file-tree__row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:30px;padding-top:4px;padding-right:8px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;white-space:nowrap}button.skill-file-tree__row{cursor:pointer}button.skill-file-tree__row:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.skill-file-tree__row.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.skill-file-tree__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.skill-file-tree__row>svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skill-file-tree__row small{color:hsl(var(--muted-foreground));font-size:10px}.skill-file-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.skill-file-preview>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:4px 9px;border-bottom:1px solid hsl(var(--border));font-size:11.5px}.skill-file-preview>header>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-preview>header div{display:flex;gap:4px}.skill-file-preview>header button{min-height:28px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skill-file-preview__body{min-width:0;min-height:0;overflow:auto}.skill-file-preview__body .cm-editor{height:100%}.skill-file-preview__markdown{padding:16px}.skill-file-preview__frontmatter{display:grid;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:8px;background:hsl(var(--secondary) / .5)}.skill-file-preview__frontmatter>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}.skill-file-preview__frontmatter dt{color:hsl(var(--muted-foreground));font-size:11px;font-weight:500}.skill-file-preview__frontmatter dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.skill-file-preview__markdown-body>:first-child{margin-top:0}.skill-file-preview__body img{display:block;max-width:calc(100% - 32px);max-height:calc(100% - 32px);margin:16px auto;object-fit:contain}.skill-file-preview__binary{display:grid;place-content:center;gap:5px;height:100%;padding:20px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}@media (max-width: 980px){.skill-generation__groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-generation__candidate{grid-template-columns:1fr;overflow-y:auto}.skill-generation__activity,.skill-generation__files{min-height:420px}.skill-generation__ready-actions{grid-column:1;align-items:stretch;flex-direction:column}.skill-generation__publish-target{width:100%;min-width:0}.skill-generation__followup{grid-column:1}}@media (max-width: 760px){.skillcenter{padding:24px 20px 0}.skillcenter-page-header{flex-direction:column;gap:16px}.skillcenter-page-heading h1{max-width:calc(100vw - 40px)}.skillcenter-page-heading--back h1{max-width:calc(100vw - 82px)}.skillcenter-search{width:100%}.skillcenter-toolbar{align-items:flex-start;flex-direction:column}.skillcenter-detail-facts{width:100%;justify-content:space-between;gap:12px}.skillcenter-detail-facts>div{min-width:0}.skillcenter-toolbar-actions{width:100%}.skillcenter-results{margin-top:22px}.skill-generation__header{padding:24px 20px 0}.skill-generation__setup{margin:17px 17px 0}}@media (max-width: 560px){.skill-generation__groups{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.skillcenter-disabled-tooltip{transition:none}.skill-generation *,.skill-generation *:before,.skill-generation *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.skill-generation__spinner{animation:none!important}}@keyframes skill-generation-spin{to{transform:rotate(360deg)}}.my-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.my-agents-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.my-agents-heading{min-width:0}.my-agents-title-row{display:flex;align-items:center;gap:8px}.my-agents-heading h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.my-agents-heading p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.my-agent-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.my-agent-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.my-agent-search svg{width:16px;height:16px;flex:0 0 16px}.my-agent-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.my-agent-search input::placeholder{color:hsl(var(--muted-foreground))}.my-agent-search input::-webkit-search-cancel-button{cursor:pointer}.my-agent-type-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.my-agent-type-pills{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.my-agent-type-pill{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.my-agent-type-pill:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.my-agent-type-pill.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.my-agent-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.my-agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.my-agent-inline-error{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.my-agent-inline-error span{min-width:0;overflow-wrap:anywhere}.my-agent-inline-error button{flex:0 0 auto;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.my-agent-card{width:100%;height:auto;box-sizing:border-box;border-radius:12px;background:hsl(var(--secondary) / .82)}.my-agent-create-primary{min-width:max-content;height:32px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.my-agent-create-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.my-agent-create-primary:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.my-agent-create-primary svg{width:14px;height:14px;flex:0 0 14px}.my-agent-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:0;animation:my-agent-card-enter .22s ease-out both;transition:transform .16s ease}.my-agent-card:hover{transform:translateY(-1px)}.my-agent-card-content{flex:0 0 auto;min-width:0;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;padding:16px;position:relative;z-index:1;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.my-agent-card-title{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.my-agent-card-title-copy{min-width:0}.my-agent-card-badges{display:flex;flex:0 0 auto;align-items:center;gap:6px}.my-agent-region-badge{min-height:22px;display:inline-flex;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600;line-height:1}.my-agent-draft-badge,.my-agent-deploying-badge{min-height:22px;display:inline-flex;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(43 90% 48% / .3);border-radius:999px;background:#fabf0f24;color:#a36f14;font-size:10px;font-weight:600;line-height:1}.my-agent-card-badges .runtime-owner-badge{min-height:22px;display:inline-flex;align-items:center;padding:0 8px;line-height:1}.my-agent-session-id{display:block;margin-top:3px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.my-agent-card h3{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:650;line-height:1.4;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.my-agent-description{min-height:40px;display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.my-agent-status-label{display:inline-flex;min-height:22px;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:550;line-height:1}.my-agent-status-label[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.my-agent-status-label[data-wakeable]{border-color:#e9aa0c4d;background:#fabf0f24;color:#a36f14}.my-agent-meta,.my-agent-meta dt,.my-agent-meta dd{margin:0}.my-agent-meta{display:grid;gap:5px;margin-top:12px}.my-agent-meta>div{display:flex;align-items:center}.my-agent-meta dt,.my-agent-meta dd{font-size:12px;line-height:1.4}.my-agent-meta dt{color:hsl(var(--muted-foreground))}.my-agent-meta dd{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at,.my-agent-region,.my-agent-expiry{width:100%;display:flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground))}.my-agent-created-at dt,.my-agent-region dt,.my-agent-expiry dt{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at dd,.my-agent-region dd,.my-agent-expiry dd{color:hsl(var(--muted-foreground));font-weight:400}.my-agent-expiry.is-expiring dd{color:#a36f14;font-weight:550}.my-agent-region dd{min-width:0;overflow:hidden;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.my-agent-actions{flex:0 0 42px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px 8px 7px;position:relative;z-index:0;border-radius:0 0 12px 12px;background:hsl(var(--secondary) / .82)}.my-agent-actions button{min-width:0;min-height:28px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.my-agent-actions button:hover:not(:disabled){background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.my-agent-actions button:disabled{cursor:default;opacity:.48}.my-agent-actions .my-agent-use{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:hsl(var(--foreground))}.my-agent-actions .my-agent-details{background:hsl(var(--background) / .56)}.my-agent-actions .my-agent-delete{color:hsl(var(--destructive))}.my-agent-actions .my-agent-delete:hover:not(:disabled){background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.my-agent-actions .my-agent-use:hover:not(:disabled){background:hsl(var(--background) / .72)}.my-agent-actions .my-agent-use.is-connected,.my-agent-actions .my-agent-use.is-connected:disabled{background:transparent;color:#1d7c40;opacity:1}.my-agent-use-spinner{width:11px;height:11px;flex:0 0 11px;box-sizing:border-box;border:1.25px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-gap-spin .7s linear infinite}.my-agent-loading-mark{box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-gap-spin .72s linear infinite}.my-agent-loading-mark{width:14px;height:14px;flex:0 0 14px}.my-agent-initial-loading,.my-agent-load-more,.my-agent-empty{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12.5px}.my-agent-initial-loading{min-height:180px;gap:8px}.my-agent-load-more{min-height:54px;gap:8px;padding-top:6px}.my-agent-empty-message{width:100%;height:100%;min-height:220px;display:grid;place-items:center}.my-agent-sandbox-empty-title{max-width:none;white-space:nowrap;text-wrap:nowrap}.my-agent-empty{min-height:220px;flex-direction:column;gap:7px}.my-agent-empty p,.my-agent-empty span{margin:0}.my-agent-empty p{white-space:pre-wrap;overflow-wrap:anywhere;color:inherit;font-size:inherit;font-weight:400}.my-agent-empty button{height:30px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px}.my-agent-actions button:focus-visible,.my-agent-type-pill:focus-visible,.my-agent-create-primary:focus-visible,.my-agent-empty button:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:-2px}@keyframes my-agent-card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){.my-agents-page{padding:24px 20px 0}.my-agents-header{flex-direction:column;gap:16px}.my-agent-search{width:100%}.my-agent-type-bar{align-items:stretch;flex-direction:column;gap:12px}.my-agent-create-primary{align-self:flex-end}.my-agent-results{padding-bottom:44px}}@media (max-width: 560px){.my-agents-page{padding-inline:16px}}@media (prefers-reduced-motion: reduce){.my-agent-card,.my-agent-loading-mark{animation:none}.my-agent-card,.my-agent-actions button,.my-agent-type-pill,.my-agent-create-primary,.my-agent-search{transition:none}.my-agent-use-spinner{animation:none}.my-agent-card:hover{transform:none}}.aw-root{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.aw-agent-head h2,.aw-eval-head h2,.aw-section-head h3{margin:0;color:hsl(var(--foreground));letter-spacing:-.025em}.aw-agent-head p,.aw-eval-head p,.aw-section-head p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.aw-view-tabs,.aw-agent-title-row,.aw-card-head,.aw-section-head,.aw-case-filters,.aw-eval-head{display:flex;align-items:center}.aw-view-tabs{flex:0 0 auto;gap:26px;padding:0 24px;border-bottom:1px solid hsl(var(--border))}.aw-view-tabs button,.aw-case-filters button{border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.aw-view-tabs button{position:relative;min-height:44px;padding:0;font-size:14px;font-weight:580}.aw-view-tabs button.is-active{color:hsl(var(--foreground))}.aw-view-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:hsl(var(--foreground))}.aw-run{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;transition:opacity .16s ease,transform .16s ease}.aw-run:not(:disabled):hover{transform:translateY(-1px)}.aw-root button:focus-visible,.aw-root input:focus-visible,.aw-root textarea:focus-visible,.aw-root select:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-run svg{width:15px;height:15px}.aw-run:disabled,.aw-create-card:disabled{cursor:default;opacity:.42}.aw-workspace-frame{flex:1;min-height:0;position:relative}.aw-workspace{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:304px minmax(0,1fr)}.aw-root.is-detail-only .aw-view-tabs,.aw-root.is-detail-only .aw-sidebar{display:none}.aw-root.is-detail-only .aw-workspace{grid-template-columns:minmax(0,1fr)}.aw-root.is-detail-only{font-size:14px}.aw-root.is-detail-only .aw-agent-head{padding-top:24px}.aw-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 12px 22px 24px}.aw-search{height:40px;min-height:40px;flex:0 0 40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--foreground) / .12);border-radius:10px;background:transparent;transition:border-color .16s ease,background-color .16s ease}.aw-search:focus-within{border-color:hsl(var(--foreground) / .16);background:hsl(var(--secondary) / .42);box-shadow:none}.aw-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;line-height:1}.aw-search input::placeholder{color:hsl(var(--muted-foreground) / .82)}.aw-search input:focus,.aw-search input:focus-visible,.aw-case-search input:focus,.aw-case-search input:focus-visible{outline:none!important;box-shadow:none}.aw-agent-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;margin-top:14px;overflow-y:auto}.aw-selection-toolbar{flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:8px;margin-top:10px}.aw-selection-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-selection-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-selection-toolbar button:disabled{cursor:default;opacity:.42}.aw-selection-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-selection-count{flex:1;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;white-space:nowrap}.aw-selection-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-selection-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-delete-error{margin-top:8px;padding:8px 10px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-agent-item,.aw-agent-check{width:100%;min-height:72px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid hsl(var(--foreground) / .1);border-radius:14px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,border-color .16s ease}.aw-agent-item:hover,.aw-agent-check:hover{border-color:hsl(var(--foreground) / .18);background:hsl(var(--secondary) / .42)}.aw-agent-item.is-active{border-color:hsl(var(--foreground) / .42);background:hsl(var(--secondary) / .28)}.aw-agent-item[draggable=true]{cursor:grab}.aw-agent-item[draggable=true]:active{cursor:grabbing}.aw-agent-item.is-dragging{opacity:.46}.aw-agent-item.is-drop-target{border-color:hsl(var(--foreground) / .46);background:hsl(var(--secondary) / .54)}.aw-agent-item.is-drop-before{box-shadow:inset 0 2px hsl(var(--foreground) / .44)}.aw-agent-item.is-drop-after{box-shadow:inset 0 -2px hsl(var(--foreground) / .44)}.aw-agent-item.is-selecting{gap:10px}.aw-agent-item.is-selected-for-delete{border-color:hsl(var(--foreground) / .36);background:hsl(var(--secondary) / .44)}.aw-agent-item.is-selection-disabled{opacity:.58}.aw-select-marker{width:16px;height:16px;flex:0 0 16px;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background))}.aw-select-marker.is-checked{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.aw-select-marker.is-checked:after{content:"";width:7px;height:4px;border-bottom:1.6px solid hsl(var(--background));border-left:1.6px solid hsl(var(--background));transform:rotate(-45deg) translateY(-1px)}.aw-agent-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.aw-agent-name-row{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-name-row>strong{min-width:0;flex:1}.aw-version-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;line-height:1.2}.aw-draft-badge{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f0ebe0;color:#675332;font-size:10px;font-weight:680;line-height:1.2}.aw-draft-badge.is-deploying{background:#e4eaf2;color:#2d5080}.aw-draft-badge.is-error{background:#dc28281f;color:hsl(var(--destructive))}.aw-draft-badge.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.aw-agent-copy strong,.aw-agent-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-agent-copy strong{font-size:13px;font-weight:650}.aw-agent-copy small{color:hsl(var(--muted-foreground));font-size:11px}.aw-agent-item>svg{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .14s ease,transform .14s ease}.aw-agent-item:hover>svg,.aw-agent-item.is-active>svg{opacity:1}.aw-agent-item:hover>svg{transform:translate(2px)}.aw-agent-check{position:relative}.aw-agent-check>input{position:absolute;width:1px;height:1px;opacity:0}.aw-check-mark{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--foreground) / .22);border-radius:5px;background:hsl(var(--background));color:transparent}.aw-check-mark svg{width:11px;height:11px}.aw-agent-check:has(input:checked) .aw-check-mark{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.aw-agent-check:has(input:focus-visible){outline:2px solid hsl(var(--ring) / .42);outline-offset:-2px}.aw-list-empty{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:28px 12px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-list-error{display:flex;flex-direction:column;align-items:center;gap:10px}.aw-list-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}.aw-create-card{width:100%;min-height:48px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px dashed hsl(var(--foreground) / .28);border-radius:14px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:border-color .16s ease,color .16s ease}.aw-create-card:hover:not(:disabled){border-color:hsl(var(--foreground) / .5);color:hsl(var(--foreground))}.aw-create-card svg{width:15px;height:15px}.aw-list-count{flex:0 0 auto;padding-top:10px;color:hsl(var(--muted-foreground));font-size:10.5px;text-align:center}.aw-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background))}.aw-detail-loading{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.aw-detail-loading-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background) / .94);box-shadow:0 14px 40px hsl(var(--foreground) / .1)}.aw-detail-loading-card>span:not(.loading-gap-spinner){display:flex;flex-direction:column;gap:2px}.aw-detail-loading-card>.loading-gap-spinner{width:18px;height:18px;flex:0 0 18px}.aw-detail-loading-card strong{font-size:13px;font-weight:650}.aw-detail-loading-card small{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-empty-selection{align-items:center;justify-content:center}.aw-empty-selection p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.aw-agent-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}.aw-agent-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.aw-head-delete{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--destructive) / .24);border-radius:999px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:620}.aw-head-delete:hover:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-head-delete:disabled{cursor:default;opacity:.46}.aw-head-delete svg{width:14px;height:14px}.aw-head-delete--draft{border-color:hsl(var(--border));background:transparent;color:hsl(var(--foreground))}.aw-head-delete--draft:hover:not(:disabled){background:hsl(var(--secondary) / .54)}.aw-head-delete.studio-update-action{border:1px solid hsl(var(--destructive) / .34);background:#ffffffc2;color:hsl(var(--destructive));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.aw-head-delete.studio-update-action:hover:not(:disabled){border:1px solid hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.aw-agent-title-row{gap:8px}.aw-agent-head h2,.aw-eval-head h2{overflow:hidden;font-size:20px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.aw-agent-title-row>span,.aw-eval-head>div>span{padding:2px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px}.aw-agent-head p{max-width:720px;overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.aw-update{align-self:center}.aw-update-wrap{position:relative;align-self:center;display:inline-flex;border-radius:999px}.aw-update-wrap.is-disabled{cursor:not-allowed}.aw-update-wrap.is-disabled .aw-update{cursor:inherit}.aw-update-spinner{width:14px;height:14px;flex-basis:14px;border-color:currentColor;border-right-color:transparent}.aw-update-disabled-reason{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:260px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .14s ease,transform .14s ease}.aw-update-wrap.is-disabled:hover .aw-update-disabled-reason,.aw-update-wrap.is-disabled:focus-visible .aw-update-disabled-reason{opacity:1;transform:translate(-50%)}.aw-update-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}@media (prefers-reduced-motion: reduce){.aw-update-disabled-reason{transition:none}}.aw-talk svg{width:15px;height:15px}.aw-agent-tabs{flex:0 0 auto;display:flex;gap:24px;margin:0 24px;padding:0;border-bottom:1px solid hsl(var(--border))}.aw-agent-tabs button{position:relative;min-height:42px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:14px;font-weight:580}.aw-agent-tabs button.is-active{color:hsl(var(--foreground))}.aw-agent-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:hsl(var(--foreground))}.aw-agent-tabs button:disabled{cursor:default}.aw-content{flex:1;min-height:0;overflow-y:auto;margin-top:14px;padding:0 24px 80px}.aw-basic-stack,.aw-usage{display:flex;flex-direction:column;gap:16px}.aw-usage-intro h3,.aw-usage-intro p,.aw-usage-users-head h3,.aw-usage-summary{margin:0}.aw-usage-intro h3,.aw-usage-users-head h3{color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-usage-intro p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-usage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aw-usage-summary>div{min-width:0;padding:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-usage-summary dt{color:hsl(var(--muted-foreground));font-size:12px;font-weight:500}.aw-usage-summary dd{margin:8px 0 0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25}.aw-usage-users-head{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.aw-usage-users-head .text-shimmer{flex:0 0 auto;font-size:12px}.aw-usage-state{min-height:116px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55;text-align:center}.aw-usage-state.is-error{flex-direction:column;color:hsl(var(--destructive));white-space:pre-wrap;overflow-wrap:anywhere}.aw-usage-state button,.aw-usage-pagination button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-usage-state button:hover,.aw-usage-pagination button:hover:not(:disabled){background:hsl(var(--secondary) / .5)}.aw-usage-state button:focus-visible,.aw-usage-pagination button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-usage-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-usage-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-usage-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aw-usage-table th,.aw-usage-table td{padding:13px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:middle}.aw-usage-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-usage-table th:first-child,.aw-usage-table td:first-child{width:48%}.aw-usage-table th:nth-child(2),.aw-usage-table td:nth-child(2){width:18%}.aw-usage-table td strong,.aw-usage-table td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-usage-table td strong{font-weight:600}.aw-usage-table td small{margin-top:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.aw-usage-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px}.aw-usage-pagination span{min-width:92px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-usage-pagination button:disabled{opacity:.48;cursor:not-allowed}.aw-integration-stack{display:flex;flex-direction:column;gap:16px}.aw-integration-intro h3,.aw-integration-intro p,.aw-integration-panel h3,.aw-integration-panel h4,.aw-integration-panel dl,.aw-integration-panel dd{margin:0}.aw-integration-intro h3{font-size:15px;font-weight:620}.aw-integration-intro p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-body{display:flex;min-width:0;flex-direction:column;gap:12px}.aw-integration-protocol-tabs{position:relative;display:grid;width:min(240px,100%);height:36px;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.aw-integration-protocol-slider{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc((100% - 9px)/2);border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .05);transition:transform .24s cubic-bezier(.22,1,.36,1)}.aw-integration-protocol-tabs.is-a2a .aw-integration-protocol-slider{transform:translate(calc(100% + 3px))}.aw-integration-protocol-tabs button{position:relative;z-index:1;min-width:0;min-height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;transition:background-color .16s ease,color .16s ease}.aw-integration-protocol-tabs button:hover{background:hsl(var(--panel) / .45);color:hsl(var(--foreground))}.aw-integration-protocol-tabs button[aria-selected=true]{color:hsl(var(--foreground));font-weight:620}.aw-integration-protocol-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-panel{min-width:0;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-integration-panel.has-example{display:flex;flex-direction:column;gap:20px}.aw-integration-panel header{display:flex;align-items:center;margin-bottom:4px}.aw-integration-panel h3{color:hsl(var(--foreground));font-size:14px;font-weight:620}.aw-integration-panel dl{display:grid;align-content:start;gap:12px}.aw-integration-panel dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px}.aw-integration-panel dt{color:hsl(var(--muted-foreground));font-size:12px}.aw-integration-panel dd{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55}.aw-integration-secret{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px}.aw-integration-secret-value{min-width:52px;overflow-wrap:anywhere}.aw-integration-secret-toggle{display:inline-grid;width:28px;height:28px;flex:0 0 28px;padding:0;place-items:center;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.aw-integration-secret-toggle:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-integration-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-secret-toggle:disabled{cursor:wait;opacity:.62}.aw-integration-secret-toggle svg,.aw-integration-secret-toggle .loading-gap-spinner{width:16px;height:16px}.aw-integration-secret-error{flex-basis:100%;color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-integration-example{min-width:0}.aw-integration-example h4{margin-bottom:8px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.aw-integration-example-code.md{min-width:0;font-size:12px}.aw-integration-example-code.md pre{max-height:360px;margin:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary))}.aw-integration-example-code.md pre code{display:block;min-width:max-content;padding:14px 16px;line-height:1.55}.aw-integration-error{display:flex;align-items:center;gap:8px;min-height:36px;padding:10px 12px;border-radius:8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-error{justify-content:space-between;color:hsl(var(--destructive))}.aw-integration-error button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.aw-canvas-card,.aw-details-card{min-width:0;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel))}.aw-canvas-card{overflow:hidden}.aw-canvas-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:13px}.aw-details-card{overflow:hidden}.aw-deploy-progress-card{width:100%;min-width:0;box-sizing:border-box;padding:24px 26px 26px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--panel))}.aw-detail-deployment{flex:0 0 auto;padding:0 24px 16px}.aw-detail-deployment.is-running{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.aw-main.is-deploying .aw-agent-tabs,.aw-main.is-deploying .aw-content,.aw-main.is-deploying .aw-basic-actions{display:none}.aw-deploy-progress-head,.aw-deploy-progress-head>div,.aw-deploy-progress-icon{display:flex;align-items:center}.aw-deploy-progress-head{justify-content:space-between;gap:20px}.aw-deploy-progress-head>div{min-width:0;gap:12px}.aw-deploy-progress-head>div>div{min-width:0}.aw-deploy-progress-icon{width:34px;height:34px;flex:0 0 34px;justify-content:center;border-radius:50%;background:#eaeff5;color:#295189}.aw-deploy-progress-icon svg{width:17px;height:17px}.aw-deploy-progress-card.is-success .aw-deploy-progress-icon{background:#e8f2ee;color:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-icon,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-icon{background:#f5ecea;color:#8d3d34}.aw-deploy-progress-head h3{margin:0;font-size:14px;font-weight:700}.aw-deploy-progress-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;overflow-wrap:anywhere}.aw-deploy-progress-head>strong{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:12px;font-weight:650}.aw-deploy-progress-track{height:5px;margin-top:18px;overflow:hidden;border-radius:999px;background:hsl(var(--secondary))}.aw-deploy-progress-track span{display:block;height:100%;border-radius:inherit;background:#295189;transition:width .32s cubic-bezier(.22,1,.36,1)}.aw-deploy-progress-card.is-success .aw-deploy-progress-track span{background:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-track span,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-track span{background:#8d3d34}.aw-deploy-steps{margin:22px 0 0;padding:0;list-style:none}.aw-deploy-steps li{position:relative;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:0 0 18px}.aw-deploy-steps li:last-child{padding-bottom:0}.aw-deploy-progress-actions{display:flex;justify-content:flex-end;margin-top:20px}.aw-deploy-steps li:not(:last-child):after{content:"";position:absolute;top:28px;bottom:0;left:13px;width:2px;border-radius:999px;background:hsl(var(--border))}.aw-deploy-steps li.is-done:not(:last-child):after{background:#9dcdb8}.aw-deploy-step-marker{position:relative;z-index:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:680}.aw-deploy-step-marker svg{width:14px;height:14px}.aw-deploy-steps li.is-done .aw-deploy-step-marker{border-color:#b3dbca;background:#e8f2ee;color:#2d7656}.aw-deploy-steps li.is-active .aw-deploy-step-marker{border-color:#9eb3d1;background:#eaeff5;color:#295189}.aw-deploy-steps li.is-failed .aw-deploy-step-marker{border-color:#dcbfbc;background:#f5ecea;color:#8d3d34}.aw-deploy-step-copy{min-width:0;padding-top:2px}.aw-deploy-step-copy strong{display:block;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:620;line-height:1.4}.aw-deploy-step-copy p{min-width:0;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.aw-deploy-steps li.is-done .aw-deploy-step-copy strong,.aw-deploy-steps li.is-active .aw-deploy-step-copy strong,.aw-deploy-steps li.is-failed .aw-deploy-step-copy strong{color:hsl(var(--foreground))}.aw-deploy-steps li.is-active .aw-deploy-step-copy p{color:hsl(var(--foreground) / .78)}.aw-deploy-step-log{min-width:0;margin-top:10px}.aw-deploy-log{min-width:0;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--canvas));overflow:hidden}.aw-deploy-log header,.aw-deploy-log header>div,.aw-deploy-log-actions,.aw-deploy-log-actions button{display:flex;align-items:center}.aw-deploy-log header{min-width:0;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.aw-deploy-log.is-collapsed header{border-bottom:0}.aw-deploy-log header>div:first-child{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.aw-deploy-log strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:640;line-height:1.35}.aw-deploy-log span{min-width:0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.aw-deploy-log-actions{flex:0 0 auto;gap:6px}.aw-deploy-log-actions button{min-height:28px;gap:5px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:11.5px;font-weight:560;cursor:pointer}.aw-deploy-log-actions button:hover{background:hsl(var(--muted))}.aw-deploy-log-actions button span{color:inherit;font-size:inherit;line-height:inherit}.aw-deploy-log-actions button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.aw-deploy-log-actions svg{width:13px;height:13px;flex:0 0 auto}.aw-deploy-log pre{max-height:260px;min-width:0;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:hsl(var(--foreground) / .86);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.55}.aw-deploy-log-empty{padding:12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.aw-deploy-log.is-error{border-color:#dcbfbc}.aw-card-head{justify-content:space-between;gap:12px;min-height:48px;padding:0 16px}.aw-card-head strong{font-size:13px;font-weight:680}.aw-card-head span{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-canvas{height:220px;min-height:0;border-top:1px solid hsl(var(--border))}.aw-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;border:0;background:#f9f8f5}.aw-canvas .abc-canvas{flex:1;min-height:0}.aw-canvas .react-flow__controls{transform:scale(.86);transform-origin:bottom left}.aw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 16px 14px}.aw-facts>div{min-height:39px;display:grid;grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);align-items:center;gap:12px;border-top:1px solid hsl(var(--border) / .72)}.aw-facts>div:nth-child(2n){padding-left:20px}.aw-facts>div:nth-child(odd){padding-right:20px}.aw-facts dt{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-facts dd{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aw-facts .aw-fact-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;overflow:visible;white-space:normal}.aw-fact-badges span{max-width:100%;overflow:hidden;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .55);font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aw-status-dot{width:6px;height:6px;display:inline-block;margin-right:6px;border-radius:50%;background:#358d67}.aw-section-head{justify-content:space-between;gap:18px;margin-bottom:16px}.aw-section-head h3{font-size:17px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-filter-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.aw-case-filter-stack{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.aw-case-source-filters{display:flex;flex-wrap:wrap;gap:6px}.aw-case-source-filters button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.aw-case-source-filters button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-case-source-filters button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button{min-width:0;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .22)}.aw-case-summary>button{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:14px 16px;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.aw-case-summary>button:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .36)}.aw-case-summary>button:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:2px}.aw-case-summary strong{color:hsl(var(--foreground));font-size:26px;font-weight:720;line-height:1}.aw-case-summary span{min-width:0;color:hsl(var(--foreground));font-size:12px;font-weight:640}.aw-case-search{width:min(360px,46%);min-width:260px;height:40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .16s ease,box-shadow .16s ease}.aw-case-search:focus-within{border-color:hsl(var(--foreground) / .32);box-shadow:0 0 0 3px hsl(var(--foreground) / .045)}.aw-case-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-case-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.aw-case-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.aw-case-toolbar{min-height:32px;display:flex;align-items:center;gap:8px;margin:-2px 0 14px}.aw-case-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-case-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-case-toolbar button:disabled{cursor:default;opacity:.42}.aw-case-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-case-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-case-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-filters button{min-height:30px;padding:0 12px;border-radius:6px;font-size:12.5px}.aw-case-filters button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .07)}.aw-case-table{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-width:870px;min-height:86px;display:grid;grid-template-columns:minmax(180px,.78fr) minmax(250px,1.16fr) 80px minmax(220px,.94fr) 48px;align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:13px}.aw-case-row:not(.aw-case-row-head){cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.aw-case-row:not(.aw-case-row-head):hover,.aw-case-row.is-focused,.aw-case-row.is-selected-for-delete{background:hsl(var(--secondary) / .28)}.aw-case-row.is-focused{box-shadow:inset 3px 0 hsl(var(--foreground) / .22)}.aw-case-row.is-selected-for-delete{box-shadow:inset 3px 0 hsl(var(--foreground) / .34)}.aw-case-row:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:-2px}.aw-case-row:first-child{border-top:0}.aw-case-row-head{min-height:38px;align-items:center;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-case-action-head{text-align:center}.aw-case-text,.aw-case-output,.aw-case-reason{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-score{color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.5}.aw-case-reason p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-reason.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-title-line{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{flex:1;min-width:0}.aw-case-actions{min-width:0;display:flex;justify-content:center}.aw-case-row strong,.aw-case-row p,.aw-case-row small{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.aw-case-row strong{color:hsl(var(--foreground));font-weight:600;line-height:1.45}.aw-case-row p{margin:0;color:hsl(var(--muted-foreground));line-height:1.5}.aw-case-output-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-output.is-expanded .aw-case-output-preview{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-expand{width:fit-content;min-height:24px;margin-top:2px;padding:0 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.aw-case-expand:hover{background:hsl(var(--secondary) / .55)}.aw-case-row small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35}.aw-case-time{color:hsl(var(--foreground) / .62)!important}.aw-case-delete{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.aw-case-delete:hover:not(:disabled){border-color:hsl(var(--destructive) / .18);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.aw-case-delete:active:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-empty{min-height:116px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px}.aw-case-error{color:hsl(var(--destructive))}.aw-case-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--destructive) / .26);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-deployment-panel{width:100%;box-sizing:border-box;margin:0}.aw-settings-card{padding:18px;border:1px solid hsl(var(--border));border-radius:14px}.aw-optimizations{display:flex;flex-direction:column;gap:16px}.aw-optimization-intro h3{margin:0;color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-optimization-intro p{margin:5px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-optimization-state{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.aw-optimization-state.is-error{color:hsl(var(--destructive))}.aw-optimization-state button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.aw-optimization-table-wrap{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-optimization-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-optimization-table th,.aw-optimization-table td{padding:14px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:top}.aw-optimization-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-optimization-table th:first-child,.aw-optimization-table td:first-child{width:108px}.aw-optimization-table th:nth-child(2),.aw-optimization-table td:nth-child(2){width:142px}.aw-optimization-module{color:hsl(var(--foreground));font-size:13px;font-weight:620;line-height:1.55}.aw-optimization-list{margin:0;padding:0;list-style:none}.aw-optimization-list li{position:relative;padding-left:16px}.aw-optimization-list li+li{margin-top:13px;padding-top:13px;border-top:1px dashed hsl(var(--border))}.aw-optimization-list li:before{position:absolute;top:6px;left:1px;width:5px;height:5px;border-radius:50%;background:hsl(var(--primary) / .72);content:""}.aw-optimization-list li+li:before{top:19px}.aw-optimization-list strong{display:block;font-size:13.5px;font-weight:650;line-height:1.45}.aw-optimization-list p{margin:5px 0 0;color:hsl(var(--muted-foreground));line-height:1.55}.aw-priority{font-size:13px;font-weight:700;line-height:1.5}.aw-priority.is-high{color:hsl(var(--destructive))}.aw-priority.is-medium{color:#93591f}.aw-priority.is-low{color:#28674c}.aw-readonly-config{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aw-readonly-config>div{min-width:0;padding:12px 14px;border-radius:10px;background:hsl(var(--secondary) / .42)}.aw-readonly-config dt{color:hsl(var(--muted-foreground));font-size:11px}.aw-readonly-config dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12px;font-weight:600}.aw-readonly-config dd.is-ready{color:#1d7c40}.aw-basic-actions{position:absolute;z-index:8;bottom:20px;left:50%;display:flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;border-radius:10px;background:transparent;box-shadow:none;transform:translate(-50%)}.aw-eval-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;justify-content:space-between;gap:20px;padding:14px 24px}.aw-evaluation-glass{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .44);color:hsl(var(--foreground));-webkit-backdrop-filter:blur(9px) saturate(118%);backdrop-filter:blur(9px) saturate(118%);transition:background .18s ease,backdrop-filter .18s ease}.aw-evaluation-glass:hover{background:hsl(var(--background) / .52);-webkit-backdrop-filter:blur(11px) saturate(125%);backdrop-filter:blur(11px) saturate(125%)}.aw-evaluation-glass span{padding:8px 13px;border:1px solid hsl(var(--border) / .82);border-radius:999px;background:hsl(var(--background) / .7);box-shadow:0 8px 24px hsl(var(--foreground) / .07);font-size:12.5px;font-weight:620;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.aw-eval-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-run{min-height:38px;padding:0 14px;border-radius:9px}.aw-eval-setup{width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.aw-eval-block{min-width:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px}.aw-eval-agent-grid{max-height:230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding:0 16px 16px}.aw-eval-agent-grid>label{min-height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid hsl(var(--border) / .82);border-radius:10px;cursor:pointer}.aw-eval-agent-grid input,.aw-metric-list input{width:15px;height:15px;accent-color:hsl(var(--foreground))}.aw-eval-agent-grid label>span{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-eval-agent-grid strong,.aw-eval-agent-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-eval-agent-grid strong{font-size:12px;font-weight:620}.aw-eval-agent-grid small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-eval-setting-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:14px}.aw-eval-fields{display:flex;flex-direction:column;gap:13px;padding:0 16px 16px}.aw-eval-fields label{min-height:36px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.aw-eval-fields label>span,.aw-eval-fields label>small{color:hsl(var(--muted-foreground));font-size:11px}.aw-eval-fields select{width:100%;height:34px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11.5px}.aw-metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}.aw-metric-list label{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid hsl(var(--border) / .82);border-radius:9px;cursor:pointer;font-size:11.5px}.aw-eval-history{width:min(820px,100%);margin:0 auto}.aw-history-list{display:flex;flex-direction:column;gap:9px}.aw-history-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 16px;align-items:center;gap:16px;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:11px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.aw-history-list>button:hover{border-color:hsl(var(--foreground) / .2)}.aw-history-list>button>span:first-child,.aw-history-score{display:flex;flex-direction:column;gap:4px}.aw-history-list strong{font-size:12px}.aw-history-list small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-history-score{align-items:flex-end}.aw-history-score strong{font-size:17px}.aw-complete{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#3c866617;color:#28674c;font-size:10.5px;font-weight:620}.aw-complete svg{width:12px;height:12px}.aw-results-empty{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));text-align:center}.aw-results-empty strong{color:hsl(var(--foreground));font-size:12.5px}.aw-results-empty span{font-size:11.5px}@media (max-width: 980px){.aw-workspace{grid-template-columns:260px minmax(0,1fr)}.aw-eval-setting-grid{grid-template-columns:minmax(0,1fr)}.aw-case-row{min-width:790px;grid-template-columns:minmax(160px,.78fr) minmax(220px,1fr) 72px minmax(180px,.82fr) 48px}}@media (max-width: 720px){.aw-view-tabs{padding-inline:16px}.aw-workspace{grid-template-columns:minmax(0,1fr);overflow-y:auto}.aw-sidebar{height:340px;max-height:340px;box-sizing:border-box;padding:18px 16px}.aw-agent-list{min-height:128px}.aw-main{min-height:620px;overflow:visible}.aw-agent-tabs{gap:18px;margin-inline:16px;overflow-x:auto}.aw-agent-head,.aw-eval-head{padding-inline:16px}.aw-content{overflow:visible;padding-inline:16px}.aw-facts{grid-template-columns:minmax(0,1fr)}.aw-facts>div:nth-child(n){padding-right:0;padding-left:0}.aw-eval-agent-grid,.aw-metric-list{grid-template-columns:minmax(0,1fr)}.aw-case-summary,.aw-case-row{min-width:0;grid-template-columns:minmax(0,1fr)}.aw-case-filter-bar{align-items:stretch;flex-direction:column;gap:12px}.aw-case-search{width:100%;min-width:0}.aw-case-row-head{display:none}.aw-case-cell{position:relative;padding-top:20px}.aw-case-cell:before{content:attr(data-label);position:absolute;top:0;left:0;color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.aw-case-actions{justify-content:flex-start}.aw-optimization-table{min-width:680px}.aw-usage-summary{grid-template-columns:minmax(0,1fr)}.aw-usage-pagination{justify-content:space-between}.aw-readonly-config{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.aw-integration-protocol-slider{transition:none}.aw-root *,.aw-root *:before,.aw-root *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.applications-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.applications-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.applications-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.applications-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.applications-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.applications-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.applications-search svg{width:16px;height:16px;flex:0 0 16px}.applications-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.applications-search input::placeholder{color:hsl(var(--muted-foreground))}.applications-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.applications-categories button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.applications-categories button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.applications-categories button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.applications-categories button:focus-visible{outline:2px solid hsl(var(--ring) / .3);outline-offset:2px}.applications-results{flex:1;min-height:0;overflow-y:auto;margin-top:28px;padding-bottom:56px;scrollbar-gutter:stable}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.application-card-wrap{position:relative;min-width:0;display:flex;border-radius:12px}.application-card-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card{width:100%;min-width:0;min-height:96px;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;padding:16px 18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;box-shadow:0 1px 2px hsl(var(--foreground) / .035);animation:application-card-enter .18s ease-out both;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.application-card:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .24);box-shadow:0 4px 14px hsl(var(--foreground) / .06)}.application-card:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card:disabled{cursor:not-allowed;opacity:.5}.application-card:disabled:hover{border-color:hsl(var(--border));background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.application-card-tooltip{position:absolute;z-index:30;top:50%;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 3px));transition:opacity .14s ease,transform .14s ease}.application-card-wrap.is-disabled:hover .application-card-tooltip,.application-card-wrap.is-disabled:focus-visible .application-card-tooltip{opacity:1;transform:translate(-50%,-50%)}.application-card-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-brand-icon{object-fit:contain}.application-card-copy{min-width:0}.application-card-title{display:flex;align-items:center;gap:6px}.application-card-copy h2{min-width:0;margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.application-card-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:16px;box-sizing:border-box;padding:1px 6px;border-radius:999px;background:hsl(var(--destructive));color:#fff;font-size:10px;font-weight:600;line-height:1.2}.application-card-badge.is-success{background:#36ab661f;color:#217343}.application-card-copy p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.applications-empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:hsl(var(--muted-foreground))}.applications-empty svg{width:32px;height:32px;margin-bottom:12px}.applications-empty h2{margin:0;color:hsl(var(--foreground));font-size:15px;font-weight:600}.applications-empty p{margin:6px 0 0;font-size:12.5px}@keyframes application-card-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.applications-page{padding:24px 20px 0}.applications-header{flex-direction:column;gap:16px}.applications-search{width:100%}}@media (prefers-reduced-motion: reduce){.application-card{animation:none;transition:none}.application-card-tooltip{transition:none}}.system-info-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));font-family:inherit}.system-info-page-header{flex:0 0 auto}.system-info-page-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.system-info-page-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.system-info-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;align-content:start;gap:16px;margin-top:24px;padding-bottom:56px}.system-info-section{min-width:0;padding:20px;border-radius:12px;background:hsl(var(--secondary) / .72)}.system-info-section h2{margin:0 0 16px;color:hsl(var(--foreground));font-size:15px;font-weight:600;line-height:1.4}.system-info-summary,.system-info-tool{margin:0}.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{min-width:0;display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);align-items:center;gap:16px}.system-info-summary dt,.system-info-tool dt,.system-info-pool dt{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:400;line-height:1.5}.system-info-summary dd,.system-info-tool dd,.system-info-pool dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.system-info-resource-value{min-width:0}.system-info-resource-value>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link{min-width:0;max-width:100%;width:fit-content;min-height:28px;display:inline-flex;align-items:center;gap:6px;margin:-4px -2px;padding:4px 2px;border-radius:4px;color:inherit;cursor:pointer;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:4px;transition:color .16s ease,text-decoration-color .16s ease}.system-info-resource-link>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link svg{width:15px;height:15px;flex:0 0 15px;opacity:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:opacity .16s ease}.system-info-resource-link:hover{color:hsl(var(--foreground));text-decoration-color:currentColor}.system-info-resource-link:hover svg,.system-info-resource-link:focus-visible svg{opacity:1}.system-info-resource-link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px;text-decoration-color:currentColor}.system-info-tool-list{display:grid;gap:8px}.system-info-pool-list{display:grid;gap:12px}.system-info-pool{min-width:0;display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding:4px 0}.system-info-empty{color:hsl(var(--muted-foreground));font-weight:400}.system-info-tool{min-width:0;padding:4px 0}.system-info-tool-label{display:flex;align-items:center;gap:7px}.system-info-tool-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(44 88% 43% / .3);border-radius:999px;background:#fac70f2e;color:#976507;font-size:10px;font-weight:600;line-height:1.25;white-space:nowrap}.system-info-loading{display:flex;align-items:center;min-height:24px;color:hsl(var(--muted-foreground));font-size:13px}.system-info-error{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:12px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.system-info-error p,.system-info-empty{margin:0}.system-info-error button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500}.system-info-error button:hover{background:hsl(var(--muted))}.system-info-error button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.system-info-empty{font-size:13px;line-height:1.55}@media (max-width: 760px){.system-info-page{padding:24px 20px 0}}@media (max-width: 520px){.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion: reduce){.system-info-resource-link,.system-info-resource-link svg{transition:none}}@media (hover: none){.system-info-resource-link svg{opacity:1}}.github-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.github-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.github-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.github-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-back svg{width:16px;height:16px}.github-integration-logo{width:30px;height:30px;flex:0 0 30px;color:hsl(var(--foreground))}.github-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.github-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-integration-layout{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:start;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.github-section-panel{width:100%;min-width:0;box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent}.github-panel-heading p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.6}.github-release-form{margin-top:24px}.github-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.github-field{min-width:0;display:flex;flex-direction:column}.github-field>label,.github-token-label-row>label{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.github-field-requirement{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:500}.github-field-requirement.is-required{color:hsl(var(--destructive))}.github-field input{width:100%;height:38px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.github-field input::placeholder{color:hsl(var(--muted-foreground))}.github-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.github-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.github-region-picker{gap:0;margin:0}.github-region-picker .pp-region-trigger,.github-region-picker .pp-region-option{height:38px;font-size:14px}.github-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.github-token-field{margin-top:16px}.github-token-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.github-token-label-row>a{display:inline-flex;align-items:center;gap:4px;color:#2371e7;font-size:12.5px;font-weight:600;line-height:1.5;text-decoration:none}.github-token-label-row>a:hover{text-decoration:underline}.github-token-label-row>a:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px;border-radius:4px}.github-token-label-row>a svg{width:13px;height:13px}.github-token-input{position:relative}.github-token-input input{padding-right:42px}.github-token-input button{position:absolute;top:5px;right:4px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.github-token-input button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-token-input button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.github-token-input button svg{width:17px;height:17px}.github-submit-message{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-top:16px;padding:10px 12px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.5}.github-submit-message.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.github-submit-message.is-success{border-color:#24894e3d;background:#2bab6012;color:#217343}.github-submit-message a,.github-history-item a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:inherit;font-weight:620;text-decoration:none}.github-submit-message a:hover,.github-history-item a:hover{text-decoration:underline}.github-submit-message svg,.github-history-item svg{width:14px;height:14px}.github-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid hsl(var(--border))}.github-secrets-note{max-width:470px;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-secrets-note strong{color:hsl(var(--foreground));font-weight:600}.github-form-actions button{min-width:126px;height:36px;padding:0 15px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:background-color .16s ease,opacity .16s ease}.github-form-actions button:hover:not(:disabled){background:hsl(var(--foreground) / .84)}.github-form-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-form-actions button:disabled{cursor:wait;opacity:.56}@media (max-width: 680px){.github-integration-page{padding:20px 18px 0}.github-field-grid{grid-template-columns:minmax(0,1fr)}.github-form-actions{align-items:stretch;flex-direction:column}.github-form-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.github-back,.github-field input,.github-form-actions button{transition:none}}.feishu-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.feishu-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.feishu-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.feishu-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.feishu-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.feishu-back:disabled{cursor:not-allowed;opacity:.5}.feishu-back svg{width:16px;height:16px}.feishu-integration-logo{width:30px;height:30px;flex:0 0 30px;object-fit:contain}.feishu-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.feishu-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.feishu-integration-layout{flex:1;min-width:0;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.feishu-section-panel{width:100%;min-width:0}.feishu-panel-description{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.feishu-form{margin-top:24px}.feishu-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.feishu-field{min-width:0;display:flex;flex-direction:column}.feishu-field>label{margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.feishu-field input{width:100%;height:36px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:6px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.feishu-field input::placeholder{color:hsl(var(--muted-foreground))}.feishu-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.feishu-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.feishu-field input:disabled{cursor:not-allowed;opacity:.62}.feishu-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-field-error{margin-top:2px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.feishu-region-picker{position:relative;min-width:0}.feishu-region-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.feishu-region-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.feishu-region-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.feishu-region-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.feishu-region-trigger:disabled{cursor:not-allowed;opacity:.5}.feishu-region-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feishu-region-trigger>svg{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.feishu-region-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.feishu-region-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;box-sizing:border-box;max-height:238px;overflow-y:auto;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.feishu-region-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left}.feishu-region-option:hover,.feishu-region-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.feishu-region-option.is-selected{background:hsl(var(--primary) / .08)}.feishu-secret-input{position:relative}.feishu-secret-input input{padding-right:54px}.feishu-secret-input>button{position:absolute;top:4px;right:4px;height:28px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550}.feishu-secret-input>button:hover:not(:disabled){background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.feishu-secret-input>button:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:-2px}.feishu-secret-input>button:disabled{cursor:not-allowed;opacity:.5}.feishu-deployment-status{margin-top:20px;padding:14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .38)}.feishu-deployment-status.is-succeeded{border-color:#40966452;background:#f1f9f4}.feishu-deployment-status.is-failed{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .045)}.feishu-deployment-heading{min-height:20px;color:hsl(var(--foreground));font-size:13px;line-height:1.5}.feishu-deployment-heading strong{display:inline-flex;align-items:center;gap:6px;font-weight:600}.feishu-deployment-heading svg{width:16px;height:16px;color:#217343}.feishu-deployment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.feishu-deployment-steps li{display:flex;align-items:center;gap:6px;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.feishu-deployment-steps li>span{width:18px;height:18px;display:grid;flex:0 0 18px;place-items:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));font-size:10px}.feishu-deployment-steps li>span svg{width:12px;height:12px}.feishu-deployment-steps li.is-active{color:hsl(var(--foreground));font-weight:550}.feishu-deployment-steps li.is-active>span{border-color:hsl(var(--foreground) / .3)}.feishu-deployment-steps li.is-done>span{border-color:#34895766;color:#217343}.feishu-deployment-error{margin:10px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.55;white-space:pre-wrap}.feishu-deployment-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;color:hsl(var(--muted-foreground));font-size:12px}.feishu-deployment-result>span:first-child{color:hsl(var(--foreground));font-weight:600}.feishu-deployment-result a{display:inline-flex;align-items:center;gap:4px;color:hsl(var(--foreground));font-weight:550;text-decoration:none}.feishu-deployment-result a:hover{text-decoration:underline}.feishu-deployment-result a svg{width:14px;height:14px}.feishu-form-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid hsl(var(--border))}.feishu-secrets-note{display:flex;min-width:0;flex-direction:column;gap:3px}.feishu-secrets-note strong{font-size:12.5px;font-weight:600}.feishu-secrets-note span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-action-buttons{display:flex;flex:0 0 auto;gap:8px}.feishu-submit,.feishu-cancel{height:36px;padding:0 15px;border-radius:7px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.feishu-submit{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.feishu-submit:hover:not(:disabled){opacity:.88}.feishu-submit:disabled{cursor:not-allowed;opacity:.45}.feishu-cancel{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.feishu-cancel:hover{background:hsl(var(--secondary))}.feishu-submit:focus-visible,.feishu-cancel:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}@media (max-width: 760px){.feishu-integration-page{padding:24px 20px 0}.feishu-field-grid{grid-template-columns:1fr}.feishu-deployment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.feishu-form-actions{align-items:stretch;flex-direction:column}.feishu-action-buttons{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.feishu-back,.feishu-field input,.feishu-region-trigger,.feishu-region-trigger>svg{transition:none}}.coding-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.coding-agents-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.coding-agents-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.coding-agents-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-back:disabled{cursor:not-allowed;opacity:.5}.coding-agents-back svg{width:16px;height:16px}.coding-agents-logo{width:32px;height:32px;flex:0 0 32px;color:hsl(var(--foreground))}.coding-agents-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.coding-agents-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.coding-agents-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.coding-agents-content{width:100%;display:flex;flex-direction:column;gap:14px}.coding-agents-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.coding-agents-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coding-agents-section-heading>div{display:flex;align-items:center;gap:9px}.coding-agents-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.coding-agents-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.coding-agents-section-heading>button,.coding-agents-error-row button{min-height:28px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.coding-agents-section-heading>button:hover:not(:disabled),.coding-agents-error-row button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-section-heading>button:focus-visible,.coding-agents-error-row button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.coding-agents-section-heading>button:disabled{cursor:wait;opacity:.5}.coding-agents-inline-state{min-height:86px;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.coding-agents-inline-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-error-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.coding-agents-agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coding-agents-agent{position:relative;min-width:0;min-height:92px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;box-sizing:border-box;padding:12px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.coding-agents-agent:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary) / .18)}.coding-agents-agent.is-selected{border-color:hsl(var(--ring) / .5);background:hsl(var(--primary) / .035);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.coding-agents-agent:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-agent:disabled{cursor:not-allowed;opacity:.58}.coding-agents-agent-mark{width:38px;height:38px;display:grid;place-items:center;color:hsl(var(--foreground))}.coding-agents-agent-mark img{width:32px;height:32px;border-radius:7px}.coding-agents-agent-mark svg{width:32px;height:32px}.coding-agents-agent-mark.is-claude-code{color:#d86e4b}.coding-agents-agent-mark.is-codex{color:#4a55ed}.coding-agents-agent-copy{min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:40px}.coding-agents-agent-copy strong{overflow:hidden;font-size:12.5px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-agent-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-status{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:600}.coding-agents-status.is-ready{background:#36ab661a;color:#247b48}.coding-agents-check{position:absolute;right:9px;bottom:9px;width:17px;height:17px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;color:transparent}.coding-agents-agent.is-selected .coding-agents-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-check svg{width:12px;height:12px}.coding-agents-skill-list{display:flex;flex-direction:column;gap:7px}.coding-agents-skill{min-width:0;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));transition:border-color .15s ease,background-color .15s ease}.coding-agents-skill:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .14)}.coding-agents-skill.is-selected{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .025)}.coding-agents-skill label{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;cursor:pointer}.coding-agents-skill label>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.coding-agents-skill input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.coding-agents-skill-check{width:15px;height:15px;display:grid;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));color:transparent}.coding-agents-skill-check svg{width:10px;height:10px}.coding-agents-skill input:checked+.coding-agents-skill-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-skill input:focus-visible+.coding-agents-skill-check,.coding-agents-skill>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-skill input:disabled+.coding-agents-skill-check{opacity:.55}.coding-agents-skill>button{min-height:30px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap}.coding-agents-skill>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-skill-list strong{font-size:12.5px;font-weight:630;line-height:1.35}.coding-agents-skill-list small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.coding-agents-global{margin-top:14px;padding:14px;border-radius:9px;background:hsl(var(--secondary) / .42)}.coding-agents-global-heading{display:flex;align-items:center;gap:9px}.coding-agents-global-heading>svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground))}.coding-agents-global-heading>div{min-width:0;display:flex;align-items:baseline;gap:8px}.coding-agents-global-heading strong{font-size:12px;font-weight:650}.coding-agents-global-heading span{color:hsl(var(--muted-foreground));font-size:11px}.coding-agents-global dl{margin:10px 0 0 27px}.coding-agents-global dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding-top:6px;font-size:11.5px;line-height:1.45}.coding-agents-global dt{color:hsl(var(--muted-foreground))}.coding-agents-global dd{min-width:0;margin:0;overflow-wrap:anywhere}.coding-agents-global>p{margin:9px 0 0 27px;color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-result{padding:11px 12px;border:1px solid;border-radius:8px;font-size:11.5px;line-height:1.45}.coding-agents-result.is-success{border-color:#2c965838;background:#2da9610f;color:#217343}.coding-agents-result.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.coding-agents-result strong{font-weight:620}.coding-agents-result ul{margin:7px 0 0;padding-left:16px;color:inherit}.coding-agents-result li{margin-top:3px;overflow-wrap:anywhere}.coding-agents-actions{min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.coding-agents-actions>span{color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-actions>button{min-width:112px;min-height:36px;padding:7px 18px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:opacity .15s ease}.coding-agents-actions>button:hover:not(:disabled){opacity:.82}.coding-agents-actions>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-actions>button:disabled{cursor:not-allowed;opacity:.42}.coding-agents-preview-dialog{width:min(980px,calc(100vw - 48px));height:min(680px,calc(100vh - 48px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 24px 64px hsl(var(--foreground) / .18)}.coding-agents-preview-dialog[open]{display:flex;flex-direction:column}.coding-agents-preview-dialog::backdrop{background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.coding-agents-preview-header{min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.coding-agents-preview-mark svg{width:18px;height:18px}.coding-agents-preview-header h2,.coding-agents-preview-header p{margin:0}.coding-agents-preview-header h2{font-size:14px;font-weight:650;line-height:1.4}.coding-agents-preview-header p{margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.coding-agents-preview-header>button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.coding-agents-preview-header>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-header>button:focus-visible,.coding-agents-preview-tree button:focus-visible,.coding-agents-preview-tree summary:focus-visible,.coding-agents-preview-state button:focus-visible,.coding-agents-preview-file pre:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:1px}.coding-agents-preview-header>button svg{width:16px;height:16px}.coding-agents-preview-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}.coding-agents-preview-tree{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.coding-agents-preview-tree-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-tree-title span{font-size:11.5px;font-weight:650}.coding-agents-preview-tree-title small{min-width:20px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;text-align:center}.coding-agents-preview-tree-scroll{min-height:0;overflow:auto;padding:8px}.coding-agents-preview-tree details{margin-bottom:4px}.coding-agents-preview-tree summary{min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;border-radius:6px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:11.5px;list-style:none}.coding-agents-preview-tree summary::-webkit-details-marker{display:none}.coding-agents-preview-tree summary:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree summary svg,.coding-agents-preview-tree button svg{width:15px;height:15px;flex:0 0 15px}.coding-agents-preview-tree details>div{padding-left:13px}.coding-agents-preview-tree button{width:100%;min-width:0;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;text-align:left}.coding-agents-preview-tree button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree button.is-selected{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground));font-weight:600}.coding-agents-preview-tree button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file{min-width:0;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.coding-agents-preview-file>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-file>header strong{min-width:0;overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file>header span{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10.5px}.coding-agents-preview-file pre{flex:1;min-width:0;min-height:0;margin:0;overflow:auto;padding:16px 18px 24px;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre}.coding-agents-preview-file code{font:inherit}.coding-agents-preview-state,.coding-agents-preview-unavailable{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.coding-agents-preview-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-preview-state.is-error{flex-direction:column;color:hsl(var(--destructive))}.coding-agents-preview-state button{min-height:30px;padding:4px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}@keyframes coding-agents-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.coding-agents-page{padding:20px 18px 0}.coding-agents-agent-grid{grid-template-columns:minmax(0,1fr)}.coding-agents-global-heading>div{align-items:flex-start;flex-direction:column;gap:2px}.coding-agents-global dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.coding-agents-actions{align-items:stretch;flex-direction:column;gap:8px}.coding-agents-actions>span{text-align:right}.coding-agents-actions>button{width:100%}.coding-agents-preview-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}.coding-agents-preview-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,34%) minmax(0,1fr)}.coding-agents-preview-tree{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.coding-agents-back,.coding-agents-agent,.coding-agents-skill,.coding-agents-actions>button{transition:none}.coding-agents-inline-state i,.coding-agents-preview-state i{animation-duration:1.5s}}.new-chat-mode{position:relative;align-self:flex-start}.new-chat-mode__trigger{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 7px 2px 5px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease}.composer--new-chat .new-chat-mode__trigger{min-height:36px;font-size:15px}.new-chat-mode__trigger:hover,.new-chat-mode__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-mode__current{max-width:min(180px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__trigger:focus-visible,.new-chat-mode__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-mode__icon,.new-chat-mode__option-icon{display:inline-grid;place-items:center;flex:0 0 auto}.new-chat-mode__icon svg{width:15px;height:15px}.new-chat-mode__option-icon svg{width:18px;height:18px}.new-chat-mode svg{fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.new-chat-mode svg.new-chat-mode__temporary-icon{stroke-width:1.3}.new-chat-mode__chevron{width:12px;height:12px;transition:transform .14s ease}.new-chat-mode__trigger[aria-expanded=true] .new-chat-mode__chevron{transform:rotate(180deg)}.new-chat-mode__menus{position:absolute;z-index:43;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:8px}.new-chat-mode__menu{flex:0 0 auto;width:286px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__option{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer}.new-chat-mode__option.is-active{background:hsl(var(--accent))}.new-chat-mode__option:disabled{cursor:not-allowed;opacity:.48}.new-chat-mode__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-mode__copy>span:last-child{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.new-chat-mode__label{display:flex;min-width:0;align-items:center;gap:7px;font-size:13px;line-height:1.3}.new-chat-mode__label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-mode__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-mode__submenu{flex:0 0 auto;width:248px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__submenu-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-mode__submenu-option:hover:not(:disabled){background:hsl(var(--accent))}.new-chat-mode__submenu-option:disabled{cursor:not-allowed;opacity:.42}.new-chat-mode__builtin-icon{width:24px;height:24px;flex:0 0 auto;stroke-width:1.75}@media (max-width: 640px){.new-chat-mode__menus{width:min(320px,calc(100vw - 48px));max-height:min(520px,calc(100vh - 160px));flex-direction:column;overflow-y:auto}.new-chat-mode__menu,.new-chat-mode__submenu{width:100%}}@media (prefers-reduced-motion: reduce){.new-chat-mode__trigger,.new-chat-mode__chevron{transition:none}}.new-chat-agent-picker{position:relative;min-width:0}.composer--new-chat .new-chat-agent-picker{position:absolute;z-index:5;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-agent-picker{left:138px}.composer--new-chat.composer--task-image .new-chat-agent-picker,.composer--new-chat.composer--task-video .new-chat-agent-picker{left:176px}.new-chat-agent-picker__trigger{display:inline-flex;align-items:center;gap:6px;max-width:min(220px,42vw);min-height:36px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-agent-picker__trigger:hover,.new-chat-agent-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-agent-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-agent-picker__trigger>span{display:flex;min-height:20px;align-items:center;overflow:hidden;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-chevron{width:13px;height:13px;flex:0 0 auto;transform:rotate(90deg);transition:transform .14s ease}.new-chat-agent-picker__trigger[aria-expanded=true] .new-chat-agent-picker__trigger-chevron{transform:rotate(-90deg)}.new-chat-agent-picker__menus{position:absolute;z-index:44;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:7px;outline:none}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-agent-picker__menu{width:218px}.new-chat-agent-picker__submenu{width:272px;max-height:286px;overflow:auto}.new-chat-agent-picker__type,.new-chat-agent-picker__runtime{display:grid;align-items:center;width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left}.new-chat-agent-picker__type{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;padding:7px 8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__type:hover,.new-chat-agent-picker__type.is-keyboard-active,.new-chat-agent-picker__runtime:hover:not(:disabled),.new-chat-agent-picker__runtime.is-keyboard-active{background:hsl(var(--accent))}.new-chat-agent-picker__type-icon,.new-chat-agent-picker__runtime-icon{width:18px;height:18px;flex:0 0 auto}.new-chat-agent-picker__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-agent-picker__runtime{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__runtime:disabled{cursor:wait;opacity:.62}.new-chat-agent-picker__runtime>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__runtime small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-agent-picker__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-agent-picker__runtime-list{display:flex;flex-direction:column;gap:1px}.new-chat-agent-picker__empty{min-height:116px;padding:14px 10px}.new-chat-agent-picker__empty-title{white-space:nowrap}.new-chat-agent-picker__empty-agent-icon{width:32px;height:32px}.new-chat-agent-picker__status,.new-chat-agent-picker__error,.new-chat-agent-picker__inline-error{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.new-chat-agent-picker__status{display:flex;min-height:76px;align-items:center;justify-content:center;gap:7px;padding:12px}.new-chat-agent-picker__error{display:flex;flex-direction:column;gap:8px;padding:10px;color:hsl(var(--destructive))}.new-chat-agent-picker__error>span,.new-chat-agent-picker__inline-error{white-space:pre-wrap;overflow-wrap:anywhere}.new-chat-agent-picker__error button,.new-chat-agent-picker__load-more{min-height:30px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.new-chat-agent-picker__inline-error{padding:6px 8px;color:hsl(var(--destructive))}.new-chat-agent-picker__load-more{width:100%;margin-top:4px}.new-chat-agent-picker__load-more:disabled{cursor:wait;opacity:.55}.new-chat-agent-picker__spinner{width:13px;height:13px;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-agent-picker-spin .7s linear infinite}.new-chat-agent-picker__trigger:focus-visible,.new-chat-agent-picker__type:focus-visible,.new-chat-agent-picker__runtime:focus-visible,.new-chat-agent-picker__error button:focus-visible,.new-chat-agent-picker__load-more:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}@keyframes new-chat-agent-picker-spin{to{transform:rotate(360deg)}}@media (max-height: 700px) and (min-width: 641px){.new-chat-agent-picker__menus{top:auto;bottom:calc(100% + 7px)}.new-chat-agent-picker__submenu{max-height:min(220px,calc(100dvh - 180px))}}@media (max-width: 640px){.new-chat-agent-picker__menus{width:min(320px,calc(100vw - 88px));max-height:min(420px,calc(100dvh - 168px));flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{width:100%;flex:0 0 auto}.new-chat-agent-picker__submenu{max-height:220px}}@media (prefers-reduced-motion: reduce){.new-chat-agent-picker__trigger,.new-chat-agent-picker__trigger-chevron{transition:none}.new-chat-agent-picker__spinner{animation:none}}.new-chat-workspace-tabs{position:relative;z-index:1;display:flex;align-self:flex-start;width:100%;height:76px;margin:0 0 -26px;padding:8px 10px 34px;align-items:flex-start;gap:6px;overflow-x:auto;overflow-y:hidden;border-radius:16px 16px 13px 13px;background:hsl(var(--muted) / .72);box-sizing:border-box;scrollbar-width:none}.new-chat-workspace-tabs::-webkit-scrollbar{display:none}.new-chat-workspace-tabs__tab{position:relative;display:inline-flex;flex:0 0 104px;width:104px;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:14px;font-weight:400;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.new-chat-workspace-tabs__tab:hover:not(:disabled):not(.is-active){background:hsl(var(--background) / .56);color:hsl(var(--foreground))}.new-chat-workspace-tabs__tab.is-active{color:hsl(var(--foreground));font-weight:400}.new-chat-workspace-tabs__slider{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid hsl(var(--border) / .76);border-radius:inherit;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035);pointer-events:none}.new-chat-workspace-tabs__tab:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-workspace-tabs__tab:disabled{cursor:not-allowed;opacity:.48}.new-chat-workspace-tabs__icon{position:relative;z-index:1;width:17px;height:17px;flex:0 0 auto}.new-chat-workspace-tabs__skill-icon{display:inline-grid;place-items:center}.new-chat-workspace-tabs__skill-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .2s cubic-bezier(.22,1,.36,1)}.new-chat-workspace-tabs__skill-shape.is-triangle{clip-path:inset(0 18% 50% 18%);transform-origin:50% 30%}.new-chat-workspace-tabs__skill-shape.is-circle{clip-path:inset(47% 50% 0 0);transform-origin:28% 72%}.new-chat-workspace-tabs__skill-shape.is-square{clip-path:inset(47% 0 0 50%);transform-origin:72% 72%}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-box:view-box;transform-origin:12px 18.5px;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-triangle{transform:translateY(-1px) scale(1.04)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-circle{transform:translate(-.6px,.6px) rotate(-6deg)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-square{transform:translate(.7px,.5px) rotate(6deg)}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-origin:3.25px 9px}.new-chat-workspace-tabs__tab:hover:not(:disabled) .video-generate-icon__clapper{transform:rotate(-14deg)}.new-chat-workspace-tabs__label{position:relative;z-index:1}.new-chat-skill-picker{position:relative;flex:0 0 auto;min-width:0}.new-chat-skill-controls{position:absolute;z-index:5;right:52px;bottom:10px;left:52px;display:flex;min-width:0;align-items:center;gap:4px}.new-chat-skill-controls__style,.new-chat-skill-controls__model{min-width:0}.new-chat-skill-controls__style{flex:0 1 auto;max-width:180px}.new-chat-skill-controls__model{flex:0 1 auto;max-width:240px;margin-left:auto}.new-chat-skill-controls__style .new-chat-compact-select,.new-chat-skill-controls__model .new-chat-compact-select{width:fit-content;max-width:100%}.new-chat-skill-controls__style .new-chat-compact-select__trigger,.new-chat-skill-controls__model .new-chat-compact-select__trigger{width:auto;max-width:100%}.new-chat-skill-controls__model .new-chat-compact-select__menu{right:0;left:auto}.new-chat-skill-picker__trigger{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-skill-picker__trigger:hover,.new-chat-skill-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-skill-picker__trigger:focus-visible,.new-chat-skill-picker__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-skill-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-skill-picker__chevron,.new-chat-skill-picker__check{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-skill-picker__chevron{transition:transform .14s ease}.new-chat-skill-picker__trigger[aria-expanded=true] .new-chat-skill-picker__chevron{transform:rotate(180deg)}.new-chat-skill-picker__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:180px;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-skill-picker__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:34px;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.new-chat-skill-picker__option:hover,.new-chat-skill-picker__option.is-active{background:hsl(var(--accent))}.new-chat-skill-picker__check{color:hsl(var(--primary))}.new-chat-compact-select{position:relative;min-width:0;max-width:190px}.new-chat-compact-select__trigger{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;gap:5px;padding:2px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-compact-select__trigger:focus-visible,.new-chat-compact-select__search input:focus-visible,.new-chat-compact-select__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-compact-select__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-compact-select__label{flex:0 0 auto;color:hsl(var(--muted-foreground) / .76)}.new-chat-compact-select__value{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__value.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.new-chat-compact-select__chevron,.new-chat-compact-select__check{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-compact-select__chevron{transition:transform .14s ease}.new-chat-compact-select__spinner{width:13px;height:13px;flex:0 0 auto;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-compact-select-spin .7s linear infinite}@keyframes new-chat-compact-select-spin{to{transform:rotate(360deg)}}.new-chat-compact-select__trigger[aria-expanded=true] .new-chat-compact-select__chevron{transform:rotate(180deg)}.new-chat-compact-select__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:min(240px,calc(100vw - 32px));padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .28),0 3px 10px hsl(var(--foreground) / .05)}.new-chat-compact-select__search{display:block;padding:2px 2px 5px}.new-chat-compact-select__search input{width:100%;min-height:32px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.new-chat-compact-select__list{max-height:240px;overflow-y:auto}.new-chat-compact-select__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:36px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-compact-select__option:hover,.new-chat-compact-select__option.is-active{background:hsl(var(--accent))}.new-chat-compact-select__option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-compact-select__option-copy strong,.new-chat-compact-select__option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__option-copy strong{font-size:13px;font-weight:550}.new-chat-compact-select__option-copy small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-compact-select__check{color:hsl(var(--primary))}.new-chat-compact-select__status{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.new-chat-compact-select__status.is-error{color:hsl(var(--destructive))}.new-chat-compact-select__status button{flex:0 0 auto;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}@media (max-width: 520px){.new-chat-workspace-tabs__tab{gap:5px;padding:0 6px;font-size:13px}.new-chat-workspace-tabs__icon{width:16px;height:16px}.new-chat-skill-controls>.new-chat-compact-select{flex:1 1 0}.new-chat-skill-picker__trigger{padding-right:5px;padding-left:4px;font-size:13px}.new-chat-compact-select__trigger{padding-right:5px;padding-left:5px;gap:3px}.new-chat-compact-select__label{display:none}}@media (prefers-reduced-motion: reduce){.new-chat-workspace-tabs__tab,.new-chat-skill-picker__trigger,.new-chat-skill-picker__chevron,.new-chat-compact-select__trigger,.new-chat-compact-select__chevron{transition:none}.new-chat-compact-select__spinner{animation:none}.new-chat-workspace-tabs__skill-shape,.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transition:none}}.new-chat-skill-target-picker{position:relative;min-width:0;flex:0 1 220px}.new-chat-skill-target-picker__trigger{max-width:100%}.new-chat-skill-target-picker__menus.is-above{top:auto;bottom:calc(100% + 7px)}.new-chat-skill-target-picker__menus>.new-chat-agent-picker__menu,.new-chat-skill-target-picker__submenu{max-height:var(--new-chat-skill-menu-max-height, 286px);overflow-y:auto;overscroll-behavior:contain}.new-chat-skill-target-picker__space{grid-template-columns:minmax(0,1fr) 16px}.new-chat-skill-target-picker__space>span,.new-chat-skill-target-picker__skill>span,.new-chat-skill-target-picker__skill>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-skill-target-picker__space.is-previewed{background:hsl(var(--accent))}.new-chat-skill-target-picker__skill{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.new-chat-skill-target-picker__skill>span{grid-column:1;font-weight:400}.new-chat-skill-target-picker__skill>small{grid-column:1}.new-chat-skill-target-picker__skill>.new-chat-agent-picker__check{grid-column:2;grid-row:1 / span 2}.new-chat-skill-target-picker__empty{display:grid;min-height:76px;place-items:center;padding:12px;color:hsl(var(--muted-foreground));font-size:12px}@media (prefers-reduced-motion: reduce){.new-chat-skill-target-picker__spinner{animation:none}}.new-chat-video-controls{position:absolute;z-index:0;top:calc(100% - 8px);right:16px;left:16px;display:flex;min-width:0;flex-direction:column;gap:12px;padding:24px 14px 12px;border:0;border-radius:0 0 14px 14px;background:hsl(var(--muted) / .72);color:hsl(var(--foreground));transform-origin:top center}.new-chat-video-controls__parameters{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:8px;background:hsl(var(--background) / .54)}.new-chat-video-task-mode{position:absolute;z-index:5;bottom:10px;left:52px;width:fit-content;min-width:0;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select{width:fit-content;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select__trigger{width:auto;min-width:96px;max-width:220px;padding-right:10px;padding-left:10px}.new-chat-video-generation-model{position:absolute;z-index:5;right:52px;bottom:10px;display:inline-flex;min-width:0;min-height:36px;max-width:290px;align-items:center;gap:5px;padding:2px 8px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-generation-model strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-controls__field{min-width:0}.new-chat-video-controls__parameters>:not(:first-child){border-left:1px solid hsl(var(--border) / .62)}.new-chat-video-controls .new-chat-compact-select{width:100%;max-width:none}.new-chat-video-controls .new-chat-compact-select__trigger,.new-chat-video-duration{width:100%;min-height:36px;border:0;border-radius:0;background:transparent}.new-chat-video-controls__parameters>:first-child,.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:8px 0 0 8px}.new-chat-video-controls__parameters>:last-child{border-radius:0 8px 8px 0}.new-chat-video-controls .new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-video-controls .new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--background) / .92)}.new-chat-video-duration{display:grid;min-width:0;grid-template-columns:72px minmax(52px,1fr);align-items:center;gap:8px;padding:2px 8px}.new-chat-video-duration.is-disabled{opacity:.48}.new-chat-video-duration__header{display:flex;align-items:center;justify-content:space-between;gap:4px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-duration__header output{color:hsl(var(--foreground));font-weight:550}.new-chat-video-duration input{width:100%;height:16px;margin:0;accent-color:hsl(var(--primary));cursor:pointer}.new-chat-video-duration input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:hsl(var(--muted-foreground) / .24)}.new-chat-video-duration input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:hsl(var(--foreground) / .72);-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-chat-video-duration input:disabled{cursor:not-allowed}.new-chat-video-duration:focus-within{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-controls__assets{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-chat-video-controls__assets.is-single{grid-template-columns:minmax(0,1fr)}.composer-input-stack.has-inline-asset .comp-input{padding-left:96px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:96px;max-width:calc(100% - 106px)}.new-chat-inline-video{position:absolute;z-index:3;top:3px;left:10px;width:70px;height:66px}.new-chat-inline-video__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-inline-video__tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;overflow:hidden;box-sizing:border-box;border:1px dashed hsl(var(--muted-foreground) / .5);border-radius:10px;background:hsl(var(--muted) / .45);color:hsl(var(--muted-foreground));font-size:12px;line-height:1;cursor:pointer;transform:rotate(-6deg);transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .15s ease-out,background-color .15s ease-out}.new-chat-inline-video__tile:hover,.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile,.new-chat-inline-video:focus-within .new-chat-inline-video__tile{border-color:hsl(var(--muted-foreground) / .72);background:hsl(var(--muted) / .68);transform:rotate(0)}.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile{outline:2px solid hsl(var(--primary) / .42);outline-offset:2px}.new-chat-inline-video__tile svg{width:22px;height:22px;flex:0 0 auto}.new-chat-inline-video__tile img,.new-chat-inline-video__tile video{width:100%;height:100%;display:block;object-fit:cover}.new-chat-inline-video__remove{position:absolute;z-index:2;top:-5px;right:-5px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;opacity:0;transition:opacity .14s ease-out,color .14s ease-out}.new-chat-inline-video:hover .new-chat-inline-video__remove,.new-chat-inline-video:focus-within .new-chat-inline-video__remove{opacity:1}.new-chat-inline-video__remove:hover{color:hsl(var(--foreground))}.new-chat-inline-video__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px;opacity:1}.new-chat-inline-video__remove svg{width:13px;height:13px}.new-chat-inline-video.is-disabled{opacity:.48}.new-chat-inline-video.is-disabled .new-chat-inline-video__tile,.new-chat-inline-video__remove:disabled{cursor:not-allowed}.new-chat-video-controls__model-hint{min-height:18px;display:flex;align-items:center;justify-content:center;margin:-2px 2px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.new-chat-video-controls__storage-unavailable{min-height:18px;margin:-3px 2px -4px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;text-align:center}.new-chat-video-model-spinner{width:13px;height:13px;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:new-chat-video-model-spin .72s linear infinite}@keyframes new-chat-video-model-spin{to{transform:rotate(360deg)}}.new-chat-video-asset{position:relative;min-width:0}.new-chat-video-asset__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-video-asset__label{display:grid;min-height:50px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;border:1px dashed hsl(var(--border) / .72);border-radius:8px;background:hsl(var(--background) / .36);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.new-chat-video-asset__label:hover{border-color:hsl(var(--muted-foreground) / .48);background:hsl(var(--background) / .8)}.new-chat-video-asset__input:focus-visible+.new-chat-video-asset__label{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset.is-disabled{opacity:.48}.new-chat-video-asset.is-disabled .new-chat-video-asset__label{cursor:not-allowed}.new-chat-video-asset__icon{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:7px;background:hsl(var(--accent));color:hsl(var(--muted-foreground))}.new-chat-video-asset__icon svg{width:15px;height:15px}.new-chat-video-asset__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-video-asset__title{display:flex;min-width:0;align-items:baseline;gap:6px;font-size:13px;font-weight:550}.new-chat-video-asset__title small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:450}.new-chat-video-asset__value{overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-asset__value.is-selected{color:hsl(var(--foreground) / .78)}.new-chat-video-asset__action{padding-right:2px;color:hsl(var(--foreground) / .74);font-size:12px;font-weight:550}.new-chat-video-asset__remove{position:absolute;z-index:1;top:50%;right:7px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transform:translateY(-50%)}.new-chat-video-asset__remove:hover{color:hsl(var(--foreground))}.new-chat-video-asset__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset__remove:disabled{cursor:not-allowed}.new-chat-video-asset__remove svg{width:14px;height:14px}.new-chat-video-asset:has(.new-chat-video-asset__remove) .new-chat-video-asset__action{visibility:hidden}@media (max-width: 620px){.new-chat-video-controls{right:16px;left:16px;padding-right:12px;padding-left:12px}.new-chat-video-controls__parameters{grid-template-columns:minmax(0,1fr)}.new-chat-video-controls__parameters>*{border-left:0;border-top:1px solid hsl(var(--border) / .62);border-radius:0!important}.new-chat-video-controls__parameters>:first-child{border-top:0;border-radius:8px 8px 0 0!important}.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:inherit}.new-chat-video-controls__parameters>:last-child{border-radius:0 0 8px 8px!important}.new-chat-video-controls__assets{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.new-chat-video-model-spinner{border-right-color:currentColor;animation:none}}@media (max-width: 520px){.new-chat-video-task-mode,.new-chat-video-task-mode .new-chat-compact-select,.new-chat-video-task-mode .new-chat-compact-select__trigger{max-width:132px}.new-chat-video-generation-model{max-width:84px}.new-chat-video-generation-model>span{display:none}.composer-input-stack.has-inline-asset .comp-input{padding-left:84px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:84px;max-width:calc(100% - 94px)}.new-chat-inline-video{width:60px;height:60px}}@media (prefers-reduced-motion: reduce){.new-chat-video-asset__label,.new-chat-inline-video__tile,.new-chat-inline-video__remove{transition:none}.new-chat-inline-video__tile{transform:none}}.stk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 6vh}.stk-head{text-align:center;margin-bottom:26px}.stk-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em}.stk-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.stk-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}.stk-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,background .12s}.stk-card:hover{border-color:hsl(var(--ring) / .35);background:hsl(var(--foreground) / .02);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.stk-card-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.stk-card-icon svg{width:21px;height:21px}.stk-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.stk-card-title{font-size:15px;font-weight:600}.stk-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.stk-card-status{flex-shrink:0;padding:4px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.stk-card-arrow{flex-shrink:0;width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.stk-card:hover .stk-card-arrow{opacity:1;transform:translate(0)}.stk-card-disabled{opacity:.5;cursor:not-allowed}.stk-card-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--card));box-shadow:none}.stk-card-disabled .stk-card-arrow{display:none}.stk-footer{margin-top:18px;width:100%;max-width:520px;display:flex;justify-content:center}.stk-import{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px dashed hsl(var(--border));border-radius:9px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.stk-import:hover{color:hsl(var(--foreground));border-color:hsl(var(--ring) / .4);background:hsl(var(--foreground) / .03)}.stk-import svg{width:15px;height:15px}@layer components{._Container_1tuad_1{position:relative;display:flex}._Container_1tuad_1[data-has-label]{align-items:flex-start}._Container_1tuad_1[data-orientation=right]{flex-direction:row-reverse}._Container_1tuad_1>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._Checkbox_1tuad_22{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;max-width:18px;height:18px;padding:0;border-radius:var(--radius-xs);background-color:transparent;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}._Checkbox_1tuad_22,:where([data-theme=light]) ._Checkbox_1tuad_22{border:1px solid var(--gray-200)}:where([data-theme=dark]) ._Checkbox_1tuad_22{border:1px solid var(--gray-500)}[data-has-label] ._Checkbox_1tuad_22{top:1px}@media (hover: hover) and (pointer: fine){._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover,:where([data-theme=light]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-600)}}._Checkbox_1tuad_22[data-state=indeterminate],._Checkbox_1tuad_22[data-state=checked]{border-color:var(--gray-900);background-color:var(--gray-900)}._Checkbox_1tuad_22:focus{outline:none}._Checkbox_1tuad_22:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._Checkbox_1tuad_22[data-disabled]{cursor:not-allowed}._Checkbox_1tuad_22[data-disabled],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-150);background:var(--gray-25)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-300);background:var(--gray-200)}._Checkbox_1tuad_22[data-disabled][data-state=checked],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-300);background-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-200);background-color:var(--gray-200)}._CheckMark_1tuad_92{position:absolute;top:0;left:0;width:64%;height:32%;transform:rotate(-45deg) translate(-10%,100%);transform-origin:center;transition:opacity .15s ease,transform .15s ease}@starting-style{._CheckMark_1tuad_92{opacity:0}}[data-state=indeterminate] ._CheckMark_1tuad_92{transform:translate(30%,80%)}[data-state=indeterminate] ._CheckMark_1tuad_92:before{opacity:0}._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{position:absolute;display:block;background:var(--gray-0);content:"";will-change:transform}@starting-style{._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{transform:scale(0)}}:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:before,:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:after{background:var(--gray-100)}._CheckMark_1tuad_92:before{top:0;bottom:0;left:0;width:2px;transform-origin:0 0;transition:transform .1s ease 80ms,opacity .2s ease}._CheckMark_1tuad_92 [data-state=indeterminate]:before{opacity:0}._CheckMark_1tuad_92:after{right:0;bottom:0;left:0;height:2px;transform-origin:0 100%;transition:transform .1s ease .16s}._Label_1tuad_162{display:flex;align-items:center;min-height:20px;cursor:pointer;font-size:14px;line-height:20px}[data-disabled] ._Label_1tuad_162{cursor:not-allowed}[data-orientation=left] ._Label_1tuad_162{padding-left:8px}[data-orientation=right] ._Label_1tuad_162{padding-right:8px}}@layer components{._RadioGroup_onrfm_1{display:flex;gap:var(--radio-group-row-gap)}._RadioGroup_onrfm_1:where([data-direction=col]){flex-direction:column;gap:var(--radio-group-col-gap)}._RadioLabel_onrfm_9{display:inline-flex;flex-direction:row;align-items:flex-start;gap:var(--radio-group-item-gap);cursor:pointer;font-size:var(--radio-group-item-font-size);line-height:var(--radio-group-item-line-height)}._RadioLabel_onrfm_9[data-disabled]{cursor:not-allowed;opacity:.5}._RadioLabel_onrfm_9[data-block]{width:100%}._RadioIndicatorWrapper_onrfm_26{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--radio-group-item-line-height)}._RadioIndicatorWrapper_onrfm_26>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._RadioItem_onrfm_43{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);padding:0;border:none;border-radius:var(--radius-full);background-color:transparent;box-shadow:0 0 0 1px var(--radio-group-indicator-border-color) inset;cursor:pointer;transition-duration:var(--transition-duration-basic);transition-property:box-shadow;transition-timing-function:var(--transition-ease-basic)}@media (hover: hover) and (pointer: fine){._RadioItem_onrfm_43:where(:not([data-disabled])):hover{box-shadow:0 0 0 1px var(--radio-group-indicator-border-color-hover) inset}}._RadioItem_onrfm_43[data-disabled]{cursor:not-allowed}._RadioItem_onrfm_43:focus{outline:none}._RadioItem_onrfm_43:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._RadioIndicator_onrfm_26{position:relative;display:inline-grid;align-items:center;justify-content:center;width:100%;height:100%}._RadioIndicator_onrfm_26:before,._RadioIndicator_onrfm_26:after{display:block;content:"";grid-column-start:1;grid-row-start:1;place-self:center center;will-change:transform}._RadioIndicator_onrfm_26:before{width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);border-radius:var(--radius-full);animation:_fade-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-background-color)}._RadioIndicator_onrfm_26:after{width:var(--radio-group-indicator-hole-size);height:var(--radio-group-indicator-hole-size);border-radius:var(--radius-full);animation:_scale-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-hole-background-color)}@keyframes _scale-in_onrfm_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _fade-in_onrfm_1{0%{opacity:0}to{opacity:1}}}.code-browser-trigger{min-height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:color .12s ease,background-color .12s ease}.code-browser-trigger svg{width:13px;height:13px}.code-browser-trigger:hover{background:hsl(var(--foreground) / .04);color:hsl(var(--foreground))}.code-browser-trigger:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.code-browser-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:code-browser-fade-in .14s ease-out}.code-browser-dialog{width:min(1040px,92vw);height:min(720px,84vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:code-browser-rise-in .18s cubic-bezier(.2,.8,.2,1)}.code-browser-head{flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.code-browser-title-wrap{min-width:0;display:flex;align-items:center;gap:10px}.code-browser-title-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:7px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-title-icon svg,.code-browser-close svg{width:16px;height:16px}.code-browser-title-wrap h2,.code-browser-title-wrap p{margin:0}.code-browser-title-wrap h2{color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35}.code-browser-title-wrap p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.code-browser-close{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.code-browser-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-workspace{flex:1;min-height:0;display:flex}.code-browser-sidebar{flex:0 0 220px;min-width:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .22)}.code-browser-sidebar-head,.code-browser-path{flex:0 0 38px;min-height:38px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.code-browser-sidebar-head{justify-content:space-between;padding:0 12px;color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.code-browser-sidebar-head span{font-variant-numeric:tabular-nums;font-weight:500}.code-browser-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.code-browser-file,.code-browser-folder{width:100%;min-height:30px;display:flex;align-items:center;gap:6px;padding-top:4px;padding-right:10px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.code-browser-file:hover,.code-browser-folder:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.code-browser-file.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.code-browser-file svg,.code-browser-folder svg{width:14px;height:14px;flex:0 0 auto}.code-browser-folder>svg:first-child{width:12px;height:12px;transition:transform .12s ease}.code-browser-folder>svg:first-child.is-open{transform:rotate(90deg)}.code-browser-file span,.code-browser-folder span,.code-browser-path span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-browser-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.code-browser-path{gap:7px;padding:0 13px;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.code-browser-path svg{width:13px;height:13px;flex:0 0 auto}.code-browser-editor{flex:1;min-height:0;overflow:hidden}.code-browser-editor>div,.code-browser-editor .cm-theme,.code-browser-editor .cm-editor{height:100%}.code-browser-editor .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.code-browser-empty{height:100%;display:grid;place-items:center;padding:20px;color:hsl(var(--muted-foreground));font-size:12px}@keyframes code-browser-fade-in{0%{opacity:0}to{opacity:1}}@keyframes code-browser-rise-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.code-browser-backdrop{padding:12px}.code-browser-dialog{width:100%;height:min(760px,92vh)}.code-browser-sidebar{flex-basis:168px}}@media (prefers-reduced-motion: reduce){.code-browser-backdrop,.code-browser-dialog{animation:none}}.pp-config-section.pp-resource-section{overflow:visible}.pp-resource-section:has(.pp-deployment-select-trigger[aria-expanded=true]){position:relative;z-index:70}.pp-resource-list{--pp-resource-mode-column: minmax(196px, .34fr);display:flex;flex-direction:column;gap:12px}.pp-resource-item{min-width:0;padding:12px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background))}.pp-resource-name{margin-bottom:10px;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.4}.pp-resource-grid{min-width:0;display:grid;grid-template-columns:var(--pp-resource-mode-column) minmax(0,.66fr);align-items:start;gap:12px}.pp-resource-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-resource-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-resource-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-field>input{width:100%;min-width:0;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;transition:border-color .12s ease,box-shadow .12s ease}.pp-resource-field>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-resource-field>input:disabled{cursor:not-allowed;opacity:.55}.pp-resource-auto-names{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-auto-names>dl{min-width:0;margin:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background))}.pp-resource-auto-names>dl>div{min-width:0;min-height:35px;display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,.66fr);align-items:center;gap:10px;padding:8px 10px}.pp-resource-auto-names>dl>div+div{border-top:1px solid hsl(var(--border) / .72)}.pp-resource-auto-names dt,.pp-resource-auto-names dd{min-width:0;margin:0}.pp-resource-auto-names dd{overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px}.pp-resource-auto-names>small{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-picker{min-width:0;display:flex;flex-direction:column;gap:6px}.pp-resource-status{min-height:17px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-error{min-height:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.pp-resource-error span{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.pp-resource-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-resource-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-resource-validation{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}@media (max-width: 760px){.pp-resource-grid,.pp-resource-fields,.pp-resource-fields-three{grid-template-columns:minmax(0,1fr)}.pp-resource-auto-names>dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (prefers-reduced-motion: reduce){.pp-resource-field>input{transition:none}}.layout{--pp-sidebar-width: 236px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.pp-toolbar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.pp-toolbar-left,.pp-toolbar-actions,.pp-actions{display:flex;align-items:center}.pp-toolbar-left{min-width:0;gap:18px}.pp-toolbar-actions{flex:0 0 auto;gap:8px}.pp-toolbar-back{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;font-weight:500;cursor:pointer}.pp-toolbar-back:hover{color:hsl(var(--foreground))}.pp-toolbar-title{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-secondary{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.pp-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.pp-secondary:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--accent))}.pp-secondary:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.pp-secondary:disabled{opacity:.55;cursor:default}.pp-body{flex:1;min-height:0;min-width:0;display:flex}.pp-files-area{flex:1 1 auto;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.pp-sidebar{flex:0 0 218px;width:218px;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .24)}.pp-sidebar-head,.pp-main-head{flex:0 0 42px;min-height:42px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.pp-sidebar-head{gap:8px;padding:0 9px 0 14px}.pp-project-name{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:650;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.pp-row{width:100%;min-height:29px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.pp-row:hover{background:hsl(var(--foreground) / .045)}.pp-file.pp-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.pp-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-folder .pp-label{color:hsl(var(--muted-foreground))}.pp-ic{width:15px;height:15px;flex:0 0 auto}.pp-chevron{color:hsl(var(--muted-foreground));transition:transform .12s ease}.pp-chevron.pp-open{transform:rotate(90deg)}.pp-icon-btn{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-icon-btn:hover:not(:disabled){background:hsl(var(--foreground) / .07);color:hsl(var(--foreground))}.pp-icon-btn:disabled{opacity:.45;cursor:default}.pp-danger:hover:not(:disabled){color:hsl(var(--destructive))}.pp-new-input{width:calc(100% - 16px);height:30px;margin:2px 8px 6px;padding:0 8px;border:1px solid hsl(var(--ring) / .55);border-radius:4px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-empty,.pp-placeholder{width:100%;padding:28px 16px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.pp-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.pp-main-head{gap:12px;padding:0 10px 0 14px;background:hsl(var(--background))}.pp-path{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-actions{gap:2px}.pp-content{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.pp-codemirror,.pp-codemirror>div,.pp-codemirror .cm-editor{width:100%;height:100%;min-height:0}.pp-codemirror .cm-editor{overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px}.pp-codemirror .cm-scroller{overflow:auto;overscroll-behavior:none;scroll-padding-block:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.58}.pp-codemirror .cm-content{padding:10px 0 0}.pp-codemirror .cm-line{padding:0 14px 0 8px}.pp-codemirror .cm-content>.cm-line:last-child:has(>br:only-child){display:none}.pp-codemirror .cm-gutters{border-right:1px solid hsl(var(--border) / .7);background:hsl(var(--secondary) / .2);color:hsl(var(--muted-foreground) / .65)}.pp-codemirror .cm-activeLine,.pp-codemirror .cm-activeLineGutter{background:hsl(var(--foreground) / .035)}.pp-codemirror .cm-focused{outline:none}.pp-editor-loading{height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12px}.pp-pre{flex:1;width:100%;height:100%;box-sizing:border-box;margin:0;padding:14px 16px 0;overflow:auto;background:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;font-style:normal;font-variant-ligatures:none;font-weight:400;line-height:1.58;-moz-tab-size:2;tab-size:2;white-space:pre}.pp-root.is-deploy{--pp-publish-content-width: min(760px, max(680px, calc(100% - 48px) ));overflow-y:auto}.pp-root.is-deploy.is-embedded{--pp-publish-content-width: 100%}.pp-root.is-deploy .pp-body{flex:0 0 auto;min-height:100%;display:grid;grid-template-rows:auto auto;overflow:visible}.pp-root.is-deploy.has-primary-pane .pp-body{display:flex;justify-content:center;background:hsl(var(--background))}.pp-root.is-deploy.has-primary-pane .pp-config{width:min(760px,100%);background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-head,.pp-root.is-deploy.has-primary-pane .pp-config-actions{border:0;background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-actions{position:sticky;bottom:0;width:var(--pp-publish-content-width);margin:0 auto;justify-content:center;padding:12px 0 18px;background:hsl(var(--background));transform:none}.pp-root.is-deploy.has-primary-pane .pp-deploy-hint{position:absolute;left:18px}.pp-root.is-deploy .pp-files-area{display:none}.pp-release-overview{min-width:0;min-height:0;border-bottom:0;background:transparent}.pp-release-preview{width:var(--pp-publish-content-width);box-sizing:border-box;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 auto;padding:8px 0 12px}.pp-release-preview.is-embedded{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch}.pp-flow-thumbnail{position:relative;height:200px;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px;background:transparent;box-shadow:none}.pp-flow-thumbnail .abc-root,.pp-flow-dialog-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto;border:0;background:transparent}.pp-flow-thumbnail .abc-canvas,.pp-flow-dialog-canvas .abc-canvas{flex:1;min-height:0;background:transparent}.pp-flow-thumbnail .react-flow__pane{cursor:grab}.pp-flow-thumbnail .react-flow__pane:active{cursor:grabbing}.pp-flow-thumbnail .react-flow__controls{display:none}.pp-flow-expand{position:absolute;z-index:5;right:10px;bottom:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit}.pp-flow-expand:hover{background:transparent;color:hsl(var(--foreground))}.pp-flow-expand:focus-visible{outline:2px solid hsl(var(--primary) / .72);outline-offset:2px}.pp-flow-expand svg{width:17px;height:17px}.pp-release-info{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-release-card-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34);color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-release-info-body{padding:14px 18px 16px}.pp-release-info-main{min-width:0}.pp-release-info h2{margin:0;color:hsl(var(--foreground));font-size:18px;font-weight:700;letter-spacing:-.02em}.pp-release-description{display:-webkit-box;margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0 0}.pp-release-facts>div{min-width:0}.pp-release-facts dt{color:hsl(var(--muted-foreground));font-size:13px}.pp-release-facts dd{margin:5px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-release-facts .pp-release-fact-long{display:-webkit-box;overflow:hidden;line-height:1.45;text-overflow:clip;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts .pp-release-prompt{-webkit-line-clamp:3}.pp-artifact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px}.pp-artifact-actions.is-rail{flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0;padding:0}.pp-artifact-actions.is-rail .pp-secondary,.pp-artifact-actions.is-rail .code-browser-trigger{flex:1 1 0;width:100%;min-height:36px;justify-content:center}.pp-artifact-actions .pp-secondary,.pp-artifact-actions .code-browser-trigger{min-height:34px;padding-inline:12px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);box-shadow:none;color:hsl(var(--foreground));font-size:13px}.pp-artifact-actions .pp-secondary:hover,.pp-artifact-actions .code-browser-trigger:hover{background:hsl(var(--secondary))}.pp-flow-backdrop{--cw-workspace-ink: 222 24% 13%;position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px;background:hsl(var(--foreground) / .36);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pp-flow-dialog{width:min(1120px,92vw);height:min(720px,86vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 80px hsl(var(--foreground) / .22)}.pp-flow-dialog>header{flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px 0 22px;border-bottom:1px solid hsl(var(--border))}.pp-flow-dialog>header>div{display:flex;flex-direction:column;gap:3px}.pp-flow-dialog>header strong{font-size:15px;font-weight:680}.pp-flow-dialog>header span{color:hsl(var(--muted-foreground));font-size:10.5px}.pp-flow-dialog>header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-flow-dialog>header button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.pp-flow-dialog>header svg{width:17px;height:17px}.pp-flow-dialog-canvas{flex:1;min-height:0;background:transparent}.pp-config{position:relative;min-width:0;width:auto;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.pp-config-head{width:var(--pp-publish-content-width);flex:0 0 48px;height:48px;box-sizing:border-box;display:flex;align-items:center;margin:0 auto;padding:0;border-bottom:0}.pp-config-title{color:hsl(var(--foreground));font-size:18px;font-weight:650;letter-spacing:-.01em}.pp-env-sub{margin-top:4px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.pp-config-scroll{width:var(--pp-publish-content-width);flex:0 0 auto;min-height:0;box-sizing:border-box;display:block;margin:0 auto;overflow:visible;padding:0 0 88px}.pp-config-actions{position:fixed;z-index:40;left:calc((100vw + var(--pp-sidebar-width, 0px)) / 2);bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;transform:translate(-50%)}.pp-config-actions.is-external{display:none}.pp-config-section{width:100%;min-width:0;box-sizing:border-box;margin:0 0 12px;padding:0 18px 16px;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-config-section:has(.pp-network-region){overflow:visible}.pp-config-section:has(.pp-network-region.is-open){position:relative;z-index:70}.pp-config-section:has(.pp-network-region)>.pp-config-label{border-radius:17px 17px 0 0}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{display:block;margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent;color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent}.pp-env-head .pp-config-label{margin:0;padding:0;border:0;background:transparent}.pp-config-note{margin:-4px 0 10px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-runtime-name-field{display:grid;gap:6px}.pp-runtime-name-field>.pp-config-note,.pp-runtime-name-field>.pp-runtime-name-error{margin:0}.pp-auth-section{overflow:visible}.pp-auth-preserved-note{margin:0}.pp-auth-fields{width:min(100%,560px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.pp-auth-fields>label{min-width:0;display:flex;flex-direction:column;gap:7px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deployment-select{position:relative;min-width:0}.pp-deployment-select-trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.pp-deployment-select-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.pp-deployment-select-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.pp-deployment-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-deployment-select-trigger:disabled{cursor:not-allowed;opacity:.5}.pp-deployment-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-trigger>.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.pp-deployment-select-chevron{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.pp-deployment-select-chevron.is-open{transform:rotate(180deg)}.pp-deployment-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:0;max-height:238px;display:flex;flex-direction:column;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.pp-deployment-select-search{flex-shrink:0;padding:2px 2px 6px}.pp-deployment-select-search>input{width:100%;height:32px;box-sizing:border-box;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-deployment-select-search>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-deployment-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pp-deployment-select-state{flex-shrink:0;padding:9px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-align:center}.pp-deployment-select-option{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.pp-deployment-select-option:hover,.pp-deployment-select-option:focus-visible,.pp-deployment-select-option.is-selected{outline:none;background:hsl(var(--muted) / .5)}.pp-deployment-select-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.pp-deployment-select-name{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-option>svg{width:15px;height:15px;flex-shrink:0;color:hsl(var(--primary))}.pp-deployment-select-badge{flex-shrink:0;padding:1px 5px;border:1px solid hsl(211 90% 48% / .24);border-radius:999px;background:#006fe61a;color:#1863b4;font-size:10px;font-weight:600}.pp-user-pool-picker{min-width:0;display:flex;flex-direction:column;gap:7px}.pp-user-pool-status{min-height:18px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.pp-user-pool-spinner{width:13px;height:13px;flex-shrink:0;animation:pp-spin .9s linear infinite}.pp-user-pool-error{min-height:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.pp-user-pool-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-user-pool-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-instance-note{margin:10px 0 0;color:#d79804;font-size:12px;line-height:1.5}.pp-instance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-instance-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-instance-error{margin:8px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select,.pp-runtime-name-input,.pp-channel-fields input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input,.pp-env-row textarea{width:100%;min-width:0;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}.pp-channel-fields input{height:30px;padding-inline:8px;font-size:11.5px}.pp-config-select:focus,.pp-runtime-name-input:focus,.pp-channel-fields input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus,.pp-env-row textarea:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-runtime-name-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .72)}.pp-runtime-name-input[aria-invalid=true]:focus{box-shadow:0 0 0 2px hsl(var(--destructive) / .1)}.pp-runtime-name-error{margin:-4px 0 10px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select:disabled,.pp-runtime-name-input:disabled,.pp-channel-fields input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input:disabled,.pp-env-row textarea:disabled{opacity:.55}.pp-channel-card{position:relative;width:clamp(154px,33.333%,236px);max-width:100%;height:112px;perspective:1200px;transition:height .18s ease}.pp-channel-card.is-flipped{height:176px}.pp-channel-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1)}.pp-channel-card.is-flipped .pp-channel-card-inner{transform:rotateY(180deg)}.pp-channel-card-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:14px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden}.pp-channel-card-front{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;padding:12px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.pp-channel-card-front:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);box-shadow:0 12px 30px hsl(var(--foreground) / .07);transform:translateY(-1px)}.pp-channel-card-front:focus-visible,.pp-channel-remove:focus-visible{outline:2px solid hsl(var(--ring) / .58);outline-offset:2px}.pp-channel-card-front:disabled{cursor:default}.pp-channel-card-back{padding:10px;transform:rotateY(180deg)}.pp-channel-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-channel-card-head>strong{font-size:12.5px;font-weight:650}.pp-channel-logo{width:42px;height:42px;flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border) / .65);border-radius:12px;background:#fff;box-shadow:0 4px 14px hsl(var(--foreground) / .07)}.pp-channel-logo img{width:30px;height:30px;display:block}.pp-channel-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.pp-channel-card-copy strong{font-size:14px;font-weight:650}.pp-channel-card-copy small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-channel-remove{min-height:24px;padding:0 6px;border:1px solid hsl(var(--destructive) / .14);border-radius:7px;background:hsl(var(--destructive) / .07);color:#863232;cursor:pointer;font:inherit;font-size:10.5px;white-space:nowrap}.pp-channel-remove:hover:not(:disabled){background:hsl(var(--destructive) / .12);color:#782626}.pp-channel-fields{display:flex;flex-direction:column;gap:6px;margin-top:7px}.pp-channel-fields label{min-width:0;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:11px}.pp-channel-fields label>span{color:hsl(var(--foreground));font-weight:560}.pp-channel-fields small{margin-left:5px;color:hsl(var(--destructive));font-size:9px;font-weight:500}.pp-network-layout{width:min(100%,560px);display:grid;grid-template-columns:minmax(132px,.36fr) minmax(0,.64fr);align-items:start;gap:24px}.pp-network-region{position:relative;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-region.is-open{z-index:80}.pp-region-trigger{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.pp-region-trigger:hover,.pp-region-trigger[aria-expanded=true]{border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025)}.pp-region-trigger:focus-visible{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-region-trigger:disabled{cursor:not-allowed;opacity:.58;background:hsl(var(--muted) / .32)}.pp-region-help{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-region-chevron{width:15px;height:15px;color:hsl(var(--muted-foreground));transition:transform .15s ease}.pp-region-chevron.is-open{transform:rotate(180deg)}.pp-region-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:81;padding:5px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .12)}.pp-region-option{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.pp-region-option:hover,.pp-region-option:focus-visible,.pp-region-option.is-selected{outline:none;background:hsl(var(--foreground) / .055)}.pp-region-option.is-selected{font-weight:600}.pp-region-option svg{width:15px;height:15px;color:hsl(var(--primary))}.pp-network-modes{display:flex;flex-direction:column;gap:9px}.pp-network-option{min-height:28px;display:flex;align-items:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560;cursor:pointer}.pp-network-option:has(input:checked){color:hsl(var(--foreground))}.pp-network-option:has(input:disabled){cursor:default;opacity:.58}.pp-network-option input{width:15px;height:15px;flex:0 0 15px;display:grid;place-items:center;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,box-shadow .12s ease}.pp-network-option input:before{width:7px;height:7px;border-radius:50%;background:hsl(var(--primary));content:"";transform:scale(0);transition:transform .12s ease-out}.pp-network-option input:checked{border-color:hsl(var(--primary))}.pp-network-option input:checked:before{transform:scale(1)}.pp-network-option input:focus-visible,.pp-network-check input:focus-visible,.pp-evaluation-set-option input:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-network-fields{display:flex;flex-direction:column;gap:12px;min-width:0}.pp-network-fields label:not(.pp-network-check){display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-fields small{font-size:10.5px;font-weight:400}.pp-network-check{display:flex;align-items:center;gap:8px;color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.pp-evaluation-set-option{display:flex;align-items:flex-start;gap:10px;color:hsl(var(--foreground));cursor:pointer}.pp-evaluation-set-option>span{display:flex;flex-direction:column;gap:3px;min-width:0}.pp-evaluation-set-option strong{font-size:13px;font-weight:550;line-height:1.45}.pp-evaluation-set-option small{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-network-check input,.pp-evaluation-set-option input{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.pp-network-check input:before,.pp-evaluation-set-option input:before{width:4px;height:8px;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;content:"";transform:translateY(-1px) rotate(45deg) scale(0);transition:transform .12s ease-out}.pp-network-check input:checked,.pp-evaluation-set-option input:checked{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check input:checked:before,.pp-evaluation-set-option input:checked:before{transform:translateY(-1px) rotate(45deg) scale(1)}.pp-env-section{width:100%;padding-bottom:16px}.pp-env-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.pp-env-head .pp-config-label{display:flex;align-items:center;gap:7px;margin-bottom:0}.pp-env-count{display:inline-flex;align-items:center}.pp-env-table{display:flex;flex-direction:column;margin-top:10px}.pp-env-group{padding:4px 7px 0;border:1px solid hsl(var(--border) / .75);border-radius:6px;background:hsl(var(--secondary) / .16)}.pp-env-group-head{display:flex;align-items:center;justify-content:space-between;padding:5px 1px 3px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.pp-env-group-head small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:450}.pp-env-group-head-custom{margin-top:12px}.pp-env-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid hsl(var(--border) / .65)}.pp-env-row.is-multiline{align-items:start}.pp-env-row input:first-child{font-family:inherit;font-size:13px}.pp-env-row-derived:last-child{border-bottom:0}.pp-env-key-fixed{background:hsl(var(--secondary) / .32)!important;cursor:default}.pp-env-key-cell{min-width:0;min-height:34px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:13px;font-weight:500}.pp-env-key-cell span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.pp-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.pp-env-help:hover .pp-env-help-popover,.pp-env-help:focus-visible .pp-env-help-popover,.pp-env-help:focus-within .pp-env-help-popover{opacity:1;pointer-events:auto}.pp-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-value-wrap{min-width:0;display:grid;gap:4px}.pp-env-value{min-width:0;width:100%}.pp-env-secret-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.pp-env-secret-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer}.pp-env-secret-toggle:hover:not(:disabled){background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.pp-env-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-secret-toggle:disabled{cursor:not-allowed;opacity:.52}.pp-env-secret-toggle svg,.pp-env-secret-spinner{width:16px;height:16px}.pp-env-secret-spinner{animation:pp-spin .8s linear infinite}.pp-env-reveal-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-json-value{min-height:86px;padding:8px 10px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.pp-env-value[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.pp-env-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.pp-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.pp-env-link svg{width:13px;height:13px;flex:0 0 13px}.pp-env-source{color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.pp-env-remove{width:28px;height:28px}.pp-env-add{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pp-env-add:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.pp-env-add:disabled{opacity:.5}.pp-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.pp-step{position:relative;min-height:34px;display:flex;align-items:flex-start;gap:9px}.pp-step:not(:last-child):after{content:"";position:absolute;top:20px;bottom:-2px;left:9px;width:1px;background:hsl(var(--border))}.pp-step-dot{z-index:1;width:19px;height:19px;flex:0 0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10px}.pp-step-body{min-width:0;display:flex;flex-direction:column;padding-top:1px}.pp-step-label{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560}.pp-step-msg{max-width:300px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-step.is-active .pp-step-dot{border-color:hsl(var(--primary));color:hsl(var(--primary))}.pp-step.is-done .pp-step-dot{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-step.is-failed .pp-step-dot{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.pp-error{margin:14px 18px;padding:10px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:5px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-deploy-result{margin:14px 18px 18px;padding:14px;border:1px solid hsl(var(--primary) / .2);border-radius:6px;background:hsl(var(--primary) / .035)}.pp-deploy-result-header{margin-bottom:12px;color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-deploy-result-body{display:flex;flex-direction:column;gap:10px}.pp-deploy-result-warning{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid hsl(42 90% 45% / .25);border-radius:6px;background:#f2ad0d12;color:#9e6310;font-size:12.5px;line-height:1.5}.pp-deploy-result-field{display:flex;flex-direction:column;gap:4px}.pp-deploy-result-field label{color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deploy-result-field code{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.pp-deploy-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pp-confirm-dialog{width:min(420px,calc(100vw - 40px));height:auto;min-height:0}.pp-confirm-head{flex-basis:60px}.pp-confirm-icon{background:#f59f0a1f;color:#ba6708}.pp-confirm-body{padding:24px 20px}.pp-confirm-body p{margin:0;color:hsl(var(--foreground));font-size:14px;line-height:1.65}.pp-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.pp-confirm-actions button{min-width:76px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pp-confirm-actions button:hover{background:hsl(var(--secondary))}.pp-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.pp-confirm-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-confirm-actions .is-primary:hover{background:hsl(var(--primary) / .9)}.pp-deploy-result-btn,.pp-console-link-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:5px;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer}.pp-deploy-result-btn{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-console-link-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.spin{animation:pp-spin .85s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pp-channel-card-inner,.pp-channel-card-front,.pp-deployment-select-chevron,.pp-config-actions .pp-deploy{transition:none}}@media (max-width: 1120px){.pp-release-preview{grid-template-columns:minmax(320px,.9fr) minmax(300px,1.1fr)}.pp-sidebar{flex-basis:190px;width:190px}}@media (max-width: 860px){.layout{--pp-sidebar-width: 204px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root.is-deploy{--pp-publish-content-width: min(88%, calc(100% - 36px) )}.pp-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.pp-toolbar-actions{width:100%}.pp-body{overflow-y:auto;flex-direction:column}.pp-root.is-deploy .pp-body{display:flex}.pp-release-overview{flex:0 0 auto;min-height:460px;border-right:0;border-bottom:0}.pp-release-preview{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:220px auto}.pp-release-info{min-height:200px}.pp-files-area{min-height:520px}.pp-config{width:100%;min-height:680px;border-top:0;border-left:0}.pp-config-scroll{padding-inline:0;padding-bottom:84px}.pp-config-actions{bottom:max(14px,env(safe-area-inset-bottom))}.pp-flow-backdrop{padding:12px}}@media (max-width: 520px){.pp-auth-fields,.pp-network-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pp-env-section{width:100%}}.cw-root{--cw-workspace-gutter: 10px;--cw-workspace-width: 60%;--cw-workbench-toolbar-height: 64px;--cw-workspace-ink: 222 24% 13%;--cw-workspace-accent: 162 44% 32%;--cw-workspace-accent-soft: 156 34% 92%;--cw-workspace-warm: 42 28% 96%;flex:1;min-height:0;display:flex;flex-direction:column;height:100%;color:hsl(var(--foreground));background:hsl(var(--background))}.cw-root.is-validate{--cw-workspace-width: min(88%, 1440px)}.cw-root.is-publish{--cw-workspace-width: min(80%, 1180px)}.cw-workspace-header{position:relative;z-index:12;flex:0 0 auto;width:var(--cw-workspace-width);min-height:48px;display:flex;justify-content:center;align-items:center;margin:12px auto 0;padding:8px 0;background:transparent}.cw-workspace-header h1{margin:0;color:hsl(var(--foreground));font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.02em;white-space:nowrap}.cw-workspace-main{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;width:var(--cw-workspace-width);margin:0 auto;padding:8px 0 20px;background:transparent}.cw-workspace-footer{flex:0 0 auto;display:flex;flex-direction:column;width:var(--cw-workspace-width);gap:12px;margin:0 auto 24px;padding:12px 0 4px;background:transparent}.cw-workspace-nav-actions{width:100%;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:12px;margin:0 auto}.cw-workspace-nav-actions.has-assistant{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"assistant next"}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:first-child,.cw-workspace-nav-actions.has-assistant>span[aria-hidden=true]{display:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-ai-slot{grid-area:assistant}.cw-publish-action-slot{grid-column:3;display:flex;justify-content:flex-end}.cw-publish-action-slot .pp-deploy{position:static;min-width:70px;min-height:38px;transform:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:last-child{grid-area:next}.cw-workspace-ai-slot{min-width:0}.cw-workspace-nav-button{min-height:36px;justify-self:start;padding:0 18px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:background-color .16s ease,border-color .16s ease}.cw-workspace-nav-button:last-child{justify-self:end}.cw-workspace-nav-button:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .55)}.cw-workspace-nav-button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.cw-workspace-nav-button.is-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .86);background:hsl(var(--foreground) / .86)}.cw-workspace-nav-button:focus-visible,.cw-workspace-progress button:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}.cw-workspace-nav-button:disabled{cursor:not-allowed;opacity:.5}.cw-workspace-nav-button.is-placeholder{visibility:hidden;pointer-events:none}.cw-workspace-progress{width:min(132px,40vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 auto}.cw-workspace-progress button{height:12px;padding:4px 0;border:0;background:transparent;cursor:pointer}.cw-workspace-progress button>span{display:block;height:3px;border-radius:999px;background:hsl(var(--muted-foreground) / .16);transition:background-color .16s ease}.cw-workspace-progress button.is-complete>span,.cw-workspace-progress button.is-active>span{background:hsl(var(--foreground) / .46)}.cw-workspace-progress button.is-active>span{height:4px}.cw-workspace-progress button:disabled{cursor:not-allowed}@media (prefers-reduced-motion: reduce){.cw-workspace-nav-button,.cw-workspace-progress button>span{transition:none}}.cw-build-workspace{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.cw-ai-compose{min-width:0}.cw-ai-compose-entry{min-width:0;display:grid;gap:6px}.cw-ai-compose-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 4px 4px 16px;border-radius:16px;background:hsl(var(--panel));box-shadow:inset 0 0 0 1px hsl(var(--border) / .7),0 8px 24px hsl(var(--foreground) / .05);transition:background-color .18s ease,box-shadow .18s ease}.cw-ai-compose.is-generating .cw-ai-compose-form{background:hsl(var(--muted) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .05)}.cw-ai-compose-form input{min-width:0;height:38px;min-height:38px;padding:6px 0;border:0;outline:none;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.cw-ai-compose-form input::placeholder{color:hsl(var(--muted-foreground) / .72)}.cw-ai-compose-form:has(input:focus-visible){background:hsl(var(--background));box-shadow:0 0 0 2px hsl(var(--ring) / .12),inset 0 0 0 1px hsl(var(--ring) / .24)}.cw-ai-compose-form input:focus,.cw-ai-compose-form input:focus-visible{outline:none;box-shadow:none}.cw-ai-compose.is-generating .cw-ai-compose-form input{color:hsl(var(--muted-foreground) / .78);cursor:wait}.cw-ai-compose-form button{height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:0;border-radius:12px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;transition:background-color .15s ease,opacity .15s ease}.cw-ai-compose-form button:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.cw-ai-compose-form button:disabled{cursor:not-allowed;opacity:.34}.cw-ai-requirement-error{margin:0;padding:0 16px;color:hsl(var(--destructive));font-size:12px;line-height:18px}.cw-ai-compose.is-generating .cw-ai-compose-form button:disabled{width:34px;padding:0;background:hsl(var(--foreground));opacity:1}.cw-ai-orb{width:14px;height:14px;display:block;border:1.5px solid hsl(var(--background) / .34);border-top-color:hsl(var(--background));border-radius:50%;animation:cw-ai-orb-spin .72s linear infinite}.cw-ai-orb>span{display:none}@keyframes cw-ai-orb-spin{to{transform:rotate(360deg)}}.cw-ai-compose-success{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:2px 3px 2px 10px;border-radius:12px;background:hsl(var(--background) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .055);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cw-ai-compose-success strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:650}.cw-ai-success-check{position:relative;width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:hsl(var(--foreground))}.cw-ai-success-check:after{position:absolute;top:3px;left:6px;width:4px;height:7px;border:solid hsl(var(--background));border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.cw-ai-regenerate{height:34px;min-height:34px;padding:0 12px;border:0;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:background-color .15s ease}.cw-ai-regenerate:hover{background:hsl(var(--muted-foreground) / .12)}.cw-ai-compose-form button:focus-visible,.cw-ai-regenerate:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}@media (prefers-reduced-motion: reduce){.cw-ai-compose-form,.cw-ai-compose-form button,.cw-ai-regenerate{transition:none}.cw-ai-orb{animation:none}}.cw-ai-error-dialog{width:460px;font-family:inherit}.cw-ai-error-message{max-height:min(320px,50vh);margin:10px 0 18px;overflow:auto;color:hsl(var(--foreground) / .78);font-family:inherit;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.cw-ai-error-close{border-color:transparent;background:hsl(var(--foreground));color:hsl(var(--background))}.cw-ai-error-close:hover{background:hsl(var(--foreground) / .86)}.cw-workspace-alert{position:absolute;z-index:30;top:94px;right:18px;max-width:min(420px,calc(100% - 36px));padding:10px 13px;border:1px solid hsl(var(--destructive) / .2);border-radius:9px;background:hsl(var(--background));box-shadow:0 12px 36px hsl(var(--foreground) / .12);color:hsl(var(--destructive));font-size:12.5px}.cw-editor{flex:1;width:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:0;overflow:hidden}.cw-editor>.abc-root{flex:0 0 200px;width:100%;min-width:0;min-height:200px;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-tree{flex-shrink:0;width:248px;overflow-y:auto;padding:16px 14px;border-right:1px solid hsl(var(--border));background:hsl(var(--panel))}.cw-tree-head{font-size:12px;font-weight:650;letter-spacing:.02em;color:hsl(var(--muted-foreground));padding:0 6px;margin-bottom:10px}.cw-tree-branch{display:flex;flex-direction:column}.cw-tree-node{position:relative;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.cw-tree-node:hover{background:hsl(var(--accent))}.cw-tree-node.is-selected{background:hsl(var(--primary) / .04);border-color:hsl(var(--primary) / .16)}.cw-tree-node.is-invalid{background:hsl(var(--destructive) / .07);border-color:hsl(var(--destructive) / .5)}.cw-tree-node.is-invalid.is-selected{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .6)}.cw-tree-node.is-draggable{cursor:grab}.cw-tree-node.is-draggable:active{cursor:grabbing}.cw-tree-node.is-dragover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .45)}.cw-tree-icon{width:15px;height:15px;flex-shrink:0;opacity:.8}.cw-tree-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cw-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.cw-tree-type{font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground))}.cw-tree-actions{display:flex;align-items:center;gap:1px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .12s ease}.cw-tree-node:hover .cw-tree-actions,.cw-tree-node.is-selected .cw-tree-actions{opacity:1;pointer-events:auto}.cw-tree-children{display:flex;flex-direction:column;gap:2px;margin-top:2px;margin-left:8px;padding-left:8px;border-left:1px solid hsl(var(--border))}.cw-detail{position:relative;flex:1 1 auto;width:100%;max-width:none;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-detail-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:0 4px 16px;background:hsl(var(--background))}.cw-detail-inner{max-width:none;margin:0 auto}.cw-lower{display:flex;gap:0;align-items:flex-start}.cw-detail .cw-form-col{flex:1;min-width:0;max-width:none;margin:0}.cw-debug{flex-shrink:0;width:380px;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid hsl(var(--border));background:hsl(var(--panel));transition:width .22s cubic-bezier(.22,1,.36,1),min-width .22s cubic-bezier(.22,1,.36,1),height .22s cubic-bezier(.22,1,.36,1),min-height .22s cubic-bezier(.22,1,.36,1),flex-basis .22s cubic-bezier(.22,1,.36,1),padding .18s ease}.cw-debug:not(.is-collapsed)>*{animation:cw-debug-content-in .18s ease-out both}.cw-debug.is-collapsed .cw-debug-expand{animation:cw-debug-control-in .18s .06s ease-out both}@keyframes cw-debug-content-in{0%{opacity:0;transform:scale(.985)}}@keyframes cw-debug-control-in{0%{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion: reduce){.cw-debug{transition:none}.cw-debug:not(.is-collapsed)>*,.cw-debug.is-collapsed .cw-debug-expand{animation:none}}.cw-debug-head{flex-shrink:0;height:var(--cw-workbench-toolbar-height);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid hsl(var(--border))}.cw-debug-collapse,.cw-debug-expand{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .12s,background .12s,transform .12s}.cw-debug-collapse{width:24px;height:24px}.cw-debug-collapse:hover,.cw-debug-expand:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.cw-debug-expand:hover{transform:scale(1.06)}.cw-debug.is-collapsed{width:48px;min-width:48px;height:100%;min-height:0;align-items:center;padding-top:14px}.cw-debug-expand{width:34px;height:34px;min-height:34px}.cw-debug-title{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:650;color:hsl(var(--foreground))}.cw-debug-start{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 10px;border:none;border-radius:8px;background:#111;box-shadow:none;color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease,transform .15s ease}.cw-debug-start:hover:not(:disabled){background:#29292b;box-shadow:0 7px 18px #00000029}.cw-debug-start:active:not(:disabled){transform:translateY(0) scale(.98)}.cw-debug-start:disabled{opacity:.45;cursor:default}.cw-debug-sub{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding:10px 16px 14px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.cw-debug-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.cw-debug-body{flex:1;min-height:0;overflow-y:auto;padding:10px 16px 18px}.cw-debug-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-run-icon{width:17px;height:17px;transition:transform .16s cubic-bezier(.22,1,.36,1)}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:translate(1.5px)}@media (prefers-reduced-motion: reduce){.cw-debug-run-icon{transition:none}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:none}}.cw-debug-progress{display:flex;flex-direction:column;gap:8px}.cw-debug-logline{display:flex;align-items:center;gap:8px;min-height:28px;padding:7px 9px;border-radius:9px;background:hsl(var(--foreground) / .04);color:hsl(var(--muted-foreground));font-size:12.5px}.cw-debug-logline .cw-i{color:hsl(var(--foreground))}.cw-debug-error{display:flex;flex-direction:column;gap:12px;color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-debug-error-detail,.cw-debug-msg-error{width:100%;min-width:0;color:hsl(var(--destructive));text-align:left}.cw-debug-error-detail .deploy-error-message-text,.cw-debug-msg-error .deploy-error-message-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.cw-debug-chat{min-height:100%;display:flex;flex-direction:column;gap:18px}.cw-debug-chat-empty{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-msg{display:flex;flex-direction:column;gap:6px;max-width:100%}.cw-debug-msg-user{align-items:flex-end}.cw-debug-msg-assistant{align-items:flex-start}.cw-debug-role{display:none}.cw-debug-content{max-width:100%;color:hsl(var(--foreground));font-size:14px;line-height:1.65;word-break:break-word}.cw-debug-msg-user .cw-debug-content{max-width:88%;padding:9px 14px;border-radius:18px;background:hsl(var(--secondary))}.cw-debug-msg-assistant .cw-debug-content{width:100%}.cw-debug-composer{flex-shrink:0;padding:10px 14px 14px;background:hsl(var(--panel))}.cw-debug-composerbox{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px;border:1px solid hsl(var(--border));border-radius:24px;background:hsl(var(--background))}.cw-debug-input{flex:1;min-width:0;max-height:120px;padding:8px 4px;border:none;outline:none;resize:none;overflow-y:auto;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.5}.cw-debug-input::placeholder{color:hsl(var(--muted-foreground))}.cw-debug-send{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;transition:opacity .15s,transform .1s,background .12s,color .12s}.cw-debug-send{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-debug-send:hover:not(:disabled){opacity:.85}.cw-debug-send:active:not(:disabled){transform:scale(.94)}.cw-debug-send:disabled{opacity:.3;cursor:default}.cw-debug-overlay{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:22px;background:hsl(var(--panel) / .5);backdrop-filter:blur(9px) saturate(.9);-webkit-backdrop-filter:blur(9px) saturate(.9)}.cw-debug-overlay-content{width:min(100%,290px);display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border:1px solid hsl(var(--border) / .72);border-radius:12px;background:hsl(var(--background) / .82);box-shadow:0 10px 30px hsl(var(--foreground) / .08);text-align:center}.cw-debug-overlay-title{color:hsl(var(--foreground));font-size:14px;font-weight:650}.cw-debug-overlay-copy{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55}.cw-debug-overlay-progress{width:100%;display:flex;flex-direction:column;gap:8px}.cw-debug-overlay-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}.cw-debug-ignore{min-height:30px;padding:6px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .1s}.cw-debug-ignore:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--background))}.cw-debug-ignore:active:not(:disabled){transform:scale(.96)}.cw-debug-ignore:disabled{opacity:.45;cursor:default}.cw-validation-workspace{position:relative;flex:1;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.cw-optimization-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:22px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--cw-workspace-warm))}.cw-optimization-head{display:flex;flex-direction:column;gap:5px;padding:0 4px 18px}.cw-optimization-head>span{color:hsl(var(--cw-workspace-ink));font-size:16px;font-weight:700;letter-spacing:-.02em}.cw-optimization-head>small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cw-optimization-list{display:flex;flex-direction:column;gap:8px}.cw-optimization-option{position:relative;width:100%;display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid hsl(var(--border) / .82);border-radius:11px;background:hsl(var(--panel) / .62);color:hsl(var(--foreground));cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.cw-optimization-option:hover{border-color:hsl(var(--cw-workspace-ink) / .24);background:hsl(var(--panel))}.cw-optimization-option.is-disabled{cursor:not-allowed;opacity:.62}.cw-optimization-option.is-disabled:hover{border-color:hsl(var(--border) / .82);background:hsl(var(--panel) / .62)}.cw-optimization-option:has(input:focus-visible){outline:2px solid hsl(var(--cw-workspace-ink) / .34);outline-offset:2px}.cw-optimization-option input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.cw-optimization-check{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;border:1px solid hsl(var(--foreground) / .24);border-radius:5px;background:hsl(var(--panel));color:#fff}.cw-optimization-check .cw-i{width:11px;height:11px;stroke-width:2.4}.cw-optimization-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.cw-optimization-copy strong{color:hsl(var(--cw-workspace-ink));font-size:12.5px;font-weight:650}.cw-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.45}.cw-validation-content{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-ab-workspace{flex:1;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.cw-ab-stage{position:relative;flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{min-height:100%;display:grid;grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr));grid-auto-rows:minmax(420px,1fr);align-items:stretch;gap:12px}.cw-ab-card{min-width:0;min-height:420px;display:flex;flex-direction:column;perspective:1400px}.cw-ab-card-inner{position:relative;width:100%;min-height:420px;flex:1;transform-style:preserve-3d;transition:transform .44s cubic-bezier(.22,1,.36,1)}.cw-ab-card-inner.is-flipped{transform:rotateY(180deg)}.cw-ab-card-face{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px dashed hsl(var(--foreground) / .2);border-radius:16px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:border-color .16s ease,background-color .16s ease}.cw-ab-card-back{transform:rotateY(180deg);overflow-x:hidden;overflow-y:auto}.cw-ab-card-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px 9px 14px}.cw-ab-card-title{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ab-card-title strong{font-size:13.5px;font-weight:680}.cw-ab-card-title span{max-width:150px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-ab-card-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.cw-ab-config-trigger,.cw-ab-remove{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11px;font-weight:400}.cw-ab-config-trigger{background:transparent;color:hsl(var(--muted-foreground))}.cw-ab-config-trigger:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-remove:hover{background:hsl(var(--secondary) / .62);color:hsl(var(--foreground))}.cw-ab-config-trigger:disabled,.cw-ab-remove:disabled{cursor:default;opacity:.45}.cw-ab-remove{width:28px;padding:0;background:transparent}.cw-ab-config-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px;background:hsl(var(--background) / .94)}.cw-ab-config-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}.cw-ab-config-head strong{font-size:16px;font-weight:680}.cw-ab-config-head span{color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-config-head>.cw-ab-config-head-actions{flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;gap:6px}.cw-ab-config-head-actions .cw-ab-config-remove{width:32px;height:32px}.cw-ab-config-done{min-height:32px;padding:0 11px;border:0;border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650}.cw-ab-config-done-wrap{position:relative;flex:0 0 auto;display:inline-flex;border-radius:8px}.cw-ab-config-done:disabled{background:hsl(var(--secondary) / .82);color:hsl(var(--muted-foreground) / .68);cursor:not-allowed}.cw-ab-config-head .cw-ab-config-done-tip{position:absolute;z-index:8;right:0;top:calc(100% + 7px);bottom:auto;width:max-content;max-width:190px;padding:6px 8px;border-radius:7px;background:hsl(var(--foreground));color:#fff;font-size:11px;font-weight:400;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.cw-ab-config-done-wrap.is-disabled:hover .cw-ab-config-done-tip,.cw-ab-config-done-wrap.is-disabled:focus-visible .cw-ab-config-done-tip{opacity:1;transform:translateY(0)}.cw-ab-config-done-wrap:focus-visible{outline:2px solid hsl(var(--foreground) / .18);outline-offset:2px}.cw-ab-config{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;padding:12px 16px 16px;background:hsl(var(--background))}.cw-ab-config>label,.cw-ab-config fieldset{min-width:0;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}.cw-ab-config>label>span,.cw-ab-config legend{color:hsl(var(--muted-foreground));font-size:13px;font-weight:650}.cw-ab-config legend{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-ab-config legend em{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-style:normal;font-weight:550}.cw-ab-config input[type=text],.cw-ab-config>label>input,.cw-ab-config>label>textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.cw-ab-config>label>textarea{min-height:58px;max-height:132px;resize:vertical;line-height:1.55}.cw-ab-optimization-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cw-ab-optimization-checkbox{display:inline-flex;align-items:center;gap:0;padding:8px 9px;border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));font-size:12.5px;cursor:not-allowed;opacity:.5}.cw-ab-optimization-checkbox>label{padding-left:7px;color:inherit;font-size:inherit}.cw-ab-config>p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cw-ab-conversation{flex:1;min-height:0;overflow-y:auto;padding:14px}.cw-ab-empty{height:100%;min-height:210px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.cw-ab-launch-hint{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-ab-ready-title{color:hsl(var(--foreground));font-size:20px;font-weight:760;line-height:1.1}.cw-ab-starting{align-content:center;gap:8px}.cw-ab-starting .cw-i{width:18px;height:18px}.cw-ab-start{min-width:118px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:9px;background:hsl(var(--secondary) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:580;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-start:hover:not(:disabled){background:hsl(var(--secondary));box-shadow:none}.cw-ab-start:disabled{background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground) / .62);cursor:not-allowed}.cw-ab-start .cw-i{width:15px;height:15px}.cw-ab-deploy-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px 12px}.cw-ab-trace{min-height:32px;margin-right:auto;padding:0 10px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:500;transition:background-color .16s ease,color .16s ease}.cw-ab-trace:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-trace:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-ab-trace:disabled{color:hsl(var(--muted-foreground) / .48);cursor:not-allowed}.cw-ab-footer-start{min-width:0;background:hsl(var(--secondary) / .58)}.cw-ab-deploy{min-height:32px;padding:0 13px;border:0;border-radius:8px;background:#111;color:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:620;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-deploy:hover:not(:disabled){background:#29292b;box-shadow:0 6px 16px #00000024}.cw-ab-deploy:disabled{cursor:not-allowed;opacity:.42}.cw-ab-add{min-height:48px;align-self:stretch;justify-content:center;padding-inline:18px;white-space:nowrap}.cw-ab-composer{position:relative;z-index:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:18px var(--cw-workspace-gutter) 18px;background:hsl(var(--background))}.cw-ab-composer .cw-debug-composerbox{width:100%;min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;background:#fff;box-shadow:0 8px 22px hsl(var(--foreground) / .045)}.cw-ab-composer .cw-debug-input{background:#fff}.cw-debug.is-standalone{flex:1;width:100%;min-width:0;border-left:0;background:transparent}.cw-debug.is-standalone .cw-debug-head{height:58px;padding-inline:22px;background:hsl(var(--panel) / .7)}.cw-debug.is-standalone .cw-debug-title{font-size:15px}.cw-debug.is-standalone .cw-debug-body{padding:22px clamp(18px,5vw,72px) 28px}.cw-debug.is-standalone .cw-debug-chat{width:min(100%,840px);margin:0 auto}.cw-debug.is-standalone .cw-debug-chat-empty{min-height:260px;border:1px dashed hsl(var(--border));border-radius:16px;background:hsl(var(--panel) / .56)}.cw-debug.is-standalone .cw-debug-composer{padding:12px 210px 20px clamp(18px,5vw,72px);background:transparent}.cw-debug.is-standalone .cw-debug-composerbox{width:min(100%,840px);min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;box-shadow:0 12px 32px hsl(var(--foreground) / .06)}.cw-debug.is-standalone .cw-debug-overlay{background:hsl(var(--background) / .68)}.cw-debug.is-standalone .cw-debug-overlay-content{width:min(100%,390px);padding:28px;border-radius:16px}.cw-validation-prototype{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:clamp(26px,4vw,56px)}.cw-validation-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 28px;max-width:1040px}.cw-eyebrow{color:hsl(var(--cw-workspace-accent));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.15em}.cw-validation-page-head h2{margin:5px 0 4px;color:hsl(var(--cw-workspace-ink));font-size:clamp(24px,3vw,34px);font-weight:720;letter-spacing:-.045em}.cw-validation-page-head p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.cw-prototype-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid hsl(var(--cw-workspace-ink));border-radius:8px;background:hsl(var(--cw-workspace-ink));color:hsl(var(--background));font:inherit;font-size:12px;font-weight:650}.cw-prototype-action:disabled{cursor:not-allowed;opacity:.72}.cw-dataset-summary,.cw-variant-grid,.cw-metric-board,.cw-prototype-table,.cw-run-list,.cw-prototype-note{width:min(100%,1040px);margin-inline:auto}.cw-dataset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 10px 32px hsl(var(--foreground) / .035)}.cw-dataset-summary>div{display:flex;flex-direction:column;gap:4px;padding:17px 20px}.cw-dataset-summary>div+div{border-left:1px solid hsl(var(--border))}.cw-dataset-summary strong{color:hsl(var(--cw-workspace-ink));font-size:22px;letter-spacing:-.04em}.cw-dataset-summary span{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-table{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-prototype-row{min-height:54px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(170px,1fr) 82px;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.cw-prototype-row.is-head{min-height:38px;border-top:0;background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.cw-prototype-row>strong{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-status-pill,.cw-run-status,.cw-run-kind{justify-self:start;padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.cw-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.cw-variant-card{position:relative;overflow:hidden;padding:20px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel));box-shadow:0 12px 34px hsl(var(--foreground) / .04)}.cw-variant-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:hsl(var(--foreground) / .22)}.cw-variant-card.is-candidate:before{background:hsl(var(--cw-workspace-accent))}.cw-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.cw-variant-head small{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));font-size:9.5px;letter-spacing:0;text-transform:none}.cw-variant-card>strong{color:hsl(var(--cw-workspace-ink));font-size:17px;letter-spacing:-.025em}.cw-variant-card>p{min-height:42px;margin:7px 0 22px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.cw-variant-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.cw-variant-card dl>div{padding:9px 10px;border-radius:8px;background:hsl(var(--secondary) / .5)}.cw-variant-card dt{color:hsl(var(--muted-foreground));font-size:9.5px}.cw-variant-card dd{margin:3px 0 0;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px}.cw-metric-board{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-metric-head,.cw-metric-row{display:grid;grid-template-columns:minmax(170px,1fr) 100px 100px 88px;align-items:center;gap:12px;padding:11px 16px}.cw-metric-head{grid-template-columns:auto auto minmax(0,1fr);min-height:48px;border-bottom:1px solid hsl(var(--border))}.cw-metric-head .cw-i{width:15px;color:hsl(var(--cw-workspace-accent))}.cw-metric-head strong{font-size:12px}.cw-metric-head span{justify-self:end;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-metric-row{min-height:44px;color:hsl(var(--muted-foreground));font-size:11px}.cw-metric-row+.cw-metric-row{border-top:1px solid hsl(var(--border) / .7)}.cw-metric-row strong{color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cw-metric-row em{color:hsl(var(--cw-workspace-accent));font-size:10.5px;font-style:normal;font-weight:650}.cw-run-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-run-row{min-height:72px;display:grid;grid-template-columns:36px minmax(220px,1fr) 70px 110px 72px;align-items:center;gap:12px;padding:11px 16px}.cw-run-row+.cw-run-row{border-top:1px solid hsl(var(--border))}.cw-run-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-run-icon .cw-i{width:14px;height:14px}.cw-run-row>div{min-width:0}.cw-run-row strong{color:hsl(var(--foreground));font-size:12px}.cw-run-row p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-run-row time{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-run-status.is-running{background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-prototype-note{display:flex;align-items:center;gap:7px;margin-top:14px;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-note .cw-i{width:13px;height:13px}.cw-publish-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:hsl(var(--muted-foreground));font-size:12px}.cw-publish-loading .cw-i{width:22px;height:22px;margin-bottom:5px;color:hsl(var(--cw-workspace-accent))}.cw-publish-loading strong{color:hsl(var(--foreground));font-size:14px}.cw-header{flex-shrink:0;display:flex;align-items:flex-start;gap:16px;padding:18px 24px 16px;border-bottom:1px solid hsl(var(--border))}.cw-header-title{flex:1;min-width:0}.cw-header-mode{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.cw-title{margin:5px 0 2px;font-size:21px;font-weight:650;letter-spacing:-.02em}.cw-subtitle{margin:0;font-size:13px;color:hsl(var(--muted-foreground))}.cw-progress-pill{flex-shrink:0;margin-top:2px;padding:5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.cw-body{flex:1;min-height:0;overflow-y:auto}.cw-center{display:flex;align-items:flex-start;justify-content:center;gap:32px;max-width:960px;margin:0 auto;padding:32px 24px 80px}.cw-form-col{flex:1 1 auto;min-width:0;max-width:640px;display:flex;flex-direction:column;gap:12px}.cw-section{scroll-margin-top:24px;padding:0;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker)){overflow:visible}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker))>.cw-sec-head{border-radius:17px 17px 0 0}.cw-sec-body{padding:2px 18px 6px}.cw-sec-title{margin:0;font-size:14px;font-weight:620;letter-spacing:-.01em;color:hsl(var(--foreground))}.cw-sec-hint{margin:0;font-size:13px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-form{display:flex;flex-direction:column;gap:0}.cw-section-desc{margin:0;font-size:13px;line-height:1.6;color:hsl(var(--muted-foreground))}.cw-field{display:grid;grid-template-columns:minmax(124px,.34fr) minmax(0,1fr);align-items:start;column-gap:16px;row-gap:6px;padding:11px 0}.cw-form>.cw-field+.cw-field,.cw-form>.cw-toggle+.cw-toggle,.cw-form>.cw-field+.cw-toggle,.cw-form>.cw-toggle+.cw-field,.cw-toggle-stack>.cw-field,.cw-toggle-stack>.cw-toggle+.cw-toggle{border-top:1px dashed hsl(var(--border) / .8)}.cw-field>.cw-label,.cw-field>.cw-remote-center-head{grid-column:1;align-self:start}.cw-field:has(>.cw-input)>.cw-label{align-self:center}.cw-field:has(>.cw-model-picker)>.cw-label{align-self:center}.cw-field>:not(.cw-label):not(.cw-remote-center-head){grid-column:2;min-width:0}.cw-form>.cw-more-options{margin:10px 0 10px calc(34% + 16px)}.cw-form>.cw-model-more-options{margin-left:0}.cw-help:not(.cw-a2a-space-status):not(.cw-dependency-hint),.cw-section-desc:not(.cw-dependency-hint),.cw-remote-center-description,.cw-ctool-desc,.cw-skill-result-desc{display:none}.cw-dependency-hint{margin:0 0 14px calc(34% + 16px)}.cw-field>.cw-dependency-hint{grid-column:2;margin:0}.cw-more-options{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:-4px;padding:4px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:560;cursor:pointer;transition:color .14s ease}.cw-more-options:hover,.cw-more-options:focus-visible{color:hsl(var(--foreground))}.cw-more-options:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:3px;border-radius:4px}.cw-more-options-chevron{width:14px;height:14px;transition:transform .18s ease}.cw-more-options-chevron.is-open{transform:rotate(90deg)}.cw-more-options-count{margin-left:2px;padding:2px 7px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:10.5px;font-weight:600}.cw-model-advanced{display:flex;flex-direction:column;gap:20px;overflow:hidden}.cw-label-with-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.cw-label-with-link a{display:inline-flex;align-items:center;gap:3px;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.3;text-decoration:none}.cw-label-with-link a:hover,.cw-label-with-link a:focus-visible{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}.cw-label-with-link a svg{width:10px;height:10px}.cw-model-source-field{align-items:center}.cw-model-source-field>.cw-label{align-self:center}.cw-model-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-model-source-option{min-width:0;min-height:36px;display:flex;align-items:stretch;overflow:hidden;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.cw-model-source-option:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .22)}.cw-model-source-option.is-disabled{background:hsl(var(--muted) / .18);color:hsl(var(--muted-foreground));opacity:.7}.cw-model-source-option.is-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--muted) / .18)}.cw-model-source-option.is-on{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .055);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.cw-model-source-option>.flex{flex:1;min-width:0}.cw-model-source-control{width:100%;min-height:100%;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;color:inherit;cursor:pointer;font-size:12.5px;font-weight:560}.cw-model-source-option.is-disabled .cw-model-source-control{cursor:not-allowed}.cw-model-source-coming-soon{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;line-height:1.3}.cw-label{font-size:13px;font-weight:400;color:hsl(var(--foreground))}.cw-req{margin-left:2px;color:hsl(var(--destructive))}.cw-help{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-remote-center-head{display:flex;flex-direction:column;gap:6px}.cw-remote-center-description{display:block;max-width:560px;margin:0;line-height:1.6}.cw-a2a-space-picker{position:relative;display:flex;flex-direction:column;gap:8px}.cw-model-picker-stack{display:grid;min-width:0;gap:12px}.cw-model-picker-field{display:grid;min-width:0;gap:6px}.cw-model-picker-label{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.45}.cw-a2a-space-picker.is-open{z-index:80}.cw-a2a-space-row{display:flex;align-items:center;gap:8px}.cw-a2a-space-select-wrap{position:relative;flex:1;min-width:0}.cw-a2a-space-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.cw-a2a-space-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.cw-a2a-space-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background-color:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.cw-a2a-space-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-trigger:disabled{cursor:not-allowed;opacity:.5}.cw-a2a-space-trigger.is-error{box-shadow:0 0 0 1px hsl(var(--destructive) / .55)}.cw-a2a-space-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.cw-a2a-space-trigger-icon{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.cw-a2a-space-trigger[aria-expanded=true] .cw-a2a-space-trigger-icon{transform:rotate(180deg)}.cw-a2a-space-menu{position:absolute;z-index:81;top:calc(100% + 6px);left:0;width:100%;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08);font-size:12px}.cw-catalog-menu{width:min(460px,calc(100vw - 64px))}.cw-catalog-menu-portal{position:fixed;z-index:1000;display:flex;min-height:0;flex-direction:column;overflow:hidden}.cw-picker-search{padding:4px 4px 6px;border-bottom:1px solid hsl(var(--border) / .72)}.cw-picker-search-input{width:100%;height:30px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.cw-picker-search-input:focus{border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 2px hsl(var(--ring) / .1)}.cw-picker-options{max-height:188px;overflow-y:auto;padding-top:4px;overscroll-behavior:contain}.cw-picker-empty{padding:14px 10px;color:hsl(var(--muted-foreground));text-align:center}.cw-a2a-space-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-option:hover,.cw-a2a-space-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.cw-a2a-space-option.is-selected{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-catalog-options{min-height:0;max-height:none;flex:1;scrollbar-gutter:stable}.cw-model-key-option{justify-content:space-between;gap:12px}.cw-model-key-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-key-option>span{flex:1}.cw-model-option{min-height:48px;justify-content:space-between;gap:14px;white-space:normal}.cw-model-option.is-activation-link{cursor:pointer}.cw-model-option:disabled{cursor:default;opacity:.62}.cw-model-option:disabled:hover{background:transparent}.cw-model-option-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.cw-model-option-copy strong,.cw-model-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-option-copy strong{font-size:12.5px;font-weight:620}.cw-model-option-copy small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cw-model-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:hsl(var(--muted) / .68);color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.25}.cw-model-status:before{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor;content:""}.cw-model-status.is-available{background:#34b2621f;color:#2a844b}.cw-model-status.is-retiring{background:#eda01d1f;color:#a2631a}.cw-model-status.is-unavailable,.cw-model-status.is-unknown{background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground))}.cw-a2a-space-refresh{flex-shrink:0;width:36px;height:36px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s ease,background-color .12s ease}.cw-a2a-space-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .4)}.cw-a2a-space-refresh:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-status{display:inline-flex;align-items:center;gap:6px}.cw-a2a-space-error{align-items:flex-start;padding:9px 11px;font-size:12.5px}.cw-viking-kb-picker{gap:6px}.cw-viking-kb-inline-status{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.cw-viking-kb-menu{padding:3px;box-shadow:0 6px 18px hsl(var(--foreground) / .06)}.cw-viking-kb-menu .cw-picker-options{max-height:min(112px,calc(100vh - 310px))}.cw-viking-kb-menu .cw-a2a-space-option{min-height:28px;padding:5px 9px;line-height:1.25}.cw-viking-kb-refresh{color:hsl(var(--foreground) / .72)}.cw-viking-kb-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .28);background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.cw-viking-kb-refresh:disabled{color:hsl(var(--muted-foreground))}.cw-error-text{font-size:12px;color:hsl(var(--destructive))}.cw-env-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:5px}.cw-env-field{display:flex;min-width:0;flex-direction:column;gap:6px}.cw-env-field-head{display:grid;min-width:0;gap:3px;color:hsl(var(--foreground));font-size:12px;font-weight:560}.cw-env-field-title{display:inline-flex;min-width:0;align-items:center;gap:5px}.cw-env-field-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.cw-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.cw-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.cw-env-help:hover .cw-env-help-popover,.cw-env-help:focus-visible .cw-env-help-popover,.cw-env-help:focus-within .cw-env-help-popover{opacity:1;pointer-events:auto}.cw-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.cw-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.cw-env-link svg{width:13px;height:13px;flex:0 0 13px}.cw-env-field-head code{display:block;max-width:100%;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.cw-env-empty{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12px}.cw-input{min-width:0;width:100%;min-height:38px;padding:9px 12px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.cw-input::placeholder{color:hsl(var(--muted-foreground))}.cw-input:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.cw-input.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-env-textarea{min-height:96px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.cw-env-error{margin-top:-2px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.4}.cw-textarea{width:100%;padding:11px 13px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .12s,box-shadow .12s}.cw-textarea::placeholder{color:hsl(var(--muted-foreground))}.cw-textarea:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-textarea.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}@keyframes cw-error-shake-a{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes cw-error-shake-b{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.cw-error-shake-0{animation:cw-error-shake-a .28s ease-in-out}.cw-error-shake-1{animation:cw-error-shake-b .28s ease-in-out}@media (prefers-reduced-motion: reduce){.cw-error-shake-0,.cw-error-shake-1{animation:none}}.cw-textarea-sm{min-height:80px;max-height:160px;overflow-y:auto}.cw-textarea-lg{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cw-markdown-loading,.cw-markdown-editor:not(.mdxeditor-popup-container){min-height:340px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background))}.cw-markdown-loading{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px}.cw-markdown-editor:not(.mdxeditor-popup-container){display:flex;flex-direction:column;max-height:420px;overflow:hidden;color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.cw-markdown-editor:not(.mdxeditor-popup-container):focus-within{border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-editor:not(.mdxeditor-popup-container).is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-toolbar{flex-shrink:0;min-height:40px;padding:5px 8px;border:0;border-bottom:1px solid hsl(var(--border));border-radius:0;background:hsl(var(--muted) / .38)}.cw-markdown-toolbar button,.cw-markdown-toolbar [role=combobox]{color:hsl(var(--foreground))}.cw-markdown-content{min-height:298px;max-height:360px;overflow-y:auto;padding:18px 20px 28px;color:hsl(var(--foreground));font-size:14px;line-height:1.7}.cw-markdown-content:focus{outline:none}.cw-markdown-content h1,.cw-markdown-content h2,.cw-markdown-content h3{margin:1.1em 0 .45em;color:hsl(var(--foreground));font-weight:650;line-height:1.3}.cw-markdown-content h1:first-child,.cw-markdown-content h2:first-child,.cw-markdown-content h3:first-child{margin-top:0}.cw-markdown-content h1{font-size:20px}.cw-markdown-content h2{font-size:17px}.cw-markdown-content h3{font-size:15px}.cw-markdown-content p{margin:0 0 .8em}.cw-markdown-content ul,.cw-markdown-content ol{margin:.5em 0 .9em;padding-left:1.5em}.cw-markdown-content ul{list-style:disc outside}.cw-markdown-content ol{list-style:decimal outside}.cw-markdown-content li{display:list-item}.cw-markdown-content blockquote{margin:.8em 0;padding-left:12px;border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.cw-markdown-error{display:block;margin-top:6px;color:hsl(var(--destructive));font-size:12px}.cw-tag-editor{display:flex;flex-direction:column;gap:12px}.cw-tag-inputrow{display:flex;gap:8px}.cw-tag-inputrow .cw-input{flex:1}.cw-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.cw-presets-label{font-size:11.5px;color:hsl(var(--muted-foreground));margin-right:2px}.cw-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12.5px;white-space:nowrap}.cw-chip-ghost{border:1px dashed hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;transition:background .12s,color .12s,border-color .12s}.cw-chip-ghost:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-chip-sub{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-pills{display:flex;flex-wrap:wrap;gap:8px}.cw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:13px}.cw-pill-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-pill-x:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.cw-empty-line{margin:0;font-size:12.5px;color:hsl(var(--muted-foreground))}.cw-check-inline{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:13px;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.cw-check-inline input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:hsl(var(--primary));cursor:pointer}.cw-checklist{display:flex;flex-direction:column;gap:8px}.cw-tools-list-shell{min-width:0;container-type:inline-size}.cw-tool-config{padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--muted) / .28)}.cw-tool-config-head{display:flex;flex-direction:column;gap:3px}.cw-checklist-tools{--cw-checklist-row-height: 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(var(--cw-checklist-row-height),auto);max-height:var(--cw-checklist-max-height);padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-checklist-tools .cw-check{min-height:var(--cw-checklist-row-height);align-items:center;padding:8px 10px}.cw-checklist-tools .cw-check-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@container (max-width: 575px){.cw-checklist-tools{grid-template-columns:minmax(0,1fr)}}.cw-check{display:flex;align-items:flex-start;gap:0;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-check>label{flex:1;min-width:0;padding-left:12px;color:inherit;cursor:pointer}.cw-checklist-tools .cw-check>label{padding-left:10px}.cw-check:hover{background:hsl(var(--foreground) / .05)}.cw-check.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-check-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-check-title{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.cw-check-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-segmented{display:flex;flex-wrap:wrap;gap:8px}.cw-seg{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:11px 13px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-seg:hover{background:hsl(var(--foreground) / .05)}.cw-seg.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-seg-title{font-size:13px;font-weight:600;color:hsl(var(--foreground))}.cw-seg-desc{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-foreground))}.cw-ctool{display:flex;flex-direction:column;gap:12px}.cw-ctool-inputs{display:flex;flex-wrap:wrap;gap:8px}.cw-ctool-inputs .cw-input{flex:1 1 180px}.cw-ctool-list{display:flex;flex-direction:column;gap:8px}.cw-ctool-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--card))}.cw-ctool-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.cw-ctool-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ctool-name{font-size:13.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--foreground));word-break:break-word}.cw-ctool-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp,.cw-mcp-list{display:flex;flex-direction:column;gap:12px}.cw-mcp-row{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card))}.cw-mcp-rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-mcp-transport{display:inline-flex;gap:6px}.cw-seg-sm{flex:0 0 auto;min-width:72px;flex-direction:row;align-items:center;justify-content:center;text-align:center;padding:6px 16px;border-radius:9px}.cw-seg-sm .cw-seg-title{font-size:12.5px}.cw-mcp-note{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp-warning{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border:1px solid #b4530940;border-radius:8px;background:#b453091a;color:#b45309;font-size:12.5px;line-height:1.5}.cw-mcp-warning svg{flex:0 0 auto;width:15px;height:15px;margin-top:2px}.cw-mcp .cw-add-sub{margin-top:0}.cw-mcp-field{align-items:center}.cw-mcp-field>.cw-label{align-self:center}.cw-subfield{margin:0;padding:9px 0;border:0;border-radius:0;background:transparent}.cw-toggle-stack{gap:0}.cw-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:9px 0;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.cw-toggle:hover{background:hsl(var(--muted) / .18)}.cw-toggle.is-on{background:hsl(var(--muted) / .24);box-shadow:none}.cw-toggle-text{grid-column:1;grid-row:1;margin-left:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-toggle-title{font-size:14px;font-weight:600}.cw-toggle-help{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-switch{grid-column:2;grid-row:1;justify-self:end;flex-shrink:0;display:flex;align-items:center;width:42px;height:24px;padding:2px;border-radius:999px;background:hsl(var(--border));transition:background .18s}.cw-toggle.is-on .cw-switch{background:hsl(var(--primary));justify-content:flex-end}.cw-switch-knob{display:block;width:20px;height:20px;border-radius:50%;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .2)}.cw-sub-list{display:flex;flex-direction:column;gap:14px}.cw-sub{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .03)}.cw-sub-head{display:flex;align-items:center;justify-content:space-between}.cw-sub-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.cw-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-icon-btn:not(:disabled):hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cw-icon-danger:not(:disabled):hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.cw-sub-head-actions{display:inline-flex;align-items:center;gap:2px}.cw-sub-list-wrap{display:flex;flex-direction:column}.cw-agent-type-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0}.cw-agent-type-option{position:relative;min-width:0;min-height:42px;display:flex;align-items:center;gap:10px;padding:0;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.cw-agent-type-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-agent-type-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-agent-type-option.is-disabled{color:hsl(var(--muted-foreground) / .52);cursor:not-allowed}.cw-agent-type-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-agent-type-control{align-self:stretch;flex:1;width:100%;min-width:0;min-height:100%;box-sizing:border-box;padding:10px 12px;color:inherit;cursor:inherit}.cw-agent-type-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-agent-type-copy strong{font-size:13px;font-weight:650}.cw-agent-type-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.cw-agent-type-disabled-hint{position:absolute;top:calc(100% + 17px);right:0;width:max-content;max-width:220px;padding:7px 10px;border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--popover));box-shadow:0 8px 24px hsl(var(--foreground) / .1);color:hsl(var(--popover-foreground));font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.cw-agent-type-option.is-disabled:hover .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus-visible .cw-agent-type-disabled-hint{opacity:1;transform:translateY(0)}.cw-agent-type-option:focus-within,.cw-agent-type-option:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-add-sub{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;width:100%;border:1px dashed hsl(var(--border));border-radius:12px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cw-add-sub:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-review{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;background:hsl(var(--card))}.cw-review-row{display:flex;gap:18px;padding:13px 16px;border-bottom:1px solid hsl(var(--border))}.cw-review-row:last-child{border-bottom:none}.cw-review-key{flex-shrink:0;width:110px;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground))}.cw-review-val{flex:1;min-width:0;font-size:13.5px}.cw-review-strong{font-weight:600}.cw-review-muted{color:hsl(var(--muted-foreground))}.cw-review-pre{margin:0;padding:10px 12px;background:hsl(var(--muted));border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.cw-review-chips,.cw-review-subs{display:flex;flex-wrap:wrap;gap:6px}.cw-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.cw-tag-on{background:#22c35d24;color:#1c7d3f}.cw-tag-off{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.cw-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:background .13s,opacity .13s,border-color .13s,transform .1s}.cw-btn:active{transform:scale(.98)}.cw-btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-btn-primary:hover:not(:disabled){opacity:.88}.cw-btn-primary:disabled{opacity:.4;cursor:default}.cw-btn-ghost{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.cw-btn-ghost:hover{background:hsl(var(--accent))}.cw-btn-soft{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));flex-shrink:0}.cw-btn-soft:hover:not(:disabled){background:hsl(var(--accent))}.cw-btn-soft:disabled{opacity:.45;cursor:default}.cw-i{width:16px;height:16px;flex-shrink:0}.cw-i-sm{width:14px;height:14px}.cw-root-preview{height:100%}.cw-preview-body{flex:1;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-preview-body>*{flex:1;min-height:0}.cw-skillhub{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.cw-skill-searchrow{display:flex;gap:8px}.cw-skill-searchbox{position:relative;flex:1;min-width:0;display:flex;align-items:center}.cw-skill-searchicon{position:absolute;left:11px;color:hsl(var(--muted-foreground));pointer-events:none}.cw-skill-input{padding-left:36px}.cw-skill-input:focus,.cw-skill-input:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:1px;border-color:hsl(var(--ring) / .48);background:hsl(var(--background));box-shadow:none}.cw-skill-selected{display:flex;flex-direction:column;gap:8px}.cw-skill-selected-label{font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground))}.cw-skill-results{display:flex;flex-direction:column;gap:8px;max-height:472px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-skill-result{flex-shrink:0;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s;min-height:72px}.cw-skill-result:hover{background:hsl(var(--foreground) / .05)}.cw-skill-result.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-skill-result-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));transition:background .12s,border-color .12s,color .12s}.cw-skill-result.is-on .cw-skill-result-icon{background:hsl(var(--foreground));border-color:hsl(var(--foreground));color:hsl(var(--background))}.cw-skill-result-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-skill-result-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground));word-break:break-word}.cw-skill-result-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-skill-result-repo{font-size:11px;font-family:inherit;line-height:1.4;color:hsl(var(--muted-foreground));word-break:break-all}.cw-skill-loading{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.cw-spin{animation:cw-spin .8s linear infinite}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-skillspane{display:flex;flex-direction:column;gap:10px;padding:10px 0 12px}.cw-skill-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.cw-skill-add:hover{border-color:hsl(var(--foreground) / .34);background:transparent;color:hsl(var(--foreground))}.cw-skill-add:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .25)}.cw-skill-add-icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.cw-skill-dialog-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#15181e47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cw-skill-dialog{width:min(680px,calc(100vw - 32px));height:min(640px,calc(100dvh - 40px));min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 72px #10131933}.cw-skill-dialog-head{flex-shrink:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;border-bottom:1px solid hsl(var(--border))}.cw-skill-dialog-head h3{margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.cw-skill-dialog-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-skill-dialog-close:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-skill-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.cw-skill-sourcetabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:44px;padding:4px;overflow:hidden;border:1px solid hsl(var(--border) / .55);border-radius:10px;background:hsl(var(--secondary) / .58)}.cw-skill-tab-slider{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:var(--cw-skill-tab-slider-width);border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--background));transform:translate(var(--cw-active-skill-tab-offset));transition:transform .24s cubic-bezier(.22,1,.36,1)}.cw-skill-pickertab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background .16s,color .16s}.cw-skill-pickertab:hover{background:hsl(var(--foreground) / .035);color:hsl(var(--foreground))}.cw-skill-pickertab.is-on{background:transparent;color:hsl(var(--foreground))}.cw-skill-pickertab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-skill-tabbody{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.cw-selected-skill-list{display:flex;flex-direction:column;gap:7px;max-height:347px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-selected-skill-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card))}.cw-selected-skill-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-selected-skill-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-selected-skill-name{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-detail{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-selected-skill-remove:hover{background:hsl(var(--destructive) / .09);color:hsl(var(--destructive))}.cw-local{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.cw-local-dropzone{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 14px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .15s,color .15s}.cw-local-drop-icon{width:20px;height:20px;color:hsl(var(--muted-foreground))}.cw-local-dropzone.is-dragging{border-color:hsl(var(--foreground) / .48);color:hsl(var(--foreground))}.cw-local-drop-hint{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px}.cw-local-dropzone.is-dragging .cw-local-drop-hint,.cw-local-dropzone.is-dragging .cw-local-drop-icon{color:hsl(var(--foreground))}.cw-local-hint{margin:0;font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-skillspace{height:100%;min-height:0;display:flex;flex-direction:column}.cw-skillspace-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}.cw-skillspace-select{width:100%;flex:1;min-width:0}.cw-skillspace-region-label{flex-shrink:0;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted) / .52);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;white-space:nowrap}.cw-skillspace-console-link{flex-shrink:0;padding:9px 12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.cw-skillspace-console-link .cw-i{display:block}.cw-skill-result-version{color:hsl(var(--muted-foreground));font-weight:400;font-size:11px;margin-left:4px}.cw-skill-result-repo .cw-i{vertical-align:-2px;margin-right:2px}@media (max-width: 1280px){.cw-root{--cw-workspace-width: calc(100% - 48px) }.cw-workspace-header{padding-inline:16px}.cw-debug{width:280px}.cw-tree{width:208px}}@media (max-width: 1080px){.cw-editor{overflow:hidden}.cw-tree{height:auto}.cw-detail{flex:1 1 auto;width:100%;max-width:none;min-height:0}.cw-debug{flex:0 0 100%;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px;border-left:none;border-top:1px solid hsl(var(--border))}.cw-debug.is-collapsed{flex:0 0 48px;width:100%;min-width:0;height:48px;min-height:48px;align-items:flex-end;padding:7px 12px}.cw-debug.is-collapsed .cw-debug-expand{width:34px;min-height:34px}.cw-lower{gap:0}.cw-detail .cw-form-col{max-width:100%}}@media (max-width: 860px){.cw-root{--cw-workspace-gutter: 8px;--cw-workspace-width: calc(100% - 16px) }.cw-workspace-header{min-height:50px;padding:6px 10px}.cw-workspace-header h1{font-size:17px}.cw-validation-workspace{display:flex}.cw-ab-stage{padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr))}.cw-ab-composer{padding-inline:var(--cw-workspace-gutter)}.cw-editor{flex-direction:column;overflow-x:hidden;overflow-y:hidden}.cw-editor>.abc-root{flex:0 0 180px;width:100%;min-width:0;min-height:180px}.cw-tree{width:100%;height:auto;max-height:220px;border-right:0;border-bottom:1px solid hsl(var(--border))}.cw-detail{flex:1 1 auto;width:100%;max-width:none;height:auto;min-height:0;border-left:0}.cw-detail-scroll{padding:16px 12px 20px}.cw-debug{flex:none;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px}.cw-debug.is-collapsed{width:100%;height:48px;min-height:48px}.cw-center{gap:0;padding:24px 16px 64px}.cw-form-col{max-width:100%}}@media (max-width: 700px){.cw-workspace-header h1{text-align:center}.cw-workspace-nav-actions{grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr)}.cw-workspace-nav-button{padding-inline:12px}.cw-form>.cw-more-options,.cw-dependency-hint{margin-left:0}.cw-field{grid-template-columns:minmax(0,1fr);row-gap:8px}.cw-field>.cw-label,.cw-field>.cw-remote-center-head,.cw-field>:not(.cw-label):not(.cw-remote-center-head),.cw-field>.cw-dependency-hint{grid-column:1}.cw-optimization-list,.cw-ab-grid,.cw-ab-config{grid-template-columns:minmax(0,1fr)}.cw-ab-composer{grid-template-columns:minmax(0,1fr);padding-bottom:12px}.cw-ab-add{width:100%}.cw-dataset-summary>div+div{border-top:1px solid hsl(var(--border));border-left:0}}.package-create{flex:1;min-width:0;min-height:0;display:flex;color:hsl(var(--foreground))}.package-create-preview{height:100%}.package-create-preview>*{flex:1;min-width:0;min-height:0}.package-source-pane{padding:16px 18px 18px}.package-source-label{margin-bottom:10px;color:hsl(var(--foreground));font-size:15px;font-weight:650}.package-dropzone{min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.package-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:3px}.package-dropzone.is-dragging{border-color:hsl(var(--primary) / .62);background:hsl(var(--primary) / .045)}.package-dropzone.is-ready{background:hsl(var(--background))}.package-dropzone>strong{max-width:100%;overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.package-dropzone>span{max-width:420px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.package-upload-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}.package-upload-actions button{min-height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.package-upload-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.package-upload-secondary:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary))}.package-upload-actions button:disabled{cursor:default;opacity:.45}.package-upload-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.package-dropzone input{display:none}.package-create-error{flex:0 0 auto;margin-top:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));font-size:13px;line-height:1.5}@media (max-width: 860px){.package-dropzone{min-height:140px}}@media (prefers-reduced-motion: reduce){.package-dropzone,.package-upload-actions button{transition:none}}.studio-update-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:32px;padding:0 10px;border:1px solid #1664ff;border-radius:8px;background:#1664ff;color:#fff;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle{gap:0;width:32px;min-width:32px;padding:0;overflow:hidden;white-space:nowrap;transition:width .18s ease,gap .18s ease,padding .18s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle:hover,.studio-update-trigger.is-idle:focus-visible{gap:7px;width:124px;padding:0 10px;border-color:#1664ff;background:#1664ff;color:#fff}.studio-update-trigger.is-idle>span{max-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:max-width .18s ease,opacity .12s ease,transform .18s ease}.studio-update-trigger.is-idle:hover>span,.studio-update-trigger.is-idle:focus-visible>span{max-width:86px;opacity:1;transform:translate(0)}.studio-update-trigger.is-submitting{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.studio-update-trigger.is-error{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--destructive))}.studio-update-trigger.is-published{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.studio-update-icon{width:17px;height:17px;flex:0 0 17px}.studio-update-dialog{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;width:min(500px,calc(100vw - 32px));max-width:calc(100vw - 32px);min-width:0;overflow:hidden}.studio-update-dialog.is-progress{width:min(760px,calc(100vw - 32px));height:min(700px,calc(100dvh - 32px));grid-template-rows:auto minmax(0,1fr) auto}.studio-update-dialog.is-progress>.studio-update-progress-body,.studio-update-dialog.is-progress>.studio-update-error-panel{grid-row:2;min-height:0}.studio-update-dialog.is-progress>.confirm-actions{grid-row:3}.studio-update-progress-body{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-height:0}.studio-update-progress-body .studio-update-live-log,.studio-update-error-panel .studio-update-live-log{display:flex;min-height:0;flex-direction:column}.studio-update-progress-body .studio-update-log-lines,.studio-update-error-panel .studio-update-log-lines{min-height:0;max-height:none;flex:1;overflow-y:auto}.studio-update-dialog>.studio-update-dialog-mark{grid-column:1;grid-row:1}.studio-update-dialog>.confirm-title{grid-column:2;grid-row:1;align-self:start;margin:5px 0 12px}.studio-update-dialog>:not(.studio-update-dialog-mark,.confirm-title){grid-column:1 / -1;width:100%;max-width:100%;min-width:0}.studio-update-dialog .confirm-text,.studio-update-dialog .studio-update-changelog li,.studio-update-dialog .studio-update-changelog p,.studio-update-dialog .studio-update-error,.studio-update-dialog .studio-update-progress small,.studio-update-dialog .studio-update-progress-note,.studio-update-dialog .studio-update-console-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.studio-update-field{position:relative;display:grid;gap:6px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-version-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.studio-update-version-trigger:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.studio-update-version-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.studio-update-version-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.studio-update-version-trigger>svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.studio-update-version-trigger>span,.studio-update-version-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-update-version-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.studio-update-version-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:100%;max-height:190px;padding:4px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel, var(--background)));box-shadow:0 12px 28px hsl(var(--foreground) / .1),0 2px 8px hsl(var(--foreground) / .05);overscroll-behavior:contain}.studio-update-version-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer}.studio-update-version-option:hover,.studio-update-version-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.studio-update-version-option.is-selected{background:hsl(var(--primary) / .08)}.studio-update-version-option>svg{width:15px;height:15px;flex:0 0 15px;color:hsl(var(--primary));stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.studio-update-dialog-mark{display:inline-grid;flex:0 0 30px;width:30px;height:30px;margin-bottom:12px;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-update-dialog-mark svg{width:18px;height:18px}.studio-update-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-versions div:last-child{grid-column:1 / -1}.studio-update-versions dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-versions dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.studio-update-changelog{margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px}.studio-update-changelog>div{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:500}.studio-update-changelog ul{display:block;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;list-style:disc outside;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li{display:list-item;margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-changelog li+li{margin-top:5px}.studio-update-changelog p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-confirm{border-color:transparent;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-update-confirm:hover{background:hsl(var(--primary) / .88)}.studio-update-error{margin-bottom:12px;color:hsl(var(--destructive))}.studio-update-error-panel{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-width:0;min-height:0}.studio-update-error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.studio-update-error-meta>div{min-width:0;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-error-meta dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-error-meta dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.studio-update-log-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid hsl(var(--border));border-bottom:0;border-radius:8px 8px 0 0;background:hsl(var(--muted) / .28);color:hsl(var(--foreground));font-size:11px;font-weight:500}.studio-update-log-header>span{display:inline-flex;align-items:center;gap:6px}.studio-update-log-header i{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.studio-update-log-header i.is-active{background:#1664ff;box-shadow:0 0 0 3px #1664ff1c}.studio-update-log-header i.is-complete{background:#29ae60}.studio-update-log-header i.is-error{background:hsl(var(--destructive))}.studio-update-log-header small{color:hsl(var(--muted-foreground));font-size:10px;font-weight:400}.studio-update-log-header button{padding:2px 0;border:0;background:transparent;color:hsl(var(--primary));font:inherit;cursor:pointer}.studio-update-log-header button:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-log-header button:disabled{color:hsl(var(--muted-foreground));cursor:default;text-decoration:none}.studio-update-log-lines{min-height:92px;max-height:min(210px,29vh);padding:11px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:0 0 8px 8px;background:hsl(var(--foreground) / .035);color:hsl(var(--foreground));font-family:inherit;font-size:11px;line-height:1.55;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-log-lines:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-2px}.studio-update-log-lines>div+div{margin-top:3px}.studio-update-log-lines p{margin:0;color:hsl(var(--muted-foreground))}.studio-update-console-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:hsl(var(--primary));font-size:11px;font-weight:500;text-decoration:none}.studio-update-console-link:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.studio-update-progress-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-progress-summary span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-summary strong{overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-progress{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none}.studio-update-progress li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-height:38px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-progress li:not(:last-child):after{position:absolute;top:14px;bottom:-2px;left:5px;width:1px;background:hsl(var(--border));content:""}.studio-update-progress li.is-complete:not(:last-child):after{background:#1664ff}.studio-update-progress-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:2px;border:2px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.studio-update-progress li.is-active,.studio-update-progress li.is-complete{color:hsl(var(--foreground))}.studio-update-progress li.is-active .studio-update-progress-dot{border-color:#1664ff;box-shadow:0 0 0 3px #1664ff1f}.studio-update-progress li.is-complete .studio-update-progress-dot{border-color:#1664ff;background:#1664ff}.studio-update-progress li>div{display:grid;gap:3px;min-width:0}.studio-update-progress small{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-note{margin:12px 0 18px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.new-chat-video-task-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:new-chat-video-task-fade .14s ease-out}.new-chat-video-task-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:new-chat-video-task-rise .18s cubic-bezier(.2,.8,.2,1)}.new-chat-video-task-dialog__head{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 20px;border-bottom:1px solid hsl(var(--border))}.new-chat-video-task-dialog__close svg{width:17px;height:17px}.new-chat-video-task-dialog__head h2,.new-chat-video-task-dialog__head p{margin:0}.new-chat-video-task-dialog__head h2{width:fit-content;color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35;outline:0}.new-chat-video-task-dialog__head p{overflow:hidden;margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-dialog__close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.new-chat-video-task-dialog__close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.new-chat-video-task-dialog button:focus-visible,.new-chat-video-task-dialog a:focus-visible,.new-chat-video-task-dialog video:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.new-chat-video-task-dialog__body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;overscroll-behavior:contain}.new-chat-video-task-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.new-chat-video-task-steps li{min-width:0;padding:0 0 8px;border-bottom:2px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.4}.new-chat-video-task-step__label{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-step__label>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.new-chat-video-task-step__loading{width:13px;height:13px;flex:0 0 auto;animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-steps li.is-active,.new-chat-video-task-steps li.is-done,.new-chat-video-task-steps li.is-failed{color:hsl(var(--foreground))}.new-chat-video-task-steps li.is-active{border-color:hsl(var(--primary))}.new-chat-video-task-steps li.is-done{border-color:#91cab1}.new-chat-video-task-steps li.is-failed{border-color:hsl(var(--destructive))}.new-chat-video-task-error{padding:12px 14px;border:1px solid hsl(var(--destructive) / .22);border-radius:9px;background:hsl(var(--destructive) / .05);color:hsl(var(--foreground))}.new-chat-video-task-error p{margin:0}.new-chat-video-task-error p{color:hsl(var(--foreground));font-size:13px;line-height:1.55}.new-chat-video-task-prompt{min-width:0;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas))}.new-chat-video-task-prompt h3,.new-chat-video-task-prompt p{margin:0}.new-chat-video-task-prompt h3{color:hsl(var(--foreground));font-size:12px;font-weight:620}.new-chat-video-task-prompt p{max-height:144px;overflow-y:auto;margin-top:7px;color:hsl(var(--foreground) / .78);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-preview{min-height:224px;display:grid;place-items:center;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:#161618}.new-chat-video-task-preview video{width:100%;max-height:360px;display:block;object-fit:contain}.new-chat-video-task-preview.is-loading{align-content:center;gap:8px;padding:24px;background:hsl(var(--canvas));color:hsl(var(--muted-foreground));text-align:center}.new-chat-video-task-preview__loading{width:20px;height:20px;color:hsl(var(--muted-foreground));animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-preview.is-loading strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.new-chat-video-task-preview.is-loading>span:last-child{font-size:12px}.new-chat-video-task-dialog__actions{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.new-chat-video-task-dialog__actions p{min-width:0;margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-dialog__actions p.is-warning{color:hsl(var(--destructive));font-weight:500}.new-chat-video-task-dialog__actions>div{display:flex;flex:0 0 auto;gap:8px}.new-chat-video-task-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.new-chat-video-task-button:hover{background:hsl(var(--secondary))}.new-chat-video-task-button.is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.new-chat-video-task-button.is-primary:hover{background:hsl(var(--primary) / .9)}.new-chat-video-task-button svg{width:15px;height:15px}@keyframes new-chat-video-task-fade{0%{opacity:0}to{opacity:1}}@keyframes new-chat-video-task-rise{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes new-chat-video-task-spin{to{transform:rotate(360deg)}}@media (max-width: 620px){.new-chat-video-task-backdrop{padding:12px}.new-chat-video-task-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.new-chat-video-task-steps{grid-template-columns:minmax(0,1fr);gap:10px}.new-chat-video-task-dialog__actions{align-items:stretch;flex-direction:column}.new-chat-video-task-dialog__actions>div{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.new-chat-video-task-backdrop,.new-chat-video-task-dialog,.new-chat-video-task-step__loading,.new-chat-video-task-preview__loading{animation:none}}.sandbox-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid hsl(268 58% 58% / .34);background:#f4eefb;color:#5b318c;font:inherit;font-weight:600;cursor:pointer;transition:background-color .14s ease-out,border-color .14s ease-out}.sandbox-entry svg{width:15px;height:15px;flex:0 0 auto}.sandbox-entry:hover:not(:disabled){border-color:#803ecc85;background:#ece2f9}.sandbox-entry:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-entry:disabled{cursor:default;opacity:.72}.sandbox-entry--composer{min-height:30px;padding:0 13px;border-radius:999px;font-size:12px}.sandbox-entry--header{min-height:32px;padding:0 10px;border-radius:7px;font-size:12px}.sandbox-entry.is-active{border-style:dashed}.sandbox-new-chat-entry{display:flex;justify-content:center;min-height:30px}.composer-slot{width:100%;min-width:0}.sandbox-composer-wrap{position:relative;z-index:50}.sandbox-session-warning{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;width:calc(100% - 32px);max-width:736px;min-height:24px;margin:0 auto 6px;color:#c7840f;font-size:12px}.sandbox-session-warning-dot{display:none}.sandbox-session-warning-copy{grid-column:2;white-space:nowrap;text-align:center}.sandbox-session-warning button{grid-column:3;justify-self:end;padding:3px 5px;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-weight:580;cursor:pointer}.sandbox-session-warning button:hover{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.sandbox-composer-wrap .composer-box{display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(44px,auto) 36px;align-items:center;gap:2px 8px;min-height:104px;padding:10px 8px 8px;border-radius:24px}.sandbox-composer-wrap .comp-input{grid-row:1;grid-column:1 / -1;align-self:stretch;width:100%;min-height:44px;padding:8px 10px 4px}.sandbox-composer-wrap .sandbox-composer-input{grid-row:1;grid-column:1 / -1;align-self:stretch;display:flex;flex-flow:row wrap;align-content:flex-start;align-items:center;gap:6px;min-height:44px;padding:5px 10px 2px}.sandbox-composer-input>.invocation-chips{flex:0 1 auto}.sandbox-composer-input>.comp-input{flex:1 1 180px;min-width:120px;min-height:28px;padding:4px 0;line-height:20px}.sandbox-codex-composer .composer-command-menu{z-index:100;display:flex;max-height:min(420px,calc(100vh - 180px));flex-direction:column}.sandbox-codex-composer .composer-command-list{min-height:0;max-height:none}.sandbox-composer-wrap .composer-left-controls{grid-row:2;grid-column:1;justify-self:start}.composer-left-controls{display:flex;align-items:center;gap:2px;min-width:0}.sandbox-composer-control{width:32px;height:32px}.sandbox-composer-control svg{width:16px;height:16px}.sandbox-composer-control.is-locked{color:hsl(var(--muted-foreground) / .56)}.sandbox-codex-composer .composer-menu-separator{height:1px;margin:4px 6px;background:hsl(var(--border))}.turn--system{width:100%;align-items:stretch;margin-bottom:16px}.sandbox-activity-record{width:100%;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--muted-foreground))}.sandbox-activity-summary{display:grid;grid-template-columns:7px auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.45}.sandbox-activity-dot{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .68)}.sandbox-activity-label{padding-right:7px;border-right:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11px;font-weight:600}.sandbox-activity-summary strong{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-weight:560}.sandbox-activity-summary time{color:hsl(var(--muted-foreground));font-size:11px;white-space:nowrap}.sandbox-activity-details{display:grid;gap:5px;margin:8px 0 0 21px}.sandbox-activity-details>div{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px;font-size:12px;line-height:1.5}.sandbox-activity-details dt,.sandbox-activity-details dd{min-width:0;margin:0}.sandbox-activity-details dt{color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-activity-details dd{overflow-wrap:break-word;color:hsl(var(--foreground))}.sandbox-activity-details code{font:inherit;font-size:11px;line-height:1.5;white-space:pre-wrap}.sandbox-composer-wrap .comp-send{grid-row:2;grid-column:2}.main.is-sandbox-session{position:relative;isolation:isolate;background:linear-gradient(to bottom,#f4edfd,#f8f3fc,#fbf8fc 48%,hsl(var(--panel)) 76%)}.main.is-sandbox-session:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 78% 40% at 18% 0%,hsl(244 82% 84% / .24),transparent 70%),radial-gradient(ellipse 70% 36% at 52% 0%,hsl(284 70% 86% / .2),transparent 72%),radial-gradient(ellipse 64% 38% at 88% 2%,hsl(324 66% 88% / .16),transparent 72%),linear-gradient(to bottom,hsl(var(--panel) / 0),hsl(var(--panel) / .18) 42%,hsl(var(--panel)) 76%);filter:blur(24px);opacity:1;animation:sandbox-smoke-enter .42s ease-out both}.main.is-sandbox-session>*{position:relative;z-index:1}.sandbox-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-dialog{width:min(440px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-dialog-enter .18s ease-out both}.sandbox-dialog-visual{position:relative;display:grid;height:112px;place-items:center;overflow:hidden;border-bottom:1px solid hsl(var(--border));background:radial-gradient(circle at 35% 70%,hsl(256 68% 78% / .34),transparent 40%),radial-gradient(circle at 68% 30%,hsl(276 66% 72% / .28),transparent 42%),#f9f8fc}.sandbox-dialog-orbit{position:absolute;width:104px;height:44px;border:1px solid hsl(268 52% 54% / .22);border-radius:50%;transform:rotate(-12deg)}.sandbox-dialog-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid hsl(268 58% 58% / .3);border-radius:14px;background:hsl(var(--panel) / .9);color:#68389f;box-shadow:0 8px 24px #6c38a824}.sandbox-dialog-icon svg{width:23px;height:23px}.sandbox-spinner{width:21px;height:21px;border:2px solid hsl(268 48% 42% / .2);border-top-color:currentColor;border-radius:50%;animation:sandbox-spin .8s linear infinite}.sandbox-dialog-copy{padding:22px 24px 20px;text-align:center}.sandbox-dialog-copy h2{margin:0 0 8px;color:hsl(var(--foreground));font-size:17px;font-weight:650}.sandbox-dialog-copy p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.65}.sandbox-dialog-copy .sandbox-dialog-error{color:hsl(var(--destructive))}.sandbox-dialog-field{display:grid;gap:6px;margin-top:16px;text-align:left}.sandbox-dialog-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.sandbox-dialog-field-label>:last-child{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400}.sandbox-dialog-field input{width:100%;height:36px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.sandbox-dialog-field input:focus-visible{border-color:hsl(var(--primary) / .64);box-shadow:0 0 0 2px hsl(var(--primary) / .14)}.sandbox-dialog-field input:disabled{cursor:default;opacity:.66}.sandbox-dialog-persistence{display:grid;gap:3px;margin-top:12px;text-align:left}.sandbox-dialog-persistence-control{justify-self:start;color:hsl(var(--foreground));font-weight:550}.sandbox-dialog-persistence-description{margin:0 0 0 26px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.sandbox-dialog-persistence-description.is-warning{color:#9e6b1a}.sandbox-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-dialog-actions button{min-width:80px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-dialog-actions button:hover{background:hsl(var(--secondary))}.sandbox-dialog-actions button:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-dialog-actions .is-primary{border-color:#68389f;background:#68389f;color:hsl(var(--primary-foreground))}.sandbox-dialog-actions .is-primary:hover{background:#5b318c}@keyframes sandbox-spin{to{transform:rotate(360deg)}}@keyframes sandbox-dialog-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-smoke-enter{0%{opacity:0}to{opacity:1}}.sandbox-codex-composer .composer-command-head small{max-width:210px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sandbox-codex-composer .composer-command-icon--command,.sandbox-codex-composer .composer-command-icon--model{font-size:16px;font-weight:700;line-height:1}.sandbox-codex-composer .composer-command-icon--command{background:hsl(var(--accent));color:hsl(var(--foreground))}.sandbox-codex-composer .composer-command-icon--model{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-token-usage{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-right:auto}.sandbox-token-usage>span{display:inline-flex;align-items:baseline;gap:4px;padding:3px 7px;border:1px solid hsl(var(--border) / .76);border-radius:6px;background:hsl(var(--muted) / .42);color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-token-usage small{font-size:9px;font-weight:560}.sandbox-token-usage strong{color:hsl(var(--foreground) / .76);font-size:10px;font-weight:600;line-height:1.2}@media (max-width: 700px){.sandbox-entry--header span{display:none}.sandbox-entry--header{width:32px;padding:0}.sandbox-session-warning{grid-template-columns:1fr auto;width:calc(100% - 16px)}.sandbox-session-warning-copy{grid-column:1;white-space:normal;text-align:left}.sandbox-session-warning button{grid-column:2}.sandbox-activity-summary{grid-template-columns:7px auto minmax(0,1fr)}.sandbox-activity-summary time{grid-column:3}.sandbox-activity-details>div{grid-template-columns:1fr;gap:1px}}@media (prefers-reduced-motion: reduce){.sandbox-entry,.sandbox-dialog,.main.is-sandbox-session:before{animation:none;transition:none}}.sandbox-control-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sandbox-control-fade .14s ease-out}.sandbox-control-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:sandbox-control-rise .18s cubic-bezier(.2,.8,.2,1)}.sandbox-control-head{min-height:60px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 17px;border-bottom:1px solid hsl(var(--border))}.sandbox-control-head-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-head-icon svg{width:17px;height:17px}.sandbox-control-head h2,.sandbox-control-head p{margin:0}.sandbox-control-head h2{color:hsl(var(--foreground));font-size:14px;font-weight:660;line-height:1.35}.sandbox-control-head p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-control-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-control-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-dialog button:focus-visible,.sandbox-control-dialog input:focus-visible,.sandbox-control-dialog iframe:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.sandbox-control-close svg{width:16px;height:16px}.sandbox-control-body{min-height:0;overflow:auto;padding:18px}.sandbox-control-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.sandbox-control-actions button,.sandbox-control-state button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:590;text-decoration:none;cursor:pointer}.sandbox-control-actions button:hover:not(:disabled),.sandbox-control-state button:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary))}.sandbox-control-actions button.is-primary,.sandbox-control-state button{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sandbox-control-actions button:disabled{cursor:default;opacity:.5}.sandbox-control-actions svg{width:13px;height:13px}.sandbox-choice-group{margin:0 0 18px;padding:0;border:0}.sandbox-settings-dialog{width:min(720px,calc(100vw - 40px))}.sandbox-choice-group legend{margin-bottom:8px;color:hsl(var(--foreground));font-size:12px;font-weight:650}.sandbox-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sandbox-choice-list button{min-width:0;min-height:72px;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-choice-list button:hover:not(:disabled),.sandbox-choice-list button.is-active{border-color:hsl(var(--primary) / .42);background:hsl(var(--accent))}.sandbox-choice-list button.is-danger:hover:not(:disabled),.sandbox-choice-list button.is-danger.is-active{border-color:hsl(var(--destructive) / .38);background:hsl(var(--destructive) / .06)}.sandbox-choice-list button>i{width:12px;height:12px;flex:0 0 auto;margin-top:2px;border:1px solid hsl(var(--border));border-radius:50%}.sandbox-choice-list button.is-active>i{border:3px solid hsl(var(--primary));background:hsl(var(--background))}.sandbox-choice-list button>span{min-width:0;display:grid;gap:5px}.sandbox-choice-list strong{color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-choice-list small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.sandbox-network-toggle{min-height:54px;display:flex;align-items:center;gap:12px;margin-top:2px;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .24)}.sandbox-network-toggle>span{min-width:0;flex:1;display:grid;gap:3px}.sandbox-network-toggle strong{font-size:11px}.sandbox-network-toggle small{color:hsl(var(--muted-foreground));font-size:11px}.sandbox-network-toggle input{width:16px;height:16px;accent-color:hsl(var(--primary))}.sandbox-network-toggle.is-disabled{opacity:.62}.sandbox-control-note,.sandbox-control-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(42 70% 52% / .25);border-radius:8px;background:#fcf8ed;color:#916622;font-size:12px;line-height:1.55}.sandbox-control-note.is-danger,.sandbox-control-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.sandbox-workspace-dialog{width:min(600px,calc(100vw - 40px))}.sandbox-workspace-input{display:grid;gap:7px;color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-workspace-input>div{display:flex;gap:7px}.sandbox-workspace-input input{min-width:0;height:36px;flex:1;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.sandbox-workspace-input input:focus{border-color:hsl(var(--primary) / .55);box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.sandbox-workspace-input button{width:64px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .35);color:hsl(var(--foreground));font:inherit;font-size:11px;cursor:pointer}.sandbox-directory-browser{height:268px;margin-top:14px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .14)}.sandbox-directory-head{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;font-size:10px}.sandbox-directory-head span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-head svg{width:13px}.sandbox-directory-list{height:calc(100% - 36px);overflow:auto;padding:5px}.sandbox-directory-list button{width:100%;min-height:34px;display:grid;grid-template-columns:18px minmax(0,auto) minmax(0,1fr) 16px;align-items:center;gap:7px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11px;text-align:left;cursor:pointer}.sandbox-directory-list button:hover{background:hsl(var(--foreground) / .05)}.sandbox-directory-list button>svg:first-child{width:15px;color:hsl(var(--foreground))}.sandbox-directory-list button>svg:last-child{width:13px;color:hsl(var(--muted-foreground))}.sandbox-directory-list button small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-empty{display:grid;min-height:120px;place-items:center;color:hsl(var(--muted-foreground));font-size:11px}.sandbox-tool-dialog{width:min(1120px,calc(100vw - 44px));height:min(760px,calc(100vh - 48px));max-height:none}.sandbox-tool-toolbar{min-height:42px;display:flex;align-items:center;gap:12px;padding:5px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .2)}.sandbox-tool-toolbar>span{display:inline-flex;align-items:center;gap:7px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.sandbox-tool-toolbar>span i{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .5)}.sandbox-tool-toolbar>span i.is-ready{background:#2ab262}.sandbox-tool-toolbar>span i.is-loading{background:#e9ab1c}.sandbox-tool-surface{flex:1;min-height:0;display:grid;overflow:hidden;background:hsl(var(--secondary) / .2)}.sandbox-tool-dialog--terminal .sandbox-tool-surface{background:#15171e}.sandbox-tool-surface iframe{width:100%;height:100%;border:0;background:hsl(var(--background))}.sandbox-control-state{display:grid;place-items:center;align-content:center;gap:8px;padding:28px;color:hsl(var(--muted-foreground));text-align:center}.sandbox-control-state>svg{width:22px;height:22px;color:hsl(var(--foreground))}.sandbox-control-state strong{color:hsl(var(--foreground));font-size:13px}.sandbox-control-state span{max-width:420px;font-size:11px;line-height:1.55}.sandbox-approval-dialog{width:min(560px,calc(100vw - 40px))}.sandbox-approval-reason{margin-bottom:11px;color:hsl(var(--foreground));font-size:12px;line-height:1.55}.sandbox-approval-dialog pre{max-height:240px;margin:0 0 10px;overflow:auto;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:#181a21;color:#e0e6eb;font:inherit;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.sandbox-approval-meta{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-approval-meta code{color:hsl(var(--foreground));font:inherit;font-size:10px}.sandbox-approval-actions{flex-wrap:wrap}.sandbox-threads-dialog{width:min(620px,calc(100vw - 40px))}.sandbox-thread-list{display:grid;max-height:min(520px,64vh);overflow-y:auto;padding:7px}.sandbox-thread-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:62px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-thread-list>button:hover{background:hsl(var(--accent))}.sandbox-thread-list>button.is-active{background:hsl(var(--muted) / .7);cursor:default}.sandbox-thread-list>button>span{display:grid;min-width:0;gap:4px}.sandbox-thread-list strong,.sandbox-thread-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-thread-list strong{font-size:12px;font-weight:620}.sandbox-thread-list small,.sandbox-thread-list time{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-thread-list svg{width:14px;height:14px;color:hsl(var(--muted-foreground))}@keyframes sandbox-control-fade{0%{opacity:0}to{opacity:1}}@keyframes sandbox-control-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.sandbox-control-backdrop{padding:10px}.sandbox-control-dialog{width:100%;max-height:calc(100vh - 20px)}.sandbox-tool-dialog{height:calc(100vh - 20px)}.sandbox-choice-list,.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:1fr}.sandbox-choice-list button{min-height:58px}.sandbox-control-head p{display:none}.sandbox-control-actions>button{flex:1}}@media (prefers-reduced-motion: reduce){.sandbox-control-backdrop,.sandbox-control-dialog{animation:none}}.sandbox-agent-details{display:grid;align-content:start;gap:20px;width:min(920px,100%);height:100%;min-height:0;margin:0 auto;padding:28px 32px;overflow:auto}.sandbox-agent-details-header{display:grid;gap:20px}.sandbox-agent-back{display:inline-flex;width:fit-content;height:32px;align-items:center;gap:6px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;font-weight:550;cursor:pointer}.sandbox-agent-back:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.sandbox-agent-back:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-back svg{width:16px;height:16px;flex:0 0 auto}.sandbox-agent-details-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650}.sandbox-agent-details-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px}.sandbox-agent-detail-error{padding:10px 12px;border:1px solid hsl(var(--destructive) / .3);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px}.sandbox-agent-detail-panel{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.sandbox-agent-detail-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 24px}.sandbox-agent-detail-panel dl>div{min-width:0;padding:16px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:nth-last-child(-n+2){border-bottom:0}.sandbox-agent-detail-panel dl>div:nth-child(odd){padding-right:24px}.sandbox-agent-detail-panel dl>div:nth-child(2n){padding-left:24px}.sandbox-agent-detail-panel dl>.is-wide{grid-column:1 / -1;padding-right:0}.sandbox-agent-detail-panel dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-detail-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:520}.sandbox-agent-detail-panel footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .25)}.sandbox-agent-detail-panel footer button{height:34px;padding:0 14px;border-radius:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-agent-delete{border:1px solid hsl(var(--destructive) / .34);background:hsl(var(--panel));color:hsl(var(--destructive))}.sandbox-agent-open{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-agent-detail-panel footer button:disabled{cursor:default;opacity:.58}@media (max-width: 720px){.sandbox-agent-details{padding:20px 16px}.sandbox-agent-detail-panel dl{grid-template-columns:1fr;padding:8px 16px}.sandbox-agent-detail-panel dl>div,.sandbox-agent-detail-panel dl>div:nth-child(odd),.sandbox-agent-detail-panel dl>div:nth-child(2n){padding:14px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:last-child{border-bottom:0}}@layer components{._SegmentedControl_1sl7d_1{--segmented-control-option-radius: calc( var(--segmented-control-radius) - var(--segmented-control-gutter) );position:relative;overflow:auto;display:inline-flex;flex-wrap:nowrap;gap:var(--segmented-control-gap);height:var(--segmented-control-size);padding:var(--segmented-control-gutter);border-radius:var(--segmented-control-radius);background:var(--segmented-control-background);font-size:var(--segmented-control-font-size);font-weight:var(--segmented-control-font-weight);-ms-overflow-style:none;scrollbar-width:none;vertical-align:middle;white-space:nowrap}._SegmentedControl_1sl7d_1::-webkit-scrollbar{width:0;height:0}._SegmentedControl_1sl7d_1::-webkit-scrollbar-track,._SegmentedControl_1sl7d_1::-webkit-scrollbar-thumb{background:transparent}._SegmentedControl_1sl7d_1:where([data-block]){overflow:hidden;display:flex;width:100%;white-space:wrap}._SegmentedControl_1sl7d_1:where([data-size="3xs"]){--segmented-control-size: var(--control-size-3xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size="2xs"]){--segmented-control-size: var(--control-size-2xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=xs]){--segmented-control-size: var(--control-size-xs);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=sm]){--segmented-control-size: var(--control-size-sm);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-size=md]){--segmented-control-size: var(--control-size-md);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=lg]){--segmented-control-size: var(--control-size-lg);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=xl]){--segmented-control-size: var(--control-size-xl);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-lg);--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-size="2xl"]){--segmented-control-size: var(--control-size-2xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-size="3xl"]){--segmented-control-size: var(--control-size-3xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-gutter-size="2xs"]){--segmented-control-option-gutter: var(--control-gutter-2xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xs]){--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=sm]){--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-gutter-size=md]){--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-gutter-size=lg]){--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xl]){--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-pill]){--segmented-control-radius: var(--radius-full);--segmented-control-option-radius: var(--radius-full)}._SegmentedControlOption_1sl7d_140{position:relative;padding:0 var(--segmented-control-option-gutter);border-radius:var(--segmented-control-option-radius);color:var(--color-text-secondary);cursor:pointer;line-height:1;transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,color;transition-timing-function:var(--transition-ease-basic)}._SegmentedControlOption_1sl7d_140:focus{outline:0}:where(._SegmentedControl_1sl7d_1[data-block]) ._SegmentedControlOption_1sl7d_140{flex:1}:where(._SegmentedControl_1sl7d_1[data-pill]) ._SegmentedControlOption_1sl7d_140{padding:0 calc(var(--segmented-control-option-gutter) * var(--control-gutter-pill-scaling))}._SegmentedControlOption_1sl7d_140[data-state=on]:focus-visible{outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140:before{position:absolute;inset:var(--segmented-control-option-highlight-gutter);border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-option-highlight-background-color);content:"";opacity:0;pointer-events:none;transform:scale(1);transition-duration:var(--transition-duration-basic);transition-property:opacity,transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SegmentedControlOption_1sl7d_140:active:before{transform:scale(var(--scale),.97)}._SegmentedControlOption_1sl7d_140 svg{display:block}@media (hover: hover) and (pointer: fine){._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover:before{opacity:.5}}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):focus-visible{color:var(--color-text);outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):active:before{opacity:.75}._SegmentedControlOption_1sl7d_140[data-state=on]{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-disabled]{cursor:not-allowed;opacity:.5}._SegmentedControlOption_1sl7d_140[data-disabled]:before{opacity:0!important}._SegmentedControlThumb_1sl7d_219{position:absolute;top:var(--segmented-control-gutter);bottom:var(--segmented-control-gutter);left:0;border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-thumb-background);box-shadow:var(--segmented-control-thumb-shadow);pointer-events:none;will-change:transform}}.sandbox-agent-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;background:hsl(var(--canvas))}.sandbox-agent-workspace>header{display:flex;min-width:0;min-height:62px;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.sandbox-agent-workspace-title{display:flex;min-width:0;align-items:center;gap:10px}.sandbox-agent-workspace-title>button{display:inline-grid;width:24px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-agent-workspace-title>button:hover{color:hsl(var(--foreground))}.sandbox-agent-workspace-title svg{width:17px;height:17px}.sandbox-agent-workspace-title>div{min-width:0}.sandbox-agent-workspace-title h1{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.sandbox-agent-workspace-title p{display:flex;align-items:center;gap:7px;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-workspace-status{display:inline-flex;min-height:18px;align-items:center;padding:0 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:550;line-height:1}.sandbox-agent-workspace-status[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.sandbox-agent-workspace-tabs{width:200px;flex:0 0 auto}.sandbox-agent-workspace button:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-workspace-surface{min-width:0;min-height:0;overflow:hidden}.sandbox-agent-workspace-surface iframe{display:block;width:100%;height:100%;border:0;background:hsl(var(--panel))}.sandbox-agent-workspace-state{display:grid;height:100%;place-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.sandbox-agent-workspace-state p{margin:0}.sandbox-agent-workspace-state.is-error{color:hsl(var(--destructive))}.sandbox-agent-workspace-state button{justify-self:center;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}@media (max-width: 720px){.sandbox-agent-workspace>header{align-items:stretch;flex-direction:column}.sandbox-agent-workspace-tabs{width:100%}}.auth-expired-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .22);backdrop-filter:blur(5px) saturate(.88);-webkit-backdrop-filter:blur(5px) saturate(.88)}.auth-expired-dialog{position:relative;width:min(400px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 28px 80px hsl(var(--foreground) / .2),0 2px 8px hsl(var(--foreground) / .06);animation:auth-expired-enter .18s cubic-bezier(.22,1,.36,1) both}.auth-expired-mark{display:grid;width:32px;height:32px;margin:32px auto 0;place-items:center;color:hsl(var(--foreground))}.auth-expired-mark svg{width:21px;height:21px;stroke-width:1.8}.auth-expired-copy{padding:22px 32px 28px;text-align:center}.auth-expired-copy h2{margin:0;color:hsl(var(--foreground));font-size:19px;font-weight:650;letter-spacing:-.01em}.auth-expired-copy>p:last-child{margin:11px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.7}.auth-expired-copy .auth-expired-error{margin-top:10px;color:hsl(var(--destructive))}.auth-expired-actions{padding:0 16px 16px}.auth-expired-actions button{width:100%;height:38px;border:1px solid hsl(var(--foreground));border-radius:9px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.auth-expired-actions button:hover{opacity:.88}.auth-expired-actions button:active{transform:translateY(1px)}.auth-expired-actions button:focus-visible{outline:3px solid hsl(var(--ring) / .28);outline-offset:2px}.auth-expired-actions button:disabled{cursor:wait;opacity:.58}@keyframes auth-expired-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-expired-dialog{animation:none}}.issue-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:issue-feedback-fade-in .14s ease-out}.issue-feedback-dialog{width:min(480px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:issue-feedback-rise-in .18s cubic-bezier(.2,.8,.2,1)}.issue-feedback-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid hsl(var(--border))}.issue-feedback-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.issue-feedback-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.issue-feedback-close svg,.issue-feedback-success-mark svg{width:16px;height:16px}.issue-feedback-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.issue-feedback-body,.issue-feedback-success{min-height:0;overflow-y:auto;padding:20px}.issue-feedback-intro{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-privacy{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.issue-feedback-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.issue-feedback-chip{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.issue-feedback-chip:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-chip[aria-pressed=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.issue-feedback-field{display:grid;gap:8px;color:hsl(var(--foreground));font-size:13px;font-weight:550}.issue-feedback-field textarea{width:100%;min-height:112px;resize:vertical;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400;line-height:1.55}.issue-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.issue-feedback-error{margin:12px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.issue-feedback-success{min-height:220px;display:grid;grid-template-columns:36px 1fr;gap:12px;align-content:center;align-items:center;animation:issue-feedback-success-in .18s ease-out}.issue-feedback-success-mark{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#24a8541a;color:#238b49;animation:issue-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.issue-feedback-success-mark:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:12px;content:"";opacity:0;animation:issue-feedback-success-ring .44s ease-out}.issue-feedback-success-mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:issue-feedback-check-draw .28s .1s ease-out forwards}.issue-feedback-success h3{margin:0 0 4px;font-size:15px;font-weight:600}.issue-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.issue-feedback-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.issue-feedback-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.issue-feedback-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.issue-feedback-close:focus-visible,.issue-feedback-chip:focus-visible,.issue-feedback-field textarea:focus-visible,.issue-feedback-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.issue-feedback-dialog button:disabled,.issue-feedback-dialog textarea:disabled{cursor:not-allowed;opacity:.55}@keyframes issue-feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes issue-feedback-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes issue-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes issue-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes issue-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes issue-feedback-check-draw{to{stroke-dashoffset:0}}@media (max-width: 560px){.issue-feedback-backdrop{padding:16px}.issue-feedback-dialog{max-height:calc(100vh - 32px)}}@media (prefers-reduced-motion: reduce){.issue-feedback-backdrop,.issue-feedback-dialog,.issue-feedback-success,.issue-feedback-success-mark,.issue-feedback-success-mark:after,.issue-feedback-success-mark path{animation:none}.issue-feedback-success-mark path{stroke-dashoffset:0}}.share-message-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:share-message-fade-in .14s ease-out}.share-message-dialog{width:min(720px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:share-message-rise-in .18s cubic-bezier(.2,.8,.2,1)}.share-message-export{position:fixed;top:0;left:-100000px;width:816px;box-sizing:border-box;padding:24px;overflow:visible;background:hsl(var(--background));color:hsl(var(--foreground));pointer-events:none}.share-message-export>.turn{width:100%;max-width:100%;margin-right:0;margin-left:0;opacity:1!important;transform:none!important;animation:none!important}.share-message-export>.turn:not(:last-of-type){margin-bottom:24px}.share-message-export>.turn:last-of-type{margin-bottom:0}.share-message-export-note{margin:24px 0 0;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.5;text-align:center}.share-message-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 20px;border-bottom:1px solid hsl(var(--border));flex:0 0 auto}.share-message-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.share-message-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.share-message-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.share-message-close svg{width:16px;height:16px}.share-message-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.share-message-body{min-height:260px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px;background:hsl(var(--canvas))}.share-message-generating,.share-message-failure{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px}.share-message-failure p,.share-message-error{margin:0;color:hsl(var(--destructive));font-size:12.5px;line-height:1.55;text-align:center}.share-message-failure button{height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-preview{width:min(100%,816px);margin:0 auto;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.share-message-preview img{display:block;width:100%;height:auto}.share-message-error{margin-top:12px}.share-message-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border));flex:0 0 auto}.share-message-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-actions button:hover:not(:disabled),.share-message-failure button:hover{background:hsl(var(--secondary))}.share-message-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.share-message-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.share-message-actions button:disabled{cursor:not-allowed;opacity:.5}.share-message-close:focus-visible,.share-message-failure button:focus-visible,.share-message-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}@keyframes share-message-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-message-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 560px){.share-message-backdrop{padding:16px}.share-message-dialog{max-height:calc(100vh - 32px)}.share-message-head p{display:none}.share-message-actions{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.share-message-backdrop,.share-message-dialog{animation:none}}@layer components{._Popover_1wdpp_3{overflow:auto;width:var(--popover-width, auto);min-width:var(--popover-min-width, 300px);max-width:min(var(--popover-max-width, 700px),var(--radix-popover-content-available-width));max-height:var(--radix-popover-content-available-height);border-radius:var(--popover-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);-webkit-overflow-scrolling:touch;transform-origin:var(--radix-popover-content-transform-origin);will-change:transform}._Popover_1wdpp_3:focus{outline:none}._Popover_1wdpp_3[data-translucent]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(360deg,#f7f7f87f,#f7f7f8)}:where([data-theme=dark]) ._Popover_1wdpp_3[data-translucent]{background:linear-gradient(360deg,#56586940,#5658697d)}._Popover_1wdpp_3[data-animate=shake]{animation:_shake_1wdpp_1 .4s ease}._Transition_1wdpp_1[data-entering] ._Popover_1wdpp_3{opacity:0;transform:scale(.95)}._Transition_1wdpp_1[data-entering-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-entering][data-interrupted] ._Popover_1wdpp_3{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Transition_1wdpp_1[data-exiting] ._Popover_1wdpp_3{opacity:1;transform:scale(1)}._Transition_1wdpp_1[data-exiting-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-exiting][data-interrupted] ._Popover_1wdpp_3{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}@keyframes _shake_1wdpp_1{0%{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}to{transform:translate(0)}}}@layer components{._Container_13560_1{--textarea-line-height: 20px;--textarea-font-weight: var(--font-weight-normal);--textarea-color: var(--color-text);--textarea-gutter-y: calc(.5 * calc(var(--textarea-base-height) - var(--textarea-line-height)));--textarea-min-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-min-rows)) );--textarea-max-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-max-rows)) )}._Container_13560_1:where([data-size="3xs"]){--textarea-base-height: var(--control-size-3xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size="2xs"]){--textarea-base-height: var(--control-size-2xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=xs]){--textarea-base-height: var(--control-size-xs);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=sm]){--textarea-base-height: var(--control-size-sm);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-size=md]){--textarea-base-height: var(--control-size-md);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=lg]){--textarea-base-height: var(--control-size-lg);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=xl]){--textarea-base-height: var(--control-size-xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-lg);--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-size="2xl"]){--textarea-base-height: var(--control-size-2xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-size="3xl"]){--textarea-base-height: var(--control-size-3xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-gutter-size="2xs"]){--textarea-gutter-x: var(--control-gutter-2xs)}._Container_13560_1:where([data-gutter-size=xs]){--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-gutter-size=sm]){--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-gutter-size=md]){--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-gutter-size=lg]){--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-gutter-size=xl]){--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1{position:relative;overflow:hidden;display:flex;width:100%;border-radius:var(--textarea-radius);color:var(--textarea-color);cursor:text;font-size:var(--textarea-font-size);font-weight:var(--textarea-font-weight);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_13560_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_13560_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_13560_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_13560_1[data-disabled]{cursor:not-allowed;opacity:.5}._Textarea_13560_174{display:block;width:100%;max-width:100%;min-height:var(--textarea-min-height);max-height:var(--textarea-max-height);padding:var(--textarea-gutter-y) var(--textarea-gutter-x);border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;box-shadow:none;color:inherit;filter:none;font-size:inherit;font-weight:inherit;line-height:var(--textarea-line-height);resize:none}._Textarea_13560_174:focus{outline:0}._Textarea_13560_174:disabled{cursor:not-allowed}._Textarea_13560_174::-moz-placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174::placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174:-webkit-autofill{animation:_native-autofill-in_13560_1 1ms}._Textarea_13560_174:-webkit-autofill,._Textarea_13560_174:-webkit-autofill:focus,._Textarea_13560_174:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill-and-obscured,._Textarea_13560_174:-webkit-autofill-strong-password,._Textarea_13560_174:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill:first-line{font-size:16px!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Textarea_13560_174::-webkit-resizer{visibility:hidden}@keyframes _native-autofill-in_13560_1{0%{opacity:1}to{opacity:1}}}.response-annotation-anchor{position:fixed;z-index:80;width:1px;pointer-events:none}.response-annotation-popover{--response-annotation-surface: 48 100% 97%;--response-annotation-excerpt: 47 86% 93%;--response-annotation-border: 43 72% 82%;width:min(360px,calc(100vw - 24px));border:1px solid hsl(var(--response-annotation-border));border-radius:12px;background:hsl(var(--response-annotation-surface))}.response-annotation-form{display:grid;gap:12px;padding:12px}.response-annotation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.response-annotation-header h2{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600}.response-annotation-form blockquote{max-height:82px;margin:0;padding:8px 10px;overflow:auto;border-left:2px solid hsl(var(--response-annotation-border));border-radius:0 7px 7px 0;background:hsl(var(--response-annotation-excerpt));color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap}.response-annotation-field{display:grid;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.response-annotation-field textarea{min-height:78px;background:hsl(var(--background));font-family:inherit;font-size:13px;font-weight:400;line-height:1.55}.response-annotation-error{margin:-4px 0 0;font-size:11.5px;line-height:1.45}.response-annotation-error{color:hsl(var(--destructive))}.response-annotation-actions{display:flex;justify-content:flex-end;gap:8px}.response-annotation-action{font-size:12px}.response-annotation-success{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.response-annotation-success strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.response-annotation-success p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}:where([data-theme=dark]) .response-annotation-popover{--response-annotation-surface: 43 22% 14%;--response-annotation-excerpt: 43 25% 18%;--response-annotation-border: 42 32% 30%}@media (prefers-reduced-motion: reduce){.response-annotation-popover{transition:none}}.platform-feedback-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.platform-feedback-header{flex:0 0 auto}.platform-feedback-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.platform-feedback-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.platform-feedback-scroll{min-height:0;overflow-y:auto;padding:24px 0 40px}.platform-feedback-form,.platform-feedback-success{width:min(720px,100%)}.platform-feedback-form{display:grid;gap:24px}.platform-feedback-section{display:grid;gap:12px}.platform-feedback-section-heading{display:flex;align-items:center;gap:8px}.platform-feedback-section h2,.platform-feedback-field>span{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600;line-height:1.45}.platform-feedback-section-heading>span,.platform-feedback-suggestions>span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.platform-feedback-pills{display:flex;flex-wrap:wrap;gap:8px}.platform-feedback-pills button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;transition:background .14s ease,border-color .14s ease}.platform-feedback-pills button:hover:not(:disabled){background:hsl(var(--secondary))}.platform-feedback-pills button[aria-pressed=true]{border-color:hsl(var(--primary) / .42);background:hsl(var(--primary) / .08)}.platform-feedback-field{display:grid;gap:8px}.platform-feedback-field textarea{width:100%;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:1.55}.platform-feedback-field textarea{min-height:132px;resize:vertical}.platform-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.platform-feedback-suggestions{display:grid;gap:8px}.platform-feedback-privacy{margin:0;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.platform-feedback-error{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.platform-feedback-actions{display:flex;justify-content:flex-end}.platform-feedback-actions button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:1px solid hsl(var(--primary));border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.platform-feedback-actions button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.platform-feedback-success{min-height:280px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-content:center;align-items:center;animation:platform-feedback-success-in .18s ease-out}.platform-feedback-success-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#24a8541a;color:#238b49;animation:platform-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.platform-feedback-success-icon:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:13px;content:"";opacity:0;animation:platform-feedback-success-ring .44s ease-out}.platform-feedback-success-icon svg{width:16px;height:16px}.platform-feedback-success-icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:platform-feedback-check-draw .28s .1s ease-out forwards}.platform-feedback-success h2{margin:0 0 4px;font-size:15px;font-weight:600}.platform-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.platform-feedback-pills button:focus-visible,.platform-feedback-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:2px}.platform-feedback-field textarea:focus-visible{border-color:hsl(var(--ring) / .58);outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .3)}.platform-feedback-page button:disabled,.platform-feedback-page textarea:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 720px){.platform-feedback-page{padding:24px 20px 0}}@media (max-width: 560px){.platform-feedback-page{padding-inline:16px}}@keyframes platform-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes platform-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes platform-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes platform-feedback-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.platform-feedback-pills button,.platform-feedback-success,.platform-feedback-success-icon,.platform-feedback-success-icon:after,.platform-feedback-success-icon path{transition:none;animation:none}.platform-feedback-success-icon path{stroke-dashoffset:0}}.PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:#00000080;color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:#0000004d;box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0} -======== -*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.builtin-tool-head{--builtin-tool-accent: 215 18% 42%;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:3px 7px 3px 3px;border:0;border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;cursor:pointer;transition:color .12s ease}.builtin-tool-head[data-tool-tone=search]{--builtin-tool-accent: 211 62% 42%}.builtin-tool-head[data-tool-tone=image]{--builtin-tool-accent: 28 67% 42%}.builtin-tool-head[data-tool-tone=video]{--builtin-tool-accent: 260 38% 48%}.builtin-tool-head[data-tool-tone=presentation]{--builtin-tool-accent: 252 38% 52%}.builtin-tool-head[data-tool-tone=memory]{--builtin-tool-accent: 174 52% 34%}.builtin-tool-head[data-tool-tone=knowledge]{--builtin-tool-accent: 225 48% 45%}.builtin-tool-head[data-tool-tone=skill]{--builtin-tool-accent: 154 50% 34%}.builtin-tool-head[data-tool-tone=sandbox]{--builtin-tool-accent: 32 67% 42%}.builtin-tool-head:hover{color:hsl(var(--foreground))}.builtin-tool-icon{position:relative;width:20px;height:26px;flex:0 0 20px;display:grid;place-items:center;color:hsl(var(--builtin-tool-accent))}.builtin-tool-icon>svg{width:18px;height:18px}.builtin-tool-label{font-size:14.5px;font-weight:400;line-height:1.35}.builtin-tool-head.is-done .builtin-tool-label{color:hsl(var(--muted-foreground))}.builtin-tool-chevron{width:13px;height:13px;flex:0 0 13px;opacity:.58;transition:transform .18s ease}.builtin-tool-chevron.is-open{transform:rotate(90deg)}.skill-conversation{min-height:220px;margin:0 0 16px;padding:8px 0 18px}.skill-conversation .bubble{font-size:13px;line-height:1.65}.skill-conversation .think-head,.skill-conversation .tool-head,.skill-conversation .builtin-tool-head{display:grid;grid-template-columns:20px minmax(0,1fr) 13px;align-items:center;gap:8px;width:100%;min-height:38px;padding:4px 0;text-align:left}.skill-conversation .think-label,.skill-conversation .tool-name,.skill-conversation .builtin-tool-label{min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere;text-align:left}.skill-conversation .think-icon,.skill-conversation .tool-icon,.skill-conversation .builtin-tool-icon{width:20px;height:26px}.skill-conversation .chev,.skill-conversation .tool-chevron,.skill-conversation .builtin-tool-chevron{justify-self:end}.skill-generation{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:hsl(var(--background));color:hsl(var(--foreground))}.skillcenter{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.skillcenter-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.skillcenter-page-heading{min-width:0}.skillcenter-page-heading--back{display:flex;align-items:center;gap:8px}.skillcenter-page-heading--back>div{min-width:0}.skillcenter-page-heading h1{max-width:min(620px,55vw);margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.skillcenter-page-heading p{display:-webkit-box;max-width:680px;margin:6px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skillcenter-back{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-back svg{width:18px;height:18px}.skillcenter-search{width:min(320px,38vw);height:36px;flex:0 0 auto;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.skillcenter-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.skillcenter-search svg{width:16px;height:16px;flex:0 0 16px}.skillcenter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.skillcenter-search input::placeholder{color:hsl(var(--muted-foreground))}.skillcenter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.skillcenter-toolbar-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.my-agent-type-bar.skillcenter-list-toolbar{justify-content:flex-end}.skillcenter-detail-facts{min-width:0;display:flex;align-items:center;gap:24px}.skillcenter-detail-facts>div{min-width:72px;display:grid;gap:3px}.skillcenter-detail-facts span{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.2}.skillcenter-detail-facts strong{max-width:220px;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-primary-action,.skillcenter-secondary-action{min-width:max-content;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.skillcenter-primary-action{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.skillcenter-primary-action:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.skillcenter-secondary-action:hover{background:hsl(var(--secondary))}.skillcenter-secondary-action.is-danger{color:hsl(var(--destructive))}.skillcenter-secondary-action.is-danger:hover:not(:disabled){border-color:hsl(var(--destructive) / .24);background:hsl(var(--destructive) / .06)}.skillcenter-secondary-action:disabled{cursor:not-allowed;opacity:.48}.skillcenter-primary-action:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.skillcenter-primary-action svg{width:15px;height:15px}.skillcenter-disabled-action{position:relative;display:inline-flex;border-radius:8px}.skillcenter-disabled-action.is-disabled{cursor:not-allowed}.skillcenter-disabled-action.is-disabled>button{cursor:inherit}.skillcenter-disabled-tooltip{position:absolute;z-index:30;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.skillcenter-disabled-action.is-top .skillcenter-disabled-tooltip{bottom:calc(100% + 8px);transform:translate(-50%,3px)}.skillcenter-disabled-action.is-bottom .skillcenter-disabled-tooltip{top:calc(100% + 8px);transform:translate(-50%,-3px)}.skillcenter-disabled-action.is-inside .skillcenter-disabled-tooltip{top:50%;transform:translate(-50%,calc(-50% + 3px))}.skillcenter-disabled-action.is-disabled:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled:focus-visible .skillcenter-disabled-tooltip{opacity:1}.skillcenter-disabled-action.is-disabled.is-top:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-top:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-bottom:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-bottom:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-inside:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-inside:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%,-50%)}.skillcenter-disabled-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.skillcenter-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.skillcenter-space-card{position:relative}.my-agent-card.skillcenter-space-card{overflow:visible}.my-agent-card.skillcenter-space-card:hover{transform:none}.skillcenter-back:focus-visible,.skillcenter-primary-action:focus-visible,.skillcenter-secondary-action:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.my-agent-actions.skillcenter-card-actions{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr)) 28px}.skillcenter-card-actions .skillcenter-card-more{width:28px;min-height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-card-more:hover,.skillcenter-card-more[aria-expanded=true]{background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.skillcenter-card-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:1px}.skillcenter-card-menu{position:relative;z-index:30}.skillcenter-card-more svg{width:16px;height:16px}.skillcenter-card-menu__popover{position:absolute;z-index:20;right:0;bottom:calc(100% + 6px);width:132px;box-sizing:border-box;padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .14)}.skillcenter-card-menu__popover button{width:100%;min-height:32px;display:flex;align-items:center;padding:0 9px;border:0;border-radius:5px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.skillcenter-card-menu__popover button:hover,.skillcenter-card-menu__popover button:focus-visible{outline:0;background:hsl(var(--secondary))}.skillcenter-card-menu__popover button.is-danger{color:hsl(var(--destructive))}.skillcenter-card-menu__popover button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.skillcenter-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.skillcenter-table th{height:42px;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:11px;font-weight:560;text-align:left}.skillcenter-table th:first-child{width:auto}.skillcenter-table th:nth-child(2){width:104px}.skillcenter-table th:nth-child(3){width:180px}.skillcenter-table td{height:72px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.skillcenter-table tbody tr:last-child td{border-bottom:0}.skillcenter-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.skillcenter-table__skill button{width:100%;display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.skillcenter-table__title-row{min-width:0;display:flex;align-items:center;gap:7px}.skillcenter-table__skill strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__skill .skillcenter-table__version-badge{flex:0 0 auto;padding:2px 6px;overflow:visible;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .6);color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.2}.skillcenter-table__skill .skillcenter-table__description{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__actions-heading{text-align:right!important}.skillcenter-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.skillcenter-table__actions button,.skill-detail-actions button{min-height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skillcenter-table__actions button:hover:not(:disabled),.skill-detail-actions button:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-table__actions button:disabled,.skill-detail-actions button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table__actions button.is-danger{color:hsl(var(--destructive))}.skillcenter-inline-error{margin-top:16px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors.is-full-page{min-height:260px;align-items:center;justify-content:center;margin:0;border:0;background:transparent}.skillcenter-space-errors__content{min-width:0;width:min(680px,100%);display:grid;gap:10px}.skillcenter-space-errors__content>strong{font-size:13px;font-weight:600}.skillcenter-space-errors__content>section{min-width:0;display:grid;gap:4px}.skillcenter-space-errors__content>section>span{color:hsl(var(--foreground));font-size:11.5px;font-weight:600}.skillcenter-space-errors .skill-error-details{min-width:0;width:100%;color:inherit}.skillcenter-space-errors .skill-error-details__summary,.skillcenter-space-errors .skill-error-details__original{text-align:left}.skillcenter-space-errors .skill-error-details summary{margin-left:0}.skillcenter-space-errors>button{min-height:30px;flex:0 0 auto;padding:0 10px;border:1px solid hsl(var(--destructive) / .22);border-radius:7px;background:hsl(var(--panel));color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px}.skillcenter-page-state{min-height:300px;display:grid;place-items:center}.skillcenter-page-state.is-error{color:hsl(var(--destructive))}.skill-error-details{width:min(620px,100%);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:left}.skill-error-details__summary{text-align:center}.skill-error-details__original{margin-top:7px;color:hsl(var(--destructive));overflow-wrap:anywhere;text-align:center}.skill-error-details details{margin-top:9px}.skill-error-details summary{width:max-content;margin:0 auto;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.skill-error-details pre{max-height:220px;margin:8px 0 0;padding:10px 12px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .45);color:hsl(var(--foreground));font:inherit;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.skill-inline-error .skill-error-details,.skill-generation__action-error .skill-error-details{width:100%;color:inherit}.skill-inline-error .skill-error-details__summary,.skill-inline-error .skill-error-details__original,.skill-generation__action-error .skill-error-details__summary,.skill-generation__action-error .skill-error-details__original{text-align:left}.skill-inline-error .skill-error-details summary,.skill-generation__action-error .skill-error-details summary{margin-left:0}.skillcenter-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:hsl(var(--muted-foreground));font-size:12.5px}.skillcenter .skillcenter-pager{height:44px;margin-top:20px;padding:0;border-top:0}.skillcenter .skillcenter-pager-actions{padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel))}.skillcenter .skillcenter-pager button{width:28px;height:28px}.skill-detail-heading{flex:1 1 auto;overflow:hidden}.skill-detail-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.skill-detail-actions button{flex:0 0 auto;white-space:nowrap}.skill-detail-content--files{min-height:0}.skill-detail-content--files .skill-file-browser{min-height:420px;height:min(58vh,620px);border-top:1px solid hsl(var(--border))}.skill-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .28)}.skill-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(680px,calc(100vh - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 18px 48px hsl(var(--foreground) / .18)}.skill-dialog>header,.skill-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 16px}.skill-dialog>header{border-bottom:1px solid hsl(var(--border))}.skill-dialog>footer{justify-content:flex-end;border-top:1px solid hsl(var(--border))}.skill-dialog h2{margin:0;font-size:17px;font-weight:620}.skill-dialog>header>button{min-width:36px;min-height:32px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-dialog__body{min-height:0;padding:16px;overflow-y:auto}.skill-dialog__body label{display:grid;gap:6px;margin-bottom:14px;font-size:13px;font-weight:550}.skill-dialog__body input,.skill-dialog__body textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.skill-dialog__body input{min-height:36px;padding:6px 9px}.skill-dialog__body textarea{min-height:88px;padding:9px;resize:vertical}.skill-dialog__body p{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-dialog__file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:hsl(var(--muted) / .6);font-size:12px}.skill-dialog__file strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.skill-dialog__file span{flex:0 0 auto;color:hsl(var(--muted-foreground))}.skill-upload-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px))}.skill-upload-dialog__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.skill-upload-dropzone{width:100%;min-height:min(42vh,360px);display:grid;place-content:center;gap:8px;box-sizing:border-box;padding:32px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.skill-upload-dropzone:hover,.skill-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.skill-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-upload-dropzone strong{font-size:15px;font-weight:600}.skill-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:13px}.skill-add-dialog{grid-template-rows:auto minmax(0,1fr);width:min(460px,100%)}.skill-add-dialog>header>div{min-width:0}.skill-add-dialog>header p{margin:2px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.skill-add-dialog__options{display:grid;gap:10px;padding:16px}.skill-add-dialog__options>.skillcenter-disabled-action,.skill-add-dialog__options>.skillcenter-disabled-action>button{width:100%}.skill-add-dialog__options button{min-height:76px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.skill-add-dialog__options button:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .48)}.skill-add-dialog__options button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-add-dialog__options button:disabled{cursor:not-allowed;opacity:.52}.skill-add-dialog__options strong{font-size:13.5px;font-weight:600}.skill-add-dialog__options button>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.skill-generation__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:32px 32px 0;background:hsl(var(--background))}.skill-generation__header h1,.skill-generation__header p,.skill-generation__activity h2,.skill-generation__files h2{margin:0}.skill-generation__header h1{font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.skill-generation__header p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.skill-generation__ttl{color:hsl(var(--muted-foreground));font-size:12px}.skill-button{min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer}.skill-button:hover:not(:disabled){background:hsl(var(--muted) / .72)}.skill-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.skill-button:disabled{cursor:not-allowed;opacity:.5}.skill-button--quiet{background:transparent}.skill-button--primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-button--primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.skill-generation__setup{min-height:0;flex:1;margin:21px 29px 0;padding:3px 3px 48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.skill-generation__setup>label,.skill-generation__group label{display:grid;gap:6px;margin-bottom:16px;font-size:14px;font-weight:400}.skill-generation textarea,.skill-generation input{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400}.skill-generation input{height:36px;padding:0 10px}.skill-generation textarea{min-height:88px;padding:9px 10px;line-height:1.55;resize:vertical}.skill-generation textarea:focus-visible,.skill-generation input:focus-visible{outline:none;border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-generation input[aria-invalid=true]{border-color:hsl(var(--destructive) / .55);box-shadow:0 0 0 1px hsl(var(--destructive) / .12)}.skill-generation__field-help,.skill-generation__field-error{min-height:18px;font-size:12px;font-weight:400;line-height:1.5}.skill-generation__field-help{color:hsl(var(--muted-foreground))}.skill-generation__field-error{color:hsl(var(--destructive))}.skill-generation__section-head{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.skill-generation__section-head.is-basic{margin-top:0}.skill-generation__section-head div{display:grid;gap:2px}.skill-generation__section-head strong{font-size:17px;font-weight:620}.skill-generation__section-head span{color:hsl(var(--muted-foreground));font-size:12px}.skill-generation__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;isolation:isolate}.skill-generation__group{position:relative;min-width:0;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))}.skill-generation__group header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.skill-generation__group header button{border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__group label{margin-bottom:10px;font-size:12px}.skill-generation__group textarea{min-height:72px}.skill-generation__add-group{min-width:0;display:grid;place-items:center;padding:16px;border:1px dashed hsl(var(--border));border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.skill-generation__add-group:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .3);color:hsl(var(--foreground))}.skill-generation__add-group:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-generation__setup-actions{display:flex;justify-content:flex-end;margin-top:18px}.skill-config-select{position:relative;z-index:1;display:grid;gap:6px;margin-bottom:10px}.skill-config-select.is-open{z-index:100}.skill-config-select__label{color:hsl(var(--foreground));font-size:12px;font-weight:400;line-height:1.45}.skill-required-mark{margin-left:3px;color:hsl(var(--destructive))}.skill-config-select__trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.skill-config-select__trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.skill-config-select__trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.skill-config-select__trigger:disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable{padding:0 0 0 12px;cursor:text}.skill-config-select__trigger.is-editable.is-disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable:focus-within{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger.is-editable input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:none;background:transparent;color:inherit;font:inherit}.skill-config-select__trigger.is-editable input::placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__toggle{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:0;border:0;border-radius:0 5px 5px 0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skill-config-select__toggle:hover:not(:disabled){background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.skill-config-select__toggle:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-3px}.skill-config-select__toggle:disabled{cursor:default;opacity:.45}.skill-config-select__trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-config-select__trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__trigger svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground));transition:transform .16s ease}.skill-config-select__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.skill-config-select__menu{position:absolute;z-index:21;top:calc(100% + 6px);left:0;width:100%;max-height:238px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.skill-config-select__option{width:100%;min-height:34px;display:flex;align-items:center;padding:8px 10px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.skill-config-select__option:hover,.skill-config-select__option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.skill-config-select__option.is-selected{background:hsl(var(--primary) / .08)}.skill-config-select__empty{padding:9px 10px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.skill-config-select__error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.skill-inline-error,.skill-inline-notice,.skill-validation-errors{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:12.5px;line-height:1.5}.skill-inline-error,.skill-validation-errors{border:1px solid hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.skill-inline-error button{margin-left:10px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.skill-inline-notice{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .55);color:hsl(var(--muted-foreground))}.skill-validation-errors p{margin:4px 0 0}.skill-validation-errors button{min-height:30px;margin-top:10px;padding:0 10px;border:1px solid hsl(var(--destructive) / .25);border-radius:6px;background:hsl(var(--panel));color:hsl(var(--destructive));font:inherit;font-size:11.5px;cursor:pointer}.skill-validation-errors button:disabled{cursor:not-allowed;opacity:.5}.skill-generation__workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;flex:1}.skill-generation__candidate-tabs{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.skill-generation__candidate-tabs button{display:block;min-width:260px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));text-align:left;cursor:pointer}.skill-generation__candidate-tabs button.is-active{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.skill-generation__summary-row{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.skill-generation__summary-row+.skill-generation__summary-row{margin-top:7px}.skill-generation__summary-row>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.skill-generation__summary-row>strong{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skill-generation__candidate-summary{width:100%;min-width:0}.skill-generation__candidate{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:12px;gap:12px}.skill-generation__activity,.skill-generation__files{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.skill-generation__activity>header,.skill-generation__files>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-bottom:1px solid hsl(var(--border))}.skill-generation__activity>header{min-height:0;padding:12px 14px}.skill-generation__activity h2,.skill-generation__files h2{font-size:14px;font-weight:600}.skill-generation__files header button{border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__spinner{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;animation:skill-generation-spin .9s linear infinite}.skill-generation__spinner circle{opacity:.2}.skill-generation__activity .skill-conversation{flex:1;min-height:0;overflow-y:auto;padding:12px}.skill-generation__files-empty{display:grid;flex:1;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.skill-generation__ready-actions{grid-column:1 / -1;display:flex;min-width:0;align-items:flex-end;gap:10px}.skill-generation__publish-target{width:min(320px,36%);min-width:240px}.skill-generation__publish-target .skill-config-select{margin-bottom:0}.skill-generation__followup{grid-column:1 / -1;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--background))}.skill-generation__ready-actions .skill-generation__followup{min-width:0;flex:1}.skill-generation__followup textarea{min-width:0;min-height:36px;max-height:120px;flex:1;box-sizing:border-box;padding:8px 4px;resize:none;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.skill-generation__followup textarea::placeholder{color:hsl(var(--muted-foreground))}.skill-generation__followup .skill-button{height:36px;min-height:36px}.skill-generation__action-error{grid-column:1 / -1;margin-top:-4px}.skill-file-browser{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:0;flex:1}.skill-file-tree{min-width:0;overflow:auto;border-right:1px solid hsl(var(--border));padding:6px 0}.skill-file-tree__row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:30px;padding-top:4px;padding-right:8px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;white-space:nowrap}button.skill-file-tree__row{cursor:pointer}button.skill-file-tree__row:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.skill-file-tree__row.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.skill-file-tree__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.skill-file-tree__row>svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skill-file-tree__row small{color:hsl(var(--muted-foreground));font-size:10px}.skill-file-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.skill-file-preview>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:4px 9px;border-bottom:1px solid hsl(var(--border));font-size:11.5px}.skill-file-preview>header>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-preview>header div{display:flex;gap:4px}.skill-file-preview>header button{min-height:28px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skill-file-preview__body{min-width:0;min-height:0;overflow:auto}.skill-file-preview__body .cm-editor{height:100%}.skill-file-preview__markdown{padding:16px}.skill-file-preview__frontmatter{display:grid;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:8px;background:hsl(var(--secondary) / .5)}.skill-file-preview__frontmatter>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}.skill-file-preview__frontmatter dt{color:hsl(var(--muted-foreground));font-size:11px;font-weight:500}.skill-file-preview__frontmatter dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.skill-file-preview__markdown-body>:first-child{margin-top:0}.skill-file-preview__body img{display:block;max-width:calc(100% - 32px);max-height:calc(100% - 32px);margin:16px auto;object-fit:contain}.skill-file-preview__binary{display:grid;place-content:center;gap:5px;height:100%;padding:20px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}@media (max-width: 980px){.skill-generation__groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-generation__candidate{grid-template-columns:1fr;overflow-y:auto}.skill-generation__activity,.skill-generation__files{min-height:420px}.skill-generation__ready-actions{grid-column:1;align-items:stretch;flex-direction:column}.skill-generation__publish-target{width:100%;min-width:0}.skill-generation__followup{grid-column:1}}@media (max-width: 760px){.skillcenter{padding:24px 20px 0}.skillcenter-page-header{flex-direction:column;gap:16px}.skillcenter-page-heading h1{max-width:calc(100vw - 40px)}.skillcenter-page-heading--back h1{max-width:calc(100vw - 82px)}.skillcenter-search{width:100%}.skillcenter-toolbar{align-items:flex-start;flex-direction:column}.skillcenter-detail-facts{width:100%;justify-content:space-between;gap:12px}.skillcenter-detail-facts>div{min-width:0}.skillcenter-toolbar-actions{width:100%}.skillcenter-results{margin-top:22px}.skill-generation__header{padding:24px 20px 0}.skill-generation__setup{margin:17px 17px 0}}@media (max-width: 560px){.skill-generation__groups{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.skillcenter-disabled-tooltip{transition:none}.skill-generation *,.skill-generation *:before,.skill-generation *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.skill-generation__spinner{animation:none!important}}@keyframes skill-generation-spin{to{transform:rotate(360deg)}}.my-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.my-agents-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.my-agents-heading{min-width:0}.my-agents-title-row{display:flex;align-items:center;gap:8px}.my-agents-heading h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.my-agents-heading p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.my-agent-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.my-agent-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.my-agent-search svg{width:16px;height:16px;flex:0 0 16px}.my-agent-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.my-agent-search input::placeholder{color:hsl(var(--muted-foreground))}.my-agent-search input::-webkit-search-cancel-button{cursor:pointer}.my-agent-type-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.my-agent-type-pills{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.my-agent-type-pill{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.my-agent-type-pill:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.my-agent-type-pill.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.my-agent-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.my-agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.my-agent-inline-error{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.my-agent-inline-error span{min-width:0;overflow-wrap:anywhere}.my-agent-inline-error button{flex:0 0 auto;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.my-agent-card{width:100%;height:auto;box-sizing:border-box;border-radius:12px;background:hsl(var(--secondary) / .82)}.my-agent-create-primary{min-width:max-content;height:32px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.my-agent-create-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.my-agent-create-primary:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.my-agent-create-primary svg{width:14px;height:14px;flex:0 0 14px}.my-agent-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:0;animation:my-agent-card-enter .22s ease-out both;transition:transform .16s ease}.my-agent-card:hover{transform:translateY(-1px)}.my-agent-card-content{flex:0 0 auto;min-width:0;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;padding:16px;position:relative;z-index:1;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.my-agent-card-title{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.my-agent-card-title-copy{min-width:0}.my-agent-card-badges{display:flex;flex:0 0 auto;align-items:center;gap:6px}.my-agent-region-badge{min-height:22px;display:inline-flex;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600;line-height:1}.my-agent-draft-badge,.my-agent-deploying-badge{min-height:22px;display:inline-flex;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(43 90% 48% / .3);border-radius:999px;background:#fabf0f24;color:#a36f14;font-size:10px;font-weight:600;line-height:1}.my-agent-card-badges .runtime-owner-badge{min-height:22px;display:inline-flex;align-items:center;padding:0 8px;line-height:1}.my-agent-session-id{display:block;margin-top:3px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.my-agent-card h3{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:650;line-height:1.4;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.my-agent-description{min-height:40px;display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.my-agent-status-label{display:inline-flex;min-height:22px;flex:0 0 auto;align-items:center;padding:0 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:550;line-height:1}.my-agent-status-label[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.my-agent-status-label[data-wakeable]{border-color:#e9aa0c4d;background:#fabf0f24;color:#a36f14}.my-agent-meta,.my-agent-meta dt,.my-agent-meta dd{margin:0}.my-agent-meta{display:grid;gap:5px;margin-top:12px}.my-agent-meta>div{display:flex;align-items:center}.my-agent-meta dt,.my-agent-meta dd{font-size:12px;line-height:1.4}.my-agent-meta dt{color:hsl(var(--muted-foreground))}.my-agent-meta dd{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at,.my-agent-region,.my-agent-expiry{width:100%;display:flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground))}.my-agent-created-at dt,.my-agent-region dt,.my-agent-expiry dt{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at dd,.my-agent-region dd,.my-agent-expiry dd{color:hsl(var(--muted-foreground));font-weight:400}.my-agent-expiry.is-expiring dd{color:#a36f14;font-weight:550}.my-agent-region dd{min-width:0;overflow:hidden;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.my-agent-actions{flex:0 0 42px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px 8px 7px;position:relative;z-index:0;border-radius:0 0 12px 12px;background:hsl(var(--secondary) / .82)}.my-agent-actions button{min-width:0;min-height:28px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.my-agent-actions button:hover:not(:disabled){background:hsl(var(--background) / .72);color:hsl(var(--foreground))}.my-agent-actions button:disabled{cursor:default;opacity:.48}.my-agent-actions .my-agent-use{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:hsl(var(--foreground))}.my-agent-actions .my-agent-details{background:hsl(var(--background) / .56)}.my-agent-actions .my-agent-delete{color:hsl(var(--destructive))}.my-agent-actions .my-agent-delete:hover:not(:disabled){background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.my-agent-actions .my-agent-use:hover:not(:disabled){background:hsl(var(--background) / .72)}.my-agent-actions .my-agent-use.is-connected,.my-agent-actions .my-agent-use.is-connected:disabled{background:transparent;color:#1d7c40;opacity:1}.my-agent-use-spinner{width:11px;height:11px;flex:0 0 11px;box-sizing:border-box;border:1.25px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-gap-spin .7s linear infinite}.my-agent-loading-mark{box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-gap-spin .72s linear infinite}.my-agent-loading-mark{width:14px;height:14px;flex:0 0 14px}.my-agent-initial-loading,.my-agent-load-more,.my-agent-empty{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12.5px}.my-agent-initial-loading{min-height:180px;gap:8px}.my-agent-load-more{min-height:54px;gap:8px;padding-top:6px}.my-agent-empty-message{width:100%;height:100%;min-height:220px;display:grid;place-items:center}.my-agent-sandbox-empty-title{max-width:none;white-space:nowrap;text-wrap:nowrap}.my-agent-empty{min-height:220px;flex-direction:column;gap:7px}.my-agent-empty p,.my-agent-empty span{margin:0}.my-agent-empty p{white-space:pre-wrap;overflow-wrap:anywhere;color:inherit;font-size:inherit;font-weight:400}.my-agent-empty button{height:30px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px}.my-agent-actions button:focus-visible,.my-agent-type-pill:focus-visible,.my-agent-create-primary:focus-visible,.my-agent-empty button:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:-2px}@keyframes my-agent-card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){.my-agents-page{padding:24px 20px 0}.my-agents-header{flex-direction:column;gap:16px}.my-agent-search{width:100%}.my-agent-type-bar{align-items:stretch;flex-direction:column;gap:12px}.my-agent-create-primary{align-self:flex-end}.my-agent-results{padding-bottom:44px}}@media (max-width: 560px){.my-agents-page{padding-inline:16px}}@media (prefers-reduced-motion: reduce){.my-agent-card,.my-agent-loading-mark{animation:none}.my-agent-card,.my-agent-actions button,.my-agent-type-pill,.my-agent-create-primary,.my-agent-search{transition:none}.my-agent-use-spinner{animation:none}.my-agent-card:hover{transform:none}}.aw-root{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.aw-agent-head h2,.aw-eval-head h2,.aw-section-head h3{margin:0;color:hsl(var(--foreground));letter-spacing:-.025em}.aw-agent-head p,.aw-eval-head p,.aw-section-head p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.aw-view-tabs,.aw-agent-title-row,.aw-card-head,.aw-section-head,.aw-case-filters,.aw-eval-head{display:flex;align-items:center}.aw-view-tabs{flex:0 0 auto;gap:26px;padding:0 24px;border-bottom:1px solid hsl(var(--border))}.aw-view-tabs button,.aw-case-filters button{border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.aw-view-tabs button{position:relative;min-height:44px;padding:0;font-size:14px;font-weight:580}.aw-view-tabs button.is-active{color:hsl(var(--foreground))}.aw-view-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:hsl(var(--foreground))}.aw-run{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;transition:opacity .16s ease,transform .16s ease}.aw-run:not(:disabled):hover{transform:translateY(-1px)}.aw-root button:focus-visible,.aw-root input:focus-visible,.aw-root textarea:focus-visible,.aw-root select:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-run svg{width:15px;height:15px}.aw-run:disabled,.aw-create-card:disabled{cursor:default;opacity:.42}.aw-workspace-frame{flex:1;min-height:0;position:relative}.aw-workspace{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:304px minmax(0,1fr)}.aw-root.is-detail-only .aw-view-tabs,.aw-root.is-detail-only .aw-sidebar{display:none}.aw-root.is-detail-only .aw-workspace{grid-template-columns:minmax(0,1fr)}.aw-root.is-detail-only{font-size:14px}.aw-root.is-detail-only .aw-agent-head{padding-top:24px}.aw-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 12px 22px 24px}.aw-search{height:40px;min-height:40px;flex:0 0 40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--foreground) / .12);border-radius:10px;background:transparent;transition:border-color .16s ease,background-color .16s ease}.aw-search:focus-within{border-color:hsl(var(--foreground) / .16);background:hsl(var(--secondary) / .42);box-shadow:none}.aw-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;line-height:1}.aw-search input::placeholder{color:hsl(var(--muted-foreground) / .82)}.aw-search input:focus,.aw-search input:focus-visible,.aw-case-search input:focus,.aw-case-search input:focus-visible{outline:none!important;box-shadow:none}.aw-agent-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;margin-top:14px;overflow-y:auto}.aw-selection-toolbar{flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:8px;margin-top:10px}.aw-selection-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-selection-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-selection-toolbar button:disabled{cursor:default;opacity:.42}.aw-selection-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-selection-count{flex:1;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;white-space:nowrap}.aw-selection-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-selection-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-delete-error{margin-top:8px;padding:8px 10px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-agent-item,.aw-agent-check{width:100%;min-height:72px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid hsl(var(--foreground) / .1);border-radius:14px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,border-color .16s ease}.aw-agent-item:hover,.aw-agent-check:hover{border-color:hsl(var(--foreground) / .18);background:hsl(var(--secondary) / .42)}.aw-agent-item.is-active{border-color:hsl(var(--foreground) / .42);background:hsl(var(--secondary) / .28)}.aw-agent-item[draggable=true]{cursor:grab}.aw-agent-item[draggable=true]:active{cursor:grabbing}.aw-agent-item.is-dragging{opacity:.46}.aw-agent-item.is-drop-target{border-color:hsl(var(--foreground) / .46);background:hsl(var(--secondary) / .54)}.aw-agent-item.is-drop-before{box-shadow:inset 0 2px hsl(var(--foreground) / .44)}.aw-agent-item.is-drop-after{box-shadow:inset 0 -2px hsl(var(--foreground) / .44)}.aw-agent-item.is-selecting{gap:10px}.aw-agent-item.is-selected-for-delete{border-color:hsl(var(--foreground) / .36);background:hsl(var(--secondary) / .44)}.aw-agent-item.is-selection-disabled{opacity:.58}.aw-select-marker{width:16px;height:16px;flex:0 0 16px;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background))}.aw-select-marker.is-checked{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.aw-select-marker.is-checked:after{content:"";width:7px;height:4px;border-bottom:1.6px solid hsl(var(--background));border-left:1.6px solid hsl(var(--background));transform:rotate(-45deg) translateY(-1px)}.aw-agent-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.aw-agent-name-row{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-name-row>strong{min-width:0;flex:1}.aw-version-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;line-height:1.2}.aw-draft-badge{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f0ebe0;color:#675332;font-size:10px;font-weight:680;line-height:1.2}.aw-draft-badge.is-deploying{background:#e4eaf2;color:#2d5080}.aw-draft-badge.is-error{background:#dc28281f;color:hsl(var(--destructive))}.aw-draft-badge.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.aw-agent-copy strong,.aw-agent-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-agent-copy strong{font-size:13px;font-weight:650}.aw-agent-copy small{color:hsl(var(--muted-foreground));font-size:11px}.aw-agent-item>svg{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .14s ease,transform .14s ease}.aw-agent-item:hover>svg,.aw-agent-item.is-active>svg{opacity:1}.aw-agent-item:hover>svg{transform:translate(2px)}.aw-agent-check{position:relative}.aw-agent-check>input{position:absolute;width:1px;height:1px;opacity:0}.aw-check-mark{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--foreground) / .22);border-radius:5px;background:hsl(var(--background));color:transparent}.aw-check-mark svg{width:11px;height:11px}.aw-agent-check:has(input:checked) .aw-check-mark{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.aw-agent-check:has(input:focus-visible){outline:2px solid hsl(var(--ring) / .42);outline-offset:-2px}.aw-list-empty{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:28px 12px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-list-error{display:flex;flex-direction:column;align-items:center;gap:10px}.aw-list-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}.aw-create-card{width:100%;min-height:48px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px dashed hsl(var(--foreground) / .28);border-radius:14px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:border-color .16s ease,color .16s ease}.aw-create-card:hover:not(:disabled){border-color:hsl(var(--foreground) / .5);color:hsl(var(--foreground))}.aw-create-card svg{width:15px;height:15px}.aw-list-count{flex:0 0 auto;padding-top:10px;color:hsl(var(--muted-foreground));font-size:10.5px;text-align:center}.aw-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background))}.aw-detail-loading{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.aw-detail-loading-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background) / .94);box-shadow:0 14px 40px hsl(var(--foreground) / .1)}.aw-detail-loading-card>span:not(.loading-gap-spinner){display:flex;flex-direction:column;gap:2px}.aw-detail-loading-card>.loading-gap-spinner{width:18px;height:18px;flex:0 0 18px}.aw-detail-loading-card strong{font-size:13px;font-weight:650}.aw-detail-loading-card small{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-empty-selection{align-items:center;justify-content:center}.aw-empty-selection p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.aw-agent-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}.aw-agent-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.aw-head-delete{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--destructive) / .24);border-radius:999px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:620}.aw-head-delete:hover:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-head-delete:disabled{cursor:default;opacity:.46}.aw-head-delete svg{width:14px;height:14px}.aw-head-delete--draft{border-color:hsl(var(--border));background:transparent;color:hsl(var(--foreground))}.aw-head-delete--draft:hover:not(:disabled){background:hsl(var(--secondary) / .54)}.aw-head-delete.studio-update-action{border:1px solid hsl(var(--destructive) / .34);background:#ffffffc2;color:hsl(var(--destructive));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.aw-head-delete.studio-update-action:hover:not(:disabled){border:1px solid hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.aw-agent-title-row{gap:8px}.aw-agent-head h2,.aw-eval-head h2{overflow:hidden;font-size:20px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.aw-agent-title-row>span,.aw-eval-head>div>span{padding:2px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px}.aw-agent-head p{max-width:720px;overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.aw-update{align-self:center}.aw-update-wrap{position:relative;align-self:center;display:inline-flex;border-radius:999px}.aw-update-wrap.is-disabled{cursor:not-allowed}.aw-update-wrap.is-disabled .aw-update{cursor:inherit}.aw-update-spinner{width:14px;height:14px;flex-basis:14px;border-color:currentColor;border-right-color:transparent}.aw-update-disabled-reason{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:260px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .14s ease,transform .14s ease}.aw-update-wrap.is-disabled:hover .aw-update-disabled-reason,.aw-update-wrap.is-disabled:focus-visible .aw-update-disabled-reason{opacity:1;transform:translate(-50%)}.aw-update-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}@media (prefers-reduced-motion: reduce){.aw-update-disabled-reason{transition:none}}.aw-talk svg{width:15px;height:15px}.aw-agent-tabs{flex:0 0 auto;display:flex;gap:24px;margin:0 24px;padding:0;border-bottom:1px solid hsl(var(--border))}.aw-agent-tabs button{position:relative;min-height:42px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:14px;font-weight:580}.aw-agent-tabs button.is-active{color:hsl(var(--foreground))}.aw-agent-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:hsl(var(--foreground))}.aw-agent-tabs button:disabled{cursor:default}.aw-content{flex:1;min-height:0;overflow-y:auto;margin-top:14px;padding:0 24px 80px}.aw-basic-stack,.aw-usage{display:flex;flex-direction:column;gap:16px}.aw-usage-intro h3,.aw-usage-intro p,.aw-usage-users-head h3,.aw-usage-summary{margin:0}.aw-usage-intro h3,.aw-usage-users-head h3{color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-usage-intro p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-usage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aw-usage-summary>div{min-width:0;padding:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-usage-summary dt{color:hsl(var(--muted-foreground));font-size:12px;font-weight:500}.aw-usage-summary dd{margin:8px 0 0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25}.aw-usage-users-head{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.aw-usage-users-head .text-shimmer{flex:0 0 auto;font-size:12px}.aw-usage-state{min-height:116px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55;text-align:center}.aw-usage-state.is-error{flex-direction:column;color:hsl(var(--destructive));white-space:pre-wrap;overflow-wrap:anywhere}.aw-usage-state button,.aw-usage-pagination button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-usage-state button:hover,.aw-usage-pagination button:hover:not(:disabled){background:hsl(var(--secondary) / .5)}.aw-usage-state button:focus-visible,.aw-usage-pagination button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-usage-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-usage-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-usage-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aw-usage-table th,.aw-usage-table td{padding:13px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:middle}.aw-usage-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-usage-table th:first-child,.aw-usage-table td:first-child{width:48%}.aw-usage-table th:nth-child(2),.aw-usage-table td:nth-child(2){width:18%}.aw-usage-table td strong,.aw-usage-table td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-usage-table td strong{font-weight:600}.aw-usage-table td small{margin-top:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.aw-usage-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px}.aw-usage-pagination span{min-width:92px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-usage-pagination button:disabled{opacity:.48;cursor:not-allowed}.aw-integration-stack{display:flex;flex-direction:column;gap:16px}.aw-integration-intro h3,.aw-integration-intro p,.aw-integration-panel h3,.aw-integration-panel h4,.aw-integration-panel dl,.aw-integration-panel dd{margin:0}.aw-integration-intro h3{font-size:15px;font-weight:620}.aw-integration-intro p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-body{display:flex;min-width:0;flex-direction:column;gap:12px}.aw-integration-protocol-tabs{position:relative;display:grid;width:min(240px,100%);height:36px;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.aw-integration-protocol-slider{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc((100% - 9px)/2);border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .05);transition:transform .24s cubic-bezier(.22,1,.36,1)}.aw-integration-protocol-tabs.is-a2a .aw-integration-protocol-slider{transform:translate(calc(100% + 3px))}.aw-integration-protocol-tabs button{position:relative;z-index:1;min-width:0;min-height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;transition:background-color .16s ease,color .16s ease}.aw-integration-protocol-tabs button:hover{background:hsl(var(--panel) / .45);color:hsl(var(--foreground))}.aw-integration-protocol-tabs button[aria-selected=true]{color:hsl(var(--foreground));font-weight:620}.aw-integration-protocol-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-panel{min-width:0;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-integration-panel.has-example{display:flex;flex-direction:column;gap:20px}.aw-integration-panel header{display:flex;align-items:center;margin-bottom:4px}.aw-integration-panel h3{color:hsl(var(--foreground));font-size:14px;font-weight:620}.aw-integration-panel dl{display:grid;align-content:start;gap:12px}.aw-integration-panel dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px}.aw-integration-panel dt{color:hsl(var(--muted-foreground));font-size:12px}.aw-integration-panel dd{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55}.aw-integration-secret{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px}.aw-integration-secret-value{min-width:52px;overflow-wrap:anywhere}.aw-integration-secret-toggle{display:inline-grid;width:28px;height:28px;flex:0 0 28px;padding:0;place-items:center;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.aw-integration-secret-toggle:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-integration-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-secret-toggle:disabled{cursor:wait;opacity:.62}.aw-integration-secret-toggle svg,.aw-integration-secret-toggle .loading-gap-spinner{width:16px;height:16px}.aw-integration-secret-error{flex-basis:100%;color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-integration-example{min-width:0}.aw-integration-example h4{margin-bottom:8px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.aw-integration-example-code.md{min-width:0;font-size:12px}.aw-integration-example-code.md pre{max-height:360px;margin:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary))}.aw-integration-example-code.md pre code{display:block;min-width:max-content;padding:14px 16px;line-height:1.55}.aw-integration-error{display:flex;align-items:center;gap:8px;min-height:36px;padding:10px 12px;border-radius:8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-error{justify-content:space-between;color:hsl(var(--destructive))}.aw-integration-error button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.aw-canvas-card,.aw-details-card{min-width:0;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel))}.aw-canvas-card{overflow:hidden}.aw-canvas-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:13px}.aw-details-card{overflow:hidden}.aw-deploy-progress-card{width:100%;min-width:0;box-sizing:border-box;padding:24px 26px 26px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--panel))}.aw-detail-deployment{flex:0 0 auto;padding:0 24px 16px}.aw-detail-deployment.is-running{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.aw-main.is-deploying .aw-agent-tabs,.aw-main.is-deploying .aw-content,.aw-main.is-deploying .aw-basic-actions{display:none}.aw-deploy-progress-head,.aw-deploy-progress-head>div,.aw-deploy-progress-icon{display:flex;align-items:center}.aw-deploy-progress-head{justify-content:space-between;gap:20px}.aw-deploy-progress-head>div{min-width:0;gap:12px}.aw-deploy-progress-head>div>div{min-width:0}.aw-deploy-progress-icon{width:34px;height:34px;flex:0 0 34px;justify-content:center;border-radius:50%;background:#eaeff5;color:#295189}.aw-deploy-progress-icon svg{width:17px;height:17px}.aw-deploy-progress-card.is-success .aw-deploy-progress-icon{background:#e8f2ee;color:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-icon,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-icon{background:#f5ecea;color:#8d3d34}.aw-deploy-progress-head h3{margin:0;font-size:14px;font-weight:700}.aw-deploy-progress-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;overflow-wrap:anywhere}.aw-deploy-progress-head>strong{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:12px;font-weight:650}.aw-deploy-progress-track{height:5px;margin-top:18px;overflow:hidden;border-radius:999px;background:hsl(var(--secondary))}.aw-deploy-progress-track span{display:block;height:100%;border-radius:inherit;background:#295189;transition:width .32s cubic-bezier(.22,1,.36,1)}.aw-deploy-progress-card.is-success .aw-deploy-progress-track span{background:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-track span,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-track span{background:#8d3d34}.aw-deploy-steps{margin:22px 0 0;padding:0;list-style:none}.aw-deploy-steps li{position:relative;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:0 0 18px}.aw-deploy-steps li:last-child{padding-bottom:0}.aw-deploy-progress-actions{display:flex;justify-content:flex-end;margin-top:20px}.aw-deploy-steps li:not(:last-child):after{content:"";position:absolute;top:28px;bottom:0;left:13px;width:2px;border-radius:999px;background:hsl(var(--border))}.aw-deploy-steps li.is-done:not(:last-child):after{background:#9dcdb8}.aw-deploy-step-marker{position:relative;z-index:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:680}.aw-deploy-step-marker svg{width:14px;height:14px}.aw-deploy-steps li.is-done .aw-deploy-step-marker{border-color:#b3dbca;background:#e8f2ee;color:#2d7656}.aw-deploy-steps li.is-active .aw-deploy-step-marker{border-color:#9eb3d1;background:#eaeff5;color:#295189}.aw-deploy-steps li.is-failed .aw-deploy-step-marker{border-color:#dcbfbc;background:#f5ecea;color:#8d3d34}.aw-deploy-step-copy{min-width:0;padding-top:2px}.aw-deploy-step-copy strong{display:block;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:620;line-height:1.4}.aw-deploy-step-copy p{min-width:0;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.aw-deploy-steps li.is-done .aw-deploy-step-copy strong,.aw-deploy-steps li.is-active .aw-deploy-step-copy strong,.aw-deploy-steps li.is-failed .aw-deploy-step-copy strong{color:hsl(var(--foreground))}.aw-deploy-steps li.is-active .aw-deploy-step-copy p{color:hsl(var(--foreground) / .78)}.aw-deploy-step-log{min-width:0;margin-top:10px}.aw-deploy-log{min-width:0;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--canvas));overflow:hidden}.aw-deploy-log header,.aw-deploy-log header>div,.aw-deploy-log-actions,.aw-deploy-log-actions button{display:flex;align-items:center}.aw-deploy-log header{min-width:0;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.aw-deploy-log.is-collapsed header{border-bottom:0}.aw-deploy-log header>div:first-child{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.aw-deploy-log strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:640;line-height:1.35}.aw-deploy-log span{min-width:0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.aw-deploy-log-actions{flex:0 0 auto;gap:6px}.aw-deploy-log-actions button{min-height:28px;gap:5px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:11.5px;font-weight:560;cursor:pointer}.aw-deploy-log-actions button:hover{background:hsl(var(--muted))}.aw-deploy-log-actions button span{color:inherit;font-size:inherit;line-height:inherit}.aw-deploy-log-actions button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.aw-deploy-log-actions svg{width:13px;height:13px;flex:0 0 auto}.aw-deploy-log pre{max-height:260px;min-width:0;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:hsl(var(--foreground) / .86);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.55}.aw-deploy-log-empty{padding:12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.aw-deploy-log.is-error{border-color:#dcbfbc}.aw-card-head{justify-content:space-between;gap:12px;min-height:48px;padding:0 16px}.aw-card-head strong{font-size:13px;font-weight:680}.aw-card-head span{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-canvas{height:220px;min-height:0;border-top:1px solid hsl(var(--border))}.aw-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;border:0;background:#f9f8f5}.aw-canvas .abc-canvas{flex:1;min-height:0}.aw-canvas .react-flow__controls{transform:scale(.86);transform-origin:bottom left}.aw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 16px 14px}.aw-facts>div{min-height:39px;display:grid;grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);align-items:center;gap:12px;border-top:1px solid hsl(var(--border) / .72)}.aw-facts>div:nth-child(2n){padding-left:20px}.aw-facts>div:nth-child(odd){padding-right:20px}.aw-facts dt{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-facts dd{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aw-facts .aw-fact-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;overflow:visible;white-space:normal}.aw-fact-badges span{max-width:100%;overflow:hidden;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .55);font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aw-status-dot{width:6px;height:6px;display:inline-block;margin-right:6px;border-radius:50%;background:#358d67}.aw-section-head{justify-content:space-between;gap:18px;margin-bottom:16px}.aw-section-head h3{font-size:17px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-filter-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.aw-case-filter-stack{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.aw-case-source-filters{display:flex;flex-wrap:wrap;gap:6px}.aw-case-source-filters button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.aw-case-source-filters button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-case-source-filters button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button{min-width:0;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .22)}.aw-case-summary>button{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:14px 16px;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.aw-case-summary>button:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .36)}.aw-case-summary>button:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:2px}.aw-case-summary strong{color:hsl(var(--foreground));font-size:26px;font-weight:720;line-height:1}.aw-case-summary span{min-width:0;color:hsl(var(--foreground));font-size:12px;font-weight:640}.aw-case-search{width:min(360px,46%);min-width:260px;height:40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .16s ease,box-shadow .16s ease}.aw-case-search:focus-within{border-color:hsl(var(--foreground) / .32);box-shadow:0 0 0 3px hsl(var(--foreground) / .045)}.aw-case-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-case-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.aw-case-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.aw-case-toolbar{min-height:32px;display:flex;align-items:center;gap:8px;margin:-2px 0 14px}.aw-case-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-case-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-case-toolbar button:disabled{cursor:default;opacity:.42}.aw-case-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-case-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-case-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-filters button{min-height:30px;padding:0 12px;border-radius:6px;font-size:12.5px}.aw-case-filters button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .07)}.aw-case-table{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-width:870px;min-height:86px;display:grid;grid-template-columns:minmax(180px,.78fr) minmax(250px,1.16fr) 80px minmax(220px,.94fr) 48px;align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:13px}.aw-case-row:not(.aw-case-row-head){cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.aw-case-row:not(.aw-case-row-head):hover,.aw-case-row.is-focused,.aw-case-row.is-selected-for-delete{background:hsl(var(--secondary) / .28)}.aw-case-row.is-focused{box-shadow:inset 3px 0 hsl(var(--foreground) / .22)}.aw-case-row.is-selected-for-delete{box-shadow:inset 3px 0 hsl(var(--foreground) / .34)}.aw-case-row:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:-2px}.aw-case-row:first-child{border-top:0}.aw-case-row-head{min-height:38px;align-items:center;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-case-action-head{text-align:center}.aw-case-text,.aw-case-output,.aw-case-reason{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-score{color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.5}.aw-case-reason p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-reason.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-title-line{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{flex:1;min-width:0}.aw-case-actions{min-width:0;display:flex;justify-content:center}.aw-case-row strong,.aw-case-row p,.aw-case-row small{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.aw-case-row strong{color:hsl(var(--foreground));font-weight:600;line-height:1.45}.aw-case-row p{margin:0;color:hsl(var(--muted-foreground));line-height:1.5}.aw-case-output-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-output.is-expanded .aw-case-output-preview{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-expand{width:fit-content;min-height:24px;margin-top:2px;padding:0 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.aw-case-expand:hover{background:hsl(var(--secondary) / .55)}.aw-case-row small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35}.aw-case-time{color:hsl(var(--foreground) / .62)!important}.aw-case-delete{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.aw-case-delete:hover:not(:disabled){border-color:hsl(var(--destructive) / .18);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.aw-case-delete:active:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-empty{min-height:116px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px}.aw-case-error{color:hsl(var(--destructive))}.aw-case-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--destructive) / .26);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-deployment-panel{width:100%;box-sizing:border-box;margin:0}.aw-settings-card{padding:18px;border:1px solid hsl(var(--border));border-radius:14px}.aw-optimizations{display:flex;flex-direction:column;gap:16px}.aw-optimization-intro h3{margin:0;color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-optimization-intro p{margin:5px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-optimization-state{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.aw-optimization-state.is-error{color:hsl(var(--destructive))}.aw-optimization-state button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.aw-optimization-table-wrap{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-optimization-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-optimization-table th,.aw-optimization-table td{padding:14px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:top}.aw-optimization-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-optimization-table th:first-child,.aw-optimization-table td:first-child{width:108px}.aw-optimization-table th:nth-child(2),.aw-optimization-table td:nth-child(2){width:142px}.aw-optimization-module{color:hsl(var(--foreground));font-size:13px;font-weight:620;line-height:1.55}.aw-optimization-list{margin:0;padding:0;list-style:none}.aw-optimization-list li{position:relative;padding-left:16px}.aw-optimization-list li+li{margin-top:13px;padding-top:13px;border-top:1px dashed hsl(var(--border))}.aw-optimization-list li:before{position:absolute;top:6px;left:1px;width:5px;height:5px;border-radius:50%;background:hsl(var(--primary) / .72);content:""}.aw-optimization-list li+li:before{top:19px}.aw-optimization-list strong{display:block;font-size:13.5px;font-weight:650;line-height:1.45}.aw-optimization-list p{margin:5px 0 0;color:hsl(var(--muted-foreground));line-height:1.55}.aw-priority{font-size:13px;font-weight:700;line-height:1.5}.aw-priority.is-high{color:hsl(var(--destructive))}.aw-priority.is-medium{color:#93591f}.aw-priority.is-low{color:#28674c}.aw-readonly-config{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aw-readonly-config>div{min-width:0;padding:12px 14px;border-radius:10px;background:hsl(var(--secondary) / .42)}.aw-readonly-config dt{color:hsl(var(--muted-foreground));font-size:11px}.aw-readonly-config dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12px;font-weight:600}.aw-readonly-config dd.is-ready{color:#1d7c40}.aw-basic-actions{position:absolute;z-index:8;bottom:20px;left:50%;display:flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;border-radius:10px;background:transparent;box-shadow:none;transform:translate(-50%)}.aw-eval-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;justify-content:space-between;gap:20px;padding:14px 24px}.aw-evaluation-glass{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .44);color:hsl(var(--foreground));-webkit-backdrop-filter:blur(9px) saturate(118%);backdrop-filter:blur(9px) saturate(118%);transition:background .18s ease,backdrop-filter .18s ease}.aw-evaluation-glass:hover{background:hsl(var(--background) / .52);-webkit-backdrop-filter:blur(11px) saturate(125%);backdrop-filter:blur(11px) saturate(125%)}.aw-evaluation-glass span{padding:8px 13px;border:1px solid hsl(var(--border) / .82);border-radius:999px;background:hsl(var(--background) / .7);box-shadow:0 8px 24px hsl(var(--foreground) / .07);font-size:12.5px;font-weight:620;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.aw-eval-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-run{min-height:38px;padding:0 14px;border-radius:9px}.aw-eval-setup{width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.aw-eval-block{min-width:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px}.aw-eval-agent-grid{max-height:230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding:0 16px 16px}.aw-eval-agent-grid>label{min-height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid hsl(var(--border) / .82);border-radius:10px;cursor:pointer}.aw-eval-agent-grid input,.aw-metric-list input{width:15px;height:15px;accent-color:hsl(var(--foreground))}.aw-eval-agent-grid label>span{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-eval-agent-grid strong,.aw-eval-agent-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-eval-agent-grid strong{font-size:12px;font-weight:620}.aw-eval-agent-grid small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-eval-setting-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:14px}.aw-eval-fields{display:flex;flex-direction:column;gap:13px;padding:0 16px 16px}.aw-eval-fields label{min-height:36px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.aw-eval-fields label>span,.aw-eval-fields label>small{color:hsl(var(--muted-foreground));font-size:11px}.aw-eval-fields select{width:100%;height:34px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11.5px}.aw-metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}.aw-metric-list label{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid hsl(var(--border) / .82);border-radius:9px;cursor:pointer;font-size:11.5px}.aw-eval-history{width:min(820px,100%);margin:0 auto}.aw-history-list{display:flex;flex-direction:column;gap:9px}.aw-history-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 16px;align-items:center;gap:16px;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:11px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.aw-history-list>button:hover{border-color:hsl(var(--foreground) / .2)}.aw-history-list>button>span:first-child,.aw-history-score{display:flex;flex-direction:column;gap:4px}.aw-history-list strong{font-size:12px}.aw-history-list small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-history-score{align-items:flex-end}.aw-history-score strong{font-size:17px}.aw-complete{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#3c866617;color:#28674c;font-size:10.5px;font-weight:620}.aw-complete svg{width:12px;height:12px}.aw-results-empty{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));text-align:center}.aw-results-empty strong{color:hsl(var(--foreground));font-size:12.5px}.aw-results-empty span{font-size:11.5px}@media (max-width: 980px){.aw-workspace{grid-template-columns:260px minmax(0,1fr)}.aw-eval-setting-grid{grid-template-columns:minmax(0,1fr)}.aw-case-row{min-width:790px;grid-template-columns:minmax(160px,.78fr) minmax(220px,1fr) 72px minmax(180px,.82fr) 48px}}@media (max-width: 720px){.aw-view-tabs{padding-inline:16px}.aw-workspace{grid-template-columns:minmax(0,1fr);overflow-y:auto}.aw-sidebar{height:340px;max-height:340px;box-sizing:border-box;padding:18px 16px}.aw-agent-list{min-height:128px}.aw-main{min-height:620px;overflow:visible}.aw-agent-tabs{gap:18px;margin-inline:16px;overflow-x:auto}.aw-agent-head,.aw-eval-head{padding-inline:16px}.aw-content{overflow:visible;padding-inline:16px}.aw-facts{grid-template-columns:minmax(0,1fr)}.aw-facts>div:nth-child(n){padding-right:0;padding-left:0}.aw-eval-agent-grid,.aw-metric-list{grid-template-columns:minmax(0,1fr)}.aw-case-summary,.aw-case-row{min-width:0;grid-template-columns:minmax(0,1fr)}.aw-case-filter-bar{align-items:stretch;flex-direction:column;gap:12px}.aw-case-search{width:100%;min-width:0}.aw-case-row-head{display:none}.aw-case-cell{position:relative;padding-top:20px}.aw-case-cell:before{content:attr(data-label);position:absolute;top:0;left:0;color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.aw-case-actions{justify-content:flex-start}.aw-optimization-table{min-width:680px}.aw-usage-summary{grid-template-columns:minmax(0,1fr)}.aw-usage-pagination{justify-content:space-between}.aw-readonly-config{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.aw-integration-protocol-slider{transition:none}.aw-root *,.aw-root *:before,.aw-root *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.applications-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.applications-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.applications-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.applications-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.applications-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.applications-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.applications-search svg{width:16px;height:16px;flex:0 0 16px}.applications-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.applications-search input::placeholder{color:hsl(var(--muted-foreground))}.applications-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.applications-categories button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.applications-categories button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.applications-categories button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.applications-categories button:focus-visible{outline:2px solid hsl(var(--ring) / .3);outline-offset:2px}.applications-results{flex:1;min-height:0;overflow-y:auto;margin-top:28px;padding-bottom:56px;scrollbar-gutter:stable}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.application-card-wrap{position:relative;min-width:0;display:flex;border-radius:12px}.application-card-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card{width:100%;min-width:0;min-height:96px;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;padding:16px 18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;box-shadow:0 1px 2px hsl(var(--foreground) / .035);animation:application-card-enter .18s ease-out both;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.application-card:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .24);box-shadow:0 4px 14px hsl(var(--foreground) / .06)}.application-card:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card:disabled{cursor:not-allowed;opacity:.5}.application-card:disabled:hover{border-color:hsl(var(--border));background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.application-card-tooltip{position:absolute;z-index:30;top:50%;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 3px));transition:opacity .14s ease,transform .14s ease}.application-card-wrap.is-disabled:hover .application-card-tooltip,.application-card-wrap.is-disabled:focus-visible .application-card-tooltip{opacity:1;transform:translate(-50%,-50%)}.application-card-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-brand-icon{object-fit:contain}.application-card-copy{min-width:0}.application-card-title{display:flex;align-items:center;gap:6px}.application-card-copy h2{min-width:0;margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.application-card-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:16px;box-sizing:border-box;padding:1px 6px;border-radius:999px;background:hsl(var(--destructive));color:#fff;font-size:10px;font-weight:600;line-height:1.2}.application-card-badge.is-success{background:#36ab661f;color:#217343}.application-card-copy p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.applications-empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:hsl(var(--muted-foreground))}.applications-empty svg{width:32px;height:32px;margin-bottom:12px}.applications-empty h2{margin:0;color:hsl(var(--foreground));font-size:15px;font-weight:600}.applications-empty p{margin:6px 0 0;font-size:12.5px}@keyframes application-card-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.applications-page{padding:24px 20px 0}.applications-header{flex-direction:column;gap:16px}.applications-search{width:100%}}@media (prefers-reduced-motion: reduce){.application-card{animation:none;transition:none}.application-card-tooltip{transition:none}}.system-info-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));font-family:inherit}.system-info-page-header{flex:0 0 auto}.system-info-page-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.system-info-page-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.system-info-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;align-content:start;gap:16px;margin-top:24px;padding-bottom:56px}.system-info-section{min-width:0;padding:20px;border-radius:12px;background:hsl(var(--secondary) / .72)}.system-info-section h2{margin:0 0 16px;color:hsl(var(--foreground));font-size:15px;font-weight:600;line-height:1.4}.system-info-summary,.system-info-tool,.system-info-pool dl{margin:0}.system-info-summary>div,.system-info-tool>div{display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);align-items:center;gap:16px}.system-info-summary dt,.system-info-tool dt,.system-info-pool dt{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:400;line-height:1.5}.system-info-summary dd,.system-info-tool dd,.system-info-pool dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.system-info-tool-list{display:grid;gap:8px}.system-info-pool-list{display:grid;gap:16px}.system-info-pool{min-width:0;padding:4px 0}.system-info-empty{color:hsl(var(--muted-foreground));font-weight:400}.system-info-tool{min-width:0;padding:4px 0}.system-info-tool-label{display:flex;align-items:center;gap:7px}.system-info-tool-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(44 88% 43% / .3);border-radius:999px;background:#fac70f2e;color:#976507;font-size:10px;font-weight:600;line-height:1.25;white-space:nowrap}.system-info-pool header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.system-info-pool h3{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.system-info-pool header span{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:10px;font-weight:600;line-height:1.35}.system-info-pool dl{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(120px,.5fr);gap:16px}.system-info-pool dl>div{min-width:0;display:grid;gap:4px}.system-info-loading{display:flex;align-items:center;min-height:24px;color:hsl(var(--muted-foreground));font-size:13px}.system-info-error{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:12px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.system-info-error p,.system-info-empty{margin:0}.system-info-error button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500}.system-info-error button:hover{background:hsl(var(--muted))}.system-info-error button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.system-info-empty{font-size:13px;line-height:1.55}@media (max-width: 760px){.system-info-page{padding:24px 20px 0}.system-info-pool dl{grid-template-columns:1fr;gap:12px}}@media (max-width: 520px){.system-info-summary>div,.system-info-tool>div{grid-template-columns:1fr;gap:4px}}.github-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.github-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.github-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.github-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-back svg{width:16px;height:16px}.github-integration-logo{width:30px;height:30px;flex:0 0 30px;color:hsl(var(--foreground))}.github-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.github-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-integration-layout{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:start;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.github-section-panel{width:100%;min-width:0;box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent}.github-panel-heading p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.6}.github-release-form{margin-top:24px}.github-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.github-field{min-width:0;display:flex;flex-direction:column}.github-field>label,.github-token-label-row>label{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.github-field-requirement{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:500}.github-field-requirement.is-required{color:hsl(var(--destructive))}.github-field input{width:100%;height:38px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.github-field input::placeholder{color:hsl(var(--muted-foreground))}.github-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.github-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.github-region-picker{gap:0;margin:0}.github-region-picker .pp-region-trigger,.github-region-picker .pp-region-option{height:38px;font-size:14px}.github-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.github-token-field{margin-top:16px}.github-token-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.github-token-label-row>a{display:inline-flex;align-items:center;gap:4px;color:#2371e7;font-size:12.5px;font-weight:600;line-height:1.5;text-decoration:none}.github-token-label-row>a:hover{text-decoration:underline}.github-token-label-row>a:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px;border-radius:4px}.github-token-label-row>a svg{width:13px;height:13px}.github-token-input{position:relative}.github-token-input input{padding-right:42px}.github-token-input button{position:absolute;top:5px;right:4px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.github-token-input button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-token-input button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.github-token-input button svg{width:17px;height:17px}.github-submit-message{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-top:16px;padding:10px 12px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.5}.github-submit-message.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.github-submit-message.is-success{border-color:#24894e3d;background:#2bab6012;color:#217343}.github-submit-message a,.github-history-item a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:inherit;font-weight:620;text-decoration:none}.github-submit-message a:hover,.github-history-item a:hover{text-decoration:underline}.github-submit-message svg,.github-history-item svg{width:14px;height:14px}.github-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid hsl(var(--border))}.github-secrets-note{max-width:470px;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-secrets-note strong{color:hsl(var(--foreground));font-weight:600}.github-form-actions button{min-width:126px;height:36px;padding:0 15px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:background-color .16s ease,opacity .16s ease}.github-form-actions button:hover:not(:disabled){background:hsl(var(--foreground) / .84)}.github-form-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-form-actions button:disabled{cursor:wait;opacity:.56}@media (max-width: 680px){.github-integration-page{padding:20px 18px 0}.github-field-grid{grid-template-columns:minmax(0,1fr)}.github-form-actions{align-items:stretch;flex-direction:column}.github-form-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.github-back,.github-field input,.github-form-actions button{transition:none}}.feishu-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.feishu-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.feishu-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.feishu-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.feishu-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.feishu-back:disabled{cursor:not-allowed;opacity:.5}.feishu-back svg{width:16px;height:16px}.feishu-integration-logo{width:30px;height:30px;flex:0 0 30px;object-fit:contain}.feishu-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.feishu-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.feishu-integration-layout{flex:1;min-width:0;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.feishu-section-panel{width:100%;min-width:0}.feishu-panel-description{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.feishu-form{margin-top:24px}.feishu-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.feishu-field{min-width:0;display:flex;flex-direction:column}.feishu-field>label{margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.feishu-field input{width:100%;height:36px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:6px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.feishu-field input::placeholder{color:hsl(var(--muted-foreground))}.feishu-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.feishu-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.feishu-field input:disabled{cursor:not-allowed;opacity:.62}.feishu-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-field-error{margin-top:2px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.feishu-region-picker{position:relative;min-width:0}.feishu-region-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.feishu-region-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.feishu-region-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.feishu-region-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.feishu-region-trigger:disabled{cursor:not-allowed;opacity:.5}.feishu-region-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feishu-region-trigger>svg{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.feishu-region-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.feishu-region-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;box-sizing:border-box;max-height:238px;overflow-y:auto;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.feishu-region-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left}.feishu-region-option:hover,.feishu-region-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.feishu-region-option.is-selected{background:hsl(var(--primary) / .08)}.feishu-secret-input{position:relative}.feishu-secret-input input{padding-right:54px}.feishu-secret-input>button{position:absolute;top:4px;right:4px;height:28px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550}.feishu-secret-input>button:hover:not(:disabled){background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.feishu-secret-input>button:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:-2px}.feishu-secret-input>button:disabled{cursor:not-allowed;opacity:.5}.feishu-deployment-status{margin-top:20px;padding:14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .38)}.feishu-deployment-status.is-succeeded{border-color:#40966452;background:#f1f9f4}.feishu-deployment-status.is-failed{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .045)}.feishu-deployment-heading{min-height:20px;color:hsl(var(--foreground));font-size:13px;line-height:1.5}.feishu-deployment-heading strong{display:inline-flex;align-items:center;gap:6px;font-weight:600}.feishu-deployment-heading svg{width:16px;height:16px;color:#217343}.feishu-deployment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.feishu-deployment-steps li{display:flex;align-items:center;gap:6px;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.feishu-deployment-steps li>span{width:18px;height:18px;display:grid;flex:0 0 18px;place-items:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));font-size:10px}.feishu-deployment-steps li>span svg{width:12px;height:12px}.feishu-deployment-steps li.is-active{color:hsl(var(--foreground));font-weight:550}.feishu-deployment-steps li.is-active>span{border-color:hsl(var(--foreground) / .3)}.feishu-deployment-steps li.is-done>span{border-color:#34895766;color:#217343}.feishu-deployment-error{margin:10px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.55;white-space:pre-wrap}.feishu-deployment-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;color:hsl(var(--muted-foreground));font-size:12px}.feishu-deployment-result>span:first-child{color:hsl(var(--foreground));font-weight:600}.feishu-deployment-result a{display:inline-flex;align-items:center;gap:4px;color:hsl(var(--foreground));font-weight:550;text-decoration:none}.feishu-deployment-result a:hover{text-decoration:underline}.feishu-deployment-result a svg{width:14px;height:14px}.feishu-form-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid hsl(var(--border))}.feishu-secrets-note{display:flex;min-width:0;flex-direction:column;gap:3px}.feishu-secrets-note strong{font-size:12.5px;font-weight:600}.feishu-secrets-note span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-action-buttons{display:flex;flex:0 0 auto;gap:8px}.feishu-submit,.feishu-cancel{height:36px;padding:0 15px;border-radius:7px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.feishu-submit{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.feishu-submit:hover:not(:disabled){opacity:.88}.feishu-submit:disabled{cursor:not-allowed;opacity:.45}.feishu-cancel{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.feishu-cancel:hover{background:hsl(var(--secondary))}.feishu-submit:focus-visible,.feishu-cancel:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}@media (max-width: 760px){.feishu-integration-page{padding:24px 20px 0}.feishu-field-grid{grid-template-columns:1fr}.feishu-deployment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.feishu-form-actions{align-items:stretch;flex-direction:column}.feishu-action-buttons{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.feishu-back,.feishu-field input,.feishu-region-trigger,.feishu-region-trigger>svg{transition:none}}.coding-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.coding-agents-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.coding-agents-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.coding-agents-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-back:disabled{cursor:not-allowed;opacity:.5}.coding-agents-back svg{width:16px;height:16px}.coding-agents-logo{width:32px;height:32px;flex:0 0 32px;color:hsl(var(--foreground))}.coding-agents-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.coding-agents-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.coding-agents-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.coding-agents-content{width:100%;display:flex;flex-direction:column;gap:14px}.coding-agents-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.coding-agents-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coding-agents-section-heading>div{display:flex;align-items:center;gap:9px}.coding-agents-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.coding-agents-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.coding-agents-section-heading>button,.coding-agents-error-row button{min-height:28px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.coding-agents-section-heading>button:hover:not(:disabled),.coding-agents-error-row button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-section-heading>button:focus-visible,.coding-agents-error-row button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.coding-agents-section-heading>button:disabled{cursor:wait;opacity:.5}.coding-agents-inline-state{min-height:86px;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.coding-agents-inline-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-error-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.coding-agents-agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coding-agents-agent{position:relative;min-width:0;min-height:92px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;box-sizing:border-box;padding:12px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.coding-agents-agent:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary) / .18)}.coding-agents-agent.is-selected{border-color:hsl(var(--ring) / .5);background:hsl(var(--primary) / .035);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.coding-agents-agent:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-agent:disabled{cursor:not-allowed;opacity:.58}.coding-agents-agent-mark{width:38px;height:38px;display:grid;place-items:center;color:hsl(var(--foreground))}.coding-agents-agent-mark img{width:32px;height:32px;border-radius:7px}.coding-agents-agent-mark svg{width:32px;height:32px}.coding-agents-agent-mark.is-claude-code{color:#d86e4b}.coding-agents-agent-mark.is-codex{color:#4a55ed}.coding-agents-agent-copy{min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:40px}.coding-agents-agent-copy strong{overflow:hidden;font-size:12.5px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-agent-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-status{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:600}.coding-agents-status.is-ready{background:#36ab661a;color:#247b48}.coding-agents-check{position:absolute;right:9px;bottom:9px;width:17px;height:17px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;color:transparent}.coding-agents-agent.is-selected .coding-agents-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-check svg{width:12px;height:12px}.coding-agents-skill-list{display:flex;flex-direction:column;gap:7px}.coding-agents-skill{min-width:0;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));transition:border-color .15s ease,background-color .15s ease}.coding-agents-skill:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .14)}.coding-agents-skill.is-selected{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .025)}.coding-agents-skill label{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;cursor:pointer}.coding-agents-skill label>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.coding-agents-skill input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.coding-agents-skill-check{width:15px;height:15px;display:grid;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));color:transparent}.coding-agents-skill-check svg{width:10px;height:10px}.coding-agents-skill input:checked+.coding-agents-skill-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-skill input:focus-visible+.coding-agents-skill-check,.coding-agents-skill>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-skill input:disabled+.coding-agents-skill-check{opacity:.55}.coding-agents-skill>button{min-height:30px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap}.coding-agents-skill>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-skill-list strong{font-size:12.5px;font-weight:630;line-height:1.35}.coding-agents-skill-list small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.coding-agents-global{margin-top:14px;padding:14px;border-radius:9px;background:hsl(var(--secondary) / .42)}.coding-agents-global-heading{display:flex;align-items:center;gap:9px}.coding-agents-global-heading>svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground))}.coding-agents-global-heading>div{min-width:0;display:flex;align-items:baseline;gap:8px}.coding-agents-global-heading strong{font-size:12px;font-weight:650}.coding-agents-global-heading span{color:hsl(var(--muted-foreground));font-size:11px}.coding-agents-global dl{margin:10px 0 0 27px}.coding-agents-global dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding-top:6px;font-size:11.5px;line-height:1.45}.coding-agents-global dt{color:hsl(var(--muted-foreground))}.coding-agents-global dd{min-width:0;margin:0;overflow-wrap:anywhere}.coding-agents-global>p{margin:9px 0 0 27px;color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-result{padding:11px 12px;border:1px solid;border-radius:8px;font-size:11.5px;line-height:1.45}.coding-agents-result.is-success{border-color:#2c965838;background:#2da9610f;color:#217343}.coding-agents-result.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.coding-agents-result strong{font-weight:620}.coding-agents-result ul{margin:7px 0 0;padding-left:16px;color:inherit}.coding-agents-result li{margin-top:3px;overflow-wrap:anywhere}.coding-agents-actions{min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.coding-agents-actions>span{color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-actions>button{min-width:112px;min-height:36px;padding:7px 18px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:opacity .15s ease}.coding-agents-actions>button:hover:not(:disabled){opacity:.82}.coding-agents-actions>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-actions>button:disabled{cursor:not-allowed;opacity:.42}.coding-agents-preview-dialog{width:min(980px,calc(100vw - 48px));height:min(680px,calc(100vh - 48px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 24px 64px hsl(var(--foreground) / .18)}.coding-agents-preview-dialog[open]{display:flex;flex-direction:column}.coding-agents-preview-dialog::backdrop{background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.coding-agents-preview-header{min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.coding-agents-preview-mark svg{width:18px;height:18px}.coding-agents-preview-header h2,.coding-agents-preview-header p{margin:0}.coding-agents-preview-header h2{font-size:14px;font-weight:650;line-height:1.4}.coding-agents-preview-header p{margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.coding-agents-preview-header>button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.coding-agents-preview-header>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-header>button:focus-visible,.coding-agents-preview-tree button:focus-visible,.coding-agents-preview-tree summary:focus-visible,.coding-agents-preview-state button:focus-visible,.coding-agents-preview-file pre:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:1px}.coding-agents-preview-header>button svg{width:16px;height:16px}.coding-agents-preview-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}.coding-agents-preview-tree{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.coding-agents-preview-tree-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-tree-title span{font-size:11.5px;font-weight:650}.coding-agents-preview-tree-title small{min-width:20px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;text-align:center}.coding-agents-preview-tree-scroll{min-height:0;overflow:auto;padding:8px}.coding-agents-preview-tree details{margin-bottom:4px}.coding-agents-preview-tree summary{min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;border-radius:6px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:11.5px;list-style:none}.coding-agents-preview-tree summary::-webkit-details-marker{display:none}.coding-agents-preview-tree summary:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree summary svg,.coding-agents-preview-tree button svg{width:15px;height:15px;flex:0 0 15px}.coding-agents-preview-tree details>div{padding-left:13px}.coding-agents-preview-tree button{width:100%;min-width:0;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;text-align:left}.coding-agents-preview-tree button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree button.is-selected{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground));font-weight:600}.coding-agents-preview-tree button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file{min-width:0;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.coding-agents-preview-file>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-file>header strong{min-width:0;overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file>header span{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10.5px}.coding-agents-preview-file pre{flex:1;min-width:0;min-height:0;margin:0;overflow:auto;padding:16px 18px 24px;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre}.coding-agents-preview-file code{font:inherit}.coding-agents-preview-state,.coding-agents-preview-unavailable{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.coding-agents-preview-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-preview-state.is-error{flex-direction:column;color:hsl(var(--destructive))}.coding-agents-preview-state button{min-height:30px;padding:4px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}@keyframes coding-agents-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.coding-agents-page{padding:20px 18px 0}.coding-agents-agent-grid{grid-template-columns:minmax(0,1fr)}.coding-agents-global-heading>div{align-items:flex-start;flex-direction:column;gap:2px}.coding-agents-global dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.coding-agents-actions{align-items:stretch;flex-direction:column;gap:8px}.coding-agents-actions>span{text-align:right}.coding-agents-actions>button{width:100%}.coding-agents-preview-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}.coding-agents-preview-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,34%) minmax(0,1fr)}.coding-agents-preview-tree{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.coding-agents-back,.coding-agents-agent,.coding-agents-skill,.coding-agents-actions>button{transition:none}.coding-agents-inline-state i,.coding-agents-preview-state i{animation-duration:1.5s}}.new-chat-mode{position:relative;align-self:flex-start}.new-chat-mode__trigger{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 7px 2px 5px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease}.composer--new-chat .new-chat-mode__trigger{min-height:36px;font-size:15px}.new-chat-mode__trigger:hover,.new-chat-mode__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-mode__current{max-width:min(180px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__trigger:focus-visible,.new-chat-mode__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-mode__icon,.new-chat-mode__option-icon{display:inline-grid;place-items:center;flex:0 0 auto}.new-chat-mode__icon svg{width:15px;height:15px}.new-chat-mode__option-icon svg{width:18px;height:18px}.new-chat-mode svg{fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.new-chat-mode svg.new-chat-mode__temporary-icon{stroke-width:1.3}.new-chat-mode__chevron{width:12px;height:12px;transition:transform .14s ease}.new-chat-mode__trigger[aria-expanded=true] .new-chat-mode__chevron{transform:rotate(180deg)}.new-chat-mode__menus{position:absolute;z-index:43;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:8px}.new-chat-mode__menu{flex:0 0 auto;width:286px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__option{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer}.new-chat-mode__option.is-active{background:hsl(var(--accent))}.new-chat-mode__option:disabled{cursor:not-allowed;opacity:.48}.new-chat-mode__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-mode__copy>span:last-child{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.new-chat-mode__label{display:flex;min-width:0;align-items:center;gap:7px;font-size:13px;line-height:1.3}.new-chat-mode__label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-mode__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-mode__submenu{flex:0 0 auto;width:248px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__submenu-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-mode__submenu-option:hover:not(:disabled){background:hsl(var(--accent))}.new-chat-mode__submenu-option:disabled{cursor:not-allowed;opacity:.42}.new-chat-mode__builtin-icon{width:24px;height:24px;flex:0 0 auto;stroke-width:1.75}@media (max-width: 640px){.new-chat-mode__menus{width:min(320px,calc(100vw - 48px));max-height:min(520px,calc(100vh - 160px));flex-direction:column;overflow-y:auto}.new-chat-mode__menu,.new-chat-mode__submenu{width:100%}}@media (prefers-reduced-motion: reduce){.new-chat-mode__trigger,.new-chat-mode__chevron{transition:none}}.new-chat-agent-picker{position:relative;min-width:0}.composer--new-chat .new-chat-agent-picker{position:absolute;z-index:5;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-agent-picker{left:138px}.composer--new-chat.composer--task-image .new-chat-agent-picker,.composer--new-chat.composer--task-video .new-chat-agent-picker{left:176px}.new-chat-agent-picker__trigger{display:inline-flex;align-items:center;gap:6px;max-width:min(220px,42vw);min-height:36px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-agent-picker__trigger:hover,.new-chat-agent-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-agent-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-agent-picker__trigger>span{display:flex;min-height:20px;align-items:center;overflow:hidden;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-chevron{width:13px;height:13px;flex:0 0 auto;transform:rotate(90deg);transition:transform .14s ease}.new-chat-agent-picker__trigger[aria-expanded=true] .new-chat-agent-picker__trigger-chevron{transform:rotate(-90deg)}.new-chat-agent-picker__menus{position:absolute;z-index:44;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:7px;outline:none}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-agent-picker__menu{width:218px}.new-chat-agent-picker__submenu{width:272px;max-height:286px;overflow:auto}.new-chat-agent-picker__type,.new-chat-agent-picker__runtime{display:grid;align-items:center;width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left}.new-chat-agent-picker__type{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;padding:7px 8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__type:hover,.new-chat-agent-picker__type.is-keyboard-active,.new-chat-agent-picker__runtime:hover:not(:disabled),.new-chat-agent-picker__runtime.is-keyboard-active{background:hsl(var(--accent))}.new-chat-agent-picker__type-icon,.new-chat-agent-picker__runtime-icon{width:18px;height:18px;flex:0 0 auto}.new-chat-agent-picker__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-agent-picker__runtime{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__runtime:disabled{cursor:wait;opacity:.62}.new-chat-agent-picker__runtime>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__runtime small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-agent-picker__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-agent-picker__runtime-list{display:flex;flex-direction:column;gap:1px}.new-chat-agent-picker__empty{min-height:116px;padding:14px 10px}.new-chat-agent-picker__empty-title{white-space:nowrap}.new-chat-agent-picker__empty-agent-icon{width:32px;height:32px}.new-chat-agent-picker__status,.new-chat-agent-picker__error,.new-chat-agent-picker__inline-error{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.new-chat-agent-picker__status{display:flex;min-height:76px;align-items:center;justify-content:center;gap:7px;padding:12px}.new-chat-agent-picker__error{display:flex;flex-direction:column;gap:8px;padding:10px;color:hsl(var(--destructive))}.new-chat-agent-picker__error>span,.new-chat-agent-picker__inline-error{white-space:pre-wrap;overflow-wrap:anywhere}.new-chat-agent-picker__error button,.new-chat-agent-picker__load-more{min-height:30px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.new-chat-agent-picker__inline-error{padding:6px 8px;color:hsl(var(--destructive))}.new-chat-agent-picker__load-more{width:100%;margin-top:4px}.new-chat-agent-picker__load-more:disabled{cursor:wait;opacity:.55}.new-chat-agent-picker__spinner{width:13px;height:13px;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-agent-picker-spin .7s linear infinite}.new-chat-agent-picker__trigger:focus-visible,.new-chat-agent-picker__type:focus-visible,.new-chat-agent-picker__runtime:focus-visible,.new-chat-agent-picker__error button:focus-visible,.new-chat-agent-picker__load-more:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}@keyframes new-chat-agent-picker-spin{to{transform:rotate(360deg)}}@media (max-height: 700px) and (min-width: 641px){.new-chat-agent-picker__menus{top:auto;bottom:calc(100% + 7px)}.new-chat-agent-picker__submenu{max-height:min(220px,calc(100dvh - 180px))}}@media (max-width: 640px){.new-chat-agent-picker__menus{width:min(320px,calc(100vw - 88px));max-height:min(420px,calc(100dvh - 168px));flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{width:100%;flex:0 0 auto}.new-chat-agent-picker__submenu{max-height:220px}}@media (prefers-reduced-motion: reduce){.new-chat-agent-picker__trigger,.new-chat-agent-picker__trigger-chevron{transition:none}.new-chat-agent-picker__spinner{animation:none}}.new-chat-workspace-tabs{position:relative;z-index:1;display:flex;align-self:flex-start;width:100%;height:76px;margin:0 0 -26px;padding:8px 10px 34px;align-items:flex-start;gap:6px;overflow-x:auto;overflow-y:hidden;border-radius:16px 16px 13px 13px;background:hsl(var(--muted) / .72);box-sizing:border-box;scrollbar-width:none}.new-chat-workspace-tabs::-webkit-scrollbar{display:none}.new-chat-workspace-tabs__tab{position:relative;display:inline-flex;flex:0 0 104px;width:104px;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:14px;font-weight:400;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.new-chat-workspace-tabs__tab:hover:not(:disabled):not(.is-active){background:hsl(var(--background) / .56);color:hsl(var(--foreground))}.new-chat-workspace-tabs__tab.is-active{color:hsl(var(--foreground));font-weight:400}.new-chat-workspace-tabs__slider{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid hsl(var(--border) / .76);border-radius:inherit;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035);pointer-events:none}.new-chat-workspace-tabs__tab:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-workspace-tabs__tab:disabled{cursor:not-allowed;opacity:.48}.new-chat-workspace-tabs__icon{position:relative;z-index:1;width:17px;height:17px;flex:0 0 auto}.new-chat-workspace-tabs__skill-icon{display:inline-grid;place-items:center}.new-chat-workspace-tabs__skill-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .2s cubic-bezier(.22,1,.36,1)}.new-chat-workspace-tabs__skill-shape.is-triangle{clip-path:inset(0 18% 50% 18%);transform-origin:50% 30%}.new-chat-workspace-tabs__skill-shape.is-circle{clip-path:inset(47% 50% 0 0);transform-origin:28% 72%}.new-chat-workspace-tabs__skill-shape.is-square{clip-path:inset(47% 0 0 50%);transform-origin:72% 72%}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-box:view-box;transform-origin:12px 18.5px;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-triangle{transform:translateY(-1px) scale(1.04)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-circle{transform:translate(-.6px,.6px) rotate(-6deg)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-square{transform:translate(.7px,.5px) rotate(6deg)}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-origin:3.25px 9px}.new-chat-workspace-tabs__tab:hover:not(:disabled) .video-generate-icon__clapper{transform:rotate(-14deg)}.new-chat-workspace-tabs__label{position:relative;z-index:1}.new-chat-skill-picker{position:relative;flex:0 0 auto;min-width:0}.new-chat-skill-controls{position:absolute;z-index:5;right:52px;bottom:10px;left:52px;display:flex;min-width:0;align-items:center;gap:4px}.new-chat-skill-controls__style,.new-chat-skill-controls__model{min-width:0}.new-chat-skill-controls__style{flex:0 1 auto;max-width:180px}.new-chat-skill-controls__model{flex:0 1 auto;max-width:240px;margin-left:auto}.new-chat-skill-controls__style .new-chat-compact-select,.new-chat-skill-controls__model .new-chat-compact-select{width:fit-content;max-width:100%}.new-chat-skill-controls__style .new-chat-compact-select__trigger,.new-chat-skill-controls__model .new-chat-compact-select__trigger{width:auto;max-width:100%}.new-chat-skill-controls__model .new-chat-compact-select__menu{right:0;left:auto}.new-chat-skill-picker__trigger{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-skill-picker__trigger:hover,.new-chat-skill-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-skill-picker__trigger:focus-visible,.new-chat-skill-picker__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-skill-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-skill-picker__chevron,.new-chat-skill-picker__check{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-skill-picker__chevron{transition:transform .14s ease}.new-chat-skill-picker__trigger[aria-expanded=true] .new-chat-skill-picker__chevron{transform:rotate(180deg)}.new-chat-skill-picker__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:180px;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-skill-picker__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:34px;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.new-chat-skill-picker__option:hover,.new-chat-skill-picker__option.is-active{background:hsl(var(--accent))}.new-chat-skill-picker__check{color:hsl(var(--primary))}.new-chat-compact-select{position:relative;min-width:0;max-width:190px}.new-chat-compact-select__trigger{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;gap:5px;padding:2px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-compact-select__trigger:focus-visible,.new-chat-compact-select__search input:focus-visible,.new-chat-compact-select__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-compact-select__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-compact-select__label{flex:0 0 auto;color:hsl(var(--muted-foreground) / .76)}.new-chat-compact-select__value{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__value.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.new-chat-compact-select__chevron,.new-chat-compact-select__check{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-compact-select__chevron{transition:transform .14s ease}.new-chat-compact-select__spinner{width:13px;height:13px;flex:0 0 auto;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-compact-select-spin .7s linear infinite}@keyframes new-chat-compact-select-spin{to{transform:rotate(360deg)}}.new-chat-compact-select__trigger[aria-expanded=true] .new-chat-compact-select__chevron{transform:rotate(180deg)}.new-chat-compact-select__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:min(240px,calc(100vw - 32px));padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .28),0 3px 10px hsl(var(--foreground) / .05)}.new-chat-compact-select__search{display:block;padding:2px 2px 5px}.new-chat-compact-select__search input{width:100%;min-height:32px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.new-chat-compact-select__list{max-height:240px;overflow-y:auto}.new-chat-compact-select__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:36px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-compact-select__option:hover,.new-chat-compact-select__option.is-active{background:hsl(var(--accent))}.new-chat-compact-select__option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-compact-select__option-copy strong,.new-chat-compact-select__option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__option-copy strong{font-size:13px;font-weight:550}.new-chat-compact-select__option-copy small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-compact-select__check{color:hsl(var(--primary))}.new-chat-compact-select__status{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.new-chat-compact-select__status.is-error{color:hsl(var(--destructive))}.new-chat-compact-select__status button{flex:0 0 auto;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}@media (max-width: 520px){.new-chat-workspace-tabs__tab{gap:5px;padding:0 6px;font-size:13px}.new-chat-workspace-tabs__icon{width:16px;height:16px}.new-chat-skill-controls>.new-chat-compact-select{flex:1 1 0}.new-chat-skill-picker__trigger{padding-right:5px;padding-left:4px;font-size:13px}.new-chat-compact-select__trigger{padding-right:5px;padding-left:5px;gap:3px}.new-chat-compact-select__label{display:none}}@media (prefers-reduced-motion: reduce){.new-chat-workspace-tabs__tab,.new-chat-skill-picker__trigger,.new-chat-skill-picker__chevron,.new-chat-compact-select__trigger,.new-chat-compact-select__chevron{transition:none}.new-chat-compact-select__spinner{animation:none}.new-chat-workspace-tabs__skill-shape,.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transition:none}}.new-chat-skill-target-picker{position:relative;min-width:0;flex:0 1 220px}.new-chat-skill-target-picker__trigger{max-width:100%}.new-chat-skill-target-picker__menus.is-above{top:auto;bottom:calc(100% + 7px)}.new-chat-skill-target-picker__menus>.new-chat-agent-picker__menu,.new-chat-skill-target-picker__submenu{max-height:var(--new-chat-skill-menu-max-height, 286px);overflow-y:auto;overscroll-behavior:contain}.new-chat-skill-target-picker__space{grid-template-columns:minmax(0,1fr) 16px}.new-chat-skill-target-picker__space>span,.new-chat-skill-target-picker__skill>span,.new-chat-skill-target-picker__skill>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-skill-target-picker__space.is-previewed{background:hsl(var(--accent))}.new-chat-skill-target-picker__skill{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.new-chat-skill-target-picker__skill>span{grid-column:1;font-weight:400}.new-chat-skill-target-picker__skill>small{grid-column:1}.new-chat-skill-target-picker__skill>.new-chat-agent-picker__check{grid-column:2;grid-row:1 / span 2}.new-chat-skill-target-picker__empty{display:grid;min-height:76px;place-items:center;padding:12px;color:hsl(var(--muted-foreground));font-size:12px}@media (prefers-reduced-motion: reduce){.new-chat-skill-target-picker__spinner{animation:none}}.new-chat-video-controls{position:absolute;z-index:0;top:calc(100% - 8px);right:16px;left:16px;display:flex;min-width:0;flex-direction:column;gap:12px;padding:24px 14px 12px;border:0;border-radius:0 0 14px 14px;background:hsl(var(--muted) / .72);color:hsl(var(--foreground));transform-origin:top center}.new-chat-video-controls__parameters{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:8px;background:hsl(var(--background) / .54)}.new-chat-video-task-mode{position:absolute;z-index:5;bottom:10px;left:52px;width:fit-content;min-width:0;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select{width:fit-content;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select__trigger{width:auto;min-width:96px;max-width:220px;padding-right:10px;padding-left:10px}.new-chat-video-generation-model{position:absolute;z-index:5;right:52px;bottom:10px;display:inline-flex;min-width:0;min-height:36px;max-width:290px;align-items:center;gap:5px;padding:2px 8px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-generation-model strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-controls__field{min-width:0}.new-chat-video-controls__parameters>:not(:first-child){border-left:1px solid hsl(var(--border) / .62)}.new-chat-video-controls .new-chat-compact-select{width:100%;max-width:none}.new-chat-video-controls .new-chat-compact-select__trigger,.new-chat-video-duration{width:100%;min-height:36px;border:0;border-radius:0;background:transparent}.new-chat-video-controls__parameters>:first-child,.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:8px 0 0 8px}.new-chat-video-controls__parameters>:last-child{border-radius:0 8px 8px 0}.new-chat-video-controls .new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-video-controls .new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--background) / .92)}.new-chat-video-duration{display:grid;min-width:0;grid-template-columns:72px minmax(52px,1fr);align-items:center;gap:8px;padding:2px 8px}.new-chat-video-duration.is-disabled{opacity:.48}.new-chat-video-duration__header{display:flex;align-items:center;justify-content:space-between;gap:4px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-duration__header output{color:hsl(var(--foreground));font-weight:550}.new-chat-video-duration input{width:100%;height:16px;margin:0;accent-color:hsl(var(--primary));cursor:pointer}.new-chat-video-duration input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:hsl(var(--muted-foreground) / .24)}.new-chat-video-duration input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:hsl(var(--foreground) / .72);-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-chat-video-duration input:disabled{cursor:not-allowed}.new-chat-video-duration:focus-within{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-controls__assets{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-chat-video-controls__assets.is-single{grid-template-columns:minmax(0,1fr)}.composer-input-stack.has-inline-asset .comp-input{padding-left:96px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:96px;max-width:calc(100% - 106px)}.new-chat-inline-video{position:absolute;z-index:3;top:3px;left:10px;width:70px;height:66px}.new-chat-inline-video__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-inline-video__tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;overflow:hidden;box-sizing:border-box;border:1px dashed hsl(var(--muted-foreground) / .5);border-radius:10px;background:hsl(var(--muted) / .45);color:hsl(var(--muted-foreground));font-size:12px;line-height:1;cursor:pointer;transform:rotate(-6deg);transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .15s ease-out,background-color .15s ease-out}.new-chat-inline-video__tile:hover,.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile,.new-chat-inline-video:focus-within .new-chat-inline-video__tile{border-color:hsl(var(--muted-foreground) / .72);background:hsl(var(--muted) / .68);transform:rotate(0)}.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile{outline:2px solid hsl(var(--primary) / .42);outline-offset:2px}.new-chat-inline-video__tile svg{width:22px;height:22px;flex:0 0 auto}.new-chat-inline-video__tile img,.new-chat-inline-video__tile video{width:100%;height:100%;display:block;object-fit:cover}.new-chat-inline-video__remove{position:absolute;z-index:2;top:-5px;right:-5px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;opacity:0;transition:opacity .14s ease-out,color .14s ease-out}.new-chat-inline-video:hover .new-chat-inline-video__remove,.new-chat-inline-video:focus-within .new-chat-inline-video__remove{opacity:1}.new-chat-inline-video__remove:hover{color:hsl(var(--foreground))}.new-chat-inline-video__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px;opacity:1}.new-chat-inline-video__remove svg{width:13px;height:13px}.new-chat-inline-video.is-disabled{opacity:.48}.new-chat-inline-video.is-disabled .new-chat-inline-video__tile,.new-chat-inline-video__remove:disabled{cursor:not-allowed}.new-chat-video-controls__model-hint{min-height:18px;display:flex;align-items:center;justify-content:center;margin:-2px 2px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.new-chat-video-controls__storage-unavailable{min-height:18px;margin:-3px 2px -4px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;text-align:center}.new-chat-video-model-spinner{width:13px;height:13px;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:new-chat-video-model-spin .72s linear infinite}@keyframes new-chat-video-model-spin{to{transform:rotate(360deg)}}.new-chat-video-asset{position:relative;min-width:0}.new-chat-video-asset__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-video-asset__label{display:grid;min-height:50px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;border:1px dashed hsl(var(--border) / .72);border-radius:8px;background:hsl(var(--background) / .36);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.new-chat-video-asset__label:hover{border-color:hsl(var(--muted-foreground) / .48);background:hsl(var(--background) / .8)}.new-chat-video-asset__input:focus-visible+.new-chat-video-asset__label{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset.is-disabled{opacity:.48}.new-chat-video-asset.is-disabled .new-chat-video-asset__label{cursor:not-allowed}.new-chat-video-asset__icon{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:7px;background:hsl(var(--accent));color:hsl(var(--muted-foreground))}.new-chat-video-asset__icon svg{width:15px;height:15px}.new-chat-video-asset__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-video-asset__title{display:flex;min-width:0;align-items:baseline;gap:6px;font-size:13px;font-weight:550}.new-chat-video-asset__title small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:450}.new-chat-video-asset__value{overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-asset__value.is-selected{color:hsl(var(--foreground) / .78)}.new-chat-video-asset__action{padding-right:2px;color:hsl(var(--foreground) / .74);font-size:12px;font-weight:550}.new-chat-video-asset__remove{position:absolute;z-index:1;top:50%;right:7px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transform:translateY(-50%)}.new-chat-video-asset__remove:hover{color:hsl(var(--foreground))}.new-chat-video-asset__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset__remove:disabled{cursor:not-allowed}.new-chat-video-asset__remove svg{width:14px;height:14px}.new-chat-video-asset:has(.new-chat-video-asset__remove) .new-chat-video-asset__action{visibility:hidden}@media (max-width: 620px){.new-chat-video-controls{right:16px;left:16px;padding-right:12px;padding-left:12px}.new-chat-video-controls__parameters{grid-template-columns:minmax(0,1fr)}.new-chat-video-controls__parameters>*{border-left:0;border-top:1px solid hsl(var(--border) / .62);border-radius:0!important}.new-chat-video-controls__parameters>:first-child{border-top:0;border-radius:8px 8px 0 0!important}.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:inherit}.new-chat-video-controls__parameters>:last-child{border-radius:0 0 8px 8px!important}.new-chat-video-controls__assets{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.new-chat-video-model-spinner{border-right-color:currentColor;animation:none}}@media (max-width: 520px){.new-chat-video-task-mode,.new-chat-video-task-mode .new-chat-compact-select,.new-chat-video-task-mode .new-chat-compact-select__trigger{max-width:132px}.new-chat-video-generation-model{max-width:84px}.new-chat-video-generation-model>span{display:none}.composer-input-stack.has-inline-asset .comp-input{padding-left:84px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:84px;max-width:calc(100% - 94px)}.new-chat-inline-video{width:60px;height:60px}}@media (prefers-reduced-motion: reduce){.new-chat-video-asset__label,.new-chat-inline-video__tile,.new-chat-inline-video__remove{transition:none}.new-chat-inline-video__tile{transform:none}}.stk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 6vh}.stk-head{text-align:center;margin-bottom:26px}.stk-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em}.stk-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.stk-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}.stk-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,background .12s}.stk-card:hover{border-color:hsl(var(--ring) / .35);background:hsl(var(--foreground) / .02);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.stk-card-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.stk-card-icon svg{width:21px;height:21px}.stk-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.stk-card-title{font-size:15px;font-weight:600}.stk-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.stk-card-status{flex-shrink:0;padding:4px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.stk-card-arrow{flex-shrink:0;width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.stk-card:hover .stk-card-arrow{opacity:1;transform:translate(0)}.stk-card-disabled{opacity:.5;cursor:not-allowed}.stk-card-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--card));box-shadow:none}.stk-card-disabled .stk-card-arrow{display:none}.stk-footer{margin-top:18px;width:100%;max-width:520px;display:flex;justify-content:center}.stk-import{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px dashed hsl(var(--border));border-radius:9px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.stk-import:hover{color:hsl(var(--foreground));border-color:hsl(var(--ring) / .4);background:hsl(var(--foreground) / .03)}.stk-import svg{width:15px;height:15px}@layer components{._Container_1tuad_1{position:relative;display:flex}._Container_1tuad_1[data-has-label]{align-items:flex-start}._Container_1tuad_1[data-orientation=right]{flex-direction:row-reverse}._Container_1tuad_1>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._Checkbox_1tuad_22{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;max-width:18px;height:18px;padding:0;border-radius:var(--radius-xs);background-color:transparent;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}._Checkbox_1tuad_22,:where([data-theme=light]) ._Checkbox_1tuad_22{border:1px solid var(--gray-200)}:where([data-theme=dark]) ._Checkbox_1tuad_22{border:1px solid var(--gray-500)}[data-has-label] ._Checkbox_1tuad_22{top:1px}@media (hover: hover) and (pointer: fine){._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover,:where([data-theme=light]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22:where(:not([data-disabled],[data-state=checked])):hover{border-color:var(--gray-600)}}._Checkbox_1tuad_22[data-state=indeterminate],._Checkbox_1tuad_22[data-state=checked]{border-color:var(--gray-900);background-color:var(--gray-900)}._Checkbox_1tuad_22:focus{outline:none}._Checkbox_1tuad_22:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._Checkbox_1tuad_22[data-disabled]{cursor:not-allowed}._Checkbox_1tuad_22[data-disabled],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-150);background:var(--gray-25)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled]{border-color:var(--gray-300);background:var(--gray-200)}._Checkbox_1tuad_22[data-disabled][data-state=checked],:where([data-theme=light]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-300);background-color:var(--gray-300)}:where([data-theme=dark]) ._Checkbox_1tuad_22[data-disabled][data-state=checked]{border-color:var(--gray-200);background-color:var(--gray-200)}._CheckMark_1tuad_92{position:absolute;top:0;left:0;width:64%;height:32%;transform:rotate(-45deg) translate(-10%,100%);transform-origin:center;transition:opacity .15s ease,transform .15s ease}@starting-style{._CheckMark_1tuad_92{opacity:0}}[data-state=indeterminate] ._CheckMark_1tuad_92{transform:translate(30%,80%)}[data-state=indeterminate] ._CheckMark_1tuad_92:before{opacity:0}._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{position:absolute;display:block;background:var(--gray-0);content:"";will-change:transform}@starting-style{._CheckMark_1tuad_92:before,._CheckMark_1tuad_92:after{transform:scale(0)}}:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:before,:where([data-theme=dark]) ._CheckMark_1tuad_92[data-disabled]:after{background:var(--gray-100)}._CheckMark_1tuad_92:before{top:0;bottom:0;left:0;width:2px;transform-origin:0 0;transition:transform .1s ease 80ms,opacity .2s ease}._CheckMark_1tuad_92 [data-state=indeterminate]:before{opacity:0}._CheckMark_1tuad_92:after{right:0;bottom:0;left:0;height:2px;transform-origin:0 100%;transition:transform .1s ease .16s}._Label_1tuad_162{display:flex;align-items:center;min-height:20px;cursor:pointer;font-size:14px;line-height:20px}[data-disabled] ._Label_1tuad_162{cursor:not-allowed}[data-orientation=left] ._Label_1tuad_162{padding-left:8px}[data-orientation=right] ._Label_1tuad_162{padding-right:8px}}@layer components{._RadioGroup_onrfm_1{display:flex;gap:var(--radio-group-row-gap)}._RadioGroup_onrfm_1:where([data-direction=col]){flex-direction:column;gap:var(--radio-group-col-gap)}._RadioLabel_onrfm_9{display:inline-flex;flex-direction:row;align-items:flex-start;gap:var(--radio-group-item-gap);cursor:pointer;font-size:var(--radio-group-item-font-size);line-height:var(--radio-group-item-line-height)}._RadioLabel_onrfm_9[data-disabled]{cursor:not-allowed;opacity:.5}._RadioLabel_onrfm_9[data-block]{width:100%}._RadioIndicatorWrapper_onrfm_26{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--radio-group-item-line-height)}._RadioIndicatorWrapper_onrfm_26>input{right:0;bottom:0;left:0;height:1px!important;transform:none!important}._RadioItem_onrfm_43{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);padding:0;border:none;border-radius:var(--radius-full);background-color:transparent;box-shadow:0 0 0 1px var(--radio-group-indicator-border-color) inset;cursor:pointer;transition-duration:var(--transition-duration-basic);transition-property:box-shadow;transition-timing-function:var(--transition-ease-basic)}@media (hover: hover) and (pointer: fine){._RadioItem_onrfm_43:where(:not([data-disabled])):hover{box-shadow:0 0 0 1px var(--radio-group-indicator-border-color-hover) inset}}._RadioItem_onrfm_43[data-disabled]{cursor:not-allowed}._RadioItem_onrfm_43:focus{outline:none}._RadioItem_onrfm_43:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}._RadioIndicator_onrfm_26{position:relative;display:inline-grid;align-items:center;justify-content:center;width:100%;height:100%}._RadioIndicator_onrfm_26:before,._RadioIndicator_onrfm_26:after{display:block;content:"";grid-column-start:1;grid-row-start:1;place-self:center center;will-change:transform}._RadioIndicator_onrfm_26:before{width:var(--radio-group-indicator-size);height:var(--radio-group-indicator-size);border-radius:var(--radius-full);animation:_fade-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-background-color)}._RadioIndicator_onrfm_26:after{width:var(--radio-group-indicator-hole-size);height:var(--radio-group-indicator-hole-size);border-radius:var(--radius-full);animation:_scale-in_onrfm_1 .6s var(--cubic-enter);background-color:var(--radio-group-indicator-hole-background-color)}@keyframes _scale-in_onrfm_1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes _fade-in_onrfm_1{0%{opacity:0}to{opacity:1}}}.code-browser-trigger{min-height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:color .12s ease,background-color .12s ease}.code-browser-trigger svg{width:13px;height:13px}.code-browser-trigger:hover{background:hsl(var(--foreground) / .04);color:hsl(var(--foreground))}.code-browser-trigger:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.code-browser-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:code-browser-fade-in .14s ease-out}.code-browser-dialog{width:min(1040px,92vw);height:min(720px,84vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:code-browser-rise-in .18s cubic-bezier(.2,.8,.2,1)}.code-browser-head{flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.code-browser-title-wrap{min-width:0;display:flex;align-items:center;gap:10px}.code-browser-title-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:7px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-title-icon svg,.code-browser-close svg{width:16px;height:16px}.code-browser-title-wrap h2,.code-browser-title-wrap p{margin:0}.code-browser-title-wrap h2{color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35}.code-browser-title-wrap p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.code-browser-close{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.code-browser-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.code-browser-workspace{flex:1;min-height:0;display:flex}.code-browser-sidebar{flex:0 0 220px;min-width:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .22)}.code-browser-sidebar-head,.code-browser-path{flex:0 0 38px;min-height:38px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.code-browser-sidebar-head{justify-content:space-between;padding:0 12px;color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.code-browser-sidebar-head span{font-variant-numeric:tabular-nums;font-weight:500}.code-browser-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.code-browser-file,.code-browser-folder{width:100%;min-height:30px;display:flex;align-items:center;gap:6px;padding-top:4px;padding-right:10px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.code-browser-file:hover,.code-browser-folder:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.code-browser-file.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.code-browser-file svg,.code-browser-folder svg{width:14px;height:14px;flex:0 0 auto}.code-browser-folder>svg:first-child{width:12px;height:12px;transition:transform .12s ease}.code-browser-folder>svg:first-child.is-open{transform:rotate(90deg)}.code-browser-file span,.code-browser-folder span,.code-browser-path span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-browser-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.code-browser-path{gap:7px;padding:0 13px;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.code-browser-path svg{width:13px;height:13px;flex:0 0 auto}.code-browser-editor{flex:1;min-height:0;overflow:hidden}.code-browser-editor>div,.code-browser-editor .cm-theme,.code-browser-editor .cm-editor{height:100%}.code-browser-editor .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.code-browser-empty{height:100%;display:grid;place-items:center;padding:20px;color:hsl(var(--muted-foreground));font-size:12px}@keyframes code-browser-fade-in{0%{opacity:0}to{opacity:1}}@keyframes code-browser-rise-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.code-browser-backdrop{padding:12px}.code-browser-dialog{width:100%;height:min(760px,92vh)}.code-browser-sidebar{flex-basis:168px}}@media (prefers-reduced-motion: reduce){.code-browser-backdrop,.code-browser-dialog{animation:none}}.pp-config-section.pp-resource-section{overflow:visible}.pp-resource-section:has(.pp-deployment-select-trigger[aria-expanded=true]){position:relative;z-index:70}.pp-resource-list{--pp-resource-mode-column: minmax(196px, .34fr);display:flex;flex-direction:column;gap:12px}.pp-resource-item{min-width:0;padding:12px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background))}.pp-resource-name{margin-bottom:10px;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.4}.pp-resource-grid{min-width:0;display:grid;grid-template-columns:var(--pp-resource-mode-column) minmax(0,.66fr);align-items:start;gap:12px}.pp-resource-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-resource-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-resource-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-field>input{width:100%;min-width:0;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;transition:border-color .12s ease,box-shadow .12s ease}.pp-resource-field>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-resource-field>input:disabled{cursor:not-allowed;opacity:.55}.pp-resource-auto-names{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-auto-names>dl{min-width:0;margin:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background))}.pp-resource-auto-names>dl>div{min-width:0;min-height:35px;display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,.66fr);align-items:center;gap:10px;padding:8px 10px}.pp-resource-auto-names>dl>div+div{border-top:1px solid hsl(var(--border) / .72)}.pp-resource-auto-names dt,.pp-resource-auto-names dd{min-width:0;margin:0}.pp-resource-auto-names dd{overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px}.pp-resource-auto-names>small{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-picker{min-width:0;display:flex;flex-direction:column;gap:6px}.pp-resource-status{min-height:17px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-error{min-height:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.pp-resource-error span{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.pp-resource-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-resource-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-resource-validation{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}@media (max-width: 760px){.pp-resource-grid,.pp-resource-fields,.pp-resource-fields-three{grid-template-columns:minmax(0,1fr)}.pp-resource-auto-names>dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (prefers-reduced-motion: reduce){.pp-resource-field>input{transition:none}}.layout{--pp-sidebar-width: 236px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.pp-toolbar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.pp-toolbar-left,.pp-toolbar-actions,.pp-actions{display:flex;align-items:center}.pp-toolbar-left{min-width:0;gap:18px}.pp-toolbar-actions{flex:0 0 auto;gap:8px}.pp-toolbar-back{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;font-weight:500;cursor:pointer}.pp-toolbar-back:hover{color:hsl(var(--foreground))}.pp-toolbar-title{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-secondary{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.pp-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.pp-secondary:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--accent))}.pp-secondary:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.pp-secondary:disabled{opacity:.55;cursor:default}.pp-body{flex:1;min-height:0;min-width:0;display:flex}.pp-files-area{flex:1 1 auto;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.pp-sidebar{flex:0 0 218px;width:218px;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .24)}.pp-sidebar-head,.pp-main-head{flex:0 0 42px;min-height:42px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.pp-sidebar-head{gap:8px;padding:0 9px 0 14px}.pp-project-name{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:650;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.pp-row{width:100%;min-height:29px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.pp-row:hover{background:hsl(var(--foreground) / .045)}.pp-file.pp-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.pp-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-folder .pp-label{color:hsl(var(--muted-foreground))}.pp-ic{width:15px;height:15px;flex:0 0 auto}.pp-chevron{color:hsl(var(--muted-foreground));transition:transform .12s ease}.pp-chevron.pp-open{transform:rotate(90deg)}.pp-icon-btn{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-icon-btn:hover:not(:disabled){background:hsl(var(--foreground) / .07);color:hsl(var(--foreground))}.pp-icon-btn:disabled{opacity:.45;cursor:default}.pp-danger:hover:not(:disabled){color:hsl(var(--destructive))}.pp-new-input{width:calc(100% - 16px);height:30px;margin:2px 8px 6px;padding:0 8px;border:1px solid hsl(var(--ring) / .55);border-radius:4px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-empty,.pp-placeholder{width:100%;padding:28px 16px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.pp-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.pp-main-head{gap:12px;padding:0 10px 0 14px;background:hsl(var(--background))}.pp-path{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-actions{gap:2px}.pp-content{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.pp-codemirror,.pp-codemirror>div,.pp-codemirror .cm-editor{width:100%;height:100%;min-height:0}.pp-codemirror .cm-editor{overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px}.pp-codemirror .cm-scroller{overflow:auto;overscroll-behavior:none;scroll-padding-block:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.58}.pp-codemirror .cm-content{padding:10px 0 0}.pp-codemirror .cm-line{padding:0 14px 0 8px}.pp-codemirror .cm-content>.cm-line:last-child:has(>br:only-child){display:none}.pp-codemirror .cm-gutters{border-right:1px solid hsl(var(--border) / .7);background:hsl(var(--secondary) / .2);color:hsl(var(--muted-foreground) / .65)}.pp-codemirror .cm-activeLine,.pp-codemirror .cm-activeLineGutter{background:hsl(var(--foreground) / .035)}.pp-codemirror .cm-focused{outline:none}.pp-editor-loading{height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12px}.pp-pre{flex:1;width:100%;height:100%;box-sizing:border-box;margin:0;padding:14px 16px 0;overflow:auto;background:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;font-style:normal;font-variant-ligatures:none;font-weight:400;line-height:1.58;-moz-tab-size:2;tab-size:2;white-space:pre}.pp-root.is-deploy{--pp-publish-content-width: min(760px, max(680px, calc(100% - 48px) ));overflow-y:auto}.pp-root.is-deploy.is-embedded{--pp-publish-content-width: 100%}.pp-root.is-deploy .pp-body{flex:0 0 auto;min-height:100%;display:grid;grid-template-rows:auto auto;overflow:visible}.pp-root.is-deploy.has-primary-pane .pp-body{display:flex;justify-content:center;background:hsl(var(--background))}.pp-root.is-deploy.has-primary-pane .pp-config{width:min(760px,100%);background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-head,.pp-root.is-deploy.has-primary-pane .pp-config-actions{border:0;background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-actions{position:sticky;bottom:0;width:var(--pp-publish-content-width);margin:0 auto;justify-content:center;padding:12px 0 18px;background:hsl(var(--background));transform:none}.pp-root.is-deploy.has-primary-pane .pp-deploy-hint{position:absolute;left:18px}.pp-root.is-deploy .pp-files-area{display:none}.pp-release-overview{min-width:0;min-height:0;border-bottom:0;background:transparent}.pp-release-preview{width:var(--pp-publish-content-width);box-sizing:border-box;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 auto;padding:8px 0 12px}.pp-release-preview.is-embedded{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch}.pp-flow-thumbnail{position:relative;height:200px;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px;background:transparent;box-shadow:none}.pp-flow-thumbnail .abc-root,.pp-flow-dialog-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto;border:0;background:transparent}.pp-flow-thumbnail .abc-canvas,.pp-flow-dialog-canvas .abc-canvas{flex:1;min-height:0;background:transparent}.pp-flow-thumbnail .react-flow__pane{cursor:grab}.pp-flow-thumbnail .react-flow__pane:active{cursor:grabbing}.pp-flow-thumbnail .react-flow__controls{display:none}.pp-flow-expand{position:absolute;z-index:5;right:10px;bottom:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit}.pp-flow-expand:hover{background:transparent;color:hsl(var(--foreground))}.pp-flow-expand:focus-visible{outline:2px solid hsl(var(--primary) / .72);outline-offset:2px}.pp-flow-expand svg{width:17px;height:17px}.pp-release-info{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-release-card-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34);color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-release-info-body{padding:14px 18px 16px}.pp-release-info-main{min-width:0}.pp-release-info h2{margin:0;color:hsl(var(--foreground));font-size:18px;font-weight:700;letter-spacing:-.02em}.pp-release-description{display:-webkit-box;margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0 0}.pp-release-facts>div{min-width:0}.pp-release-facts dt{color:hsl(var(--muted-foreground));font-size:13px}.pp-release-facts dd{margin:5px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-release-facts .pp-release-fact-long{display:-webkit-box;overflow:hidden;line-height:1.45;text-overflow:clip;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts .pp-release-prompt{-webkit-line-clamp:3}.pp-artifact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px}.pp-artifact-actions.is-rail{flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0;padding:0}.pp-artifact-actions.is-rail .pp-secondary,.pp-artifact-actions.is-rail .code-browser-trigger{flex:1 1 0;width:100%;min-height:36px;justify-content:center}.pp-artifact-actions .pp-secondary,.pp-artifact-actions .code-browser-trigger{min-height:34px;padding-inline:12px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);box-shadow:none;color:hsl(var(--foreground));font-size:13px}.pp-artifact-actions .pp-secondary:hover,.pp-artifact-actions .code-browser-trigger:hover{background:hsl(var(--secondary))}.pp-flow-backdrop{--cw-workspace-ink: 222 24% 13%;position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px;background:hsl(var(--foreground) / .36);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pp-flow-dialog{width:min(1120px,92vw);height:min(720px,86vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 80px hsl(var(--foreground) / .22)}.pp-flow-dialog>header{flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px 0 22px;border-bottom:1px solid hsl(var(--border))}.pp-flow-dialog>header>div{display:flex;flex-direction:column;gap:3px}.pp-flow-dialog>header strong{font-size:15px;font-weight:680}.pp-flow-dialog>header span{color:hsl(var(--muted-foreground));font-size:10.5px}.pp-flow-dialog>header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-flow-dialog>header button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.pp-flow-dialog>header svg{width:17px;height:17px}.pp-flow-dialog-canvas{flex:1;min-height:0;background:transparent}.pp-config{position:relative;min-width:0;width:auto;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.pp-config-head{width:var(--pp-publish-content-width);flex:0 0 48px;height:48px;box-sizing:border-box;display:flex;align-items:center;margin:0 auto;padding:0;border-bottom:0}.pp-config-title{color:hsl(var(--foreground));font-size:18px;font-weight:650;letter-spacing:-.01em}.pp-env-sub{margin-top:4px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.pp-config-scroll{width:var(--pp-publish-content-width);flex:0 0 auto;min-height:0;box-sizing:border-box;display:block;margin:0 auto;overflow:visible;padding:0 0 88px}.pp-config-actions{position:fixed;z-index:40;left:calc((100vw + var(--pp-sidebar-width, 0px)) / 2);bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;transform:translate(-50%)}.pp-config-actions.is-external{display:none}.pp-config-section{width:100%;min-width:0;box-sizing:border-box;margin:0 0 12px;padding:0 18px 16px;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-config-section:has(.pp-network-region){overflow:visible}.pp-config-section:has(.pp-network-region.is-open){position:relative;z-index:70}.pp-config-section:has(.pp-network-region)>.pp-config-label{border-radius:17px 17px 0 0}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{display:block;margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent;color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent}.pp-env-head .pp-config-label{margin:0;padding:0;border:0;background:transparent}.pp-config-note{margin:-4px 0 10px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-runtime-name-field{display:grid;gap:6px}.pp-runtime-name-field>.pp-config-note,.pp-runtime-name-field>.pp-runtime-name-error{margin:0}.pp-auth-section{overflow:visible}.pp-auth-preserved-note{margin:0}.pp-auth-fields{width:min(100%,560px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.pp-auth-fields>label{min-width:0;display:flex;flex-direction:column;gap:7px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deployment-select{position:relative;min-width:0}.pp-deployment-select-trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.pp-deployment-select-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.pp-deployment-select-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.pp-deployment-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-deployment-select-trigger:disabled{cursor:not-allowed;opacity:.5}.pp-deployment-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-trigger>.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.pp-deployment-select-chevron{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.pp-deployment-select-chevron.is-open{transform:rotate(180deg)}.pp-deployment-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:0;max-height:238px;display:flex;flex-direction:column;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.pp-deployment-select-search{flex-shrink:0;padding:2px 2px 6px}.pp-deployment-select-search>input{width:100%;height:32px;box-sizing:border-box;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-deployment-select-search>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-deployment-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pp-deployment-select-state{flex-shrink:0;padding:9px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-align:center}.pp-deployment-select-option{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.pp-deployment-select-option:hover,.pp-deployment-select-option:focus-visible,.pp-deployment-select-option.is-selected{outline:none;background:hsl(var(--muted) / .5)}.pp-deployment-select-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.pp-deployment-select-name{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-option>svg{width:15px;height:15px;flex-shrink:0;color:hsl(var(--primary))}.pp-deployment-select-badge{flex-shrink:0;padding:1px 5px;border:1px solid hsl(211 90% 48% / .24);border-radius:999px;background:#006fe61a;color:#1863b4;font-size:10px;font-weight:600}.pp-user-pool-picker{min-width:0;display:flex;flex-direction:column;gap:7px}.pp-user-pool-status{min-height:18px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.pp-user-pool-spinner{width:13px;height:13px;flex-shrink:0;animation:pp-spin .9s linear infinite}.pp-user-pool-error{min-height:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.pp-user-pool-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-user-pool-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-instance-note{margin:10px 0 0;color:#d79804;font-size:12px;line-height:1.5}.pp-instance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-instance-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-instance-error{margin:8px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select,.pp-runtime-name-input,.pp-channel-fields input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input,.pp-env-row textarea{width:100%;min-width:0;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}.pp-channel-fields input{height:30px;padding-inline:8px;font-size:11.5px}.pp-config-select:focus,.pp-runtime-name-input:focus,.pp-channel-fields input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus,.pp-env-row textarea:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-runtime-name-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .72)}.pp-runtime-name-input[aria-invalid=true]:focus{box-shadow:0 0 0 2px hsl(var(--destructive) / .1)}.pp-runtime-name-error{margin:-4px 0 10px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select:disabled,.pp-runtime-name-input:disabled,.pp-channel-fields input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input:disabled,.pp-env-row textarea:disabled{opacity:.55}.pp-channel-card{position:relative;width:clamp(154px,33.333%,236px);max-width:100%;height:112px;perspective:1200px;transition:height .18s ease}.pp-channel-card.is-flipped{height:176px}.pp-channel-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1)}.pp-channel-card.is-flipped .pp-channel-card-inner{transform:rotateY(180deg)}.pp-channel-card-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:14px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden}.pp-channel-card-front{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;padding:12px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.pp-channel-card-front:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);box-shadow:0 12px 30px hsl(var(--foreground) / .07);transform:translateY(-1px)}.pp-channel-card-front:focus-visible,.pp-channel-remove:focus-visible{outline:2px solid hsl(var(--ring) / .58);outline-offset:2px}.pp-channel-card-front:disabled{cursor:default}.pp-channel-card-back{padding:10px;transform:rotateY(180deg)}.pp-channel-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-channel-card-head>strong{font-size:12.5px;font-weight:650}.pp-channel-logo{width:42px;height:42px;flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border) / .65);border-radius:12px;background:#fff;box-shadow:0 4px 14px hsl(var(--foreground) / .07)}.pp-channel-logo img{width:30px;height:30px;display:block}.pp-channel-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.pp-channel-card-copy strong{font-size:14px;font-weight:650}.pp-channel-card-copy small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-channel-remove{min-height:24px;padding:0 6px;border:1px solid hsl(var(--destructive) / .14);border-radius:7px;background:hsl(var(--destructive) / .07);color:#863232;cursor:pointer;font:inherit;font-size:10.5px;white-space:nowrap}.pp-channel-remove:hover:not(:disabled){background:hsl(var(--destructive) / .12);color:#782626}.pp-channel-fields{display:flex;flex-direction:column;gap:6px;margin-top:7px}.pp-channel-fields label{min-width:0;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:11px}.pp-channel-fields label>span{color:hsl(var(--foreground));font-weight:560}.pp-channel-fields small{margin-left:5px;color:hsl(var(--destructive));font-size:9px;font-weight:500}.pp-network-layout{width:min(100%,560px);display:grid;grid-template-columns:minmax(132px,.36fr) minmax(0,.64fr);align-items:start;gap:24px}.pp-network-region{position:relative;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-region.is-open{z-index:80}.pp-region-trigger{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.pp-region-trigger:hover,.pp-region-trigger[aria-expanded=true]{border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025)}.pp-region-trigger:focus-visible{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-region-trigger:disabled{cursor:not-allowed;opacity:.58;background:hsl(var(--muted) / .32)}.pp-region-help{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-region-chevron{width:15px;height:15px;color:hsl(var(--muted-foreground));transition:transform .15s ease}.pp-region-chevron.is-open{transform:rotate(180deg)}.pp-region-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:81;padding:5px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .12)}.pp-region-option{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.pp-region-option:hover,.pp-region-option:focus-visible,.pp-region-option.is-selected{outline:none;background:hsl(var(--foreground) / .055)}.pp-region-option.is-selected{font-weight:600}.pp-region-option svg{width:15px;height:15px;color:hsl(var(--primary))}.pp-network-modes{display:flex;flex-direction:column;gap:9px}.pp-network-option{min-height:28px;display:flex;align-items:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560;cursor:pointer}.pp-network-option:has(input:checked){color:hsl(var(--foreground))}.pp-network-option:has(input:disabled){cursor:default;opacity:.58}.pp-network-option input{width:15px;height:15px;flex:0 0 15px;display:grid;place-items:center;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,box-shadow .12s ease}.pp-network-option input:before{width:7px;height:7px;border-radius:50%;background:hsl(var(--primary));content:"";transform:scale(0);transition:transform .12s ease-out}.pp-network-option input:checked{border-color:hsl(var(--primary))}.pp-network-option input:checked:before{transform:scale(1)}.pp-network-option input:focus-visible,.pp-network-check input:focus-visible,.pp-evaluation-set-option input:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-network-fields{display:flex;flex-direction:column;gap:12px;min-width:0}.pp-network-fields label:not(.pp-network-check){display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-fields small{font-size:10.5px;font-weight:400}.pp-network-check{display:flex;align-items:center;gap:8px;color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.pp-evaluation-set-option{display:flex;align-items:flex-start;gap:10px;color:hsl(var(--foreground));cursor:pointer}.pp-evaluation-set-option>span{display:flex;flex-direction:column;gap:3px;min-width:0}.pp-evaluation-set-option strong{font-size:13px;font-weight:550;line-height:1.45}.pp-evaluation-set-option small{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-network-check input,.pp-evaluation-set-option input{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.pp-network-check input:before,.pp-evaluation-set-option input:before{width:4px;height:8px;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;content:"";transform:translateY(-1px) rotate(45deg) scale(0);transition:transform .12s ease-out}.pp-network-check input:checked,.pp-evaluation-set-option input:checked{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check input:checked:before,.pp-evaluation-set-option input:checked:before{transform:translateY(-1px) rotate(45deg) scale(1)}.pp-env-section{width:100%;padding-bottom:16px}.pp-env-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.pp-env-head .pp-config-label{display:flex;align-items:center;gap:7px;margin-bottom:0}.pp-env-count{display:inline-flex;align-items:center}.pp-env-table{display:flex;flex-direction:column;margin-top:10px}.pp-env-group{padding:4px 7px 0;border:1px solid hsl(var(--border) / .75);border-radius:6px;background:hsl(var(--secondary) / .16)}.pp-env-group-head{display:flex;align-items:center;justify-content:space-between;padding:5px 1px 3px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.pp-env-group-head small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:450}.pp-env-group-head-custom{margin-top:12px}.pp-env-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid hsl(var(--border) / .65)}.pp-env-row.is-multiline{align-items:start}.pp-env-row input:first-child{font-family:inherit;font-size:13px}.pp-env-row-derived:last-child{border-bottom:0}.pp-env-key-fixed{background:hsl(var(--secondary) / .32)!important;cursor:default}.pp-env-key-cell{min-width:0;min-height:34px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:13px;font-weight:500}.pp-env-key-cell span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.pp-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.pp-env-help:hover .pp-env-help-popover,.pp-env-help:focus-visible .pp-env-help-popover,.pp-env-help:focus-within .pp-env-help-popover{opacity:1;pointer-events:auto}.pp-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-value-wrap{min-width:0;display:grid;gap:4px}.pp-env-value{min-width:0;width:100%}.pp-env-secret-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.pp-env-secret-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer}.pp-env-secret-toggle:hover:not(:disabled){background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.pp-env-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-secret-toggle:disabled{cursor:not-allowed;opacity:.52}.pp-env-secret-toggle svg,.pp-env-secret-spinner{width:16px;height:16px}.pp-env-secret-spinner{animation:pp-spin .8s linear infinite}.pp-env-reveal-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-json-value{min-height:86px;padding:8px 10px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.pp-env-value[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.pp-env-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.pp-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.pp-env-link svg{width:13px;height:13px;flex:0 0 13px}.pp-env-source{color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.pp-env-remove{width:28px;height:28px}.pp-env-add{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pp-env-add:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.pp-env-add:disabled{opacity:.5}.pp-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.pp-step{position:relative;min-height:34px;display:flex;align-items:flex-start;gap:9px}.pp-step:not(:last-child):after{content:"";position:absolute;top:20px;bottom:-2px;left:9px;width:1px;background:hsl(var(--border))}.pp-step-dot{z-index:1;width:19px;height:19px;flex:0 0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10px}.pp-step-body{min-width:0;display:flex;flex-direction:column;padding-top:1px}.pp-step-label{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560}.pp-step-msg{max-width:300px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-step.is-active .pp-step-dot{border-color:hsl(var(--primary));color:hsl(var(--primary))}.pp-step.is-done .pp-step-dot{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-step.is-failed .pp-step-dot{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.pp-error{margin:14px 18px;padding:10px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:5px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-deploy-result{margin:14px 18px 18px;padding:14px;border:1px solid hsl(var(--primary) / .2);border-radius:6px;background:hsl(var(--primary) / .035)}.pp-deploy-result-header{margin-bottom:12px;color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-deploy-result-body{display:flex;flex-direction:column;gap:10px}.pp-deploy-result-warning{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid hsl(42 90% 45% / .25);border-radius:6px;background:#f2ad0d12;color:#9e6310;font-size:12.5px;line-height:1.5}.pp-deploy-result-field{display:flex;flex-direction:column;gap:4px}.pp-deploy-result-field label{color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deploy-result-field code{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.pp-deploy-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pp-confirm-dialog{width:min(420px,calc(100vw - 40px));height:auto;min-height:0}.pp-confirm-head{flex-basis:60px}.pp-confirm-icon{background:#f59f0a1f;color:#ba6708}.pp-confirm-body{padding:24px 20px}.pp-confirm-body p{margin:0;color:hsl(var(--foreground));font-size:14px;line-height:1.65}.pp-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.pp-confirm-actions button{min-width:76px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pp-confirm-actions button:hover{background:hsl(var(--secondary))}.pp-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.pp-confirm-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-confirm-actions .is-primary:hover{background:hsl(var(--primary) / .9)}.pp-deploy-result-btn,.pp-console-link-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:5px;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer}.pp-deploy-result-btn{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-console-link-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.spin{animation:pp-spin .85s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pp-channel-card-inner,.pp-channel-card-front,.pp-deployment-select-chevron,.pp-config-actions .pp-deploy{transition:none}}@media (max-width: 1120px){.pp-release-preview{grid-template-columns:minmax(320px,.9fr) minmax(300px,1.1fr)}.pp-sidebar{flex-basis:190px;width:190px}}@media (max-width: 860px){.layout{--pp-sidebar-width: 204px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root.is-deploy{--pp-publish-content-width: min(88%, calc(100% - 36px) )}.pp-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.pp-toolbar-actions{width:100%}.pp-body{overflow-y:auto;flex-direction:column}.pp-root.is-deploy .pp-body{display:flex}.pp-release-overview{flex:0 0 auto;min-height:460px;border-right:0;border-bottom:0}.pp-release-preview{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:220px auto}.pp-release-info{min-height:200px}.pp-files-area{min-height:520px}.pp-config{width:100%;min-height:680px;border-top:0;border-left:0}.pp-config-scroll{padding-inline:0;padding-bottom:84px}.pp-config-actions{bottom:max(14px,env(safe-area-inset-bottom))}.pp-flow-backdrop{padding:12px}}@media (max-width: 520px){.pp-auth-fields,.pp-network-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pp-env-section{width:100%}}.cw-root{--cw-workspace-gutter: 10px;--cw-workspace-width: 60%;--cw-workbench-toolbar-height: 64px;--cw-workspace-ink: 222 24% 13%;--cw-workspace-accent: 162 44% 32%;--cw-workspace-accent-soft: 156 34% 92%;--cw-workspace-warm: 42 28% 96%;flex:1;min-height:0;display:flex;flex-direction:column;height:100%;color:hsl(var(--foreground));background:hsl(var(--background))}.cw-root.is-validate{--cw-workspace-width: min(88%, 1440px)}.cw-root.is-publish{--cw-workspace-width: min(80%, 1180px)}.cw-workspace-header{position:relative;z-index:12;flex:0 0 auto;width:var(--cw-workspace-width);min-height:48px;display:flex;justify-content:center;align-items:center;margin:12px auto 0;padding:8px 0;background:transparent}.cw-workspace-header h1{margin:0;color:hsl(var(--foreground));font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.02em;white-space:nowrap}.cw-workspace-main{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;width:var(--cw-workspace-width);margin:0 auto;padding:8px 0 20px;background:transparent}.cw-workspace-footer{flex:0 0 auto;display:flex;flex-direction:column;width:var(--cw-workspace-width);gap:12px;margin:0 auto 24px;padding:12px 0 4px;background:transparent}.cw-workspace-nav-actions{width:100%;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:12px;margin:0 auto}.cw-workspace-nav-actions.has-assistant{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"assistant next"}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:first-child,.cw-workspace-nav-actions.has-assistant>span[aria-hidden=true]{display:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-ai-slot{grid-area:assistant}.cw-publish-action-slot{grid-column:3;display:flex;justify-content:flex-end}.cw-publish-action-slot .pp-deploy{position:static;min-width:70px;min-height:38px;transform:none}.cw-workspace-nav-actions.has-assistant>.cw-workspace-nav-button:last-child{grid-area:next}.cw-workspace-ai-slot{min-width:0}.cw-workspace-nav-button{min-height:36px;justify-self:start;padding:0 18px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:background-color .16s ease,border-color .16s ease}.cw-workspace-nav-button:last-child{justify-self:end}.cw-workspace-nav-button:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .55)}.cw-workspace-nav-button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.cw-workspace-nav-button.is-primary:hover:not(:disabled){border-color:hsl(var(--foreground) / .86);background:hsl(var(--foreground) / .86)}.cw-workspace-nav-button:focus-visible,.cw-workspace-progress button:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}.cw-workspace-nav-button:disabled{cursor:not-allowed;opacity:.5}.cw-workspace-nav-button.is-placeholder{visibility:hidden;pointer-events:none}.cw-workspace-progress{width:min(132px,40vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 auto}.cw-workspace-progress button{height:12px;padding:4px 0;border:0;background:transparent;cursor:pointer}.cw-workspace-progress button>span{display:block;height:3px;border-radius:999px;background:hsl(var(--muted-foreground) / .16);transition:background-color .16s ease}.cw-workspace-progress button.is-complete>span,.cw-workspace-progress button.is-active>span{background:hsl(var(--foreground) / .46)}.cw-workspace-progress button.is-active>span{height:4px}.cw-workspace-progress button:disabled{cursor:not-allowed}@media (prefers-reduced-motion: reduce){.cw-workspace-nav-button,.cw-workspace-progress button>span{transition:none}}.cw-build-workspace{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.cw-ai-compose{min-width:0}.cw-ai-compose-entry{min-width:0;display:grid;gap:6px}.cw-ai-compose-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 4px 4px 16px;border-radius:16px;background:hsl(var(--panel));box-shadow:inset 0 0 0 1px hsl(var(--border) / .7),0 8px 24px hsl(var(--foreground) / .05);transition:background-color .18s ease,box-shadow .18s ease}.cw-ai-compose.is-generating .cw-ai-compose-form{background:hsl(var(--muted) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .05)}.cw-ai-compose-form input{min-width:0;height:38px;min-height:38px;padding:6px 0;border:0;outline:none;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.cw-ai-compose-form input::placeholder{color:hsl(var(--muted-foreground) / .72)}.cw-ai-compose-form:has(input:focus-visible){background:hsl(var(--background));box-shadow:0 0 0 2px hsl(var(--ring) / .12),inset 0 0 0 1px hsl(var(--ring) / .24)}.cw-ai-compose-form input:focus,.cw-ai-compose-form input:focus-visible{outline:none;box-shadow:none}.cw-ai-compose.is-generating .cw-ai-compose-form input{color:hsl(var(--muted-foreground) / .78);cursor:wait}.cw-ai-compose-form button{height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:0;border-radius:12px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;transition:background-color .15s ease,opacity .15s ease}.cw-ai-compose-form button:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.cw-ai-compose-form button:disabled{cursor:not-allowed;opacity:.34}.cw-ai-requirement-error{margin:0;padding:0 16px;color:hsl(var(--destructive));font-size:12px;line-height:18px}.cw-ai-compose.is-generating .cw-ai-compose-form button:disabled{width:34px;padding:0;background:hsl(var(--foreground));opacity:1}.cw-ai-orb{width:14px;height:14px;display:block;border:1.5px solid hsl(var(--background) / .34);border-top-color:hsl(var(--background));border-radius:50%;animation:cw-ai-orb-spin .72s linear infinite}.cw-ai-orb>span{display:none}@keyframes cw-ai-orb-spin{to{transform:rotate(360deg)}}.cw-ai-compose-success{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:2px 3px 2px 10px;border-radius:12px;background:hsl(var(--background) / .7);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .055);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cw-ai-compose-success strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:650}.cw-ai-success-check{position:relative;width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:hsl(var(--foreground))}.cw-ai-success-check:after{position:absolute;top:3px;left:6px;width:4px;height:7px;border:solid hsl(var(--background));border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.cw-ai-regenerate{height:34px;min-height:34px;padding:0 12px;border:0;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:background-color .15s ease}.cw-ai-regenerate:hover{background:hsl(var(--muted-foreground) / .12)}.cw-ai-compose-form button:focus-visible,.cw-ai-regenerate:focus-visible{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}@media (prefers-reduced-motion: reduce){.cw-ai-compose-form,.cw-ai-compose-form button,.cw-ai-regenerate{transition:none}.cw-ai-orb{animation:none}}.cw-ai-error-dialog{width:460px;font-family:inherit}.cw-ai-error-message{max-height:min(320px,50vh);margin:10px 0 18px;overflow:auto;color:hsl(var(--foreground) / .78);font-family:inherit;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.cw-ai-error-close{border-color:transparent;background:hsl(var(--foreground));color:hsl(var(--background))}.cw-ai-error-close:hover{background:hsl(var(--foreground) / .86)}.cw-workspace-alert{position:absolute;z-index:30;top:94px;right:18px;max-width:min(420px,calc(100% - 36px));padding:10px 13px;border:1px solid hsl(var(--destructive) / .2);border-radius:9px;background:hsl(var(--background));box-shadow:0 12px 36px hsl(var(--foreground) / .12);color:hsl(var(--destructive));font-size:12.5px}.cw-editor{flex:1;width:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:0;overflow:hidden}.cw-editor>.abc-root{flex:0 0 200px;width:100%;min-width:0;min-height:200px;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-tree{flex-shrink:0;width:248px;overflow-y:auto;padding:16px 14px;border-right:1px solid hsl(var(--border));background:hsl(var(--panel))}.cw-tree-head{font-size:12px;font-weight:650;letter-spacing:.02em;color:hsl(var(--muted-foreground));padding:0 6px;margin-bottom:10px}.cw-tree-branch{display:flex;flex-direction:column}.cw-tree-node{position:relative;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.cw-tree-node:hover{background:hsl(var(--accent))}.cw-tree-node.is-selected{background:hsl(var(--primary) / .04);border-color:hsl(var(--primary) / .16)}.cw-tree-node.is-invalid{background:hsl(var(--destructive) / .07);border-color:hsl(var(--destructive) / .5)}.cw-tree-node.is-invalid.is-selected{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .6)}.cw-tree-node.is-draggable{cursor:grab}.cw-tree-node.is-draggable:active{cursor:grabbing}.cw-tree-node.is-dragover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .45)}.cw-tree-icon{width:15px;height:15px;flex-shrink:0;opacity:.8}.cw-tree-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cw-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.cw-tree-type{font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground))}.cw-tree-actions{display:flex;align-items:center;gap:1px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .12s ease}.cw-tree-node:hover .cw-tree-actions,.cw-tree-node.is-selected .cw-tree-actions{opacity:1;pointer-events:auto}.cw-tree-children{display:flex;flex-direction:column;gap:2px;margin-top:2px;margin-left:8px;padding-left:8px;border-left:1px solid hsl(var(--border))}.cw-detail{position:relative;flex:1 1 auto;width:100%;max-width:none;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:hsl(var(--background));box-shadow:none}.cw-detail-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:0 4px 16px;background:hsl(var(--background))}.cw-detail-inner{max-width:none;margin:0 auto}.cw-lower{display:flex;gap:0;align-items:flex-start}.cw-detail .cw-form-col{flex:1;min-width:0;max-width:none;margin:0}.cw-debug{flex-shrink:0;width:380px;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid hsl(var(--border));background:hsl(var(--panel));transition:width .22s cubic-bezier(.22,1,.36,1),min-width .22s cubic-bezier(.22,1,.36,1),height .22s cubic-bezier(.22,1,.36,1),min-height .22s cubic-bezier(.22,1,.36,1),flex-basis .22s cubic-bezier(.22,1,.36,1),padding .18s ease}.cw-debug:not(.is-collapsed)>*{animation:cw-debug-content-in .18s ease-out both}.cw-debug.is-collapsed .cw-debug-expand{animation:cw-debug-control-in .18s .06s ease-out both}@keyframes cw-debug-content-in{0%{opacity:0;transform:scale(.985)}}@keyframes cw-debug-control-in{0%{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion: reduce){.cw-debug{transition:none}.cw-debug:not(.is-collapsed)>*,.cw-debug.is-collapsed .cw-debug-expand{animation:none}}.cw-debug-head{flex-shrink:0;height:var(--cw-workbench-toolbar-height);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid hsl(var(--border))}.cw-debug-collapse,.cw-debug-expand{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .12s,background .12s,transform .12s}.cw-debug-collapse{width:24px;height:24px}.cw-debug-collapse:hover,.cw-debug-expand:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.cw-debug-expand:hover{transform:scale(1.06)}.cw-debug.is-collapsed{width:48px;min-width:48px;height:100%;min-height:0;align-items:center;padding-top:14px}.cw-debug-expand{width:34px;height:34px;min-height:34px}.cw-debug-title{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:650;color:hsl(var(--foreground))}.cw-debug-start{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 10px;border:none;border-radius:8px;background:#111;box-shadow:none;color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease,transform .15s ease}.cw-debug-start:hover:not(:disabled){background:#29292b;box-shadow:0 7px 18px #00000029}.cw-debug-start:active:not(:disabled){transform:translateY(0) scale(.98)}.cw-debug-start:disabled{opacity:.45;cursor:default}.cw-debug-sub{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding:10px 16px 14px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.cw-debug-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.cw-debug-body{flex:1;min-height:0;overflow-y:auto;padding:10px 16px 18px}.cw-debug-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-run-icon{width:17px;height:17px;transition:transform .16s cubic-bezier(.22,1,.36,1)}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:translate(1.5px)}@media (prefers-reduced-motion: reduce){.cw-debug-run-icon{transition:none}.cw-debug-start:hover:not(:disabled) .cw-debug-run-icon{transform:none}}.cw-debug-progress{display:flex;flex-direction:column;gap:8px}.cw-debug-logline{display:flex;align-items:center;gap:8px;min-height:28px;padding:7px 9px;border-radius:9px;background:hsl(var(--foreground) / .04);color:hsl(var(--muted-foreground));font-size:12.5px}.cw-debug-logline .cw-i{color:hsl(var(--foreground))}.cw-debug-error{display:flex;flex-direction:column;gap:12px;color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-debug-error-detail,.cw-debug-msg-error{width:100%;min-width:0;color:hsl(var(--destructive));text-align:left}.cw-debug-error-detail .deploy-error-message-text,.cw-debug-msg-error .deploy-error-message-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.cw-debug-chat{min-height:100%;display:flex;flex-direction:column;gap:18px}.cw-debug-chat-empty{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6;text-align:center}.cw-debug-msg{display:flex;flex-direction:column;gap:6px;max-width:100%}.cw-debug-msg-user{align-items:flex-end}.cw-debug-msg-assistant{align-items:flex-start}.cw-debug-role{display:none}.cw-debug-content{max-width:100%;color:hsl(var(--foreground));font-size:14px;line-height:1.65;word-break:break-word}.cw-debug-msg-user .cw-debug-content{max-width:88%;padding:9px 14px;border-radius:18px;background:hsl(var(--secondary))}.cw-debug-msg-assistant .cw-debug-content{width:100%}.cw-debug-composer{flex-shrink:0;padding:10px 14px 14px;background:hsl(var(--panel))}.cw-debug-composerbox{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px;border:1px solid hsl(var(--border));border-radius:24px;background:hsl(var(--background))}.cw-debug-input{flex:1;min-width:0;max-height:120px;padding:8px 4px;border:none;outline:none;resize:none;overflow-y:auto;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.5}.cw-debug-input::placeholder{color:hsl(var(--muted-foreground))}.cw-debug-send{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;transition:opacity .15s,transform .1s,background .12s,color .12s}.cw-debug-send{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-debug-send:hover:not(:disabled){opacity:.85}.cw-debug-send:active:not(:disabled){transform:scale(.94)}.cw-debug-send:disabled{opacity:.3;cursor:default}.cw-debug-overlay{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:22px;background:hsl(var(--panel) / .5);backdrop-filter:blur(9px) saturate(.9);-webkit-backdrop-filter:blur(9px) saturate(.9)}.cw-debug-overlay-content{width:min(100%,290px);display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border:1px solid hsl(var(--border) / .72);border-radius:12px;background:hsl(var(--background) / .82);box-shadow:0 10px 30px hsl(var(--foreground) / .08);text-align:center}.cw-debug-overlay-title{color:hsl(var(--foreground));font-size:14px;font-weight:650}.cw-debug-overlay-copy{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55}.cw-debug-overlay-progress{width:100%;display:flex;flex-direction:column;gap:8px}.cw-debug-overlay-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}.cw-debug-ignore{min-height:30px;padding:6px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .1s}.cw-debug-ignore:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--background))}.cw-debug-ignore:active:not(:disabled){transform:scale(.96)}.cw-debug-ignore:disabled{opacity:.45;cursor:default}.cw-validation-workspace{position:relative;flex:1;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.cw-optimization-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:22px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--cw-workspace-warm))}.cw-optimization-head{display:flex;flex-direction:column;gap:5px;padding:0 4px 18px}.cw-optimization-head>span{color:hsl(var(--cw-workspace-ink));font-size:16px;font-weight:700;letter-spacing:-.02em}.cw-optimization-head>small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cw-optimization-list{display:flex;flex-direction:column;gap:8px}.cw-optimization-option{position:relative;width:100%;display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid hsl(var(--border) / .82);border-radius:11px;background:hsl(var(--panel) / .62);color:hsl(var(--foreground));cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.cw-optimization-option:hover{border-color:hsl(var(--cw-workspace-ink) / .24);background:hsl(var(--panel))}.cw-optimization-option.is-disabled{cursor:not-allowed;opacity:.62}.cw-optimization-option.is-disabled:hover{border-color:hsl(var(--border) / .82);background:hsl(var(--panel) / .62)}.cw-optimization-option:has(input:focus-visible){outline:2px solid hsl(var(--cw-workspace-ink) / .34);outline-offset:2px}.cw-optimization-option input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.cw-optimization-check{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;border:1px solid hsl(var(--foreground) / .24);border-radius:5px;background:hsl(var(--panel));color:#fff}.cw-optimization-check .cw-i{width:11px;height:11px;stroke-width:2.4}.cw-optimization-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.cw-optimization-copy strong{color:hsl(var(--cw-workspace-ink));font-size:12.5px;font-weight:650}.cw-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.45}.cw-validation-content{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-ab-workspace{flex:1;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.cw-ab-stage{position:relative;flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{min-height:100%;display:grid;grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr));grid-auto-rows:minmax(420px,1fr);align-items:stretch;gap:12px}.cw-ab-card{min-width:0;min-height:420px;display:flex;flex-direction:column;perspective:1400px}.cw-ab-card-inner{position:relative;width:100%;min-height:420px;flex:1;transform-style:preserve-3d;transition:transform .44s cubic-bezier(.22,1,.36,1)}.cw-ab-card-inner.is-flipped{transform:rotateY(180deg)}.cw-ab-card-face{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px dashed hsl(var(--foreground) / .2);border-radius:16px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:border-color .16s ease,background-color .16s ease}.cw-ab-card-back{transform:rotateY(180deg);overflow-x:hidden;overflow-y:auto}.cw-ab-card-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px 9px 14px}.cw-ab-card-title{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ab-card-title strong{font-size:13.5px;font-weight:680}.cw-ab-card-title span{max-width:150px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-ab-card-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.cw-ab-config-trigger,.cw-ab-remove{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11px;font-weight:400}.cw-ab-config-trigger{background:transparent;color:hsl(var(--muted-foreground))}.cw-ab-config-trigger:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-remove:hover{background:hsl(var(--secondary) / .62);color:hsl(var(--foreground))}.cw-ab-config-trigger:disabled,.cw-ab-remove:disabled{cursor:default;opacity:.45}.cw-ab-remove{width:28px;padding:0;background:transparent}.cw-ab-config-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px;background:hsl(var(--background) / .94)}.cw-ab-config-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}.cw-ab-config-head strong{font-size:16px;font-weight:680}.cw-ab-config-head span{color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-config-head>.cw-ab-config-head-actions{flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;gap:6px}.cw-ab-config-head-actions .cw-ab-config-remove{width:32px;height:32px}.cw-ab-config-done{min-height:32px;padding:0 11px;border:0;border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:650}.cw-ab-config-done-wrap{position:relative;flex:0 0 auto;display:inline-flex;border-radius:8px}.cw-ab-config-done:disabled{background:hsl(var(--secondary) / .82);color:hsl(var(--muted-foreground) / .68);cursor:not-allowed}.cw-ab-config-head .cw-ab-config-done-tip{position:absolute;z-index:8;right:0;top:calc(100% + 7px);bottom:auto;width:max-content;max-width:190px;padding:6px 8px;border-radius:7px;background:hsl(var(--foreground));color:#fff;font-size:11px;font-weight:400;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.cw-ab-config-done-wrap.is-disabled:hover .cw-ab-config-done-tip,.cw-ab-config-done-wrap.is-disabled:focus-visible .cw-ab-config-done-tip{opacity:1;transform:translateY(0)}.cw-ab-config-done-wrap:focus-visible{outline:2px solid hsl(var(--foreground) / .18);outline-offset:2px}.cw-ab-config{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;padding:12px 16px 16px;background:hsl(var(--background))}.cw-ab-config>label,.cw-ab-config fieldset{min-width:0;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}.cw-ab-config>label>span,.cw-ab-config legend{color:hsl(var(--muted-foreground));font-size:13px;font-weight:650}.cw-ab-config legend{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-ab-config legend em{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-style:normal;font-weight:550}.cw-ab-config input[type=text],.cw-ab-config>label>input,.cw-ab-config>label>textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.cw-ab-config>label>textarea{min-height:58px;max-height:132px;resize:vertical;line-height:1.55}.cw-ab-optimization-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cw-ab-optimization-checkbox{display:inline-flex;align-items:center;gap:0;padding:8px 9px;border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));font-size:12.5px;cursor:not-allowed;opacity:.5}.cw-ab-optimization-checkbox>label{padding-left:7px;color:inherit;font-size:inherit}.cw-ab-config>p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cw-ab-conversation{flex:1;min-height:0;overflow-y:auto;padding:14px}.cw-ab-empty{height:100%;min-height:210px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.cw-ab-launch-hint{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-ab-ready-title{color:hsl(var(--foreground));font-size:20px;font-weight:760;line-height:1.1}.cw-ab-starting{align-content:center;gap:8px}.cw-ab-starting .cw-i{width:18px;height:18px}.cw-ab-start{min-width:118px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:9px;background:hsl(var(--secondary) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:580;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-start:hover:not(:disabled){background:hsl(var(--secondary));box-shadow:none}.cw-ab-start:disabled{background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground) / .62);cursor:not-allowed}.cw-ab-start .cw-i{width:15px;height:15px}.cw-ab-deploy-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px 12px}.cw-ab-trace{min-height:32px;margin-right:auto;padding:0 10px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:500;transition:background-color .16s ease,color .16s ease}.cw-ab-trace:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-trace:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-ab-trace:disabled{color:hsl(var(--muted-foreground) / .48);cursor:not-allowed}.cw-ab-footer-start{min-width:0;background:hsl(var(--secondary) / .58)}.cw-ab-deploy{min-height:32px;padding:0 13px;border:0;border-radius:8px;background:#111;color:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:620;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-deploy:hover:not(:disabled){background:#29292b;box-shadow:0 6px 16px #00000024}.cw-ab-deploy:disabled{cursor:not-allowed;opacity:.42}.cw-ab-add{min-height:48px;align-self:stretch;justify-content:center;padding-inline:18px;white-space:nowrap}.cw-ab-composer{position:relative;z-index:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:18px var(--cw-workspace-gutter) 18px;background:hsl(var(--background))}.cw-ab-composer .cw-debug-composerbox{width:100%;min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;background:#fff;box-shadow:0 8px 22px hsl(var(--foreground) / .045)}.cw-ab-composer .cw-debug-input{background:#fff}.cw-debug.is-standalone{flex:1;width:100%;min-width:0;border-left:0;background:transparent}.cw-debug.is-standalone .cw-debug-head{height:58px;padding-inline:22px;background:hsl(var(--panel) / .7)}.cw-debug.is-standalone .cw-debug-title{font-size:15px}.cw-debug.is-standalone .cw-debug-body{padding:22px clamp(18px,5vw,72px) 28px}.cw-debug.is-standalone .cw-debug-chat{width:min(100%,840px);margin:0 auto}.cw-debug.is-standalone .cw-debug-chat-empty{min-height:260px;border:1px dashed hsl(var(--border));border-radius:16px;background:hsl(var(--panel) / .56)}.cw-debug.is-standalone .cw-debug-composer{padding:12px 210px 20px clamp(18px,5vw,72px);background:transparent}.cw-debug.is-standalone .cw-debug-composerbox{width:min(100%,840px);min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;box-shadow:0 12px 32px hsl(var(--foreground) / .06)}.cw-debug.is-standalone .cw-debug-overlay{background:hsl(var(--background) / .68)}.cw-debug.is-standalone .cw-debug-overlay-content{width:min(100%,390px);padding:28px;border-radius:16px}.cw-validation-prototype{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:clamp(26px,4vw,56px)}.cw-validation-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 28px;max-width:1040px}.cw-eyebrow{color:hsl(var(--cw-workspace-accent));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.15em}.cw-validation-page-head h2{margin:5px 0 4px;color:hsl(var(--cw-workspace-ink));font-size:clamp(24px,3vw,34px);font-weight:720;letter-spacing:-.045em}.cw-validation-page-head p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.cw-prototype-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid hsl(var(--cw-workspace-ink));border-radius:8px;background:hsl(var(--cw-workspace-ink));color:hsl(var(--background));font:inherit;font-size:12px;font-weight:650}.cw-prototype-action:disabled{cursor:not-allowed;opacity:.72}.cw-dataset-summary,.cw-variant-grid,.cw-metric-board,.cw-prototype-table,.cw-run-list,.cw-prototype-note{width:min(100%,1040px);margin-inline:auto}.cw-dataset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 10px 32px hsl(var(--foreground) / .035)}.cw-dataset-summary>div{display:flex;flex-direction:column;gap:4px;padding:17px 20px}.cw-dataset-summary>div+div{border-left:1px solid hsl(var(--border))}.cw-dataset-summary strong{color:hsl(var(--cw-workspace-ink));font-size:22px;letter-spacing:-.04em}.cw-dataset-summary span{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-table{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-prototype-row{min-height:54px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(170px,1fr) 82px;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.cw-prototype-row.is-head{min-height:38px;border-top:0;background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.cw-prototype-row>strong{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-status-pill,.cw-run-status,.cw-run-kind{justify-self:start;padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.cw-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.cw-variant-card{position:relative;overflow:hidden;padding:20px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel));box-shadow:0 12px 34px hsl(var(--foreground) / .04)}.cw-variant-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:hsl(var(--foreground) / .22)}.cw-variant-card.is-candidate:before{background:hsl(var(--cw-workspace-accent))}.cw-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.cw-variant-head small{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));font-size:9.5px;letter-spacing:0;text-transform:none}.cw-variant-card>strong{color:hsl(var(--cw-workspace-ink));font-size:17px;letter-spacing:-.025em}.cw-variant-card>p{min-height:42px;margin:7px 0 22px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.cw-variant-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.cw-variant-card dl>div{padding:9px 10px;border-radius:8px;background:hsl(var(--secondary) / .5)}.cw-variant-card dt{color:hsl(var(--muted-foreground));font-size:9.5px}.cw-variant-card dd{margin:3px 0 0;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px}.cw-metric-board{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-metric-head,.cw-metric-row{display:grid;grid-template-columns:minmax(170px,1fr) 100px 100px 88px;align-items:center;gap:12px;padding:11px 16px}.cw-metric-head{grid-template-columns:auto auto minmax(0,1fr);min-height:48px;border-bottom:1px solid hsl(var(--border))}.cw-metric-head .cw-i{width:15px;color:hsl(var(--cw-workspace-accent))}.cw-metric-head strong{font-size:12px}.cw-metric-head span{justify-self:end;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-metric-row{min-height:44px;color:hsl(var(--muted-foreground));font-size:11px}.cw-metric-row+.cw-metric-row{border-top:1px solid hsl(var(--border) / .7)}.cw-metric-row strong{color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cw-metric-row em{color:hsl(var(--cw-workspace-accent));font-size:10.5px;font-style:normal;font-weight:650}.cw-run-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-run-row{min-height:72px;display:grid;grid-template-columns:36px minmax(220px,1fr) 70px 110px 72px;align-items:center;gap:12px;padding:11px 16px}.cw-run-row+.cw-run-row{border-top:1px solid hsl(var(--border))}.cw-run-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-run-icon .cw-i{width:14px;height:14px}.cw-run-row>div{min-width:0}.cw-run-row strong{color:hsl(var(--foreground));font-size:12px}.cw-run-row p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-run-row time{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-run-status.is-running{background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-prototype-note{display:flex;align-items:center;gap:7px;margin-top:14px;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-note .cw-i{width:13px;height:13px}.cw-publish-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:hsl(var(--muted-foreground));font-size:12px}.cw-publish-loading .cw-i{width:22px;height:22px;margin-bottom:5px;color:hsl(var(--cw-workspace-accent))}.cw-publish-loading strong{color:hsl(var(--foreground));font-size:14px}.cw-header{flex-shrink:0;display:flex;align-items:flex-start;gap:16px;padding:18px 24px 16px;border-bottom:1px solid hsl(var(--border))}.cw-header-title{flex:1;min-width:0}.cw-header-mode{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.cw-title{margin:5px 0 2px;font-size:21px;font-weight:650;letter-spacing:-.02em}.cw-subtitle{margin:0;font-size:13px;color:hsl(var(--muted-foreground))}.cw-progress-pill{flex-shrink:0;margin-top:2px;padding:5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.cw-body{flex:1;min-height:0;overflow-y:auto}.cw-center{display:flex;align-items:flex-start;justify-content:center;gap:32px;max-width:960px;margin:0 auto;padding:32px 24px 80px}.cw-form-col{flex:1 1 auto;min-width:0;max-width:640px;display:flex;flex-direction:column;gap:12px}.cw-section{scroll-margin-top:24px;padding:0;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker)){overflow:visible}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker))>.cw-sec-head{border-radius:17px 17px 0 0}.cw-sec-body{padding:2px 18px 6px}.cw-sec-title{margin:0;font-size:14px;font-weight:620;letter-spacing:-.01em;color:hsl(var(--foreground))}.cw-sec-hint{margin:0;font-size:13px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-form{display:flex;flex-direction:column;gap:0}.cw-section-desc{margin:0;font-size:13px;line-height:1.6;color:hsl(var(--muted-foreground))}.cw-field{display:grid;grid-template-columns:minmax(124px,.34fr) minmax(0,1fr);align-items:start;column-gap:16px;row-gap:6px;padding:11px 0}.cw-form>.cw-field+.cw-field,.cw-form>.cw-toggle+.cw-toggle,.cw-form>.cw-field+.cw-toggle,.cw-form>.cw-toggle+.cw-field,.cw-toggle-stack>.cw-field,.cw-toggle-stack>.cw-toggle+.cw-toggle{border-top:1px dashed hsl(var(--border) / .8)}.cw-field>.cw-label,.cw-field>.cw-remote-center-head{grid-column:1;align-self:start}.cw-field:has(>.cw-input)>.cw-label{align-self:center}.cw-field:has(>.cw-model-picker)>.cw-label{align-self:center}.cw-field>:not(.cw-label):not(.cw-remote-center-head){grid-column:2;min-width:0}.cw-form>.cw-more-options{margin:10px 0 10px calc(34% + 16px)}.cw-form>.cw-model-more-options{margin-left:0}.cw-help:not(.cw-a2a-space-status):not(.cw-dependency-hint),.cw-section-desc:not(.cw-dependency-hint),.cw-remote-center-description,.cw-ctool-desc,.cw-skill-result-desc{display:none}.cw-dependency-hint{margin:0 0 14px calc(34% + 16px)}.cw-field>.cw-dependency-hint{grid-column:2;margin:0}.cw-more-options{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:-4px;padding:4px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:560;cursor:pointer;transition:color .14s ease}.cw-more-options:hover,.cw-more-options:focus-visible{color:hsl(var(--foreground))}.cw-more-options:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:3px;border-radius:4px}.cw-more-options-chevron{width:14px;height:14px;transition:transform .18s ease}.cw-more-options-chevron.is-open{transform:rotate(90deg)}.cw-more-options-count{margin-left:2px;padding:2px 7px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:10.5px;font-weight:600}.cw-model-advanced{display:flex;flex-direction:column;gap:20px;overflow:hidden}.cw-label-with-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.cw-label-with-link a{display:inline-flex;align-items:center;gap:3px;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.3;text-decoration:none}.cw-label-with-link a:hover,.cw-label-with-link a:focus-visible{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}.cw-label-with-link a svg{width:10px;height:10px}.cw-model-source-field{align-items:center}.cw-model-source-field>.cw-label{align-self:center}.cw-model-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-model-source-option{min-width:0;min-height:36px;display:flex;align-items:stretch;overflow:hidden;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.cw-model-source-option:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .22)}.cw-model-source-option.is-disabled{background:hsl(var(--muted) / .18);color:hsl(var(--muted-foreground));opacity:.7}.cw-model-source-option.is-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--muted) / .18)}.cw-model-source-option.is-on{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .055);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.cw-model-source-option>.flex{flex:1;min-width:0}.cw-model-source-control{width:100%;min-height:100%;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;color:inherit;cursor:pointer;font-size:12.5px;font-weight:560}.cw-model-source-option.is-disabled .cw-model-source-control{cursor:not-allowed}.cw-model-source-coming-soon{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;line-height:1.3}.cw-label{font-size:13px;font-weight:400;color:hsl(var(--foreground))}.cw-req{margin-left:2px;color:hsl(var(--destructive))}.cw-help{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-remote-center-head{display:flex;flex-direction:column;gap:6px}.cw-remote-center-description{display:block;max-width:560px;margin:0;line-height:1.6}.cw-a2a-space-picker{position:relative;display:flex;flex-direction:column;gap:8px}.cw-model-picker-stack{display:grid;min-width:0;gap:12px}.cw-model-picker-field{display:grid;min-width:0;gap:6px}.cw-model-picker-label{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.45}.cw-a2a-space-picker.is-open{z-index:80}.cw-a2a-space-row{display:flex;align-items:center;gap:8px}.cw-a2a-space-select-wrap{position:relative;flex:1;min-width:0}.cw-a2a-space-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.cw-a2a-space-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.cw-a2a-space-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background-color:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.cw-a2a-space-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-trigger:disabled{cursor:not-allowed;opacity:.5}.cw-a2a-space-trigger.is-error{box-shadow:0 0 0 1px hsl(var(--destructive) / .55)}.cw-a2a-space-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.cw-a2a-space-trigger-icon{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.cw-a2a-space-trigger[aria-expanded=true] .cw-a2a-space-trigger-icon{transform:rotate(180deg)}.cw-a2a-space-menu{position:absolute;z-index:81;top:calc(100% + 6px);left:0;width:100%;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08);font-size:12px}.cw-catalog-menu{width:min(460px,calc(100vw - 64px))}.cw-catalog-menu-portal{position:fixed;z-index:1000;display:flex;min-height:0;flex-direction:column;overflow:hidden}.cw-picker-search{padding:4px 4px 6px;border-bottom:1px solid hsl(var(--border) / .72)}.cw-picker-search-input{width:100%;height:30px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.cw-picker-search-input:focus{border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 2px hsl(var(--ring) / .1)}.cw-picker-options{max-height:188px;overflow-y:auto;padding-top:4px;overscroll-behavior:contain}.cw-picker-empty{padding:14px 10px;color:hsl(var(--muted-foreground));text-align:center}.cw-a2a-space-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-option:hover,.cw-a2a-space-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.cw-a2a-space-option.is-selected{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-catalog-options{min-height:0;max-height:none;flex:1;scrollbar-gutter:stable}.cw-model-key-option{justify-content:space-between;gap:12px}.cw-model-key-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-key-option>span{flex:1}.cw-model-option{min-height:48px;justify-content:space-between;gap:14px;white-space:normal}.cw-model-option.is-activation-link{cursor:pointer}.cw-model-option:disabled{cursor:default;opacity:.62}.cw-model-option:disabled:hover{background:transparent}.cw-model-option-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.cw-model-option-copy strong,.cw-model-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-option-copy strong{font-size:12.5px;font-weight:620}.cw-model-option-copy small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cw-model-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:hsl(var(--muted) / .68);color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.25}.cw-model-status:before{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor;content:""}.cw-model-status.is-available{background:#34b2621f;color:#2a844b}.cw-model-status.is-retiring{background:#eda01d1f;color:#a2631a}.cw-model-status.is-unavailable,.cw-model-status.is-unknown{background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground))}.cw-a2a-space-refresh{flex-shrink:0;width:36px;height:36px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s ease,background-color .12s ease}.cw-a2a-space-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .4)}.cw-a2a-space-refresh:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-status{display:inline-flex;align-items:center;gap:6px}.cw-a2a-space-error{align-items:flex-start;padding:9px 11px;font-size:12.5px}.cw-viking-kb-picker{gap:6px}.cw-viking-kb-inline-status{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.cw-viking-kb-menu{padding:3px;box-shadow:0 6px 18px hsl(var(--foreground) / .06)}.cw-viking-kb-menu .cw-picker-options{max-height:min(112px,calc(100vh - 310px))}.cw-viking-kb-menu .cw-a2a-space-option{min-height:28px;padding:5px 9px;line-height:1.25}.cw-viking-kb-refresh{color:hsl(var(--foreground) / .72)}.cw-viking-kb-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .28);background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.cw-viking-kb-refresh:disabled{color:hsl(var(--muted-foreground))}.cw-error-text{font-size:12px;color:hsl(var(--destructive))}.cw-env-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:5px}.cw-env-field{display:flex;min-width:0;flex-direction:column;gap:6px}.cw-env-field-head{display:grid;min-width:0;gap:3px;color:hsl(var(--foreground));font-size:12px;font-weight:560}.cw-env-field-title{display:inline-flex;min-width:0;align-items:center;gap:5px}.cw-env-field-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.cw-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.cw-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.cw-env-help:hover .cw-env-help-popover,.cw-env-help:focus-visible .cw-env-help-popover,.cw-env-help:focus-within .cw-env-help-popover{opacity:1;pointer-events:auto}.cw-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.cw-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.cw-env-link svg{width:13px;height:13px;flex:0 0 13px}.cw-env-field-head code{display:block;max-width:100%;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.cw-env-empty{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12px}.cw-input{min-width:0;width:100%;min-height:38px;padding:9px 12px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.cw-input::placeholder{color:hsl(var(--muted-foreground))}.cw-input:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.cw-input.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-env-textarea{min-height:96px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.cw-env-error{margin-top:-2px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.4}.cw-textarea{width:100%;padding:11px 13px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .12s,box-shadow .12s}.cw-textarea::placeholder{color:hsl(var(--muted-foreground))}.cw-textarea:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-textarea.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}@keyframes cw-error-shake-a{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes cw-error-shake-b{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.cw-error-shake-0{animation:cw-error-shake-a .28s ease-in-out}.cw-error-shake-1{animation:cw-error-shake-b .28s ease-in-out}@media (prefers-reduced-motion: reduce){.cw-error-shake-0,.cw-error-shake-1{animation:none}}.cw-textarea-sm{min-height:80px;max-height:160px;overflow-y:auto}.cw-textarea-lg{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cw-markdown-loading,.cw-markdown-editor:not(.mdxeditor-popup-container){min-height:340px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background))}.cw-markdown-loading{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px}.cw-markdown-editor:not(.mdxeditor-popup-container){display:flex;flex-direction:column;max-height:420px;overflow:hidden;color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.cw-markdown-editor:not(.mdxeditor-popup-container):focus-within{border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-editor:not(.mdxeditor-popup-container).is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-toolbar{flex-shrink:0;min-height:40px;padding:5px 8px;border:0;border-bottom:1px solid hsl(var(--border));border-radius:0;background:hsl(var(--muted) / .38)}.cw-markdown-toolbar button,.cw-markdown-toolbar [role=combobox]{color:hsl(var(--foreground))}.cw-markdown-content{min-height:298px;max-height:360px;overflow-y:auto;padding:18px 20px 28px;color:hsl(var(--foreground));font-size:14px;line-height:1.7}.cw-markdown-content:focus{outline:none}.cw-markdown-content h1,.cw-markdown-content h2,.cw-markdown-content h3{margin:1.1em 0 .45em;color:hsl(var(--foreground));font-weight:650;line-height:1.3}.cw-markdown-content h1:first-child,.cw-markdown-content h2:first-child,.cw-markdown-content h3:first-child{margin-top:0}.cw-markdown-content h1{font-size:20px}.cw-markdown-content h2{font-size:17px}.cw-markdown-content h3{font-size:15px}.cw-markdown-content p{margin:0 0 .8em}.cw-markdown-content ul,.cw-markdown-content ol{margin:.5em 0 .9em;padding-left:1.5em}.cw-markdown-content ul{list-style:disc outside}.cw-markdown-content ol{list-style:decimal outside}.cw-markdown-content li{display:list-item}.cw-markdown-content blockquote{margin:.8em 0;padding-left:12px;border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.cw-markdown-error{display:block;margin-top:6px;color:hsl(var(--destructive));font-size:12px}.cw-tag-editor{display:flex;flex-direction:column;gap:12px}.cw-tag-inputrow{display:flex;gap:8px}.cw-tag-inputrow .cw-input{flex:1}.cw-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.cw-presets-label{font-size:11.5px;color:hsl(var(--muted-foreground));margin-right:2px}.cw-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12.5px;white-space:nowrap}.cw-chip-ghost{border:1px dashed hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;transition:background .12s,color .12s,border-color .12s}.cw-chip-ghost:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-chip-sub{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-pills{display:flex;flex-wrap:wrap;gap:8px}.cw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:13px}.cw-pill-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-pill-x:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.cw-empty-line{margin:0;font-size:12.5px;color:hsl(var(--muted-foreground))}.cw-check-inline{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:13px;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.cw-check-inline input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:hsl(var(--primary));cursor:pointer}.cw-checklist{display:flex;flex-direction:column;gap:8px}.cw-tools-list-shell{min-width:0;container-type:inline-size}.cw-tool-config{padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--muted) / .28)}.cw-tool-config-head{display:flex;flex-direction:column;gap:3px}.cw-checklist-tools{--cw-checklist-row-height: 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(var(--cw-checklist-row-height),auto);max-height:var(--cw-checklist-max-height);padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-checklist-tools .cw-check{min-height:var(--cw-checklist-row-height);align-items:center;padding:8px 10px}.cw-checklist-tools .cw-check-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@container (max-width: 575px){.cw-checklist-tools{grid-template-columns:minmax(0,1fr)}}.cw-check{display:flex;align-items:flex-start;gap:0;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-check>label{flex:1;min-width:0;padding-left:12px;color:inherit;cursor:pointer}.cw-checklist-tools .cw-check>label{padding-left:10px}.cw-check:hover{background:hsl(var(--foreground) / .05)}.cw-check.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-check-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-check-title{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.cw-check-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-segmented{display:flex;flex-wrap:wrap;gap:8px}.cw-seg{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:11px 13px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-seg:hover{background:hsl(var(--foreground) / .05)}.cw-seg.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-seg-title{font-size:13px;font-weight:600;color:hsl(var(--foreground))}.cw-seg-desc{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-foreground))}.cw-ctool{display:flex;flex-direction:column;gap:12px}.cw-ctool-inputs{display:flex;flex-wrap:wrap;gap:8px}.cw-ctool-inputs .cw-input{flex:1 1 180px}.cw-ctool-list{display:flex;flex-direction:column;gap:8px}.cw-ctool-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--card))}.cw-ctool-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.cw-ctool-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ctool-name{font-size:13.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--foreground));word-break:break-word}.cw-ctool-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp,.cw-mcp-list{display:flex;flex-direction:column;gap:12px}.cw-mcp-row{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card))}.cw-mcp-rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-mcp-transport{display:inline-flex;gap:6px}.cw-seg-sm{flex:0 0 auto;min-width:72px;flex-direction:row;align-items:center;justify-content:center;text-align:center;padding:6px 16px;border-radius:9px}.cw-seg-sm .cw-seg-title{font-size:12.5px}.cw-mcp-note{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp-warning{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border:1px solid #b4530940;border-radius:8px;background:#b453091a;color:#b45309;font-size:12.5px;line-height:1.5}.cw-mcp-warning svg{flex:0 0 auto;width:15px;height:15px;margin-top:2px}.cw-mcp .cw-add-sub{margin-top:0}.cw-mcp-field{align-items:center}.cw-mcp-field>.cw-label{align-self:center}.cw-subfield{margin:0;padding:9px 0;border:0;border-radius:0;background:transparent}.cw-toggle-stack{gap:0}.cw-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:9px 0;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.cw-toggle:hover{background:hsl(var(--muted) / .18)}.cw-toggle.is-on{background:hsl(var(--muted) / .24);box-shadow:none}.cw-toggle-text{grid-column:1;grid-row:1;margin-left:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-toggle-title{font-size:14px;font-weight:600}.cw-toggle-help{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-switch{grid-column:2;grid-row:1;justify-self:end;flex-shrink:0;display:flex;align-items:center;width:42px;height:24px;padding:2px;border-radius:999px;background:hsl(var(--border));transition:background .18s}.cw-toggle.is-on .cw-switch{background:hsl(var(--primary));justify-content:flex-end}.cw-switch-knob{display:block;width:20px;height:20px;border-radius:50%;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .2)}.cw-sub-list{display:flex;flex-direction:column;gap:14px}.cw-sub{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .03)}.cw-sub-head{display:flex;align-items:center;justify-content:space-between}.cw-sub-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.cw-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-icon-btn:not(:disabled):hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cw-icon-danger:not(:disabled):hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.cw-sub-head-actions{display:inline-flex;align-items:center;gap:2px}.cw-sub-list-wrap{display:flex;flex-direction:column}.cw-agent-type-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0}.cw-agent-type-option{position:relative;min-width:0;min-height:42px;display:flex;align-items:center;gap:10px;padding:0;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.cw-agent-type-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-agent-type-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-agent-type-option.is-disabled{color:hsl(var(--muted-foreground) / .52);cursor:not-allowed}.cw-agent-type-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-agent-type-control{align-self:stretch;flex:1;width:100%;min-width:0;min-height:100%;box-sizing:border-box;padding:10px 12px;color:inherit;cursor:inherit}.cw-agent-type-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-agent-type-copy strong{font-size:13px;font-weight:650}.cw-agent-type-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.cw-agent-type-disabled-hint{position:absolute;top:calc(100% + 17px);right:0;width:max-content;max-width:220px;padding:7px 10px;border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--popover));box-shadow:0 8px 24px hsl(var(--foreground) / .1);color:hsl(var(--popover-foreground));font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.cw-agent-type-option.is-disabled:hover .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus-visible .cw-agent-type-disabled-hint{opacity:1;transform:translateY(0)}.cw-agent-type-option:focus-within,.cw-agent-type-option:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-add-sub{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;width:100%;border:1px dashed hsl(var(--border));border-radius:12px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cw-add-sub:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-review{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;background:hsl(var(--card))}.cw-review-row{display:flex;gap:18px;padding:13px 16px;border-bottom:1px solid hsl(var(--border))}.cw-review-row:last-child{border-bottom:none}.cw-review-key{flex-shrink:0;width:110px;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground))}.cw-review-val{flex:1;min-width:0;font-size:13.5px}.cw-review-strong{font-weight:600}.cw-review-muted{color:hsl(var(--muted-foreground))}.cw-review-pre{margin:0;padding:10px 12px;background:hsl(var(--muted));border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.cw-review-chips,.cw-review-subs{display:flex;flex-wrap:wrap;gap:6px}.cw-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.cw-tag-on{background:#22c35d24;color:#1c7d3f}.cw-tag-off{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.cw-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:background .13s,opacity .13s,border-color .13s,transform .1s}.cw-btn:active{transform:scale(.98)}.cw-btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-btn-primary:hover:not(:disabled){opacity:.88}.cw-btn-primary:disabled{opacity:.4;cursor:default}.cw-btn-ghost{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.cw-btn-ghost:hover{background:hsl(var(--accent))}.cw-btn-soft{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));flex-shrink:0}.cw-btn-soft:hover:not(:disabled){background:hsl(var(--accent))}.cw-btn-soft:disabled{opacity:.45;cursor:default}.cw-i{width:16px;height:16px;flex-shrink:0}.cw-i-sm{width:14px;height:14px}.cw-root-preview{height:100%}.cw-preview-body{flex:1;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-preview-body>*{flex:1;min-height:0}.cw-skillhub{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.cw-skill-searchrow{display:flex;gap:8px}.cw-skill-searchbox{position:relative;flex:1;min-width:0;display:flex;align-items:center}.cw-skill-searchicon{position:absolute;left:11px;color:hsl(var(--muted-foreground));pointer-events:none}.cw-skill-input{padding-left:36px}.cw-skill-input:focus,.cw-skill-input:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:1px;border-color:hsl(var(--ring) / .48);background:hsl(var(--background));box-shadow:none}.cw-skill-selected{display:flex;flex-direction:column;gap:8px}.cw-skill-selected-label{font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground))}.cw-skill-results{display:flex;flex-direction:column;gap:8px;max-height:472px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-skill-result{flex-shrink:0;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s;min-height:72px}.cw-skill-result:hover{background:hsl(var(--foreground) / .05)}.cw-skill-result.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-skill-result-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));transition:background .12s,border-color .12s,color .12s}.cw-skill-result.is-on .cw-skill-result-icon{background:hsl(var(--foreground));border-color:hsl(var(--foreground));color:hsl(var(--background))}.cw-skill-result-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-skill-result-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground));word-break:break-word}.cw-skill-result-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-skill-result-repo{font-size:11px;font-family:inherit;line-height:1.4;color:hsl(var(--muted-foreground));word-break:break-all}.cw-skill-loading{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.cw-spin{animation:cw-spin .8s linear infinite}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-skillspane{display:flex;flex-direction:column;gap:10px;padding:10px 0 12px}.cw-skill-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.cw-skill-add:hover{border-color:hsl(var(--foreground) / .34);background:transparent;color:hsl(var(--foreground))}.cw-skill-add:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .25)}.cw-skill-add-icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.cw-skill-dialog-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#15181e47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cw-skill-dialog{width:min(680px,calc(100vw - 32px));height:min(640px,calc(100dvh - 40px));min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 72px #10131933}.cw-skill-dialog-head{flex-shrink:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;border-bottom:1px solid hsl(var(--border))}.cw-skill-dialog-head h3{margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.cw-skill-dialog-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-skill-dialog-close:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-skill-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.cw-skill-sourcetabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:44px;padding:4px;overflow:hidden;border:1px solid hsl(var(--border) / .55);border-radius:10px;background:hsl(var(--secondary) / .58)}.cw-skill-tab-slider{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:var(--cw-skill-tab-slider-width);border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--background));transform:translate(var(--cw-active-skill-tab-offset));transition:transform .24s cubic-bezier(.22,1,.36,1)}.cw-skill-pickertab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background .16s,color .16s}.cw-skill-pickertab:hover{background:hsl(var(--foreground) / .035);color:hsl(var(--foreground))}.cw-skill-pickertab.is-on{background:transparent;color:hsl(var(--foreground))}.cw-skill-pickertab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-skill-tabbody{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.cw-selected-skill-list{display:flex;flex-direction:column;gap:7px;max-height:347px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-selected-skill-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card))}.cw-selected-skill-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-selected-skill-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-selected-skill-name{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-detail{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-selected-skill-remove:hover{background:hsl(var(--destructive) / .09);color:hsl(var(--destructive))}.cw-local{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.cw-local-dropzone{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 14px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .15s,color .15s}.cw-local-drop-icon{width:20px;height:20px;color:hsl(var(--muted-foreground))}.cw-local-dropzone.is-dragging{border-color:hsl(var(--foreground) / .48);color:hsl(var(--foreground))}.cw-local-drop-hint{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px}.cw-local-dropzone.is-dragging .cw-local-drop-hint,.cw-local-dropzone.is-dragging .cw-local-drop-icon{color:hsl(var(--foreground))}.cw-local-hint{margin:0;font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-skillspace{height:100%;min-height:0;display:flex;flex-direction:column}.cw-skillspace-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}.cw-skillspace-select{width:100%;flex:1;min-width:0}.cw-skillspace-region-label{flex-shrink:0;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted) / .52);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;white-space:nowrap}.cw-skillspace-console-link{flex-shrink:0;padding:9px 12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.cw-skillspace-console-link .cw-i{display:block}.cw-skill-result-version{color:hsl(var(--muted-foreground));font-weight:400;font-size:11px;margin-left:4px}.cw-skill-result-repo .cw-i{vertical-align:-2px;margin-right:2px}@media (max-width: 1280px){.cw-root{--cw-workspace-width: calc(100% - 48px) }.cw-workspace-header{padding-inline:16px}.cw-debug{width:280px}.cw-tree{width:208px}}@media (max-width: 1080px){.cw-editor{overflow:hidden}.cw-tree{height:auto}.cw-detail{flex:1 1 auto;width:100%;max-width:none;min-height:0}.cw-debug{flex:0 0 100%;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px;border-left:none;border-top:1px solid hsl(var(--border))}.cw-debug.is-collapsed{flex:0 0 48px;width:100%;min-width:0;height:48px;min-height:48px;align-items:flex-end;padding:7px 12px}.cw-debug.is-collapsed .cw-debug-expand{width:34px;min-height:34px}.cw-lower{gap:0}.cw-detail .cw-form-col{max-width:100%}}@media (max-width: 860px){.cw-root{--cw-workspace-gutter: 8px;--cw-workspace-width: calc(100% - 16px) }.cw-workspace-header{min-height:50px;padding:6px 10px}.cw-workspace-header h1{font-size:17px}.cw-validation-workspace{display:flex}.cw-ab-stage{padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr))}.cw-ab-composer{padding-inline:var(--cw-workspace-gutter)}.cw-editor{flex-direction:column;overflow-x:hidden;overflow-y:hidden}.cw-editor>.abc-root{flex:0 0 180px;width:100%;min-width:0;min-height:180px}.cw-tree{width:100%;height:auto;max-height:220px;border-right:0;border-bottom:1px solid hsl(var(--border))}.cw-detail{flex:1 1 auto;width:100%;max-width:none;height:auto;min-height:0;border-left:0}.cw-detail-scroll{padding:16px 12px 20px}.cw-debug{flex:none;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px}.cw-debug.is-collapsed{width:100%;height:48px;min-height:48px}.cw-center{gap:0;padding:24px 16px 64px}.cw-form-col{max-width:100%}}@media (max-width: 700px){.cw-workspace-header h1{text-align:center}.cw-workspace-nav-actions{grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr)}.cw-workspace-nav-button{padding-inline:12px}.cw-form>.cw-more-options,.cw-dependency-hint{margin-left:0}.cw-field{grid-template-columns:minmax(0,1fr);row-gap:8px}.cw-field>.cw-label,.cw-field>.cw-remote-center-head,.cw-field>:not(.cw-label):not(.cw-remote-center-head),.cw-field>.cw-dependency-hint{grid-column:1}.cw-optimization-list,.cw-ab-grid,.cw-ab-config{grid-template-columns:minmax(0,1fr)}.cw-ab-composer{grid-template-columns:minmax(0,1fr);padding-bottom:12px}.cw-ab-add{width:100%}.cw-dataset-summary>div+div{border-top:1px solid hsl(var(--border));border-left:0}}.package-create{flex:1;min-width:0;min-height:0;display:flex;color:hsl(var(--foreground))}.package-create-preview{height:100%}.package-create-preview>*{flex:1;min-width:0;min-height:0}.package-source-pane{padding:16px 18px 18px}.package-source-label{margin-bottom:10px;color:hsl(var(--foreground));font-size:15px;font-weight:650}.package-dropzone{min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.package-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:3px}.package-dropzone.is-dragging{border-color:hsl(var(--primary) / .62);background:hsl(var(--primary) / .045)}.package-dropzone.is-ready{background:hsl(var(--background))}.package-dropzone>strong{max-width:100%;overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.package-dropzone>span{max-width:420px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.package-upload-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}.package-upload-actions button{min-height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.package-upload-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.package-upload-secondary:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary))}.package-upload-actions button:disabled{cursor:default;opacity:.45}.package-upload-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.package-dropzone input{display:none}.package-create-error{flex:0 0 auto;margin-top:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));font-size:13px;line-height:1.5}@media (max-width: 860px){.package-dropzone{min-height:140px}}@media (prefers-reduced-motion: reduce){.package-dropzone,.package-upload-actions button{transition:none}}.studio-update-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:32px;padding:0 10px;border:1px solid #1664ff;border-radius:8px;background:#1664ff;color:#fff;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle{gap:0;width:32px;min-width:32px;padding:0;overflow:hidden;white-space:nowrap;transition:width .18s ease,gap .18s ease,padding .18s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle:hover,.studio-update-trigger.is-idle:focus-visible{gap:7px;width:124px;padding:0 10px;border-color:#1664ff;background:#1664ff;color:#fff}.studio-update-trigger.is-idle>span{max-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:max-width .18s ease,opacity .12s ease,transform .18s ease}.studio-update-trigger.is-idle:hover>span,.studio-update-trigger.is-idle:focus-visible>span{max-width:86px;opacity:1;transform:translate(0)}.studio-update-trigger.is-submitting{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.studio-update-trigger.is-error{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--destructive))}.studio-update-trigger.is-published{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.studio-update-icon{width:17px;height:17px;flex:0 0 17px}.studio-update-dialog{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;width:min(500px,calc(100vw - 32px));max-width:calc(100vw - 32px);min-width:0;overflow:hidden}.studio-update-dialog.is-progress{width:min(760px,calc(100vw - 32px))}.studio-update-dialog>.studio-update-dialog-mark{grid-column:1;grid-row:1}.studio-update-dialog>.confirm-title{grid-column:2;grid-row:1;align-self:start;margin:5px 0 12px}.studio-update-dialog>:not(.studio-update-dialog-mark,.confirm-title){grid-column:1 / -1;width:100%;max-width:100%;min-width:0}.studio-update-dialog .confirm-text,.studio-update-dialog .studio-update-changelog li,.studio-update-dialog .studio-update-changelog p,.studio-update-dialog .studio-update-error,.studio-update-dialog .studio-update-progress small,.studio-update-dialog .studio-update-progress-note,.studio-update-dialog .studio-update-console-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.studio-update-field{position:relative;display:grid;gap:6px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-version-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.studio-update-version-trigger:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.studio-update-version-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.studio-update-version-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.studio-update-version-trigger>svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.studio-update-version-trigger>span,.studio-update-version-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-update-version-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.studio-update-version-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:100%;max-height:190px;padding:4px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel, var(--background)));box-shadow:0 12px 28px hsl(var(--foreground) / .1),0 2px 8px hsl(var(--foreground) / .05);overscroll-behavior:contain}.studio-update-version-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer}.studio-update-version-option:hover,.studio-update-version-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.studio-update-version-option.is-selected{background:hsl(var(--primary) / .08)}.studio-update-version-option>svg{width:15px;height:15px;flex:0 0 15px;color:hsl(var(--primary));stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.studio-update-dialog-mark{display:inline-grid;flex:0 0 30px;width:30px;height:30px;margin-bottom:12px;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-update-dialog-mark svg{width:18px;height:18px}.studio-update-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-versions div:last-child{grid-column:1 / -1}.studio-update-versions dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-versions dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.studio-update-changelog{margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px}.studio-update-changelog>div{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:500}.studio-update-changelog ul{display:block;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;list-style:disc outside;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li{display:list-item;margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-changelog li+li{margin-top:5px}.studio-update-changelog p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-confirm{border-color:transparent;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-update-confirm:hover{background:hsl(var(--primary) / .88)}.studio-update-error{margin-bottom:12px;color:hsl(var(--destructive))}.studio-update-error-panel{min-width:0}.studio-update-error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.studio-update-error-meta>div{min-width:0;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-error-meta dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-error-meta dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.studio-update-log-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid hsl(var(--border));border-bottom:0;border-radius:8px 8px 0 0;background:hsl(var(--muted) / .28);color:hsl(var(--foreground));font-size:11px;font-weight:500}.studio-update-log-header>span{display:inline-flex;align-items:center;gap:6px}.studio-update-log-header i{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.studio-update-log-header i.is-active{background:#1664ff;box-shadow:0 0 0 3px #1664ff1c}.studio-update-log-header i.is-complete{background:#29ae60}.studio-update-log-header i.is-error{background:hsl(var(--destructive))}.studio-update-log-header small{color:hsl(var(--muted-foreground));font-size:10px;font-weight:400}.studio-update-log-header button{padding:2px 0;border:0;background:transparent;color:hsl(var(--primary));font:inherit;cursor:pointer}.studio-update-log-header button:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-log-header button:disabled{color:hsl(var(--muted-foreground));cursor:default;text-decoration:none}.studio-update-log-lines{min-height:92px;max-height:min(210px,29vh);padding:11px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:0 0 8px 8px;background:hsl(var(--foreground) / .035);color:hsl(var(--foreground));font-family:inherit;font-size:11px;line-height:1.55;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-log-lines:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-2px}.studio-update-log-lines>div+div{margin-top:3px}.studio-update-log-lines p{margin:0;color:hsl(var(--muted-foreground))}.studio-update-console-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:hsl(var(--primary));font-size:11px;font-weight:500;text-decoration:none}.studio-update-console-link:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.studio-update-progress-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-progress-summary span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-summary strong{overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-progress{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none}.studio-update-progress li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-height:38px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-progress li:not(:last-child):after{position:absolute;top:14px;bottom:-2px;left:5px;width:1px;background:hsl(var(--border));content:""}.studio-update-progress li.is-complete:not(:last-child):after{background:#1664ff}.studio-update-progress-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:2px;border:2px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.studio-update-progress li.is-active,.studio-update-progress li.is-complete{color:hsl(var(--foreground))}.studio-update-progress li.is-active .studio-update-progress-dot{border-color:#1664ff;box-shadow:0 0 0 3px #1664ff1f}.studio-update-progress li.is-complete .studio-update-progress-dot{border-color:#1664ff;background:#1664ff}.studio-update-progress li>div{display:grid;gap:3px;min-width:0}.studio-update-progress small{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-note{margin:12px 0 18px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.new-chat-video-task-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:new-chat-video-task-fade .14s ease-out}.new-chat-video-task-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:new-chat-video-task-rise .18s cubic-bezier(.2,.8,.2,1)}.new-chat-video-task-dialog__head{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 20px;border-bottom:1px solid hsl(var(--border))}.new-chat-video-task-dialog__close svg{width:17px;height:17px}.new-chat-video-task-dialog__head h2,.new-chat-video-task-dialog__head p{margin:0}.new-chat-video-task-dialog__head h2{width:fit-content;color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35;outline:0}.new-chat-video-task-dialog__head p{overflow:hidden;margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-dialog__close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.new-chat-video-task-dialog__close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.new-chat-video-task-dialog button:focus-visible,.new-chat-video-task-dialog a:focus-visible,.new-chat-video-task-dialog video:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.new-chat-video-task-dialog__body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;overscroll-behavior:contain}.new-chat-video-task-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.new-chat-video-task-steps li{min-width:0;padding:0 0 8px;border-bottom:2px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.4}.new-chat-video-task-step__label{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-step__label>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.new-chat-video-task-step__loading{width:13px;height:13px;flex:0 0 auto;animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-steps li.is-active,.new-chat-video-task-steps li.is-done,.new-chat-video-task-steps li.is-failed{color:hsl(var(--foreground))}.new-chat-video-task-steps li.is-active{border-color:hsl(var(--primary))}.new-chat-video-task-steps li.is-done{border-color:#91cab1}.new-chat-video-task-steps li.is-failed{border-color:hsl(var(--destructive))}.new-chat-video-task-error{padding:12px 14px;border:1px solid hsl(var(--destructive) / .22);border-radius:9px;background:hsl(var(--destructive) / .05);color:hsl(var(--foreground))}.new-chat-video-task-error p{margin:0}.new-chat-video-task-error p{color:hsl(var(--foreground));font-size:13px;line-height:1.55}.new-chat-video-task-prompt{min-width:0;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas))}.new-chat-video-task-prompt h3,.new-chat-video-task-prompt p{margin:0}.new-chat-video-task-prompt h3{color:hsl(var(--foreground));font-size:12px;font-weight:620}.new-chat-video-task-prompt p{max-height:144px;overflow-y:auto;margin-top:7px;color:hsl(var(--foreground) / .78);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-preview{min-height:224px;display:grid;place-items:center;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:#161618}.new-chat-video-task-preview video{width:100%;max-height:360px;display:block;object-fit:contain}.new-chat-video-task-preview.is-loading{align-content:center;gap:8px;padding:24px;background:hsl(var(--canvas));color:hsl(var(--muted-foreground));text-align:center}.new-chat-video-task-preview__loading{width:20px;height:20px;color:hsl(var(--muted-foreground));animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-preview.is-loading strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.new-chat-video-task-preview.is-loading>span:last-child{font-size:12px}.new-chat-video-task-dialog__actions{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.new-chat-video-task-dialog__actions p{min-width:0;margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-dialog__actions p.is-warning{color:hsl(var(--destructive));font-weight:500}.new-chat-video-task-dialog__actions>div{display:flex;flex:0 0 auto;gap:8px}.new-chat-video-task-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.new-chat-video-task-button:hover{background:hsl(var(--secondary))}.new-chat-video-task-button.is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.new-chat-video-task-button.is-primary:hover{background:hsl(var(--primary) / .9)}.new-chat-video-task-button svg{width:15px;height:15px}@keyframes new-chat-video-task-fade{0%{opacity:0}to{opacity:1}}@keyframes new-chat-video-task-rise{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes new-chat-video-task-spin{to{transform:rotate(360deg)}}@media (max-width: 620px){.new-chat-video-task-backdrop{padding:12px}.new-chat-video-task-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.new-chat-video-task-steps{grid-template-columns:minmax(0,1fr);gap:10px}.new-chat-video-task-dialog__actions{align-items:stretch;flex-direction:column}.new-chat-video-task-dialog__actions>div{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.new-chat-video-task-backdrop,.new-chat-video-task-dialog,.new-chat-video-task-step__loading,.new-chat-video-task-preview__loading{animation:none}}.sandbox-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid hsl(268 58% 58% / .34);background:#f4eefb;color:#5b318c;font:inherit;font-weight:600;cursor:pointer;transition:background-color .14s ease-out,border-color .14s ease-out}.sandbox-entry svg{width:15px;height:15px;flex:0 0 auto}.sandbox-entry:hover:not(:disabled){border-color:#803ecc85;background:#ece2f9}.sandbox-entry:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-entry:disabled{cursor:default;opacity:.72}.sandbox-entry--composer{min-height:30px;padding:0 13px;border-radius:999px;font-size:12px}.sandbox-entry--header{min-height:32px;padding:0 10px;border-radius:7px;font-size:12px}.sandbox-entry.is-active{border-style:dashed}.sandbox-new-chat-entry{display:flex;justify-content:center;min-height:30px}.composer-slot{width:100%;min-width:0}.sandbox-composer-wrap{position:relative;z-index:50}.sandbox-session-warning{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;width:calc(100% - 32px);max-width:736px;min-height:24px;margin:0 auto 6px;color:#c7840f;font-size:12px}.sandbox-session-warning-dot{display:none}.sandbox-session-warning-copy{grid-column:2;white-space:nowrap;text-align:center}.sandbox-session-warning button{grid-column:3;justify-self:end;padding:3px 5px;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-weight:580;cursor:pointer}.sandbox-session-warning button:hover{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.sandbox-composer-wrap .composer-box{display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(44px,auto) 36px;align-items:center;gap:2px 8px;min-height:104px;padding:10px 8px 8px;border-radius:24px}.sandbox-composer-wrap .comp-input{grid-row:1;grid-column:1 / -1;align-self:stretch;width:100%;min-height:44px;padding:8px 10px 4px}.sandbox-composer-wrap .sandbox-composer-input{grid-row:1;grid-column:1 / -1;align-self:stretch;display:flex;flex-flow:row wrap;align-content:flex-start;align-items:center;gap:6px;min-height:44px;padding:5px 10px 2px}.sandbox-composer-input>.invocation-chips{flex:0 1 auto}.sandbox-composer-input>.comp-input{flex:1 1 180px;min-width:120px;min-height:28px;padding:4px 0;line-height:20px}.sandbox-codex-composer .composer-command-menu{z-index:100;display:flex;max-height:min(420px,calc(100vh - 180px));flex-direction:column}.sandbox-codex-composer .composer-command-list{min-height:0;max-height:none}.sandbox-composer-wrap .composer-left-controls{grid-row:2;grid-column:1;justify-self:start}.composer-left-controls{display:flex;align-items:center;gap:2px;min-width:0}.sandbox-composer-control{width:32px;height:32px}.sandbox-composer-control svg{width:16px;height:16px}.sandbox-composer-control.is-locked{color:hsl(var(--muted-foreground) / .56)}.sandbox-codex-composer .composer-menu-separator{height:1px;margin:4px 6px;background:hsl(var(--border))}.turn--system{width:100%;align-items:stretch;margin-bottom:16px}.sandbox-activity-record{width:100%;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .72);color:hsl(var(--muted-foreground))}.sandbox-activity-summary{display:grid;grid-template-columns:7px auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.45}.sandbox-activity-dot{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .68)}.sandbox-activity-label{padding-right:7px;border-right:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11px;font-weight:600}.sandbox-activity-summary strong{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-weight:560}.sandbox-activity-summary time{color:hsl(var(--muted-foreground));font-size:11px;white-space:nowrap}.sandbox-activity-details{display:grid;gap:5px;margin:8px 0 0 21px}.sandbox-activity-details>div{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px;font-size:12px;line-height:1.5}.sandbox-activity-details dt,.sandbox-activity-details dd{min-width:0;margin:0}.sandbox-activity-details dt{color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-activity-details dd{overflow-wrap:break-word;color:hsl(var(--foreground))}.sandbox-activity-details code{font:inherit;font-size:11px;line-height:1.5;white-space:pre-wrap}.sandbox-composer-wrap .comp-send{grid-row:2;grid-column:2}.main.is-sandbox-session{position:relative;isolation:isolate;background:linear-gradient(to bottom,#f4edfd,#f8f3fc,#fbf8fc 48%,hsl(var(--panel)) 76%)}.main.is-sandbox-session:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 78% 40% at 18% 0%,hsl(244 82% 84% / .24),transparent 70%),radial-gradient(ellipse 70% 36% at 52% 0%,hsl(284 70% 86% / .2),transparent 72%),radial-gradient(ellipse 64% 38% at 88% 2%,hsl(324 66% 88% / .16),transparent 72%),linear-gradient(to bottom,hsl(var(--panel) / 0),hsl(var(--panel) / .18) 42%,hsl(var(--panel)) 76%);filter:blur(24px);opacity:1;animation:sandbox-smoke-enter .42s ease-out both}.main.is-sandbox-session>*{position:relative;z-index:1}.sandbox-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-dialog{width:min(440px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-dialog-enter .18s ease-out both}.sandbox-dialog-visual{position:relative;display:grid;height:112px;place-items:center;overflow:hidden;border-bottom:1px solid hsl(var(--border));background:radial-gradient(circle at 35% 70%,hsl(256 68% 78% / .34),transparent 40%),radial-gradient(circle at 68% 30%,hsl(276 66% 72% / .28),transparent 42%),#f9f8fc}.sandbox-dialog-orbit{position:absolute;width:104px;height:44px;border:1px solid hsl(268 52% 54% / .22);border-radius:50%;transform:rotate(-12deg)}.sandbox-dialog-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid hsl(268 58% 58% / .3);border-radius:14px;background:hsl(var(--panel) / .9);color:#68389f;box-shadow:0 8px 24px #6c38a824}.sandbox-dialog-icon svg{width:23px;height:23px}.sandbox-spinner{width:21px;height:21px;border:2px solid hsl(268 48% 42% / .2);border-top-color:currentColor;border-radius:50%;animation:sandbox-spin .8s linear infinite}.sandbox-dialog-copy{padding:22px 24px 20px;text-align:center}.sandbox-dialog-copy h2{margin:0 0 8px;color:hsl(var(--foreground));font-size:17px;font-weight:650}.sandbox-dialog-copy p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.65}.sandbox-dialog-copy .sandbox-dialog-error{color:hsl(var(--destructive))}.sandbox-dialog-field{display:grid;gap:6px;margin-top:16px;text-align:left}.sandbox-dialog-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.sandbox-dialog-field-label>:last-child{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400}.sandbox-dialog-field input{width:100%;height:36px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.sandbox-dialog-field input:focus-visible{border-color:hsl(var(--primary) / .64);box-shadow:0 0 0 2px hsl(var(--primary) / .14)}.sandbox-dialog-field input:disabled{cursor:default;opacity:.66}.sandbox-dialog-persistence{display:grid;gap:3px;margin-top:12px;text-align:left}.sandbox-dialog-persistence-control{justify-self:start;color:hsl(var(--foreground));font-weight:550}.sandbox-dialog-persistence-description{margin:0 0 0 26px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.sandbox-dialog-persistence-description.is-warning{color:#9e6b1a}.sandbox-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-dialog-actions button{min-width:80px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-dialog-actions button:hover{background:hsl(var(--secondary))}.sandbox-dialog-actions button:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-dialog-actions .is-primary{border-color:#68389f;background:#68389f;color:hsl(var(--primary-foreground))}.sandbox-dialog-actions .is-primary:hover{background:#5b318c}@keyframes sandbox-spin{to{transform:rotate(360deg)}}@keyframes sandbox-dialog-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-smoke-enter{0%{opacity:0}to{opacity:1}}.sandbox-codex-composer .composer-command-head small{max-width:210px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sandbox-codex-composer .composer-command-icon--command,.sandbox-codex-composer .composer-command-icon--model{font-size:16px;font-weight:700;line-height:1}.sandbox-codex-composer .composer-command-icon--command{background:hsl(var(--accent));color:hsl(var(--foreground))}.sandbox-codex-composer .composer-command-icon--model{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-token-usage{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-right:auto}.sandbox-token-usage>span{display:inline-flex;align-items:baseline;gap:4px;padding:3px 7px;border:1px solid hsl(var(--border) / .76);border-radius:6px;background:hsl(var(--muted) / .42);color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-token-usage small{font-size:9px;font-weight:560}.sandbox-token-usage strong{color:hsl(var(--foreground) / .76);font-size:10px;font-weight:600;line-height:1.2}@media (max-width: 700px){.sandbox-entry--header span{display:none}.sandbox-entry--header{width:32px;padding:0}.sandbox-session-warning{grid-template-columns:1fr auto;width:calc(100% - 16px)}.sandbox-session-warning-copy{grid-column:1;white-space:normal;text-align:left}.sandbox-session-warning button{grid-column:2}.sandbox-activity-summary{grid-template-columns:7px auto minmax(0,1fr)}.sandbox-activity-summary time{grid-column:3}.sandbox-activity-details>div{grid-template-columns:1fr;gap:1px}}@media (prefers-reduced-motion: reduce){.sandbox-entry,.sandbox-dialog,.main.is-sandbox-session:before{animation:none;transition:none}}.sandbox-control-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sandbox-control-fade .14s ease-out}.sandbox-control-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:sandbox-control-rise .18s cubic-bezier(.2,.8,.2,1)}.sandbox-control-head{min-height:60px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 17px;border-bottom:1px solid hsl(var(--border))}.sandbox-control-head-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-head-icon svg{width:17px;height:17px}.sandbox-control-head h2,.sandbox-control-head p{margin:0}.sandbox-control-head h2{color:hsl(var(--foreground));font-size:14px;font-weight:660;line-height:1.35}.sandbox-control-head p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-control-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-control-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-dialog button:focus-visible,.sandbox-control-dialog input:focus-visible,.sandbox-control-dialog iframe:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.sandbox-control-close svg{width:16px;height:16px}.sandbox-control-body{min-height:0;overflow:auto;padding:18px}.sandbox-control-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.sandbox-control-actions button,.sandbox-control-state button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:590;text-decoration:none;cursor:pointer}.sandbox-control-actions button:hover:not(:disabled),.sandbox-control-state button:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary))}.sandbox-control-actions button.is-primary,.sandbox-control-state button{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sandbox-control-actions button:disabled{cursor:default;opacity:.5}.sandbox-control-actions svg{width:13px;height:13px}.sandbox-choice-group{margin:0 0 18px;padding:0;border:0}.sandbox-settings-dialog{width:min(720px,calc(100vw - 40px))}.sandbox-choice-group legend{margin-bottom:8px;color:hsl(var(--foreground));font-size:12px;font-weight:650}.sandbox-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sandbox-choice-list button{min-width:0;min-height:72px;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-choice-list button:hover:not(:disabled),.sandbox-choice-list button.is-active{border-color:hsl(var(--primary) / .42);background:hsl(var(--accent))}.sandbox-choice-list button.is-danger:hover:not(:disabled),.sandbox-choice-list button.is-danger.is-active{border-color:hsl(var(--destructive) / .38);background:hsl(var(--destructive) / .06)}.sandbox-choice-list button>i{width:12px;height:12px;flex:0 0 auto;margin-top:2px;border:1px solid hsl(var(--border));border-radius:50%}.sandbox-choice-list button.is-active>i{border:3px solid hsl(var(--primary));background:hsl(var(--background))}.sandbox-choice-list button>span{min-width:0;display:grid;gap:5px}.sandbox-choice-list strong{color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-choice-list small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.sandbox-network-toggle{min-height:54px;display:flex;align-items:center;gap:12px;margin-top:2px;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .24)}.sandbox-network-toggle>span{min-width:0;flex:1;display:grid;gap:3px}.sandbox-network-toggle strong{font-size:11px}.sandbox-network-toggle small{color:hsl(var(--muted-foreground));font-size:11px}.sandbox-network-toggle input{width:16px;height:16px;accent-color:hsl(var(--primary))}.sandbox-network-toggle.is-disabled{opacity:.62}.sandbox-control-note,.sandbox-control-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(42 70% 52% / .25);border-radius:8px;background:#fcf8ed;color:#916622;font-size:12px;line-height:1.55}.sandbox-control-note.is-danger,.sandbox-control-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.sandbox-workspace-dialog{width:min(600px,calc(100vw - 40px))}.sandbox-workspace-input{display:grid;gap:7px;color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-workspace-input>div{display:flex;gap:7px}.sandbox-workspace-input input{min-width:0;height:36px;flex:1;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.sandbox-workspace-input input:focus{border-color:hsl(var(--primary) / .55);box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.sandbox-workspace-input button{width:64px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .35);color:hsl(var(--foreground));font:inherit;font-size:11px;cursor:pointer}.sandbox-directory-browser{height:268px;margin-top:14px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .14)}.sandbox-directory-head{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;font-size:10px}.sandbox-directory-head span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-head svg{width:13px}.sandbox-directory-list{height:calc(100% - 36px);overflow:auto;padding:5px}.sandbox-directory-list button{width:100%;min-height:34px;display:grid;grid-template-columns:18px minmax(0,auto) minmax(0,1fr) 16px;align-items:center;gap:7px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11px;text-align:left;cursor:pointer}.sandbox-directory-list button:hover{background:hsl(var(--foreground) / .05)}.sandbox-directory-list button>svg:first-child{width:15px;color:hsl(var(--foreground))}.sandbox-directory-list button>svg:last-child{width:13px;color:hsl(var(--muted-foreground))}.sandbox-directory-list button small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-empty{display:grid;min-height:120px;place-items:center;color:hsl(var(--muted-foreground));font-size:11px}.sandbox-tool-dialog{width:min(1120px,calc(100vw - 44px));height:min(760px,calc(100vh - 48px));max-height:none}.sandbox-tool-toolbar{min-height:42px;display:flex;align-items:center;gap:12px;padding:5px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .2)}.sandbox-tool-toolbar>span{display:inline-flex;align-items:center;gap:7px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.sandbox-tool-toolbar>span i{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .5)}.sandbox-tool-toolbar>span i.is-ready{background:#2ab262}.sandbox-tool-toolbar>span i.is-loading{background:#e9ab1c}.sandbox-tool-surface{flex:1;min-height:0;display:grid;overflow:hidden;background:hsl(var(--secondary) / .2)}.sandbox-tool-dialog--terminal .sandbox-tool-surface{background:#15171e}.sandbox-tool-surface iframe{width:100%;height:100%;border:0;background:hsl(var(--background))}.sandbox-control-state{display:grid;place-items:center;align-content:center;gap:8px;padding:28px;color:hsl(var(--muted-foreground));text-align:center}.sandbox-control-state>svg{width:22px;height:22px;color:hsl(var(--foreground))}.sandbox-control-state strong{color:hsl(var(--foreground));font-size:13px}.sandbox-control-state span{max-width:420px;font-size:11px;line-height:1.55}.sandbox-approval-dialog{width:min(560px,calc(100vw - 40px))}.sandbox-approval-reason{margin-bottom:11px;color:hsl(var(--foreground));font-size:12px;line-height:1.55}.sandbox-approval-dialog pre{max-height:240px;margin:0 0 10px;overflow:auto;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:#181a21;color:#e0e6eb;font:inherit;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.sandbox-approval-meta{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-approval-meta code{color:hsl(var(--foreground));font:inherit;font-size:10px}.sandbox-approval-actions{flex-wrap:wrap}.sandbox-threads-dialog{width:min(620px,calc(100vw - 40px))}.sandbox-thread-list{display:grid;max-height:min(520px,64vh);overflow-y:auto;padding:7px}.sandbox-thread-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:62px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-thread-list>button:hover{background:hsl(var(--accent))}.sandbox-thread-list>button.is-active{background:hsl(var(--muted) / .7);cursor:default}.sandbox-thread-list>button>span{display:grid;min-width:0;gap:4px}.sandbox-thread-list strong,.sandbox-thread-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-thread-list strong{font-size:12px;font-weight:620}.sandbox-thread-list small,.sandbox-thread-list time{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-thread-list svg{width:14px;height:14px;color:hsl(var(--muted-foreground))}@keyframes sandbox-control-fade{0%{opacity:0}to{opacity:1}}@keyframes sandbox-control-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.sandbox-control-backdrop{padding:10px}.sandbox-control-dialog{width:100%;max-height:calc(100vh - 20px)}.sandbox-tool-dialog{height:calc(100vh - 20px)}.sandbox-choice-list,.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:1fr}.sandbox-choice-list button{min-height:58px}.sandbox-control-head p{display:none}.sandbox-control-actions>button{flex:1}}@media (prefers-reduced-motion: reduce){.sandbox-control-backdrop,.sandbox-control-dialog{animation:none}}.sandbox-agent-details{display:grid;align-content:start;gap:20px;width:min(920px,100%);height:100%;min-height:0;margin:0 auto;padding:28px 32px;overflow:auto}.sandbox-agent-details-header{display:grid;gap:20px}.sandbox-agent-back{display:inline-flex;width:fit-content;height:32px;align-items:center;gap:6px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;font-weight:550;cursor:pointer}.sandbox-agent-back:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.sandbox-agent-back:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-back svg{width:16px;height:16px;flex:0 0 auto}.sandbox-agent-details-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650}.sandbox-agent-details-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px}.sandbox-agent-detail-error{padding:10px 12px;border:1px solid hsl(var(--destructive) / .3);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px}.sandbox-agent-detail-panel{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.sandbox-agent-detail-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 24px}.sandbox-agent-detail-panel dl>div{min-width:0;padding:16px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:nth-last-child(-n+2){border-bottom:0}.sandbox-agent-detail-panel dl>div:nth-child(odd){padding-right:24px}.sandbox-agent-detail-panel dl>div:nth-child(2n){padding-left:24px}.sandbox-agent-detail-panel dl>.is-wide{grid-column:1 / -1;padding-right:0}.sandbox-agent-detail-panel dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-detail-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:520}.sandbox-agent-detail-panel footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .25)}.sandbox-agent-detail-panel footer button{height:34px;padding:0 14px;border-radius:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-agent-delete{border:1px solid hsl(var(--destructive) / .34);background:hsl(var(--panel));color:hsl(var(--destructive))}.sandbox-agent-open{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-agent-detail-panel footer button:disabled{cursor:default;opacity:.58}@media (max-width: 720px){.sandbox-agent-details{padding:20px 16px}.sandbox-agent-detail-panel dl{grid-template-columns:1fr;padding:8px 16px}.sandbox-agent-detail-panel dl>div,.sandbox-agent-detail-panel dl>div:nth-child(odd),.sandbox-agent-detail-panel dl>div:nth-child(2n){padding:14px 0;border-bottom:1px solid hsl(var(--border))}.sandbox-agent-detail-panel dl>div:last-child{border-bottom:0}}@layer components{._SegmentedControl_1sl7d_1{--segmented-control-option-radius: calc( var(--segmented-control-radius) - var(--segmented-control-gutter) );position:relative;overflow:auto;display:inline-flex;flex-wrap:nowrap;gap:var(--segmented-control-gap);height:var(--segmented-control-size);padding:var(--segmented-control-gutter);border-radius:var(--segmented-control-radius);background:var(--segmented-control-background);font-size:var(--segmented-control-font-size);font-weight:var(--segmented-control-font-weight);-ms-overflow-style:none;scrollbar-width:none;vertical-align:middle;white-space:nowrap}._SegmentedControl_1sl7d_1::-webkit-scrollbar{width:0;height:0}._SegmentedControl_1sl7d_1::-webkit-scrollbar-track,._SegmentedControl_1sl7d_1::-webkit-scrollbar-thumb{background:transparent}._SegmentedControl_1sl7d_1:where([data-block]){overflow:hidden;display:flex;width:100%;white-space:wrap}._SegmentedControl_1sl7d_1:where([data-size="3xs"]){--segmented-control-size: var(--control-size-3xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size="2xs"]){--segmented-control-size: var(--control-size-2xs);--segmented-control-font-size: var(--control-font-size-sm);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=xs]){--segmented-control-size: var(--control-size-xs);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-sm);--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-size=sm]){--segmented-control-size: var(--control-size-sm);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-size=md]){--segmented-control-size: var(--control-size-md);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=lg]){--segmented-control-size: var(--control-size-lg);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-md);--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-size=xl]){--segmented-control-size: var(--control-size-xl);--segmented-control-font-size: var(--control-font-size-md);--segmented-control-radius: var(--control-radius-lg);--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-size="2xl"]){--segmented-control-size: var(--control-size-2xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-size="3xl"]){--segmented-control-size: var(--control-size-3xl);--segmented-control-font-size: var(--control-font-size-lg);--segmented-control-radius: var(--control-radius-xl);--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-gutter-size="2xs"]){--segmented-control-option-gutter: var(--control-gutter-2xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xs]){--segmented-control-option-gutter: var(--control-gutter-xs)}._SegmentedControl_1sl7d_1:where([data-gutter-size=sm]){--segmented-control-option-gutter: var(--control-gutter-sm)}._SegmentedControl_1sl7d_1:where([data-gutter-size=md]){--segmented-control-option-gutter: var(--control-gutter-md)}._SegmentedControl_1sl7d_1:where([data-gutter-size=lg]){--segmented-control-option-gutter: var(--control-gutter-lg)}._SegmentedControl_1sl7d_1:where([data-gutter-size=xl]){--segmented-control-option-gutter: var(--control-gutter-xl)}._SegmentedControl_1sl7d_1:where([data-pill]){--segmented-control-radius: var(--radius-full);--segmented-control-option-radius: var(--radius-full)}._SegmentedControlOption_1sl7d_140{position:relative;padding:0 var(--segmented-control-option-gutter);border-radius:var(--segmented-control-option-radius);color:var(--color-text-secondary);cursor:pointer;line-height:1;transition-duration:var(--transition-duration-basic);transition-property:opacity,background-color,color;transition-timing-function:var(--transition-ease-basic)}._SegmentedControlOption_1sl7d_140:focus{outline:0}:where(._SegmentedControl_1sl7d_1[data-block]) ._SegmentedControlOption_1sl7d_140{flex:1}:where(._SegmentedControl_1sl7d_1[data-pill]) ._SegmentedControlOption_1sl7d_140{padding:0 calc(var(--segmented-control-option-gutter) * var(--control-gutter-pill-scaling))}._SegmentedControlOption_1sl7d_140[data-state=on]:focus-visible{outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140:before{position:absolute;inset:var(--segmented-control-option-highlight-gutter);border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-option-highlight-background-color);content:"";opacity:0;pointer-events:none;transform:scale(1);transition-duration:var(--transition-duration-basic);transition-property:opacity,transform;transition-timing-function:var(--transition-ease-basic);will-change:transform}._SegmentedControlOption_1sl7d_140:active:before{transform:scale(var(--scale),.97)}._SegmentedControlOption_1sl7d_140 svg{display:block}@media (hover: hover) and (pointer: fine){._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):hover:before{opacity:.5}}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):focus-visible{color:var(--color-text);outline:2px solid var(--color-ring)}._SegmentedControlOption_1sl7d_140[data-state=off]:where(:not([disabled])):active:before{opacity:.75}._SegmentedControlOption_1sl7d_140[data-state=on]{color:var(--color-text)}._SegmentedControlOption_1sl7d_140[data-disabled]{cursor:not-allowed;opacity:.5}._SegmentedControlOption_1sl7d_140[data-disabled]:before{opacity:0!important}._SegmentedControlThumb_1sl7d_219{position:absolute;top:var(--segmented-control-gutter);bottom:var(--segmented-control-gutter);left:0;border-radius:var(--segmented-control-option-radius);background:var(--segmented-control-thumb-background);box-shadow:var(--segmented-control-thumb-shadow);pointer-events:none;will-change:transform}}.sandbox-agent-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;background:hsl(var(--canvas))}.sandbox-agent-workspace>header{display:flex;min-width:0;min-height:62px;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.sandbox-agent-workspace-title{display:flex;min-width:0;align-items:center;gap:10px}.sandbox-agent-workspace-title>button{display:inline-grid;width:24px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-agent-workspace-title>button:hover{color:hsl(var(--foreground))}.sandbox-agent-workspace-title svg{width:17px;height:17px}.sandbox-agent-workspace-title>div{min-width:0}.sandbox-agent-workspace-title h1{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:15px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.sandbox-agent-workspace-title p{display:flex;align-items:center;gap:7px;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px}.sandbox-agent-workspace-status{display:inline-flex;min-height:18px;align-items:center;padding:0 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:550;line-height:1}.sandbox-agent-workspace-status[data-ready]{border-color:#428a5c38;background:#e9f6ee;color:#206f3d}.sandbox-agent-workspace-tabs{width:200px;flex:0 0 auto}.sandbox-agent-workspace button:focus-visible{outline:2px solid hsl(var(--foreground) / .3);outline-offset:2px}.sandbox-agent-workspace-surface{min-width:0;min-height:0;overflow:hidden}.sandbox-agent-workspace-surface iframe{display:block;width:100%;height:100%;border:0;background:hsl(var(--panel))}.sandbox-agent-workspace-state{display:grid;height:100%;place-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.sandbox-agent-workspace-state p{margin:0}.sandbox-agent-workspace-state.is-error{color:hsl(var(--destructive))}.sandbox-agent-workspace-state button{justify-self:center;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}@media (max-width: 720px){.sandbox-agent-workspace>header{align-items:stretch;flex-direction:column}.sandbox-agent-workspace-tabs{width:100%}}.auth-expired-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .22);backdrop-filter:blur(5px) saturate(.88);-webkit-backdrop-filter:blur(5px) saturate(.88)}.auth-expired-dialog{position:relative;width:min(400px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 28px 80px hsl(var(--foreground) / .2),0 2px 8px hsl(var(--foreground) / .06);animation:auth-expired-enter .18s cubic-bezier(.22,1,.36,1) both}.auth-expired-mark{display:grid;width:32px;height:32px;margin:32px auto 0;place-items:center;color:hsl(var(--foreground))}.auth-expired-mark svg{width:21px;height:21px;stroke-width:1.8}.auth-expired-copy{padding:22px 32px 28px;text-align:center}.auth-expired-copy h2{margin:0;color:hsl(var(--foreground));font-size:19px;font-weight:650;letter-spacing:-.01em}.auth-expired-copy>p:last-child{margin:11px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.7}.auth-expired-copy .auth-expired-error{margin-top:10px;color:hsl(var(--destructive))}.auth-expired-actions{padding:0 16px 16px}.auth-expired-actions button{width:100%;height:38px;border:1px solid hsl(var(--foreground));border-radius:9px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.auth-expired-actions button:hover{opacity:.88}.auth-expired-actions button:active{transform:translateY(1px)}.auth-expired-actions button:focus-visible{outline:3px solid hsl(var(--ring) / .28);outline-offset:2px}.auth-expired-actions button:disabled{cursor:wait;opacity:.58}@keyframes auth-expired-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-expired-dialog{animation:none}}.issue-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:issue-feedback-fade-in .14s ease-out}.issue-feedback-dialog{width:min(480px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:issue-feedback-rise-in .18s cubic-bezier(.2,.8,.2,1)}.issue-feedback-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid hsl(var(--border))}.issue-feedback-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.issue-feedback-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.issue-feedback-close svg,.issue-feedback-success-mark svg{width:16px;height:16px}.issue-feedback-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.issue-feedback-body,.issue-feedback-success{min-height:0;overflow-y:auto;padding:20px}.issue-feedback-intro{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-privacy{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.issue-feedback-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.issue-feedback-chip{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.issue-feedback-chip:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-chip[aria-pressed=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.issue-feedback-field{display:grid;gap:8px;color:hsl(var(--foreground));font-size:13px;font-weight:550}.issue-feedback-field textarea{width:100%;min-height:112px;resize:vertical;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400;line-height:1.55}.issue-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.issue-feedback-error{margin:12px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.issue-feedback-success{min-height:220px;display:grid;grid-template-columns:36px 1fr;gap:12px;align-content:center;align-items:center;animation:issue-feedback-success-in .18s ease-out}.issue-feedback-success-mark{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#24a8541a;color:#238b49;animation:issue-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.issue-feedback-success-mark:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:12px;content:"";opacity:0;animation:issue-feedback-success-ring .44s ease-out}.issue-feedback-success-mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:issue-feedback-check-draw .28s .1s ease-out forwards}.issue-feedback-success h3{margin:0 0 4px;font-size:15px;font-weight:600}.issue-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.issue-feedback-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.issue-feedback-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.issue-feedback-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.issue-feedback-close:focus-visible,.issue-feedback-chip:focus-visible,.issue-feedback-field textarea:focus-visible,.issue-feedback-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.issue-feedback-dialog button:disabled,.issue-feedback-dialog textarea:disabled{cursor:not-allowed;opacity:.55}@keyframes issue-feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes issue-feedback-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes issue-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes issue-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes issue-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes issue-feedback-check-draw{to{stroke-dashoffset:0}}@media (max-width: 560px){.issue-feedback-backdrop{padding:16px}.issue-feedback-dialog{max-height:calc(100vh - 32px)}}@media (prefers-reduced-motion: reduce){.issue-feedback-backdrop,.issue-feedback-dialog,.issue-feedback-success,.issue-feedback-success-mark,.issue-feedback-success-mark:after,.issue-feedback-success-mark path{animation:none}.issue-feedback-success-mark path{stroke-dashoffset:0}}.share-message-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:share-message-fade-in .14s ease-out}.share-message-dialog{width:min(720px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:share-message-rise-in .18s cubic-bezier(.2,.8,.2,1)}.share-message-export{position:fixed;top:0;left:-100000px;width:816px;box-sizing:border-box;padding:24px;overflow:visible;background:hsl(var(--background));color:hsl(var(--foreground));pointer-events:none}.share-message-export>.turn{width:100%;max-width:100%;margin-right:0;margin-left:0;opacity:1!important;transform:none!important;animation:none!important}.share-message-export>.turn:not(:last-of-type){margin-bottom:24px}.share-message-export>.turn:last-of-type{margin-bottom:0}.share-message-export-note{margin:24px 0 0;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.5;text-align:center}.share-message-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 20px;border-bottom:1px solid hsl(var(--border));flex:0 0 auto}.share-message-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.share-message-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.share-message-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.share-message-close svg{width:16px;height:16px}.share-message-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.share-message-body{min-height:260px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px;background:hsl(var(--canvas))}.share-message-generating,.share-message-failure{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px}.share-message-failure p,.share-message-error{margin:0;color:hsl(var(--destructive));font-size:12.5px;line-height:1.55;text-align:center}.share-message-failure button{height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-preview{width:min(100%,816px);margin:0 auto;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.share-message-preview img{display:block;width:100%;height:auto}.share-message-error{margin-top:12px}.share-message-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border));flex:0 0 auto}.share-message-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-actions button:hover:not(:disabled),.share-message-failure button:hover{background:hsl(var(--secondary))}.share-message-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.share-message-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.share-message-actions button:disabled{cursor:not-allowed;opacity:.5}.share-message-close:focus-visible,.share-message-failure button:focus-visible,.share-message-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}@keyframes share-message-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-message-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 560px){.share-message-backdrop{padding:16px}.share-message-dialog{max-height:calc(100vh - 32px)}.share-message-head p{display:none}.share-message-actions{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.share-message-backdrop,.share-message-dialog{animation:none}}@layer components{._Popover_1wdpp_3{overflow:auto;width:var(--popover-width, auto);min-width:var(--popover-min-width, 300px);max-width:min(var(--popover-max-width, 700px),var(--radix-popover-content-available-width));max-height:var(--radix-popover-content-available-height);border-radius:var(--popover-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);-webkit-overflow-scrolling:touch;transform-origin:var(--radix-popover-content-transform-origin);will-change:transform}._Popover_1wdpp_3:focus{outline:none}._Popover_1wdpp_3[data-translucent]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(360deg,#f7f7f87f,#f7f7f8)}:where([data-theme=dark]) ._Popover_1wdpp_3[data-translucent]{background:linear-gradient(360deg,#56586940,#5658697d)}._Popover_1wdpp_3[data-animate=shake]{animation:_shake_1wdpp_1 .4s ease}._Transition_1wdpp_1[data-entering] ._Popover_1wdpp_3{opacity:0;transform:scale(.95)}._Transition_1wdpp_1[data-entering-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-entering][data-interrupted] ._Popover_1wdpp_3{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Transition_1wdpp_1[data-exiting] ._Popover_1wdpp_3{opacity:1;transform:scale(1)}._Transition_1wdpp_1[data-exiting-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-exiting][data-interrupted] ._Popover_1wdpp_3{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}@keyframes _shake_1wdpp_1{0%{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}to{transform:translate(0)}}}@layer components{._Container_13560_1{--textarea-line-height: 20px;--textarea-font-weight: var(--font-weight-normal);--textarea-color: var(--color-text);--textarea-gutter-y: calc(.5 * calc(var(--textarea-base-height) - var(--textarea-line-height)));--textarea-min-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-min-rows)) );--textarea-max-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-max-rows)) )}._Container_13560_1:where([data-size="3xs"]){--textarea-base-height: var(--control-size-3xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size="2xs"]){--textarea-base-height: var(--control-size-2xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=xs]){--textarea-base-height: var(--control-size-xs);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=sm]){--textarea-base-height: var(--control-size-sm);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-size=md]){--textarea-base-height: var(--control-size-md);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=lg]){--textarea-base-height: var(--control-size-lg);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=xl]){--textarea-base-height: var(--control-size-xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-lg);--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-size="2xl"]){--textarea-base-height: var(--control-size-2xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-size="3xl"]){--textarea-base-height: var(--control-size-3xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-gutter-size="2xs"]){--textarea-gutter-x: var(--control-gutter-2xs)}._Container_13560_1:where([data-gutter-size=xs]){--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-gutter-size=sm]){--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-gutter-size=md]){--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-gutter-size=lg]){--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-gutter-size=xl]){--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1{position:relative;overflow:hidden;display:flex;width:100%;border-radius:var(--textarea-radius);color:var(--textarea-color);cursor:text;font-size:var(--textarea-font-size);font-weight:var(--textarea-font-weight);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_13560_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_13560_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_13560_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_13560_1[data-disabled]{cursor:not-allowed;opacity:.5}._Textarea_13560_174{display:block;width:100%;max-width:100%;min-height:var(--textarea-min-height);max-height:var(--textarea-max-height);padding:var(--textarea-gutter-y) var(--textarea-gutter-x);border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;box-shadow:none;color:inherit;filter:none;font-size:inherit;font-weight:inherit;line-height:var(--textarea-line-height);resize:none}._Textarea_13560_174:focus{outline:0}._Textarea_13560_174:disabled{cursor:not-allowed}._Textarea_13560_174::-moz-placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174::placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174:-webkit-autofill{animation:_native-autofill-in_13560_1 1ms}._Textarea_13560_174:-webkit-autofill,._Textarea_13560_174:-webkit-autofill:focus,._Textarea_13560_174:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill-and-obscured,._Textarea_13560_174:-webkit-autofill-strong-password,._Textarea_13560_174:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill:first-line{font-size:16px!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Textarea_13560_174::-webkit-resizer{visibility:hidden}@keyframes _native-autofill-in_13560_1{0%{opacity:1}to{opacity:1}}}.response-annotation-anchor{position:fixed;z-index:80;width:1px;pointer-events:none}.response-annotation-popover{--response-annotation-surface: 48 100% 97%;--response-annotation-excerpt: 47 86% 93%;--response-annotation-border: 43 72% 82%;width:min(360px,calc(100vw - 24px));border:1px solid hsl(var(--response-annotation-border));border-radius:12px;background:hsl(var(--response-annotation-surface))}.response-annotation-form{display:grid;gap:12px;padding:12px}.response-annotation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.response-annotation-header h2{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600}.response-annotation-form blockquote{max-height:82px;margin:0;padding:8px 10px;overflow:auto;border-left:2px solid hsl(var(--response-annotation-border));border-radius:0 7px 7px 0;background:hsl(var(--response-annotation-excerpt));color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap}.response-annotation-field{display:grid;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.response-annotation-field textarea{min-height:78px;background:hsl(var(--background));font-family:inherit;font-size:13px;font-weight:400;line-height:1.55}.response-annotation-error{margin:-4px 0 0;font-size:11.5px;line-height:1.45}.response-annotation-error{color:hsl(var(--destructive))}.response-annotation-actions{display:flex;justify-content:flex-end;gap:8px}.response-annotation-action{font-size:12px}.response-annotation-success{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.response-annotation-success strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.response-annotation-success p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}:where([data-theme=dark]) .response-annotation-popover{--response-annotation-surface: 43 22% 14%;--response-annotation-excerpt: 43 25% 18%;--response-annotation-border: 42 32% 30%}@media (prefers-reduced-motion: reduce){.response-annotation-popover{transition:none}}.platform-feedback-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.platform-feedback-header{flex:0 0 auto}.platform-feedback-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.platform-feedback-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.platform-feedback-scroll{min-height:0;overflow-y:auto;padding:24px 0 40px}.platform-feedback-form,.platform-feedback-success{width:min(720px,100%)}.platform-feedback-form{display:grid;gap:24px}.platform-feedback-section{display:grid;gap:12px}.platform-feedback-section-heading{display:flex;align-items:center;gap:8px}.platform-feedback-section h2,.platform-feedback-field>span{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600;line-height:1.45}.platform-feedback-section-heading>span,.platform-feedback-suggestions>span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.platform-feedback-pills{display:flex;flex-wrap:wrap;gap:8px}.platform-feedback-pills button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;transition:background .14s ease,border-color .14s ease}.platform-feedback-pills button:hover:not(:disabled){background:hsl(var(--secondary))}.platform-feedback-pills button[aria-pressed=true]{border-color:hsl(var(--primary) / .42);background:hsl(var(--primary) / .08)}.platform-feedback-field{display:grid;gap:8px}.platform-feedback-field textarea{width:100%;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:1.55}.platform-feedback-field textarea{min-height:132px;resize:vertical}.platform-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.platform-feedback-suggestions{display:grid;gap:8px}.platform-feedback-privacy{margin:0;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.platform-feedback-error{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.platform-feedback-actions{display:flex;justify-content:flex-end}.platform-feedback-actions button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:1px solid hsl(var(--primary));border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.platform-feedback-actions button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.platform-feedback-success{min-height:280px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-content:center;align-items:center;animation:platform-feedback-success-in .18s ease-out}.platform-feedback-success-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#24a8541a;color:#238b49;animation:platform-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.platform-feedback-success-icon:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:13px;content:"";opacity:0;animation:platform-feedback-success-ring .44s ease-out}.platform-feedback-success-icon svg{width:16px;height:16px}.platform-feedback-success-icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:platform-feedback-check-draw .28s .1s ease-out forwards}.platform-feedback-success h2{margin:0 0 4px;font-size:15px;font-weight:600}.platform-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.platform-feedback-pills button:focus-visible,.platform-feedback-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:2px}.platform-feedback-field textarea:focus-visible{border-color:hsl(var(--ring) / .58);outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .3)}.platform-feedback-page button:disabled,.platform-feedback-page textarea:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 720px){.platform-feedback-page{padding:24px 20px 0}}@media (max-width: 560px){.platform-feedback-page{padding-inline:16px}}@keyframes platform-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes platform-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes platform-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes platform-feedback-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.platform-feedback-pills button,.platform-feedback-success,.platform-feedback-success-icon,.platform-feedback-success-icon:after,.platform-feedback-success-icon path{transition:none;animation:none}.platform-feedback-success-icon path{stroke-dashoffset:0}}.PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:#00000080;color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:#0000004d;box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0} ->>>>>>>> 8587bb46 (feat(studio): report cloud account id telemetry):veadk/webui/assets/index-DYg8yf4w.css diff --git a/veadk/webui/assets/index-M8CVMzEb.js b/veadk/webui/assets/index-Ei6D2O0i.js similarity index 74% rename from veadk/webui/assets/index-M8CVMzEb.js rename to veadk/webui/assets/index-Ei6D2O0i.js index ad24d03b..a2d42cf1 100644 --- a/veadk/webui/assets/index-M8CVMzEb.js +++ b/veadk/webui/assets/index-Ei6D2O0i.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MarkdownPromptEditor-Uj1POrdg.js","assets/MarkdownPromptEditor-ZH9qtki0.css"])))=>i.map(i=>d[i]); -var Xhe=Object.defineProperty;var MQ=e=>{throw TypeError(e)};var qhe=(e,t,n)=>t in e?Xhe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Qa=(e,t,n)=>qhe(e,typeof t!="symbol"?t+"":t,n),LQ=(e,t,n)=>t.has(e)||MQ("Cannot "+n);var Is=(e,t,n)=>(LQ(e,t,"read from private field"),n?n.call(e):t.get(e)),DQ=(e,t,n)=>t.has(e)?MQ("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),LA=(e,t,n,i)=>(LQ(e,t,"write to private field"),i?i.call(e,n):t.set(e,n),n);function Hhe(e,t){for(var n=0;ni[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();var Pd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function n0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Eq={exports:{}},Wk={};/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MarkdownPromptEditor-CoCxG4pJ.js","assets/MarkdownPromptEditor-ZH9qtki0.css"])))=>i.map(i=>d[i]); +var Hhe=Object.defineProperty;var M4=e=>{throw TypeError(e)};var Yhe=(e,t,n)=>t in e?Hhe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var fa=(e,t,n)=>Yhe(e,typeof t!="symbol"?t+"":t,n),L4=(e,t,n)=>t.has(e)||M4("Cannot "+n);var Is=(e,t,n)=>(L4(e,t,"read from private field"),n?n.call(e):t.get(e)),D4=(e,t,n)=>t.has(e)?M4("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),LA=(e,t,n,i)=>(L4(e,t,"write to private field"),i?i.call(e,n):t.set(e,n),n);function Ghe(e,t){for(var n=0;ni[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();var Pd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function i0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Tq={exports:{}},Wk={};/** * @license React * react-jsx-runtime.production.js * @@ -7,7 +7,7 @@ var Xhe=Object.defineProperty;var MQ=e=>{throw TypeError(e)};var qhe=(e,t,n)=>t * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Yhe=Symbol.for("react.transitional.element"),Ghe=Symbol.for("react.fragment");function kq(e,t,n){var i=null;if(n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),"key"in t){n={};for(var r in t)r!=="key"&&(n[r]=t[r])}else n=t;return t=n.ref,{$$typeof:Yhe,type:e,key:i,ref:t!==void 0?t:null,props:n}}Wk.Fragment=Ghe;Wk.jsx=kq;Wk.jsxs=kq;Eq.exports=Wk;var c=Eq.exports,Tq={exports:{}},tn={};/** + */var Whe=Symbol.for("react.transitional.element"),Zhe=Symbol.for("react.fragment");function _q(e,t,n){var i=null;if(n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),"key"in t){n={};for(var r in t)r!=="key"&&(n[r]=t[r])}else n=t;return t=n.ref,{$$typeof:Whe,type:e,key:i,ref:t!==void 0?t:null,props:n}}Wk.Fragment=Zhe;Wk.jsx=_q;Wk.jsxs=_q;Tq.exports=Wk;var c=Tq.exports,Aq={exports:{}},tn={};/** * @license React * react.production.js * @@ -15,7 +15,7 @@ var Xhe=Object.defineProperty;var MQ=e=>{throw TypeError(e)};var qhe=(e,t,n)=>t * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var MM=Symbol.for("react.transitional.element"),Whe=Symbol.for("react.portal"),Zhe=Symbol.for("react.fragment"),Khe=Symbol.for("react.strict_mode"),Jhe=Symbol.for("react.profiler"),epe=Symbol.for("react.consumer"),tpe=Symbol.for("react.context"),npe=Symbol.for("react.forward_ref"),ipe=Symbol.for("react.suspense"),rpe=Symbol.for("react.memo"),_q=Symbol.for("react.lazy"),spe=Symbol.for("react.activity"),$Q=Symbol.iterator;function ape(e){return e===null||typeof e!="object"?null:(e=$Q&&e[$Q]||e["@@iterator"],typeof e=="function"?e:null)}var Aq={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Nq=Object.assign,Cq={};function i0(e,t,n){this.props=e,this.context=t,this.refs=Cq,this.updater=n||Aq}i0.prototype.isReactComponent={};i0.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};i0.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Rq(){}Rq.prototype=i0.prototype;function LM(e,t,n){this.props=e,this.context=t,this.refs=Cq,this.updater=n||Aq}var DM=LM.prototype=new Rq;DM.constructor=LM;Nq(DM,i0.prototype);DM.isPureReactComponent=!0;var QQ=Array.isArray;function TR(){}var Fi={H:null,A:null,T:null,S:null},Iq=Object.prototype.hasOwnProperty;function $M(e,t,n){var i=n.ref;return{$$typeof:MM,type:e,key:t,ref:i!==void 0?i:null,props:n}}function ope(e,t){return $M(e.type,t,e.props)}function QM(e){return typeof e=="object"&&e!==null&&e.$$typeof===MM}function lpe(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var BQ=/\/+/g;function DA(e,t){return typeof e=="object"&&e!==null&&e.key!=null?lpe(""+e.key):t.toString(36)}function cpe(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(TR,TR):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Gp(e,t,n,i,r){var s=typeof e;(s==="undefined"||s==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(s){case"bigint":case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case MM:case Whe:a=!0;break;case _q:return a=e._init,Gp(a(e._payload),t,n,i,r)}}if(a)return r=r(e),a=i===""?"."+DA(e,0):i,QQ(r)?(n="",a!=null&&(n=a.replace(BQ,"$&/")+"/"),Gp(r,t,n,"",function(u){return u})):r!=null&&(QM(r)&&(r=ope(r,n+(r.key==null||e&&e.key===r.key?"":(""+r.key).replace(BQ,"$&/")+"/")+a)),t.push(r)),1;a=0;var o=i===""?".":i+":";if(QQ(e))for(var l=0;l{throw TypeError(e)};var qhe=(e,t,n)=>t * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(e){function t(N,M){var B=N.length;N.push(M);e:for(;0>>1,I=N[$];if(0>>1;$r(U,B))Yr(ae,U)?(N[$]=ae,N[Y]=B,$=Y):(N[$]=U,N[X]=B,$=X);else if(Yr(ae,B))N[$]=ae,N[Y]=B,$=Y;else break e}}return M}function r(N,M){var B=N.sortIndex-M.sortIndex;return B!==0?B:N.id-M.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var a=Date,o=a.now();e.unstable_now=function(){return a.now()-o}}var l=[],u=[],d=1,f=null,h=3,p=!1,m=!1,g=!1,y=!1,b=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;function v(N){for(var M=n(u);M!==null;){if(M.callback===null)i(u);else if(M.startTime<=N)i(u),M.sortIndex=M.expirationTime,t(l,M);else break;M=n(u)}}function E(N){if(g=!1,v(N),!m)if(n(l)!==null)m=!0,w||(w=!0,j());else{var M=n(u);M!==null&&D(E,M.startTime-N)}}var w=!1,k=-1,_=5,C=-1;function A(){return y?!0:!(e.unstable_now()-C<_)}function R(){if(y=!1,w){var N=e.unstable_now();C=N;var M=!0;try{e:{m=!1,g&&(g=!1,S(k),k=-1),p=!0;var B=h;try{t:{for(v(N),f=n(l);f!==null&&!(f.expirationTime>N&&A());){var $=f.callback;if(typeof $=="function"){f.callback=null,h=f.priorityLevel;var I=$(f.expirationTime<=N);if(N=e.unstable_now(),typeof I=="function"){f.callback=I,v(N),M=!0;break t}f===n(l)&&i(l),v(N)}else i(l);f=n(l)}if(f!==null)M=!0;else{var G=n(u);G!==null&&D(E,G.startTime-N),M=!1}}break e}finally{f=null,h=B,p=!1}M=void 0}}finally{M?j():w=!1}}}var j;if(typeof x=="function")j=function(){x(R)};else if(typeof MessageChannel<"u"){var Q=new MessageChannel,L=Q.port2;Q.port1.onmessage=R,j=function(){L.postMessage(null)}}else j=function(){b(R,0)};function D(N,M){k=b(function(){N(e.unstable_now())},M)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(N){N.callback=null},e.unstable_forceFrameRate=function(N){0>N||125$?(N.sortIndex=B,t(u,N),n(l)===null&&N===n(u)&&(g?(S(k),k=-1):g=!0,D(E,B-$))):(N.sortIndex=I,t(l,N),m||p||(m=!0,w||(w=!0,j()))),N},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(N){var M=h;return function(){var B=h;h=M;try{return N.apply(this,arguments)}finally{h=B}}}})(Mq);jq.exports=Mq;var fpe=jq.exports,Lq={exports:{}},ca={};/** + */(function(e){function t(N,M){var B=N.length;N.push(M);e:for(;0>>1,I=N[$];if(0>>1;$r(U,B))Yr(ae,U)?(N[$]=ae,N[Y]=B,$=Y):(N[$]=U,N[X]=B,$=X);else if(Yr(ae,B))N[$]=ae,N[Y]=B,$=Y;else break e}}return M}function r(N,M){var B=N.sortIndex-M.sortIndex;return B!==0?B:N.id-M.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var a=Date,o=a.now();e.unstable_now=function(){return a.now()-o}}var l=[],u=[],d=1,f=null,h=3,p=!1,m=!1,g=!1,y=!1,b=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;function v(N){for(var M=n(u);M!==null;){if(M.callback===null)i(u);else if(M.startTime<=N)i(u),M.sortIndex=M.expirationTime,t(l,M);else break;M=n(u)}}function E(N){if(g=!1,v(N),!m)if(n(l)!==null)m=!0,w||(w=!0,j());else{var M=n(u);M!==null&&D(E,M.startTime-N)}}var w=!1,k=-1,_=5,C=-1;function A(){return y?!0:!(e.unstable_now()-C<_)}function R(){if(y=!1,w){var N=e.unstable_now();C=N;var M=!0;try{e:{m=!1,g&&(g=!1,S(k),k=-1),p=!0;var B=h;try{t:{for(v(N),f=n(l);f!==null&&!(f.expirationTime>N&&A());){var $=f.callback;if(typeof $=="function"){f.callback=null,h=f.priorityLevel;var I=$(f.expirationTime<=N);if(N=e.unstable_now(),typeof I=="function"){f.callback=I,v(N),M=!0;break t}f===n(l)&&i(l),v(N)}else i(l);f=n(l)}if(f!==null)M=!0;else{var G=n(u);G!==null&&D(E,G.startTime-N),M=!1}}break e}finally{f=null,h=B,p=!1}M=void 0}}finally{M?j():w=!1}}}var j;if(typeof x=="function")j=function(){x(R)};else if(typeof MessageChannel<"u"){var Q=new MessageChannel,L=Q.port2;Q.port1.onmessage=R,j=function(){L.postMessage(null)}}else j=function(){b(R,0)};function D(N,M){k=b(function(){N(e.unstable_now())},M)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(N){N.callback=null},e.unstable_forceFrameRate=function(N){0>N||125$?(N.sortIndex=B,t(u,N),n(l)===null&&N===n(u)&&(g?(S(k),k=-1):g=!0,D(E,B-$))):(N.sortIndex=I,t(l,N),m||p||(m=!0,w||(w=!0,j()))),N},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(N){var M=h;return function(){var B=h;h=M;try{return N.apply(this,arguments)}finally{h=B}}}})(Dq);Lq.exports=Dq;var ppe=Lq.exports,$q={exports:{}},ca={};/** * @license React * react-dom.production.js * @@ -31,7 +31,7 @@ var Xhe=Object.defineProperty;var MQ=e=>{throw TypeError(e)};var qhe=(e,t,n)=>t * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var hpe=O;function Dq(e){var t="https://react.dev/errors/"+e;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($q)}catch(e){console.error(e)}}$q(),Lq.exports=ca;var ar=Lq.exports;/** + */var mpe=O;function Qq(e){var t="https://react.dev/errors/"+e;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Bq)}catch(e){console.error(e)}}Bq(),$q.exports=ca;var ar=$q.exports;/** * @license React * react-dom-client.production.js * @@ -39,15 +39,15 @@ var Xhe=Object.defineProperty;var MQ=e=>{throw TypeError(e)};var qhe=(e,t,n)=>t * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Wr=fpe,Qq=O,gpe=ar;function De(e){var t="https://react.dev/errors/"+e;if(1um||(e.current=IR[um],IR[um]=null,um--)}function ji(e,t){um++,IR[um]=e.current,e.current=t}var fc=wc(null),ty=wc(null),zd=wc(null),Qw=wc(null);function Bw(e,t){switch(ji(zd,t),ji(ty,e),ji(fc,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?G4(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=G4(t),e=dG(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}fs(fc),ji(fc,e)}function pg(){fs(fc),fs(ty),fs(zd)}function PR(e){e.memoizedState!==null&&ji(Qw,e);var t=fc.current,n=dG(t,e.type);t!==n&&(ji(ty,e),ji(fc,n))}function Uw(e){ty.current===e&&(fs(fc),fs(ty)),Qw.current===e&&(fs(Qw),fy._currentValue=kh)}var $A,VQ;function Zf(e){if($A===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);$A=t&&t[1]||"",VQ=-1dm||(e.current=IR[dm],IR[dm]=null,dm--)}function ji(e,t){dm++,IR[dm]=e.current,e.current=t}var fc=wc(null),ty=wc(null),zd=wc(null),Qw=wc(null);function Bw(e,t){switch(ji(zd,t),ji(ty,e),ji(fc,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?GQ(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=GQ(t),e=hG(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}fs(fc),ji(fc,e)}function mg(){fs(fc),fs(ty),fs(zd)}function PR(e){e.memoizedState!==null&&ji(Qw,e);var t=fc.current,n=hG(t,e.type);t!==n&&(ji(ty,e),ji(fc,n))}function Uw(e){ty.current===e&&(fs(fc),fs(ty)),Qw.current===e&&(fs(Qw),fy._currentValue=kh)}var $A,V4;function Zf(e){if($A===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);$A=t&&t[1]||"",V4=-1)":-1r||l[i]!==u[r]){var d=` -`+l[i].replace(" at new "," at ");return e.displayName&&d.includes("")&&(d=d.replace("",e.displayName)),d}while(1<=i&&0<=r);break}}}finally{QA=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Zf(n):""}function Spe(e,t){switch(e.tag){case 26:case 27:case 5:return Zf(e.type);case 16:return Zf("Lazy");case 13:return e.child!==t&&t!==null?Zf("Suspense Fallback"):Zf("Suspense");case 19:return Zf("SuspenseList");case 0:case 15:return BA(e.type,!1);case 11:return BA(e.type.render,!1);case 1:return BA(e.type,!0);case 31:return Zf("Activity");default:return""}}function XQ(e){try{var t="",n=null;do t+=Spe(e,n),n=e,e=e.return;while(e);return t}catch(i){return` +`+l[i].replace(" at new "," at ");return e.displayName&&d.includes("")&&(d=d.replace("",e.displayName)),d}while(1<=i&&0<=r);break}}}finally{QA=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Zf(n):""}function wpe(e,t){switch(e.tag){case 26:case 27:case 5:return Zf(e.type);case 16:return Zf("Lazy");case 13:return e.child!==t&&t!==null?Zf("Suspense Fallback"):Zf("Suspense");case 19:return Zf("SuspenseList");case 0:case 15:return BA(e.type,!1);case 11:return BA(e.type.render,!1);case 1:return BA(e.type,!0);case 31:return Zf("Activity");default:return""}}function X4(e){try{var t="",n=null;do t+=wpe(e,n),n=e,e=e.return;while(e);return t}catch(i){return` Error generating stack: `+i.message+` -`+i.stack}}var jR=Object.prototype.hasOwnProperty,zM=Wr.unstable_scheduleCallback,UA=Wr.unstable_cancelCallback,vpe=Wr.unstable_shouldYield,wpe=Wr.unstable_requestPaint,io=Wr.unstable_now,Epe=Wr.unstable_getCurrentPriorityLevel,qq=Wr.unstable_ImmediatePriority,Hq=Wr.unstable_UserBlockingPriority,zw=Wr.unstable_NormalPriority,kpe=Wr.unstable_LowPriority,Yq=Wr.unstable_IdlePriority,Tpe=Wr.log,_pe=Wr.unstable_setDisableYieldValue,Tx=null,ro=null;function jd(e){if(typeof Tpe=="function"&&_pe(e),ro&&typeof ro.setStrictMode=="function")try{ro.setStrictMode(Tx,e)}catch{}}var so=Math.clz32?Math.clz32:Cpe,Ape=Math.log,Npe=Math.LN2;function Cpe(e){return e>>>=0,e===0?32:31-(Ape(e)/Npe|0)|0}var K1=256,J1=262144,eS=4194304;function Kf(e){var t=e&42;if(t!==0)return t;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 Jk(e,t,n){var i=e.pendingLanes;if(i===0)return 0;var r=0,s=e.suspendedLanes,a=e.pingedLanes;e=e.warmLanes;var o=i&134217727;return o!==0?(i=o&~s,i!==0?r=Kf(i):(a&=o,a!==0?r=Kf(a):n||(n=o&~e,n!==0&&(r=Kf(n))))):(o=i&~s,o!==0?r=Kf(o):a!==0?r=Kf(a):n||(n=i&~e,n!==0&&(r=Kf(n)))),r===0?0:t!==0&&t!==r&&!(t&s)&&(s=r&-r,n=t&-t,s>=n||s===32&&(n&4194048)!==0)?t:r}function _x(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Rpe(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 Gq(){var e=eS;return eS<<=1,!(eS&62914560)&&(eS=4194304),e}function zA(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ax(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ipe(e,t,n,i,r,s){var a=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,l=e.expirationTimes,u=e.hiddenUpdates;for(n=a&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var $pe=/[\n"\\]/g;function Ao(e){return e.replace($pe,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function DR(e,t,n,i,r,s,a,o){e.name="",a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"?e.type=a:e.removeAttribute("type"),t!=null?a==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+wo(t)):e.value!==""+wo(t)&&(e.value=""+wo(t)):a!=="submit"&&a!=="reset"||e.removeAttribute("value"),t!=null?$R(e,a,wo(t)):n!=null?$R(e,a,wo(n)):i!=null&&e.removeAttribute("value"),r==null&&s!=null&&(e.defaultChecked=!!s),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+wo(o):e.removeAttribute("name")}function rH(e,t,n,i,r,s,a,o){if(s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.type=s),t!=null||n!=null){if(!(s!=="submit"&&s!=="reset"||t!=null)){LR(e);return}n=n!=null?""+wo(n):"",t=t!=null?""+wo(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}i=i??r,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=o?e.checked:!!i,e.defaultChecked=!!i,a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.name=a),LR(e)}function $R(e,t,n){t==="number"&&Fw(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Bm(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),BR=!1;if(Eu)try{var sO={};Object.defineProperty(sO,"passive",{get:function(){BR=!0}}),window.addEventListener("test",sO,sO),window.removeEventListener("test",sO,sO)}catch{BR=!1}var Md=null,YM=null,Lv=null;function cH(){if(Lv)return Lv;var e,t=YM,n=t.length,i,r="value"in Md?Md.value:Md.textContent,s=r.length;for(e=0;e=ub),n4=" ",i4=!1;function dH(e,t){switch(e){case"keyup":return fme.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function fH(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var hm=!1;function pme(e,t){switch(e){case"compositionend":return fH(t);case"keypress":return t.which!==32?null:(i4=!0,n4);case"textInput":return e=t.data,e===n4&&i4?null:e;default:return null}}function mme(e,t){if(hm)return e==="compositionend"||!WM&&dH(e,t)?(e=cH(),Lv=YM=Md=null,hm=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=l4(n)}}function gH(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?gH(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function OH(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Fw(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Fw(e.document)}return t}function ZM(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var wme=Eu&&"documentMode"in document&&11>=document.documentMode,pm=null,UR=null,fb=null,zR=!1;function u4(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;zR||pm==null||pm!==Fw(i)||(i=pm,"selectionStart"in i&&ZM(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),fb&&ry(fb,i)||(fb=i,i=oE(UR,"onSelect"),0>=a,r-=a,ic=1<<32-so(t)+r|n<_?(C=k,k=null):C=k.sibling;var A=h(b,k,x[_],v);if(A===null){k===null&&(k=C);break}e&&k&&A.alternate===null&&t(b,k),S=s(A,S,_),w===null?E=A:w.sibling=A,w=A,k=C}if(_===x.length)return n(b,k),Ln&&tu(b,_),E;if(k===null){for(;__?(C=k,k=null):C=k.sibling;var R=h(b,k,A.value,v);if(R===null){k===null&&(k=C);break}e&&k&&R.alternate===null&&t(b,k),S=s(R,S,_),w===null?E=R:w.sibling=R,w=R,k=C}if(A.done)return n(b,k),Ln&&tu(b,_),E;if(k===null){for(;!A.done;_++,A=x.next())A=f(b,A.value,v),A!==null&&(S=s(A,S,_),w===null?E=A:w.sibling=A,w=A);return Ln&&tu(b,_),E}for(k=i(k);!A.done;_++,A=x.next())A=p(k,b,_,A.value,v),A!==null&&(e&&A.alternate!==null&&k.delete(A.key===null?_:A.key),S=s(A,S,_),w===null?E=A:w.sibling=A,w=A);return e&&k.forEach(function(j){return t(b,j)}),Ln&&tu(b,_),E}function y(b,S,x,v){if(typeof x=="object"&&x!==null&&x.type===cm&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Z1:e:{for(var E=x.key;S!==null;){if(S.key===E){if(E=x.type,E===cm){if(S.tag===7){n(b,S.sibling),v=r(S,x.props.children),v.return=b,b=v;break e}}else if(S.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===xd&&Jf(E)===S.type){n(b,S.sibling),v=r(S,x.props),oO(v,x),v.return=b,b=v;break e}n(b,S);break}else t(b,S);S=S.sibling}x.type===cm?(v=Th(x.props.children,b.mode,v,x.key),v.return=b,b=v):(v=$v(x.type,x.key,x.props,null,b.mode,v),oO(v,x),v.return=b,b=v)}return a(b);case BO:e:{for(E=x.key;S!==null;){if(S.key===E)if(S.tag===4&&S.stateNode.containerInfo===x.containerInfo&&S.stateNode.implementation===x.implementation){n(b,S.sibling),v=r(S,x.children||[]),v.return=b,b=v;break e}else{n(b,S);break}else t(b,S);S=S.sibling}v=ZA(x,b.mode,v),v.return=b,b=v}return a(b);case xd:return x=Jf(x),y(b,S,x,v)}if(UO(x))return m(b,S,x,v);if(rO(x)){if(E=rO(x),typeof E!="function")throw Error(De(150));return x=E.call(x),g(b,S,x,v)}if(typeof x.then=="function")return y(b,S,rS(x),v);if(x.$$typeof===au)return y(b,S,iS(b,x),v);sS(b,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,S!==null&&S.tag===6?(n(b,S.sibling),v=r(S,x),v.return=b,b=v):(n(b,S),v=WA(x,b.mode,v),v.return=b,b=v),a(b)):n(b,S)}return function(b,S,x,v){try{oy=0;var E=y(b,S,x,v);return Fm=null,E}catch(k){if(k===l0||k===sT)throw k;var w=Ka(29,k,null,b.mode);return w.lanes=v,w.return=b,w}finally{}}}var zh=IH(!0),PH=IH(!1),Sd=!1;function aL(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GR(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Vd(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Xd(e,t,n){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,ti&2){var r=i.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),i.pending=t,t=Xw(e),EH(e,null,n),t}return rT(e,i,t,n),Xw(e)}function pb(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,Zq(e,n)}}function JA(e,t){var n=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,n===i)){var r=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var a={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};s===null?r=s=a:s=s.next=a,n=n.next}while(n!==null);s===null?r=s=t:s=s.next=t}else r=s=t;n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:i.shared,callbacks:i.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var WR=!1;function mb(){if(WR){var e=zm;if(e!==null)throw e}}function gb(e,t,n,i){WR=!1;var r=e.updateQueue;Sd=!1;var s=r.firstBaseUpdate,a=r.lastBaseUpdate,o=r.shared.pending;if(o!==null){r.shared.pending=null;var l=o,u=l.next;l.next=null,a===null?s=u:a.next=u,a=l;var d=e.alternate;d!==null&&(d=d.updateQueue,o=d.lastBaseUpdate,o!==a&&(o===null?d.firstBaseUpdate=u:o.next=u,d.lastBaseUpdate=l))}if(s!==null){var f=r.baseState;a=0,d=u=l=null,o=s;do{var h=o.lane&-536870913,p=h!==o.lane;if(p?(Cn&h)===h:(i&h)===h){h!==0&&h===Og&&(WR=!0),d!==null&&(d=d.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var m=e,g=o;h=t;var y=n;switch(g.tag){case 1:if(m=g.payload,typeof m=="function"){f=m.call(y,f,h);break e}f=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,h=typeof m=="function"?m.call(y,f,h):m,h==null)break e;f=Xi({},f,h);break e;case 2:Sd=!0}}h=o.callback,h!==null&&(e.flags|=64,p&&(e.flags|=8192),p=r.callbacks,p===null?r.callbacks=[h]:p.push(h))}else p={lane:h,tag:o.tag,payload:o.payload,callback:o.callback,next:null},d===null?(u=d=p,l=f):d=d.next=p,a|=h;if(o=o.next,o===null){if(o=r.shared.pending,o===null)break;p=o,o=p.next,p.next=null,r.lastBaseUpdate=p,r.shared.pending=null}}while(!0);d===null&&(l=f),r.baseState=l,r.firstBaseUpdate=u,r.lastBaseUpdate=d,s===null&&(r.shared.lanes=0),lf|=a,e.lanes=a,e.memoizedState=f}}function jH(e,t){if(typeof e!="function")throw Error(De(191,e));e.call(t)}function MH(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;es?s:8;var a=zt.T,o={};zt.T=o,yL(e,!1,t,n);try{var l=r(),u=zt.S;if(u!==null&&u(o,l),l!==null&&typeof l=="object"&&typeof l.then=="function"){var d=Ime(l,i);Ob(e,t,d,ao(e))}else Ob(e,t,i,ao(e))}catch(f){Ob(e,t,{then:function(){},status:"rejected",reason:f},ao())}finally{ii.p=s,a!==null&&o.types!==null&&(a.types=o.types),zt.T=a}}function $me(){}function tI(e,t,n,i){if(e.tag!==5)throw Error(De(476));var r=aY(e).queue;sY(e,r,t,kh,n===null?$me:function(){return oY(e),n(i)})}function aY(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:kh,baseState:kh,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Tu,lastRenderedState:kh},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Tu,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function oY(e){var t=aY(e);t.next===null&&(t=e.alternate.memoizedState),Ob(e,t.next.queue,{},ao())}function bL(){return Es(fy)}function lY(){return kr().memoizedState}function cY(){return kr().memoizedState}function Qme(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=ao();e=Vd(n);var i=Xd(t,e,n);i!==null&&(_a(i,t,n),pb(i,t,n)),t={cache:iL()},e.payload=t;return}t=t.return}}function Bme(e,t,n){var i=ao();n={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},cT(e)?dY(t,n):(n=JM(e,t,n,i),n!==null&&(_a(n,e,i),fY(n,t,i)))}function uY(e,t,n){var i=ao();Ob(e,t,n,i)}function Ob(e,t,n,i){var r={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(cT(e))dY(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var a=t.lastRenderedState,o=s(a,n);if(r.hasEagerState=!0,r.eagerState=o,co(o,a))return rT(e,t,r,0),Ti===null&&iT(),!1}catch{}finally{}if(n=JM(e,t,r,i),n!==null)return _a(n,e,i),fY(n,t,i),!0}return!1}function yL(e,t,n,i){if(i={lane:2,revertLane:AL(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},cT(e)){if(t)throw Error(De(479))}else t=JM(e,n,i,2),t!==null&&_a(t,e,2)}function cT(e){var t=e.alternate;return e===on||t!==null&&t===on}function dY(e,t){Vm=Zw=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function fY(e,t,n){if(n&4194048){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,Zq(e,n)}}var cy={readContext:Es,use:oT,useCallback:lr,useContext:lr,useEffect:lr,useImperativeHandle:lr,useLayoutEffect:lr,useInsertionEffect:lr,useMemo:lr,useReducer:lr,useRef:lr,useState:lr,useDebugValue:lr,useDeferredValue:lr,useTransition:lr,useSyncExternalStore:lr,useId:lr,useHostTransitionStatus:lr,useFormState:lr,useActionState:lr,useOptimistic:lr,useMemoCache:lr,useCacheRefresh:lr};cy.useEffectEvent=lr;var hY={readContext:Es,use:oT,useCallback:function(e,t){return Ws().memoizedState=[e,t===void 0?null:t],e},useContext:Es,useEffect:k4,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Uv(4194308,4,eY.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Uv(4194308,4,e,t)},useInsertionEffect:function(e,t){Uv(4,2,e,t)},useMemo:function(e,t){var n=Ws();t=t===void 0?null:t;var i=e();if(Fh){jd(!0);try{e()}finally{jd(!1)}}return n.memoizedState=[i,t],i},useReducer:function(e,t,n){var i=Ws();if(n!==void 0){var r=n(t);if(Fh){jd(!0);try{n(t)}finally{jd(!1)}}}else r=t;return i.memoizedState=i.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},i.queue=e,e=e.dispatch=Bme.bind(null,on,e),[i.memoizedState,e]},useRef:function(e){var t=Ws();return e={current:e},t.memoizedState=e},useState:function(e){e=JR(e);var t=e.queue,n=uY.bind(null,on,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:gL,useDeferredValue:function(e,t){var n=Ws();return OL(n,e,t)},useTransition:function(){var e=JR(!1);return e=sY.bind(null,on,e.queue,!0,!1),Ws().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var i=on,r=Ws();if(Ln){if(n===void 0)throw Error(De(407));n=n()}else{if(n=t(),Ti===null)throw Error(De(349));Cn&127||BH(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,k4(zH.bind(null,i,s,e),[e]),i.flags|=2048,yg(9,{destroy:void 0},UH.bind(null,i,s,n,t),null),n},useId:function(){var e=Ws(),t=Ti.identifierPrefix;if(Ln){var n=rc,i=ic;n=(i&~(1<<32-so(i)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Kw++,0<\/script>",s=s.removeChild(s.firstChild);break;case"select":s=typeof i.is=="string"?a.createElement("select",{is:i.is}):a.createElement("select"),i.multiple?s.multiple=!0:i.size&&(s.size=i.size);break;default:s=typeof i.is=="string"?a.createElement(r,{is:i.is}):a.createElement(r)}}s[Ss]=t,s[Ra]=i;e:for(a=t.child;a!==null;){if(a.tag===5||a.tag===6)s.appendChild(a.stateNode);else if(a.tag!==4&&a.tag!==27&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;a.sibling===null;){if(a.return===null||a.return===t)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}t.stateNode=s;e:switch(ks(s,r,i),r){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&Uc(t)}}return Bi(t),oN(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&Uc(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(De(166));if(e=zd.current,Np(t)){if(e=t.stateNode,n=t.memoizedProps,i=null,r=vs,r!==null)switch(r.tag){case 27:case 5:i=r.memoizedProps}e[Ss]=t,e=!!(e.nodeValue===n||i!==null&&i.suppressHydrationWarning===!0||uG(e.nodeValue,n)),e||af(t,!0)}else e=lE(e).createTextNode(i),e[Ss]=t,t.stateNode=e}return Bi(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(i=Np(t),n!==null){if(e===null){if(!i)throw Error(De(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(De(557));e[Ss]=t}else Bh(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Bi(t),e=!1}else n=KA(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Za(t),t):(Za(t),null);if(t.flags&128)throw Error(De(558))}return Bi(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=Np(t),i!==null&&i.dehydrated!==null){if(e===null){if(!r)throw Error(De(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(De(317));r[Ss]=t}else Bh(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Bi(t),r=!1}else r=KA(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(Za(t),t):(Za(t),null)}return Za(t),t.flags&128?(t.lanes=n,t):(n=i!==null,e=e!==null&&e.memoizedState!==null,n&&(i=t.child,r=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(r=i.alternate.memoizedState.cachePool.pool),s=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(s=i.memoizedState.cachePool.pool),s!==r&&(i.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),aS(t,t.updateQueue),Bi(t),null);case 4:return pg(),e===null&&NL(t.stateNode.containerInfo),Bi(t),null;case 10:return hu(t.type),Bi(t),null;case 19:if(fs(vr),i=t.memoizedState,i===null)return Bi(t),null;if(r=(t.flags&128)!==0,s=i.rendering,s===null)if(r)lO(i,!1);else{if(ur!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(s=Ww(e),s!==null){for(t.flags|=128,lO(i,!1),e=s.updateQueue,t.updateQueue=e,aS(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)kH(n,e),n=n.sibling;return ji(vr,vr.current&1|2),Ln&&tu(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&io()>nE&&(t.flags|=128,r=!0,lO(i,!1),t.lanes=4194304)}else{if(!r)if(e=Ww(s),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,aS(t,e),lO(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!Ln)return Bi(t),null}else 2*io()-i.renderingStartTime>nE&&n!==536870912&&(t.flags|=128,r=!0,lO(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(e=i.last,e!==null?e.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=io(),e.sibling=null,n=vr.current,ji(vr,r?n&1|2:n&1),Ln&&tu(t,i.treeForkCount),e):(Bi(t),null);case 22:case 23:return Za(t),oL(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?n&536870912&&!(t.flags&128)&&(Bi(t),t.subtreeFlags&6&&(t.flags|=8192)):Bi(t),n=t.updateQueue,n!==null&&aS(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==n&&(t.flags|=2048),e!==null&&fs(_h),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),hu(Mr),Bi(t),null;case 25:return null;case 30:return null}throw Error(De(156,t.tag))}function Xme(e,t){switch(nL(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return hu(Mr),pg(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Uw(t),null;case 31:if(t.memoizedState!==null){if(Za(t),t.alternate===null)throw Error(De(340));Bh()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Za(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(De(340));Bh()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return fs(vr),null;case 4:return pg(),null;case 10:return hu(t.type),null;case 22:case 23:return Za(t),oL(),e!==null&&fs(_h),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return hu(Mr),null;case 25:return null;default:return null}}function kY(e,t){switch(nL(t),t.tag){case 3:hu(Mr),pg();break;case 26:case 27:case 5:Uw(t);break;case 4:pg();break;case 31:t.memoizedState!==null&&Za(t);break;case 13:Za(t);break;case 19:fs(vr);break;case 10:hu(t.type);break;case 22:case 23:Za(t),oL(),e!==null&&fs(_h);break;case 24:hu(Mr)}}function Px(e,t){try{var n=t.updateQueue,i=n!==null?n.lastEffect:null;if(i!==null){var r=i.next;n=r;do{if((n.tag&e)===e){i=void 0;var s=n.create,a=n.inst;i=s(),a.destroy=i}n=n.next}while(n!==r)}}catch(o){ci(t,t.return,o)}}function of(e,t,n){try{var i=t.updateQueue,r=i!==null?i.lastEffect:null;if(r!==null){var s=r.next;i=s;do{if((i.tag&e)===e){var a=i.inst,o=a.destroy;if(o!==void 0){a.destroy=void 0,r=t;var l=n,u=o;try{u()}catch(d){ci(r,l,d)}}}i=i.next}while(i!==s)}}catch(d){ci(t,t.return,d)}}function TY(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{MH(t,n)}catch(i){ci(e,e.return,i)}}}function _Y(e,t,n){n.props=Vh(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(i){ci(e,t,i)}}function bb(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof n=="function"?e.refCleanup=n(i):n.current=i}}catch(r){ci(e,t,r)}}function sc(e,t){var n=e.ref,i=e.refCleanup;if(n!==null)if(typeof i=="function")try{i()}catch(r){ci(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(r){ci(e,t,r)}else n.current=null}function AY(e){var t=e.type,n=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&i.focus();break e;case"img":n.src?i.src=n.src:n.srcSet&&(i.srcset=n.srcSet)}}catch(r){ci(e,e.return,r)}}function lN(e,t,n){try{var i=e.stateNode;hge(i,e.type,n,t),i[Ra]=t}catch(r){ci(e,e.return,r)}}function NY(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Af(e.type)||e.tag===4}function cN(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||NY(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&&Af(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 aI(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ou));else if(i!==4&&(i===27&&Af(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(aI(e,t,n),e=e.sibling;e!==null;)aI(e,t,n),e=e.sibling}function tE(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(i===27&&Af(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(tE(e,t,n),e=e.sibling;e!==null;)tE(e,t,n),e=e.sibling}function CY(e){var t=e.stateNode,n=e.memoizedProps;try{for(var i=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);ks(t,i,n),t[Ss]=e,t[Ra]=n}catch(s){ci(e,e.return,s)}}var iu=!1,jr=!1,uN=!1,$4=typeof WeakSet=="function"?WeakSet:Set,rs=null;function qme(e,t){if(e=e.containerInfo,hI=fE,e=OH(e),ZM(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var a=0,o=-1,l=-1,u=0,d=0,f=e,h=null;t:for(;;){for(var p;f!==n||r!==0&&f.nodeType!==3||(o=a+r),f!==s||i!==0&&f.nodeType!==3||(l=a+i),f.nodeType===3&&(a+=f.nodeValue.length),(p=f.firstChild)!==null;)h=f,f=p;for(;;){if(f===e)break t;if(h===n&&++u===r&&(o=a),h===s&&++d===i&&(l=a),(p=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=p}n=o===-1||l===-1?null:{start:o,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(pI={focusedElem:e,selectionRange:n},fE=!1,rs=t;rs!==null;)if(t=rs,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,rs=e;else for(;rs!==null;){switch(t=rs,s=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),ks(s,i,n),s[Ss]=e,os(s),i=s;break e;case"link":var a=r6("link","href",r).get(i+(n.href||""));if(a){for(var o=0;oy&&(a=y,y=g,g=a);var b=c4(o,g),S=c4(o,y);if(b&&S&&(p.rangeCount!==1||p.anchorNode!==b.node||p.anchorOffset!==b.offset||p.focusNode!==S.node||p.focusOffset!==S.offset)){var x=f.createRange();x.setStart(b.node,b.offset),p.removeAllRanges(),g>y?(p.addRange(x),p.extend(S.node,S.offset)):(x.setEnd(S.node,S.offset),p.addRange(x))}}}}for(f=[],p=o;p=p.parentNode;)p.nodeType===1&&f.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;on?32:n,zt.T=null,n=cI,cI=null;var s=Hd,a=pu;if(Gr=0,Sg=Hd=null,pu=0,ti&6)throw Error(De(331));var o=ti;if(ti|=4,UY(s.current),$Y(s,s.current,a,n),ti=o,jx(0,!1),ro&&typeof ro.onPostCommitFiberRoot=="function")try{ro.onPostCommitFiberRoot(Tx,s)}catch{}return!0}finally{ii.p=r,zt.T=i,nG(e,t)}}function z4(e,t,n){t=No(n,t),t=iI(e.stateNode,t,2),e=Xd(e,t,2),e!==null&&(Ax(e,2),Ec(e))}function ci(e,t,n){if(e.tag===3)z4(e,e,n);else for(;t!==null;){if(t.tag===3){z4(t,e,n);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(qd===null||!qd.has(i))){e=No(n,e),n=bY(2),i=Xd(t,n,2),i!==null&&(yY(n,i,t,e),Ax(i,2),Ec(i));break}}t=t.return}}function fN(e,t,n){var i=e.pingCache;if(i===null){i=e.pingCache=new Gme;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(n)||(kL=!0,r.add(n),e=ege.bind(null,e,t,n),t.then(e,e))}function ege(e,t,n){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ti===e&&(Cn&n)===n&&(ur===4||ur===3&&(Cn&62914560)===Cn&&300>io()-uT?!(ti&2)&&vg(e,0):TL|=n,xg===Cn&&(xg=0)),Ec(e)}function rG(e,t){t===0&&(t=Gq()),e=cp(e,t),e!==null&&(Ax(e,t),Ec(e))}function tge(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),rG(e,n)}function nge(e,t){var n=0;switch(e.tag){case 31:case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(De(314))}i!==null&&i.delete(t),rG(e,n)}function ige(e,t){return zM(e,t)}var sE=null,Zp=null,dI=!1,aE=!1,hN=!1,$d=0;function Ec(e){e!==Zp&&e.next===null&&(Zp===null?sE=Zp=e:Zp=Zp.next=e),aE=!0,dI||(dI=!0,sge())}function jx(e,t){if(!hN&&aE){hN=!0;do for(var n=!1,i=sE;i!==null;){if(e!==0){var r=i.pendingLanes;if(r===0)var s=0;else{var a=i.suspendedLanes,o=i.pingedLanes;s=(1<<31-so(42|e)+1)-1,s&=r&~(a&~o),s=s&201326741?s&201326741|1:s?s|2:0}s!==0&&(n=!0,F4(i,s))}else s=Cn,s=Jk(i,i===Ti?s:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),!(s&3)||_x(i,s)||(n=!0,F4(i,s));i=i.next}while(n);hN=!1}}function rge(){sG()}function sG(){aE=dI=!1;var e=0;$d!==0&&mge()&&(e=$d);for(var t=io(),n=null,i=sE;i!==null;){var r=i.next,s=aG(i,t);s===0?(i.next=null,n===null?sE=r:n.next=r,r===null&&(Zp=n)):(n=i,(e!==0||s&3)&&(aE=!0)),i=r}Gr!==0&&Gr!==5||jx(e),$d!==0&&($d=0)}function aG(e,t){for(var n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,s=e.pendingLanes&-62914561;0o)break;var d=l.transferSize,f=l.initiatorType;d&&Y4(f)&&(l=l.responseEnd,a+=d*(l"u"?null:document;function mG(e,t,n){var i=u0;if(i&&typeof t=="string"&&t){var r=Ao(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof n=="string"&&(r+='[crossorigin="'+n+'"]'),t6.has(r)||(t6.add(r),e={rel:e,crossOrigin:n,href:t},i.querySelector(r)===null&&(t=i.createElement("link"),ks(t,"link",e),os(t),i.head.appendChild(t)))}}function Ege(e){Bu.D(e),mG("dns-prefetch",e,null)}function kge(e,t){Bu.C(e,t),mG("preconnect",e,t)}function Tge(e,t,n){Bu.L(e,t,n);var i=u0;if(i&&e&&t){var r='link[rel="preload"][as="'+Ao(t)+'"]';t==="image"&&n&&n.imageSrcSet?(r+='[imagesrcset="'+Ao(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(r+='[imagesizes="'+Ao(n.imageSizes)+'"]')):r+='[href="'+Ao(e)+'"]';var s=r;switch(t){case"style":s=wg(e);break;case"script":s=d0(e)}Fo.has(s)||(e=Xi({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Fo.set(s,e),i.querySelector(r)!==null||t==="style"&&i.querySelector(Mx(s))||t==="script"&&i.querySelector(Lx(s))||(t=i.createElement("link"),ks(t,"link",e),os(t),i.head.appendChild(t)))}}function _ge(e,t){Bu.m(e,t);var n=u0;if(n&&e){var i=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+Ao(i)+'"][href="'+Ao(e)+'"]',s=r;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":s=d0(e)}if(!Fo.has(s)&&(e=Xi({rel:"modulepreload",href:e},t),Fo.set(s,e),n.querySelector(r)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Lx(s)))return}i=n.createElement("link"),ks(i,"link",e),os(i),n.head.appendChild(i)}}}function Age(e,t,n){Bu.S(e,t,n);var i=u0;if(i&&e){var r=Qm(i).hoistableStyles,s=wg(e);t=t||"default";var a=r.get(s);if(!a){var o={loading:0,preload:null};if(a=i.querySelector(Mx(s)))o.loading=5;else{e=Xi({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Fo.get(s))&&CL(e,n);var l=a=i.createElement("link");os(l),ks(l,"link",e),l._p=new Promise(function(u,d){l.onload=u,l.onerror=d}),l.addEventListener("load",function(){o.loading|=1}),l.addEventListener("error",function(){o.loading|=2}),o.loading|=4,Xv(a,t,i)}a={type:"stylesheet",instance:a,count:1,state:o},r.set(s,a)}}}function Nge(e,t){Bu.X(e,t);var n=u0;if(n&&e){var i=Qm(n).hoistableScripts,r=d0(e),s=i.get(r);s||(s=n.querySelector(Lx(r)),s||(e=Xi({src:e,async:!0},t),(t=Fo.get(r))&&RL(e,t),s=n.createElement("script"),os(s),ks(s,"link",e),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},i.set(r,s))}}function Cge(e,t){Bu.M(e,t);var n=u0;if(n&&e){var i=Qm(n).hoistableScripts,r=d0(e),s=i.get(r);s||(s=n.querySelector(Lx(r)),s||(e=Xi({src:e,async:!0,type:"module"},t),(t=Fo.get(r))&&RL(e,t),s=n.createElement("script"),os(s),ks(s,"link",e),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},i.set(r,s))}}function n6(e,t,n,i){var r=(r=zd.current)?cE(r):null;if(!r)throw Error(De(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=wg(n.href),n=Qm(r).hoistableStyles,i=n.get(t),i||(i={type:"style",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=wg(n.href);var s=Qm(r).hoistableStyles,a=s.get(e);if(a||(r=r.ownerDocument||r,a={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},s.set(e,a),(s=r.querySelector(Mx(e)))&&!s._p&&(a.instance=s,a.state.loading=5),Fo.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Fo.set(e,n),s||Rge(r,e,n,a.state))),t&&i===null)throw Error(De(528,""));return a}if(t&&i!==null)throw Error(De(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=d0(n),n=Qm(r).hoistableScripts,i=n.get(t),i||(i={type:"script",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(De(444,e))}}function wg(e){return'href="'+Ao(e)+'"'}function Mx(e){return'link[rel="stylesheet"]['+e+"]"}function gG(e){return Xi({},e,{"data-precedence":e.precedence,precedence:null})}function Rge(e,t,n,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),ks(t,"link",n),os(t),e.head.appendChild(t))}function d0(e){return'[src="'+Ao(e)+'"]'}function Lx(e){return"script[async]"+e}function i6(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+Ao(n.href)+'"]');if(i)return t.instance=i,os(i),i;var r=Xi({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),os(i),ks(i,"style",r),Xv(i,n.precedence,e),t.instance=i;case"stylesheet":r=wg(n.href);var s=e.querySelector(Mx(r));if(s)return t.state.loading|=4,t.instance=s,os(s),s;i=gG(n),(r=Fo.get(r))&&CL(i,r),s=(e.ownerDocument||e).createElement("link"),os(s);var a=s;return a._p=new Promise(function(o,l){a.onload=o,a.onerror=l}),ks(s,"link",i),t.state.loading|=4,Xv(s,n.precedence,e),t.instance=s;case"script":return s=d0(n.src),(r=e.querySelector(Lx(s)))?(t.instance=r,os(r),r):(i=n,(r=Fo.get(s))&&(i=Xi({},n),RL(i,r)),e=e.ownerDocument||e,r=e.createElement("script"),os(r),ks(r,"link",i),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(De(443,t.type))}else t.type==="stylesheet"&&!(t.state.loading&4)&&(i=t.instance,t.state.loading|=4,Xv(i,n.precedence,e));return t.instance}function Xv(e,t,n){for(var i=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=i.length?i[i.length-1]:null,s=r,a=0;a title"):null)}function Ige(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function OG(e){return!(e.type==="stylesheet"&&!(e.state.loading&3))}function Pge(e,t,n,i){if(n.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&!(n.state.loading&4)){if(n.instance===null){var r=wg(i.href),s=t.querySelector(Mx(r));if(s){t=s._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=uE.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=s,os(s);return}s=t.ownerDocument||t,i=gG(i),(r=Fo.get(r))&&CL(i,r),s=s.createElement("link"),os(s);var a=s;a._p=new Promise(function(o,l){a.onload=o,a.onerror=l}),ks(s,"link",i),n.instance=s}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=uE.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var yN=0;function jge(e,t){return e.stylesheets&&e.count===0&&Hv(e,e.stylesheets),0yN?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(r)}}:null}function uE(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Hv(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var dE=null;function Hv(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,dE=new Map,t.forEach(Mge,e),dE=null,uE.call(e))}function Mge(e,t){if(!(t.state.loading&4)){var n=dE.get(e);if(n)var i=n.get(null);else{n=new Map,dE.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),s=0;s"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(kG)}catch(e){console.error(e)}}kG(),Pq.exports=Zk;var Fge=Pq.exports;const Vge=n0(Fge),LL=O.createContext({});function mT(e){const t=O.useRef(null);return t.current===null&&(t.current=e()),t.current}const gT=O.createContext(null),my=O.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class Xge extends O.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const i=this.props.sizeRef.current;i.height=n.offsetHeight||0,i.width=n.offsetWidth||0,i.top=n.offsetTop,i.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function qge({children:e,isPresent:t}){const n=O.useId(),i=O.useRef(null),r=O.useRef({width:0,height:0,top:0,left:0}),{nonce:s}=O.useContext(my);return O.useInsertionEffect(()=>{const{width:a,height:o,top:l,left:u}=r.current;if(t||!i.current||!a||!o)return;i.current.dataset.motionPopId=n;const d=document.createElement("style");return s&&(d.nonce=s),document.head.appendChild(d),d.sheet&&d.sheet.insertRule(` +`+i.stack}}var jR=Object.prototype.hasOwnProperty,zM=Wr.unstable_scheduleCallback,UA=Wr.unstable_cancelCallback,Epe=Wr.unstable_shouldYield,kpe=Wr.unstable_requestPaint,io=Wr.unstable_now,Tpe=Wr.unstable_getCurrentPriorityLevel,Yq=Wr.unstable_ImmediatePriority,Gq=Wr.unstable_UserBlockingPriority,zw=Wr.unstable_NormalPriority,_pe=Wr.unstable_LowPriority,Wq=Wr.unstable_IdlePriority,Ape=Wr.log,Npe=Wr.unstable_setDisableYieldValue,Tx=null,ro=null;function jd(e){if(typeof Ape=="function"&&Npe(e),ro&&typeof ro.setStrictMode=="function")try{ro.setStrictMode(Tx,e)}catch{}}var so=Math.clz32?Math.clz32:Ipe,Cpe=Math.log,Rpe=Math.LN2;function Ipe(e){return e>>>=0,e===0?32:31-(Cpe(e)/Rpe|0)|0}var K1=256,J1=262144,eS=4194304;function Kf(e){var t=e&42;if(t!==0)return t;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 Jk(e,t,n){var i=e.pendingLanes;if(i===0)return 0;var r=0,s=e.suspendedLanes,a=e.pingedLanes;e=e.warmLanes;var o=i&134217727;return o!==0?(i=o&~s,i!==0?r=Kf(i):(a&=o,a!==0?r=Kf(a):n||(n=o&~e,n!==0&&(r=Kf(n))))):(o=i&~s,o!==0?r=Kf(o):a!==0?r=Kf(a):n||(n=i&~e,n!==0&&(r=Kf(n)))),r===0?0:t!==0&&t!==r&&!(t&s)&&(s=r&-r,n=t&-t,s>=n||s===32&&(n&4194048)!==0)?t:r}function _x(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ppe(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 Zq(){var e=eS;return eS<<=1,!(eS&62914560)&&(eS=4194304),e}function zA(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ax(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function jpe(e,t,n,i,r,s){var a=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,l=e.expirationTimes,u=e.hiddenUpdates;for(n=a&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Bpe=/[\n"\\]/g;function Ao(e){return e.replace(Bpe,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function DR(e,t,n,i,r,s,a,o){e.name="",a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"?e.type=a:e.removeAttribute("type"),t!=null?a==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+wo(t)):e.value!==""+wo(t)&&(e.value=""+wo(t)):a!=="submit"&&a!=="reset"||e.removeAttribute("value"),t!=null?$R(e,a,wo(t)):n!=null?$R(e,a,wo(n)):i!=null&&e.removeAttribute("value"),r==null&&s!=null&&(e.defaultChecked=!!s),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+wo(o):e.removeAttribute("name")}function aH(e,t,n,i,r,s,a,o){if(s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.type=s),t!=null||n!=null){if(!(s!=="submit"&&s!=="reset"||t!=null)){LR(e);return}n=n!=null?""+wo(n):"",t=t!=null?""+wo(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}i=i??r,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=o?e.checked:!!i,e.defaultChecked=!!i,a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.name=a),LR(e)}function $R(e,t,n){t==="number"&&Fw(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Um(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),BR=!1;if(ku)try{var aO={};Object.defineProperty(aO,"passive",{get:function(){BR=!0}}),window.addEventListener("test",aO,aO),window.removeEventListener("test",aO,aO)}catch{BR=!1}var Md=null,YM=null,Lv=null;function dH(){if(Lv)return Lv;var e,t=YM,n=t.length,i,r="value"in Md?Md.value:Md.textContent,s=r.length;for(e=0;e=ub),nQ=" ",iQ=!1;function hH(e,t){switch(e){case"keyup":return pme.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function pH(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var pm=!1;function gme(e,t){switch(e){case"compositionend":return pH(t);case"keypress":return t.which!==32?null:(iQ=!0,nQ);case"textInput":return e=t.data,e===nQ&&iQ?null:e;default:return null}}function Ome(e,t){if(pm)return e==="compositionend"||!WM&&hH(e,t)?(e=dH(),Lv=YM=Md=null,pm=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lQ(n)}}function bH(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?bH(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function yH(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Fw(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Fw(e.document)}return t}function ZM(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var kme=ku&&"documentMode"in document&&11>=document.documentMode,mm=null,UR=null,fb=null,zR=!1;function uQ(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;zR||mm==null||mm!==Fw(i)||(i=mm,"selectionStart"in i&&ZM(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),fb&&ry(fb,i)||(fb=i,i=oE(UR,"onSelect"),0>=a,r-=a,ic=1<<32-so(t)+r|n<_?(C=k,k=null):C=k.sibling;var A=h(b,k,x[_],v);if(A===null){k===null&&(k=C);break}e&&k&&A.alternate===null&&t(b,k),S=s(A,S,_),w===null?E=A:w.sibling=A,w=A,k=C}if(_===x.length)return n(b,k),Ln&&nu(b,_),E;if(k===null){for(;__?(C=k,k=null):C=k.sibling;var R=h(b,k,A.value,v);if(R===null){k===null&&(k=C);break}e&&k&&R.alternate===null&&t(b,k),S=s(R,S,_),w===null?E=R:w.sibling=R,w=R,k=C}if(A.done)return n(b,k),Ln&&nu(b,_),E;if(k===null){for(;!A.done;_++,A=x.next())A=f(b,A.value,v),A!==null&&(S=s(A,S,_),w===null?E=A:w.sibling=A,w=A);return Ln&&nu(b,_),E}for(k=i(k);!A.done;_++,A=x.next())A=p(k,b,_,A.value,v),A!==null&&(e&&A.alternate!==null&&k.delete(A.key===null?_:A.key),S=s(A,S,_),w===null?E=A:w.sibling=A,w=A);return e&&k.forEach(function(j){return t(b,j)}),Ln&&nu(b,_),E}function y(b,S,x,v){if(typeof x=="object"&&x!==null&&x.type===um&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Z1:e:{for(var E=x.key;S!==null;){if(S.key===E){if(E=x.type,E===um){if(S.tag===7){n(b,S.sibling),v=r(S,x.props.children),v.return=b,b=v;break e}}else if(S.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===xd&&Jf(E)===S.type){n(b,S.sibling),v=r(S,x.props),lO(v,x),v.return=b,b=v;break e}n(b,S);break}else t(b,S);S=S.sibling}x.type===um?(v=Th(x.props.children,b.mode,v,x.key),v.return=b,b=v):(v=$v(x.type,x.key,x.props,null,b.mode,v),lO(v,x),v.return=b,b=v)}return a(b);case BO:e:{for(E=x.key;S!==null;){if(S.key===E)if(S.tag===4&&S.stateNode.containerInfo===x.containerInfo&&S.stateNode.implementation===x.implementation){n(b,S.sibling),v=r(S,x.children||[]),v.return=b,b=v;break e}else{n(b,S);break}else t(b,S);S=S.sibling}v=ZA(x,b.mode,v),v.return=b,b=v}return a(b);case xd:return x=Jf(x),y(b,S,x,v)}if(UO(x))return m(b,S,x,v);if(sO(x)){if(E=sO(x),typeof E!="function")throw Error(De(150));return x=E.call(x),g(b,S,x,v)}if(typeof x.then=="function")return y(b,S,rS(x),v);if(x.$$typeof===ou)return y(b,S,iS(b,x),v);sS(b,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,S!==null&&S.tag===6?(n(b,S.sibling),v=r(S,x),v.return=b,b=v):(n(b,S),v=WA(x,b.mode,v),v.return=b,b=v),a(b)):n(b,S)}return function(b,S,x,v){try{oy=0;var E=y(b,S,x,v);return Vm=null,E}catch(k){if(k===c0||k===sT)throw k;var w=Ka(29,k,null,b.mode);return w.lanes=v,w.return=b,w}finally{}}}var zh=jH(!0),MH=jH(!1),Sd=!1;function aL(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function GR(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Vd(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Xd(e,t,n){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,ti&2){var r=i.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),i.pending=t,t=Xw(e),TH(e,null,n),t}return rT(e,i,t,n),Xw(e)}function pb(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,Jq(e,n)}}function JA(e,t){var n=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,n===i)){var r=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var a={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};s===null?r=s=a:s=s.next=a,n=n.next}while(n!==null);s===null?r=s=t:s=s.next=t}else r=s=t;n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:i.shared,callbacks:i.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var WR=!1;function mb(){if(WR){var e=Fm;if(e!==null)throw e}}function gb(e,t,n,i){WR=!1;var r=e.updateQueue;Sd=!1;var s=r.firstBaseUpdate,a=r.lastBaseUpdate,o=r.shared.pending;if(o!==null){r.shared.pending=null;var l=o,u=l.next;l.next=null,a===null?s=u:a.next=u,a=l;var d=e.alternate;d!==null&&(d=d.updateQueue,o=d.lastBaseUpdate,o!==a&&(o===null?d.firstBaseUpdate=u:o.next=u,d.lastBaseUpdate=l))}if(s!==null){var f=r.baseState;a=0,d=u=l=null,o=s;do{var h=o.lane&-536870913,p=h!==o.lane;if(p?(Cn&h)===h:(i&h)===h){h!==0&&h===bg&&(WR=!0),d!==null&&(d=d.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var m=e,g=o;h=t;var y=n;switch(g.tag){case 1:if(m=g.payload,typeof m=="function"){f=m.call(y,f,h);break e}f=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,h=typeof m=="function"?m.call(y,f,h):m,h==null)break e;f=Xi({},f,h);break e;case 2:Sd=!0}}h=o.callback,h!==null&&(e.flags|=64,p&&(e.flags|=8192),p=r.callbacks,p===null?r.callbacks=[h]:p.push(h))}else p={lane:h,tag:o.tag,payload:o.payload,callback:o.callback,next:null},d===null?(u=d=p,l=f):d=d.next=p,a|=h;if(o=o.next,o===null){if(o=r.shared.pending,o===null)break;p=o,o=p.next,p.next=null,r.lastBaseUpdate=p,r.shared.pending=null}}while(!0);d===null&&(l=f),r.baseState=l,r.firstBaseUpdate=u,r.lastBaseUpdate=d,s===null&&(r.shared.lanes=0),lf|=a,e.lanes=a,e.memoizedState=f}}function LH(e,t){if(typeof e!="function")throw Error(De(191,e));e.call(t)}function DH(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;es?s:8;var a=zt.T,o={};zt.T=o,yL(e,!1,t,n);try{var l=r(),u=zt.S;if(u!==null&&u(o,l),l!==null&&typeof l=="object"&&typeof l.then=="function"){var d=jme(l,i);Ob(e,t,d,ao(e))}else Ob(e,t,i,ao(e))}catch(f){Ob(e,t,{then:function(){},status:"rejected",reason:f},ao())}finally{ii.p=s,a!==null&&o.types!==null&&(a.types=o.types),zt.T=a}}function Bme(){}function tI(e,t,n,i){if(e.tag!==5)throw Error(De(476));var r=lY(e).queue;oY(e,r,t,kh,n===null?Bme:function(){return cY(e),n(i)})}function lY(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:kh,baseState:kh,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_u,lastRenderedState:kh},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_u,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function cY(e){var t=lY(e);t.next===null&&(t=e.alternate.memoizedState),Ob(e,t.next.queue,{},ao())}function bL(){return Es(fy)}function uY(){return kr().memoizedState}function dY(){return kr().memoizedState}function Ume(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=ao();e=Vd(n);var i=Xd(t,e,n);i!==null&&(Aa(i,t,n),pb(i,t,n)),t={cache:iL()},e.payload=t;return}t=t.return}}function zme(e,t,n){var i=ao();n={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},cT(e)?hY(t,n):(n=JM(e,t,n,i),n!==null&&(Aa(n,e,i),pY(n,t,i)))}function fY(e,t,n){var i=ao();Ob(e,t,n,i)}function Ob(e,t,n,i){var r={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(cT(e))hY(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var a=t.lastRenderedState,o=s(a,n);if(r.hasEagerState=!0,r.eagerState=o,co(o,a))return rT(e,t,r,0),Ti===null&&iT(),!1}catch{}finally{}if(n=JM(e,t,r,i),n!==null)return Aa(n,e,i),pY(n,t,i),!0}return!1}function yL(e,t,n,i){if(i={lane:2,revertLane:AL(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},cT(e)){if(t)throw Error(De(479))}else t=JM(e,n,i,2),t!==null&&Aa(t,e,2)}function cT(e){var t=e.alternate;return e===on||t!==null&&t===on}function hY(e,t){Xm=Zw=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function pY(e,t,n){if(n&4194048){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,Jq(e,n)}}var cy={readContext:Es,use:oT,useCallback:lr,useContext:lr,useEffect:lr,useImperativeHandle:lr,useLayoutEffect:lr,useInsertionEffect:lr,useMemo:lr,useReducer:lr,useRef:lr,useState:lr,useDebugValue:lr,useDeferredValue:lr,useTransition:lr,useSyncExternalStore:lr,useId:lr,useHostTransitionStatus:lr,useFormState:lr,useActionState:lr,useOptimistic:lr,useMemoCache:lr,useCacheRefresh:lr};cy.useEffectEvent=lr;var mY={readContext:Es,use:oT,useCallback:function(e,t){return Ws().memoizedState=[e,t===void 0?null:t],e},useContext:Es,useEffect:kQ,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Uv(4194308,4,nY.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Uv(4194308,4,e,t)},useInsertionEffect:function(e,t){Uv(4,2,e,t)},useMemo:function(e,t){var n=Ws();t=t===void 0?null:t;var i=e();if(Fh){jd(!0);try{e()}finally{jd(!1)}}return n.memoizedState=[i,t],i},useReducer:function(e,t,n){var i=Ws();if(n!==void 0){var r=n(t);if(Fh){jd(!0);try{n(t)}finally{jd(!1)}}}else r=t;return i.memoizedState=i.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},i.queue=e,e=e.dispatch=zme.bind(null,on,e),[i.memoizedState,e]},useRef:function(e){var t=Ws();return e={current:e},t.memoizedState=e},useState:function(e){e=JR(e);var t=e.queue,n=fY.bind(null,on,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:gL,useDeferredValue:function(e,t){var n=Ws();return OL(n,e,t)},useTransition:function(){var e=JR(!1);return e=oY.bind(null,on,e.queue,!0,!1),Ws().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var i=on,r=Ws();if(Ln){if(n===void 0)throw Error(De(407));n=n()}else{if(n=t(),Ti===null)throw Error(De(349));Cn&127||zH(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,kQ(VH.bind(null,i,s,e),[e]),i.flags|=2048,xg(9,{destroy:void 0},FH.bind(null,i,s,n,t),null),n},useId:function(){var e=Ws(),t=Ti.identifierPrefix;if(Ln){var n=rc,i=ic;n=(i&~(1<<32-so(i)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Kw++,0<\/script>",s=s.removeChild(s.firstChild);break;case"select":s=typeof i.is=="string"?a.createElement("select",{is:i.is}):a.createElement("select"),i.multiple?s.multiple=!0:i.size&&(s.size=i.size);break;default:s=typeof i.is=="string"?a.createElement(r,{is:i.is}):a.createElement(r)}}s[Ss]=t,s[Ia]=i;e:for(a=t.child;a!==null;){if(a.tag===5||a.tag===6)s.appendChild(a.stateNode);else if(a.tag!==4&&a.tag!==27&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;a.sibling===null;){if(a.return===null||a.return===t)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}t.stateNode=s;e:switch(ks(s,r,i),r){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&zc(t)}}return Bi(t),o2(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&zc(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(De(166));if(e=zd.current,Np(t)){if(e=t.stateNode,n=t.memoizedProps,i=null,r=vs,r!==null)switch(r.tag){case 27:case 5:i=r.memoizedProps}e[Ss]=t,e=!!(e.nodeValue===n||i!==null&&i.suppressHydrationWarning===!0||fG(e.nodeValue,n)),e||af(t,!0)}else e=lE(e).createTextNode(i),e[Ss]=t,t.stateNode=e}return Bi(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(i=Np(t),n!==null){if(e===null){if(!i)throw Error(De(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(De(557));e[Ss]=t}else Bh(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Bi(t),e=!1}else n=KA(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Za(t),t):(Za(t),null);if(t.flags&128)throw Error(De(558))}return Bi(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=Np(t),i!==null&&i.dehydrated!==null){if(e===null){if(!r)throw Error(De(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(De(317));r[Ss]=t}else Bh(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Bi(t),r=!1}else r=KA(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(Za(t),t):(Za(t),null)}return Za(t),t.flags&128?(t.lanes=n,t):(n=i!==null,e=e!==null&&e.memoizedState!==null,n&&(i=t.child,r=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(r=i.alternate.memoizedState.cachePool.pool),s=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(s=i.memoizedState.cachePool.pool),s!==r&&(i.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),aS(t,t.updateQueue),Bi(t),null);case 4:return mg(),e===null&&NL(t.stateNode.containerInfo),Bi(t),null;case 10:return pu(t.type),Bi(t),null;case 19:if(fs(vr),i=t.memoizedState,i===null)return Bi(t),null;if(r=(t.flags&128)!==0,s=i.rendering,s===null)if(r)cO(i,!1);else{if(ur!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(s=Ww(e),s!==null){for(t.flags|=128,cO(i,!1),e=s.updateQueue,t.updateQueue=e,aS(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)_H(n,e),n=n.sibling;return ji(vr,vr.current&1|2),Ln&&nu(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&io()>nE&&(t.flags|=128,r=!0,cO(i,!1),t.lanes=4194304)}else{if(!r)if(e=Ww(s),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,aS(t,e),cO(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!Ln)return Bi(t),null}else 2*io()-i.renderingStartTime>nE&&n!==536870912&&(t.flags|=128,r=!0,cO(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(e=i.last,e!==null?e.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=io(),e.sibling=null,n=vr.current,ji(vr,r?n&1|2:n&1),Ln&&nu(t,i.treeForkCount),e):(Bi(t),null);case 22:case 23:return Za(t),oL(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?n&536870912&&!(t.flags&128)&&(Bi(t),t.subtreeFlags&6&&(t.flags|=8192)):Bi(t),n=t.updateQueue,n!==null&&aS(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==n&&(t.flags|=2048),e!==null&&fs(_h),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),pu(Mr),Bi(t),null;case 25:return null;case 30:return null}throw Error(De(156,t.tag))}function Hme(e,t){switch(nL(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pu(Mr),mg(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Uw(t),null;case 31:if(t.memoizedState!==null){if(Za(t),t.alternate===null)throw Error(De(340));Bh()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Za(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(De(340));Bh()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return fs(vr),null;case 4:return mg(),null;case 10:return pu(t.type),null;case 22:case 23:return Za(t),oL(),e!==null&&fs(_h),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return pu(Mr),null;case 25:return null;default:return null}}function _Y(e,t){switch(nL(t),t.tag){case 3:pu(Mr),mg();break;case 26:case 27:case 5:Uw(t);break;case 4:mg();break;case 31:t.memoizedState!==null&&Za(t);break;case 13:Za(t);break;case 19:fs(vr);break;case 10:pu(t.type);break;case 22:case 23:Za(t),oL(),e!==null&&fs(_h);break;case 24:pu(Mr)}}function Px(e,t){try{var n=t.updateQueue,i=n!==null?n.lastEffect:null;if(i!==null){var r=i.next;n=r;do{if((n.tag&e)===e){i=void 0;var s=n.create,a=n.inst;i=s(),a.destroy=i}n=n.next}while(n!==r)}}catch(o){ci(t,t.return,o)}}function of(e,t,n){try{var i=t.updateQueue,r=i!==null?i.lastEffect:null;if(r!==null){var s=r.next;i=s;do{if((i.tag&e)===e){var a=i.inst,o=a.destroy;if(o!==void 0){a.destroy=void 0,r=t;var l=n,u=o;try{u()}catch(d){ci(r,l,d)}}}i=i.next}while(i!==s)}}catch(d){ci(t,t.return,d)}}function AY(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{DH(t,n)}catch(i){ci(e,e.return,i)}}}function NY(e,t,n){n.props=Vh(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(i){ci(e,t,i)}}function bb(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof n=="function"?e.refCleanup=n(i):n.current=i}}catch(r){ci(e,t,r)}}function sc(e,t){var n=e.ref,i=e.refCleanup;if(n!==null)if(typeof i=="function")try{i()}catch(r){ci(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(r){ci(e,t,r)}else n.current=null}function CY(e){var t=e.type,n=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&i.focus();break e;case"img":n.src?i.src=n.src:n.srcSet&&(i.srcset=n.srcSet)}}catch(r){ci(e,e.return,r)}}function l2(e,t,n){try{var i=e.stateNode;mge(i,e.type,n,t),i[Ia]=t}catch(r){ci(e,e.return,r)}}function RY(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Af(e.type)||e.tag===4}function c2(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||RY(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&&Af(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 aI(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=lu));else if(i!==4&&(i===27&&Af(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(aI(e,t,n),e=e.sibling;e!==null;)aI(e,t,n),e=e.sibling}function tE(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(i===27&&Af(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(tE(e,t,n),e=e.sibling;e!==null;)tE(e,t,n),e=e.sibling}function IY(e){var t=e.stateNode,n=e.memoizedProps;try{for(var i=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);ks(t,i,n),t[Ss]=e,t[Ia]=n}catch(s){ci(e,e.return,s)}}var ru=!1,jr=!1,u2=!1,$Q=typeof WeakSet=="function"?WeakSet:Set,rs=null;function Yme(e,t){if(e=e.containerInfo,hI=fE,e=yH(e),ZM(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var a=0,o=-1,l=-1,u=0,d=0,f=e,h=null;t:for(;;){for(var p;f!==n||r!==0&&f.nodeType!==3||(o=a+r),f!==s||i!==0&&f.nodeType!==3||(l=a+i),f.nodeType===3&&(a+=f.nodeValue.length),(p=f.firstChild)!==null;)h=f,f=p;for(;;){if(f===e)break t;if(h===n&&++u===r&&(o=a),h===s&&++d===i&&(l=a),(p=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=p}n=o===-1||l===-1?null:{start:o,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(pI={focusedElem:e,selectionRange:n},fE=!1,rs=t;rs!==null;)if(t=rs,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,rs=e;else for(;rs!==null;){switch(t=rs,s=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),ks(s,i,n),s[Ss]=e,os(s),i=s;break e;case"link":var a=r6("link","href",r).get(i+(n.href||""));if(a){for(var o=0;oy&&(a=y,y=g,g=a);var b=cQ(o,g),S=cQ(o,y);if(b&&S&&(p.rangeCount!==1||p.anchorNode!==b.node||p.anchorOffset!==b.offset||p.focusNode!==S.node||p.focusOffset!==S.offset)){var x=f.createRange();x.setStart(b.node,b.offset),p.removeAllRanges(),g>y?(p.addRange(x),p.extend(S.node,S.offset)):(x.setEnd(S.node,S.offset),p.addRange(x))}}}}for(f=[],p=o;p=p.parentNode;)p.nodeType===1&&f.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;on?32:n,zt.T=null,n=cI,cI=null;var s=Hd,a=mu;if(Gr=0,vg=Hd=null,mu=0,ti&6)throw Error(De(331));var o=ti;if(ti|=4,FY(s.current),BY(s,s.current,a,n),ti=o,jx(0,!1),ro&&typeof ro.onPostCommitFiberRoot=="function")try{ro.onPostCommitFiberRoot(Tx,s)}catch{}return!0}finally{ii.p=r,zt.T=i,rG(e,t)}}function zQ(e,t,n){t=No(n,t),t=iI(e.stateNode,t,2),e=Xd(e,t,2),e!==null&&(Ax(e,2),Ec(e))}function ci(e,t,n){if(e.tag===3)zQ(e,e,n);else for(;t!==null;){if(t.tag===3){zQ(t,e,n);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(qd===null||!qd.has(i))){e=No(n,e),n=xY(2),i=Xd(t,n,2),i!==null&&(SY(n,i,t,e),Ax(i,2),Ec(i));break}}t=t.return}}function f2(e,t,n){var i=e.pingCache;if(i===null){i=e.pingCache=new Zme;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(n)||(kL=!0,r.add(n),e=nge.bind(null,e,t,n),t.then(e,e))}function nge(e,t,n){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ti===e&&(Cn&n)===n&&(ur===4||ur===3&&(Cn&62914560)===Cn&&300>io()-uT?!(ti&2)&&wg(e,0):TL|=n,Sg===Cn&&(Sg=0)),Ec(e)}function aG(e,t){t===0&&(t=Zq()),e=cp(e,t),e!==null&&(Ax(e,t),Ec(e))}function ige(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),aG(e,n)}function rge(e,t){var n=0;switch(e.tag){case 31:case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(De(314))}i!==null&&i.delete(t),aG(e,n)}function sge(e,t){return zM(e,t)}var sE=null,Kp=null,dI=!1,aE=!1,h2=!1,$d=0;function Ec(e){e!==Kp&&e.next===null&&(Kp===null?sE=Kp=e:Kp=Kp.next=e),aE=!0,dI||(dI=!0,oge())}function jx(e,t){if(!h2&&aE){h2=!0;do for(var n=!1,i=sE;i!==null;){if(e!==0){var r=i.pendingLanes;if(r===0)var s=0;else{var a=i.suspendedLanes,o=i.pingedLanes;s=(1<<31-so(42|e)+1)-1,s&=r&~(a&~o),s=s&201326741?s&201326741|1:s?s|2:0}s!==0&&(n=!0,FQ(i,s))}else s=Cn,s=Jk(i,i===Ti?s:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),!(s&3)||_x(i,s)||(n=!0,FQ(i,s));i=i.next}while(n);h2=!1}}function age(){oG()}function oG(){aE=dI=!1;var e=0;$d!==0&&Oge()&&(e=$d);for(var t=io(),n=null,i=sE;i!==null;){var r=i.next,s=lG(i,t);s===0?(i.next=null,n===null?sE=r:n.next=r,r===null&&(Kp=n)):(n=i,(e!==0||s&3)&&(aE=!0)),i=r}Gr!==0&&Gr!==5||jx(e),$d!==0&&($d=0)}function lG(e,t){for(var n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,s=e.pendingLanes&-62914561;0o)break;var d=l.transferSize,f=l.initiatorType;d&&YQ(f)&&(l=l.responseEnd,a+=d*(l"u"?null:document;function OG(e,t,n){var i=d0;if(i&&typeof t=="string"&&t){var r=Ao(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof n=="string"&&(r+='[crossorigin="'+n+'"]'),t6.has(r)||(t6.add(r),e={rel:e,crossOrigin:n,href:t},i.querySelector(r)===null&&(t=i.createElement("link"),ks(t,"link",e),os(t),i.head.appendChild(t)))}}function Tge(e){Uu.D(e),OG("dns-prefetch",e,null)}function _ge(e,t){Uu.C(e,t),OG("preconnect",e,t)}function Age(e,t,n){Uu.L(e,t,n);var i=d0;if(i&&e&&t){var r='link[rel="preload"][as="'+Ao(t)+'"]';t==="image"&&n&&n.imageSrcSet?(r+='[imagesrcset="'+Ao(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(r+='[imagesizes="'+Ao(n.imageSizes)+'"]')):r+='[href="'+Ao(e)+'"]';var s=r;switch(t){case"style":s=Eg(e);break;case"script":s=f0(e)}Fo.has(s)||(e=Xi({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Fo.set(s,e),i.querySelector(r)!==null||t==="style"&&i.querySelector(Mx(s))||t==="script"&&i.querySelector(Lx(s))||(t=i.createElement("link"),ks(t,"link",e),os(t),i.head.appendChild(t)))}}function Nge(e,t){Uu.m(e,t);var n=d0;if(n&&e){var i=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+Ao(i)+'"][href="'+Ao(e)+'"]',s=r;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":s=f0(e)}if(!Fo.has(s)&&(e=Xi({rel:"modulepreload",href:e},t),Fo.set(s,e),n.querySelector(r)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Lx(s)))return}i=n.createElement("link"),ks(i,"link",e),os(i),n.head.appendChild(i)}}}function Cge(e,t,n){Uu.S(e,t,n);var i=d0;if(i&&e){var r=Bm(i).hoistableStyles,s=Eg(e);t=t||"default";var a=r.get(s);if(!a){var o={loading:0,preload:null};if(a=i.querySelector(Mx(s)))o.loading=5;else{e=Xi({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Fo.get(s))&&CL(e,n);var l=a=i.createElement("link");os(l),ks(l,"link",e),l._p=new Promise(function(u,d){l.onload=u,l.onerror=d}),l.addEventListener("load",function(){o.loading|=1}),l.addEventListener("error",function(){o.loading|=2}),o.loading|=4,Xv(a,t,i)}a={type:"stylesheet",instance:a,count:1,state:o},r.set(s,a)}}}function Rge(e,t){Uu.X(e,t);var n=d0;if(n&&e){var i=Bm(n).hoistableScripts,r=f0(e),s=i.get(r);s||(s=n.querySelector(Lx(r)),s||(e=Xi({src:e,async:!0},t),(t=Fo.get(r))&&RL(e,t),s=n.createElement("script"),os(s),ks(s,"link",e),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},i.set(r,s))}}function Ige(e,t){Uu.M(e,t);var n=d0;if(n&&e){var i=Bm(n).hoistableScripts,r=f0(e),s=i.get(r);s||(s=n.querySelector(Lx(r)),s||(e=Xi({src:e,async:!0,type:"module"},t),(t=Fo.get(r))&&RL(e,t),s=n.createElement("script"),os(s),ks(s,"link",e),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},i.set(r,s))}}function n6(e,t,n,i){var r=(r=zd.current)?cE(r):null;if(!r)throw Error(De(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Eg(n.href),n=Bm(r).hoistableStyles,i=n.get(t),i||(i={type:"style",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Eg(n.href);var s=Bm(r).hoistableStyles,a=s.get(e);if(a||(r=r.ownerDocument||r,a={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},s.set(e,a),(s=r.querySelector(Mx(e)))&&!s._p&&(a.instance=s,a.state.loading=5),Fo.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Fo.set(e,n),s||Pge(r,e,n,a.state))),t&&i===null)throw Error(De(528,""));return a}if(t&&i!==null)throw Error(De(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=f0(n),n=Bm(r).hoistableScripts,i=n.get(t),i||(i={type:"script",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(De(444,e))}}function Eg(e){return'href="'+Ao(e)+'"'}function Mx(e){return'link[rel="stylesheet"]['+e+"]"}function bG(e){return Xi({},e,{"data-precedence":e.precedence,precedence:null})}function Pge(e,t,n,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),ks(t,"link",n),os(t),e.head.appendChild(t))}function f0(e){return'[src="'+Ao(e)+'"]'}function Lx(e){return"script[async]"+e}function i6(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+Ao(n.href)+'"]');if(i)return t.instance=i,os(i),i;var r=Xi({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),os(i),ks(i,"style",r),Xv(i,n.precedence,e),t.instance=i;case"stylesheet":r=Eg(n.href);var s=e.querySelector(Mx(r));if(s)return t.state.loading|=4,t.instance=s,os(s),s;i=bG(n),(r=Fo.get(r))&&CL(i,r),s=(e.ownerDocument||e).createElement("link"),os(s);var a=s;return a._p=new Promise(function(o,l){a.onload=o,a.onerror=l}),ks(s,"link",i),t.state.loading|=4,Xv(s,n.precedence,e),t.instance=s;case"script":return s=f0(n.src),(r=e.querySelector(Lx(s)))?(t.instance=r,os(r),r):(i=n,(r=Fo.get(s))&&(i=Xi({},n),RL(i,r)),e=e.ownerDocument||e,r=e.createElement("script"),os(r),ks(r,"link",i),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(De(443,t.type))}else t.type==="stylesheet"&&!(t.state.loading&4)&&(i=t.instance,t.state.loading|=4,Xv(i,n.precedence,e));return t.instance}function Xv(e,t,n){for(var i=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=i.length?i[i.length-1]:null,s=r,a=0;a title"):null)}function jge(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function yG(e){return!(e.type==="stylesheet"&&!(e.state.loading&3))}function Mge(e,t,n,i){if(n.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&!(n.state.loading&4)){if(n.instance===null){var r=Eg(i.href),s=t.querySelector(Mx(r));if(s){t=s._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=uE.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=s,os(s);return}s=t.ownerDocument||t,i=bG(i),(r=Fo.get(r))&&CL(i,r),s=s.createElement("link"),os(s);var a=s;a._p=new Promise(function(o,l){a.onload=o,a.onerror=l}),ks(s,"link",i),n.instance=s}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=uE.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var y2=0;function Lge(e,t){return e.stylesheets&&e.count===0&&Hv(e,e.stylesheets),0y2?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(r)}}:null}function uE(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Hv(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var dE=null;function Hv(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,dE=new Map,t.forEach(Dge,e),dE=null,uE.call(e))}function Dge(e,t){if(!(t.state.loading&4)){var n=dE.get(e);if(n)var i=n.get(null);else{n=new Map,dE.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),s=0;s"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_G)}catch(e){console.error(e)}}_G(),Mq.exports=Zk;var Xge=Mq.exports;const qge=i0(Xge),LL=O.createContext({});function mT(e){const t=O.useRef(null);return t.current===null&&(t.current=e()),t.current}const gT=O.createContext(null),my=O.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class Hge extends O.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const i=this.props.sizeRef.current;i.height=n.offsetHeight||0,i.width=n.offsetWidth||0,i.top=n.offsetTop,i.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Yge({children:e,isPresent:t}){const n=O.useId(),i=O.useRef(null),r=O.useRef({width:0,height:0,top:0,left:0}),{nonce:s}=O.useContext(my);return O.useInsertionEffect(()=>{const{width:a,height:o,top:l,left:u}=r.current;if(t||!i.current||!a||!o)return;i.current.dataset.motionPopId=n;const d=document.createElement("style");return s&&(d.nonce=s),document.head.appendChild(d),d.sheet&&d.sheet.insertRule(` [data-motion-pop-id="${n}"] { position: absolute !important; width: ${a}px !important; @@ -55,37 +55,37 @@ Error generating stack: `+i.message+` top: ${l}px !important; left: ${u}px !important; } - `),()=>{document.head.removeChild(d)}},[t]),c.jsx(Xge,{isPresent:t,childRef:i,sizeRef:r,children:O.cloneElement(e,{ref:i})})}const Hge=({children:e,initial:t,isPresent:n,onExitComplete:i,custom:r,presenceAffectsLayout:s,mode:a})=>{const o=mT(Yge),l=O.useId(),u=O.useCallback(f=>{o.set(f,!0);for(const h of o.values())if(!h)return;i&&i()},[o,i]),d=O.useMemo(()=>({id:l,initial:t,isPresent:n,custom:r,onExitComplete:u,register:f=>(o.set(f,!1),()=>o.delete(f))}),s?[Math.random(),u]:[n,u]);return O.useMemo(()=>{o.forEach((f,h)=>o.set(h,!1))},[n]),O.useEffect(()=>{!n&&!o.size&&i&&i()},[n]),a==="popLayout"&&(e=c.jsx(qge,{isPresent:n,children:e})),c.jsx(gT.Provider,{value:d,children:e})};function Yge(){return new Map}function TG(e=!0){const t=O.useContext(gT);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:i,register:r}=t,s=O.useId();O.useEffect(()=>{e&&r(s)},[e]);const a=O.useCallback(()=>e&&i&&i(s),[s,i,e]);return!n&&i?[!1,a]:[!0]}const fS=e=>e.key||"";function f6(e){const t=[];return O.Children.forEach(e,n=>{O.isValidElement(n)&&t.push(n)}),t}const DL=typeof window<"u",_G=DL?O.useLayoutEffect:O.useEffect,Zd=({children:e,custom:t,initial:n=!0,onExitComplete:i,presenceAffectsLayout:r=!0,mode:s="sync",propagate:a=!1})=>{const[o,l]=TG(a),u=O.useMemo(()=>f6(e),[e]),d=a&&!o?[]:u.map(fS),f=O.useRef(!0),h=O.useRef(u),p=mT(()=>new Map),[m,g]=O.useState(u),[y,b]=O.useState(u);_G(()=>{f.current=!1,h.current=u;for(let v=0;v{const E=fS(v),w=a&&!o?!1:u===y||d.includes(E),k=()=>{if(p.has(E))p.set(E,!0);else return;let _=!0;p.forEach(C=>{C||(_=!1)}),_&&(x==null||x(),b(h.current),a&&(l==null||l()),i&&i())};return c.jsx(Hge,{isPresent:w,initial:!f.current||n?void 0:!1,custom:w?void 0:t,presenceAffectsLayout:r,mode:s,onExitComplete:w?void 0:k,children:v},E)})})},oo=e=>e;let AG=oo;const Gge={useManualTiming:!1};function Wge(e){let t=new Set,n=new Set,i=!1,r=!1;const s=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function o(u){s.has(u)&&(l.schedule(u),e()),u(a)}const l={schedule:(u,d=!1,f=!1)=>{const p=f&&i?t:n;return d&&s.add(u),p.has(u)||p.add(u),u},cancel:u=>{n.delete(u),s.delete(u)},process:u=>{if(a=u,i){r=!0;return}i=!0,[t,n]=[n,t],t.forEach(o),t.clear(),i=!1,r&&(r=!1,l.process(u))}};return l}const hS=["read","resolveKeyframes","update","preRender","render","postRender"],Zge=40;function NG(e,t){let n=!1,i=!0;const r={delta:0,timestamp:0,isProcessing:!1},s=()=>n=!0,a=hS.reduce((b,S)=>(b[S]=Wge(s),b),{}),{read:o,resolveKeyframes:l,update:u,preRender:d,render:f,postRender:h}=a,p=()=>{const b=performance.now();n=!1,r.delta=i?1e3/60:Math.max(Math.min(b-r.timestamp,Zge),1),r.timestamp=b,r.isProcessing=!0,o.process(r),l.process(r),u.process(r),d.process(r),f.process(r),h.process(r),r.isProcessing=!1,n&&t&&(i=!1,e(p))},m=()=>{n=!0,i=!0,r.isProcessing||e(p)};return{schedule:hS.reduce((b,S)=>{const x=a[S];return b[S]=(v,E=!1,w=!1)=>(n||m(),x.schedule(v,E,w)),b},{}),cancel:b=>{for(let S=0;Sh6[e].some(n=>!!t[n])};function Kge(e){for(const t in e)kg[t]={...kg[t],...e[t]}}const Jge=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function pE(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||Jge.has(e)}let RG=e=>!pE(e);function IG(e){e&&(RG=t=>t.startsWith("on")?!pE(t):e(t))}try{IG(require("@emotion/is-prop-valid").default)}catch{}function e0e(e,t,n){const i={};for(const r in e)r==="values"&&typeof e.values=="object"||(RG(r)||n===!0&&pE(r)||!t&&!pE(r)||e.draggable&&r.startsWith("onDrag"))&&(i[r]=e[r]);return i}function t0e({children:e,isValidProp:t,...n}){t&&IG(t),n={...O.useContext(my),...n},n.isStatic=mT(()=>n.isStatic);const i=O.useMemo(()=>n,[JSON.stringify(n.transition),n.transformPagePoint,n.reducedMotion]);return c.jsx(my.Provider,{value:i,children:e})}function n0e(e){if(typeof Proxy>"u")return e;const t=new Map,n=(...i)=>e(...i);return new Proxy(n,{get:(i,r)=>r==="create"?e:(t.has(r)||t.set(r,e(r)),t.get(r))})}const OT=O.createContext({});function gy(e){return typeof e=="string"||Array.isArray(e)}function bT(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}const $L=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],QL=["initial",...$L];function yT(e){return bT(e.animate)||QL.some(t=>gy(e[t]))}function PG(e){return!!(yT(e)||e.variants)}function i0e(e,t){if(yT(e)){const{initial:n,animate:i}=e;return{initial:n===!1||gy(n)?n:void 0,animate:gy(i)?i:void 0}}return e.inherit!==!1?t:{}}function r0e(e){const{initial:t,animate:n}=i0e(e,O.useContext(OT));return O.useMemo(()=>({initial:t,animate:n}),[p6(t),p6(n)])}function p6(e){return Array.isArray(e)?e.join(" "):e}const s0e=Symbol.for("motionComponentSymbol");function Sm(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function a0e(e,t,n){return O.useCallback(i=>{i&&e.onMount&&e.onMount(i),t&&(i?t.mount(i):t.unmount()),n&&(typeof n=="function"?n(i):Sm(n)&&(n.current=i))},[t])}const BL=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),o0e="framerAppearId",jG="data-"+BL(o0e),{schedule:UL}=NG(queueMicrotask,!1),MG=O.createContext({});function l0e(e,t,n,i,r){var s,a;const{visualElement:o}=O.useContext(OT),l=O.useContext(CG),u=O.useContext(gT),d=O.useContext(my).reducedMotion,f=O.useRef(null);i=i||l.renderer,!f.current&&i&&(f.current=i(e,{visualState:t,parent:o,props:n,presenceContext:u,blockInitialAnimation:u?u.initial===!1:!1,reducedMotionConfig:d}));const h=f.current,p=O.useContext(MG);h&&!h.projection&&r&&(h.type==="html"||h.type==="svg")&&c0e(f.current,n,r,p);const m=O.useRef(!1);O.useInsertionEffect(()=>{h&&m.current&&h.update(n,u)});const g=n[jG],y=O.useRef(!!g&&!(!((s=window.MotionHandoffIsComplete)===null||s===void 0)&&s.call(window,g))&&((a=window.MotionHasOptimisedAnimation)===null||a===void 0?void 0:a.call(window,g)));return _G(()=>{h&&(m.current=!0,window.MotionIsMounted=!0,h.updateFeatures(),UL.render(h.render),y.current&&h.animationState&&h.animationState.animateChanges())}),O.useEffect(()=>{h&&(!y.current&&h.animationState&&h.animationState.animateChanges(),y.current&&(queueMicrotask(()=>{var b;(b=window.MotionHandoffMarkAsComplete)===null||b===void 0||b.call(window,g)}),y.current=!1))}),h}function c0e(e,t,n,i){const{layoutId:r,layout:s,drag:a,dragConstraints:o,layoutScroll:l,layoutRoot:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:LG(e.parent)),e.projection.setOptions({layoutId:r,layout:s,alwaysMeasureLayout:!!a||o&&Sm(o),visualElement:e,animationType:typeof s=="string"?s:"both",initialPromotionConfig:i,layoutScroll:l,layoutRoot:u})}function LG(e){if(e)return e.options.allowProjection!==!1?e.projection:LG(e.parent)}function u0e({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:i,Component:r}){var s,a;e&&Kge(e);function o(u,d){let f;const h={...O.useContext(my),...u,layoutId:d0e(u)},{isStatic:p}=h,m=r0e(u),g=i(u,p);if(!p&&DL){f0e();const y=h0e(h);f=y.MeasureLayout,m.visualElement=l0e(r,g,h,t,y.ProjectionNode)}return c.jsxs(OT.Provider,{value:m,children:[f&&m.visualElement?c.jsx(f,{visualElement:m.visualElement,...h}):null,n(r,u,a0e(g,m.visualElement,d),g,p,m.visualElement)]})}o.displayName=`motion.${typeof r=="string"?r:`create(${(a=(s=r.displayName)!==null&&s!==void 0?s:r.name)!==null&&a!==void 0?a:""})`}`;const l=O.forwardRef(o);return l[s0e]=r,l}function d0e({layoutId:e}){const t=O.useContext(LL).id;return t&&e!==void 0?t+"-"+e:e}function f0e(e,t){O.useContext(CG).strict}function h0e(e){const{drag:t,layout:n}=kg;if(!t&&!n)return{};const i={...t,...n};return{MeasureLayout:t!=null&&t.isEnabled(e)||n!=null&&n.isEnabled(e)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}const p0e=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function zL(e){return typeof e!="string"||e.includes("-")?!1:!!(p0e.indexOf(e)>-1||/[A-Z]/u.test(e))}function m6(e){const t=[{},{}];return e==null||e.values.forEach((n,i)=>{t[0][i]=n.get(),t[1][i]=n.getVelocity()}),t}function FL(e,t,n,i){if(typeof t=="function"){const[r,s]=m6(i);t=t(n!==void 0?n:e.custom,r,s)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[r,s]=m6(i);t=t(n!==void 0?n:e.custom,r,s)}return t}const vI=e=>Array.isArray(e),m0e=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),g0e=e=>vI(e)?e[e.length-1]||0:e,Ms=e=>!!(e&&e.getVelocity);function Gv(e){const t=Ms(e)?e.get():e;return m0e(t)?t.toValue():t}function O0e({scrapeMotionValuesFromProps:e,createRenderState:t,onUpdate:n},i,r,s){const a={latestValues:b0e(i,r,s,e),renderState:t()};return n&&(a.onMount=o=>n({props:i,current:o,...a}),a.onUpdate=o=>n(o)),a}const DG=e=>(t,n)=>{const i=O.useContext(OT),r=O.useContext(gT),s=()=>O0e(e,t,i,r);return n?s():mT(s)};function b0e(e,t,n,i){const r={},s=i(e,{});for(const h in s)r[h]=Gv(s[h]);let{initial:a,animate:o}=e;const l=yT(e),u=PG(e);t&&u&&!l&&e.inherit!==!1&&(a===void 0&&(a=t.initial),o===void 0&&(o=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const f=d?o:a;if(f&&typeof f!="boolean"&&!bT(f)){const h=Array.isArray(f)?f:[f];for(let p=0;pt=>typeof t=="string"&&t.startsWith(e),QG=$G("--"),y0e=$G("var(--"),VL=e=>y0e(e)?x0e.test(e.split("/*")[0].trim()):!1,x0e=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,BG=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Nu=(e,t,n)=>n>t?t:ntypeof e=="number",parse:parseFloat,transform:e=>e},Oy={...h0,transform:e=>Nu(0,1,e)},pS={...h0,default:1},Dx=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),gd=Dx("deg"),hc=Dx("%"),Qt=Dx("px"),S0e=Dx("vh"),v0e=Dx("vw"),g6={...hc,parse:e=>hc.parse(e)/100,transform:e=>hc.transform(e*100)},w0e={borderWidth:Qt,borderTopWidth:Qt,borderRightWidth:Qt,borderBottomWidth:Qt,borderLeftWidth:Qt,borderRadius:Qt,radius:Qt,borderTopLeftRadius:Qt,borderTopRightRadius:Qt,borderBottomRightRadius:Qt,borderBottomLeftRadius:Qt,width:Qt,maxWidth:Qt,height:Qt,maxHeight:Qt,top:Qt,right:Qt,bottom:Qt,left:Qt,padding:Qt,paddingTop:Qt,paddingRight:Qt,paddingBottom:Qt,paddingLeft:Qt,margin:Qt,marginTop:Qt,marginRight:Qt,marginBottom:Qt,marginLeft:Qt,backgroundPositionX:Qt,backgroundPositionY:Qt},E0e={rotate:gd,rotateX:gd,rotateY:gd,rotateZ:gd,scale:pS,scaleX:pS,scaleY:pS,scaleZ:pS,skew:gd,skewX:gd,skewY:gd,distance:Qt,translateX:Qt,translateY:Qt,translateZ:Qt,x:Qt,y:Qt,z:Qt,perspective:Qt,transformPerspective:Qt,opacity:Oy,originX:g6,originY:g6,originZ:Qt},O6={...h0,transform:Math.round},XL={...w0e,...E0e,zIndex:O6,size:Qt,fillOpacity:Oy,strokeOpacity:Oy,numOctaves:O6},k0e={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},T0e=f0.length;function _0e(e,t,n){let i="",r=!0;for(let s=0;s({style:{},transform:{},transformOrigin:{},vars:{}}),UG=()=>({...YL(),attrs:{}}),GL=e=>typeof e=="string"&&e.toLowerCase()==="svg";function zG(e,{style:t,vars:n},i,r){Object.assign(e.style,t,r&&r.getProjectionStyles(i));for(const s in n)e.style.setProperty(s,n[s])}const FG=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function VG(e,t,n,i){zG(e,t,void 0,i);for(const r in t.attrs)e.setAttribute(FG.has(r)?r:BL(r),t.attrs[r])}const mE={};function I0e(e){Object.assign(mE,e)}function XG(e,{layout:t,layoutId:n}){return dp.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!mE[e]||e==="opacity")}function WL(e,t,n){var i;const{style:r}=e,s={};for(const a in r)(Ms(r[a])||t.style&&Ms(t.style[a])||XG(a,e)||((i=n==null?void 0:n.getValue(a))===null||i===void 0?void 0:i.liveStyle)!==void 0)&&(s[a]=r[a]);return s}function qG(e,t,n){const i=WL(e,t,n);for(const r in e)if(Ms(e[r])||Ms(t[r])){const s=f0.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;i[s]=e[r]}return i}function P0e(e,t){try{t.dimensions=typeof e.getBBox=="function"?e.getBBox():e.getBoundingClientRect()}catch{t.dimensions={x:0,y:0,width:0,height:0}}}const y6=["x","y","width","height","cx","cy","r"],j0e={useVisualState:DG({scrapeMotionValuesFromProps:qG,createRenderState:UG,onUpdate:({props:e,prevProps:t,current:n,renderState:i,latestValues:r})=>{if(!n)return;let s=!!e.drag;if(!s){for(const o in r)if(dp.has(o)){s=!0;break}}if(!s)return;let a=!t;if(t)for(let o=0;o{P0e(n,i),Vi.render(()=>{HL(i,r,GL(n.tagName),e.transformTemplate),VG(n,i)})})}})},M0e={useVisualState:DG({scrapeMotionValuesFromProps:WL,createRenderState:YL})};function HG(e,t,n){for(const i in t)!Ms(t[i])&&!XG(i,n)&&(e[i]=t[i])}function L0e({transformTemplate:e},t){return O.useMemo(()=>{const n=YL();return qL(n,t,e),Object.assign({},n.vars,n.style)},[t])}function D0e(e,t){const n=e.style||{},i={};return HG(i,n,e),Object.assign(i,L0e(e,t)),i}function $0e(e,t){const n={},i=D0e(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=i,n}function Q0e(e,t,n,i){const r=O.useMemo(()=>{const s=UG();return HL(s,t,GL(i),e.transformTemplate),{...s.attrs,style:{...s.style}}},[t]);if(e.style){const s={};HG(s,e.style,e),r.style={...s,...r.style}}return r}function B0e(e=!1){return(n,i,r,{latestValues:s},a)=>{const l=(zL(n)?Q0e:$0e)(i,s,a,n),u=e0e(i,typeof n=="string",e),d=n!==O.Fragment?{...u,...l,ref:r}:{},{children:f}=i,h=O.useMemo(()=>Ms(f)?f.get():f,[f]);return O.createElement(n,{...d,children:h})}}function U0e(e,t){return function(i,{forwardMotionProps:r}={forwardMotionProps:!1}){const a={...zL(i)?j0e:M0e,preloadedFeatures:e,useRender:B0e(r),createVisualElement:t,Component:i};return u0e(a)}}function YG(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i(Wv===void 0&&pc.set(Os.isProcessing||Gge.useManualTiming?Os.timestamp:performance.now()),Wv),set:e=>{Wv=e,queueMicrotask(z0e)}};function KL(e,t){e.indexOf(t)===-1&&e.push(t)}function JL(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class eD{constructor(){this.subscriptions=[]}add(t){return KL(this.subscriptions,t),()=>JL(this.subscriptions,t)}notify(t,n,i){const r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](t,n,i);else for(let s=0;s!isNaN(parseFloat(e));class V0e{constructor(t,n={}){this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(i,r=!0)=>{const s=pc.now();this.updatedAt!==s&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(i),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),r&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=pc.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=F0e(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new eD);const i=this.events[t].add(n);return t==="change"?()=>{i(),Vi.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,i){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-i}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=pc.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>x6)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,x6);return WG(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function by(e,t){return new V0e(e,t)}function X0e(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,by(n))}function q0e(e,t){const n=xT(e,t);let{transitionEnd:i={},transition:r={},...s}=n||{};s={...s,...i};for(const a in s){const o=g0e(s[a]);X0e(e,a,o)}}function H0e(e){return!!(Ms(e)&&e.add)}function wI(e,t){const n=e.getValue("willChange");if(H0e(n))return n.add(t)}function ZG(e){return e.props[jG]}function tD(e){let t;return()=>(t===void 0&&(t=e()),t)}const Y0e=tD(()=>window.ScrollTimeline!==void 0);class G0e{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map(t=>"finished"in t?t.finished:t))}getAll(t){return this.animations[0][t]}setAll(t,n){for(let i=0;i{if(Y0e()&&r.attachTimeline)return r.attachTimeline(t);if(typeof n=="function")return n(r)});return()=>{i.forEach((r,s)=>{r&&r(),this.animations[s].stop()})}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get startTime(){return this.getAll("startTime")}get duration(){let t=0;for(let n=0;nn[t]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}class W0e extends G0e{then(t,n){return Promise.all(this.animations).then(t).catch(n)}}const mu=e=>e*1e3,gu=e=>e/1e3;function nD(e){return typeof e=="function"}function S6(e,t){e.timeline=t,e.onfinish=null}const iD=e=>Array.isArray(e)&&typeof e[0]=="number",Z0e={linearEasing:void 0};function K0e(e,t){const n=tD(e);return()=>{var i;return(i=Z0e[t])!==null&&i!==void 0?i:n()}}const gE=K0e(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Tg=(e,t,n)=>{const i=t-e;return i===0?1:(n-e)/i},KG=(e,t,n=10)=>{let i="";const r=Math.max(Math.round(t/n),2);for(let s=0;s`cubic-bezier(${e}, ${t}, ${n}, ${i})`,EI={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:XO([0,.65,.55,1]),circOut:XO([.55,0,1,.45]),backIn:XO([.31,.01,.66,-.59]),backOut:XO([.33,1.53,.69,.99])};function eW(e,t){if(e)return typeof e=="function"&&gE()?KG(e,t):iD(e)?XO(e):Array.isArray(e)?e.map(n=>eW(n,t)||EI.easeOut):EI[e]}const tW=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,J0e=1e-7,eOe=12;function tOe(e,t,n,i,r){let s,a,o=0;do a=t+(n-t)/2,s=tW(a,i,r)-e,s>0?n=a:t=a;while(Math.abs(s)>J0e&&++otOe(s,0,1,e,n);return s=>s===0||s===1?s:tW(r(s),t,i)}const nW=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,iW=e=>t=>1-e(1-t),rW=$x(.33,1.53,.69,.99),rD=iW(rW),sW=nW(rD),aW=e=>(e*=2)<1?.5*rD(e):.5*(2-Math.pow(2,-10*(e-1))),sD=e=>1-Math.sin(Math.acos(e)),oW=iW(sD),lW=nW(sD),cW=e=>/^0[^.\s]+$/u.test(e);function nOe(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||cW(e):!0}const wb=e=>Math.round(e*1e5)/1e5,aD=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function iOe(e){return e==null}const rOe=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,oD=(e,t)=>n=>!!(typeof n=="string"&&rOe.test(n)&&n.startsWith(e)||t&&!iOe(n)&&Object.prototype.hasOwnProperty.call(n,t)),uW=(e,t,n)=>i=>{if(typeof i!="string")return i;const[r,s,a,o]=i.match(aD);return{[e]:parseFloat(r),[t]:parseFloat(s),[n]:parseFloat(a),alpha:o!==void 0?parseFloat(o):1}},sOe=e=>Nu(0,255,e),SN={...h0,transform:e=>Math.round(sOe(e))},gh={test:oD("rgb","red"),parse:uW("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:i=1})=>"rgba("+SN.transform(e)+", "+SN.transform(t)+", "+SN.transform(n)+", "+wb(Oy.transform(i))+")"};function aOe(e){let t="",n="",i="",r="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),i=e.substring(5,7),r=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),i=e.substring(3,4),r=e.substring(4,5),t+=t,n+=n,i+=i,r+=r),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(i,16),alpha:r?parseInt(r,16)/255:1}}const kI={test:oD("#"),parse:aOe,transform:gh.transform},vm={test:oD("hsl","hue"),parse:uW("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:i=1})=>"hsla("+Math.round(e)+", "+hc.transform(wb(t))+", "+hc.transform(wb(n))+", "+wb(Oy.transform(i))+")"},Ps={test:e=>gh.test(e)||kI.test(e)||vm.test(e),parse:e=>gh.test(e)?gh.parse(e):vm.test(e)?vm.parse(e):kI.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?gh.transform(e):vm.transform(e)},oOe=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function lOe(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(aD))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(oOe))===null||n===void 0?void 0:n.length)||0)>0}const dW="number",fW="color",cOe="var",uOe="var(",v6="${}",dOe=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function yy(e){const t=e.toString(),n=[],i={color:[],number:[],var:[]},r=[];let s=0;const o=t.replace(dOe,l=>(Ps.test(l)?(i.color.push(s),r.push(fW),n.push(Ps.parse(l))):l.startsWith(uOe)?(i.var.push(s),r.push(cOe),n.push(l)):(i.number.push(s),r.push(dW),n.push(parseFloat(l))),++s,v6)).split(v6);return{values:n,split:o,indexes:i,types:r}}function hW(e){return yy(e).values}function pW(e){const{split:t,types:n}=yy(e),i=t.length;return r=>{let s="";for(let a=0;atypeof e=="number"?0:e;function hOe(e){const t=hW(e);return pW(e)(t.map(fOe))}const uf={test:lOe,parse:hW,createTransformer:pW,getAnimatableNone:hOe},pOe=new Set(["brightness","contrast","saturate","opacity"]);function mOe(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[i]=n.match(aD)||[];if(!i)return e;const r=n.replace(i,"");let s=pOe.has(t)?1:0;return i!==n&&(s*=100),t+"("+s+r+")"}const gOe=/\b([a-z-]*)\(.*?\)/gu,TI={...uf,getAnimatableNone:e=>{const t=e.match(gOe);return t?t.map(mOe).join(" "):e}},OOe={...XL,color:Ps,backgroundColor:Ps,outlineColor:Ps,fill:Ps,stroke:Ps,borderColor:Ps,borderTopColor:Ps,borderRightColor:Ps,borderBottomColor:Ps,borderLeftColor:Ps,filter:TI,WebkitFilter:TI},lD=e=>OOe[e];function mW(e,t){let n=lD(e);return n!==TI&&(n=uf),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const bOe=new Set(["auto","none","0"]);function yOe(e,t,n){let i=0,r;for(;ie===h0||e===Qt,E6=(e,t)=>parseFloat(e.split(", ")[t]),k6=(e,t)=>(n,{transform:i})=>{if(i==="none"||!i)return 0;const r=i.match(/^matrix3d\((.+)\)$/u);if(r)return E6(r[1],t);{const s=i.match(/^matrix\((.+)\)$/u);return s?E6(s[1],e):0}},xOe=new Set(["x","y","z"]),SOe=f0.filter(e=>!xOe.has(e));function vOe(e){const t=[];return SOe.forEach(n=>{const i=e.getValue(n);i!==void 0&&(t.push([n,i.get()]),i.set(n.startsWith("scale")?1:0))}),t}const _g={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:k6(4,13),y:k6(5,14)};_g.translateX=_g.x;_g.translateY=_g.y;const Ch=new Set;let _I=!1,AI=!1;function gW(){if(AI){const e=Array.from(Ch).filter(i=>i.needsMeasurement),t=new Set(e.map(i=>i.element)),n=new Map;t.forEach(i=>{const r=vOe(i);r.length&&(n.set(i,r),i.render())}),e.forEach(i=>i.measureInitialState()),t.forEach(i=>{i.render();const r=n.get(i);r&&r.forEach(([s,a])=>{var o;(o=i.getValue(s))===null||o===void 0||o.set(a)})}),e.forEach(i=>i.measureEndState()),e.forEach(i=>{i.suspendedScrollY!==void 0&&window.scrollTo(0,i.suspendedScrollY)})}AI=!1,_I=!1,Ch.forEach(e=>e.complete()),Ch.clear()}function OW(){Ch.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(AI=!0)})}function wOe(){OW(),gW()}class cD{constructor(t,n,i,r,s,a=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=i,this.motionValue=r,this.element=s,this.isAsync=a}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Ch.add(this),_I||(_I=!0,Vi.read(OW),Vi.resolveKeyframes(gW))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:i,motionValue:r}=this;for(let s=0;s/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),EOe=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function kOe(e){const t=EOe.exec(e);if(!t)return[,];const[,n,i,r]=t;return[`--${n??i}`,r]}function yW(e,t,n=1){const[i,r]=kOe(e);if(!i)return;const s=window.getComputedStyle(t).getPropertyValue(i);if(s){const a=s.trim();return bW(a)?parseFloat(a):a}return VL(r)?yW(r,t,n+1):r}const xW=e=>t=>t.test(e),TOe={test:e=>e==="auto",parse:e=>e},SW=[h0,Qt,hc,gd,v0e,S0e,TOe],T6=e=>SW.find(xW(e));class vW extends cD{constructor(t,n,i,r,s){super(t,n,i,r,s,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:i}=this;if(!n||!n.current)return;super.readKeyframes();for(let l=0;l{n.getValue(l).set(u)}),this.resolveNoneKeyframes()}}const _6=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(uf.test(e)||e==="0")&&!e.startsWith("url("));function _Oe(e){const t=e[0];if(e.length===1)return!0;for(let n=0;ne!==null;function ST(e,{repeat:t,repeatType:n="loop"},i){const r=e.filter(NOe),s=t&&n!=="loop"&&t%2===1?0:r.length-1;return!s||i===void 0?r[s]:i}const COe=40;class wW{constructor({autoplay:t=!0,delay:n=0,type:i="keyframes",repeat:r=0,repeatDelay:s=0,repeatType:a="loop",...o}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=pc.now(),this.options={autoplay:t,delay:n,type:i,repeat:r,repeatDelay:s,repeatType:a,...o},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>COe?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&wOe(),this._resolved}onKeyframesResolved(t,n){this.resolvedAt=pc.now(),this.hasAttemptedResolve=!0;const{name:i,type:r,velocity:s,delay:a,onComplete:o,onUpdate:l,isGenerator:u}=this.options;if(!u&&!AOe(t,i,r,s))if(a)this.options.duration=0;else{l&&l(ST(t,this.options,n)),o&&o(),this.resolveFinishedPromise();return}const d=this.initPlayback(t,n);d!==!1&&(this._resolved={keyframes:t,finalKeyframe:n,...d},this.onPostResolved())}onPostResolved(){}then(t,n){return this.currentFinishedPromise.then(t,n)}flatten(){this.options.type="keyframes",this.options.ease="linear"}updateFinishedPromise(){this.currentFinishedPromise=new Promise(t=>{this.resolveFinishedPromise=t})}}const NI=2e4;function EW(e){let t=0;const n=50;let i=e.next(t);for(;!i.done&&t=NI?1/0:t}const sr=(e,t,n)=>e+(t-e)*n;function vN(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function ROe({hue:e,saturation:t,lightness:n,alpha:i}){e/=360,t/=100,n/=100;let r=0,s=0,a=0;if(!t)r=s=a=n;else{const o=n<.5?n*(1+t):n+t-n*t,l=2*n-o;r=vN(l,o,e+1/3),s=vN(l,o,e),a=vN(l,o,e-1/3)}return{red:Math.round(r*255),green:Math.round(s*255),blue:Math.round(a*255),alpha:i}}function OE(e,t){return n=>n>0?t:e}const wN=(e,t,n)=>{const i=e*e,r=n*(t*t-i)+i;return r<0?0:Math.sqrt(r)},IOe=[kI,gh,vm],POe=e=>IOe.find(t=>t.test(e));function A6(e){const t=POe(e);if(!t)return!1;let n=t.parse(e);return t===vm&&(n=ROe(n)),n}const N6=(e,t)=>{const n=A6(e),i=A6(t);if(!n||!i)return OE(e,t);const r={...n};return s=>(r.red=wN(n.red,i.red,s),r.green=wN(n.green,i.green,s),r.blue=wN(n.blue,i.blue,s),r.alpha=sr(n.alpha,i.alpha,s),gh.transform(r))},jOe=(e,t)=>n=>t(e(n)),Qx=(...e)=>e.reduce(jOe),CI=new Set(["none","hidden"]);function MOe(e,t){return CI.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function LOe(e,t){return n=>sr(e,t,n)}function uD(e){return typeof e=="number"?LOe:typeof e=="string"?VL(e)?OE:Ps.test(e)?N6:QOe:Array.isArray(e)?kW:typeof e=="object"?Ps.test(e)?N6:DOe:OE}function kW(e,t){const n=[...e],i=n.length,r=e.map((s,a)=>uD(s)(s,t[a]));return s=>{for(let a=0;a{for(const s in i)n[s]=i[s](r);return n}}function $Oe(e,t){var n;const i=[],r={color:0,var:0,number:0};for(let s=0;s{const n=uf.createTransformer(t),i=yy(e),r=yy(t);return i.indexes.var.length===r.indexes.var.length&&i.indexes.color.length===r.indexes.color.length&&i.indexes.number.length>=r.indexes.number.length?CI.has(e)&&!r.values.length||CI.has(t)&&!i.values.length?MOe(e,t):Qx(kW($Oe(i,r),r.values),n):OE(e,t)};function TW(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?sr(e,t,n):uD(e)(e,t)}const BOe=5;function _W(e,t,n){const i=Math.max(t-BOe,0);return WG(n-e(i),t-i)}const cr={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},EN=.001;function UOe({duration:e=cr.duration,bounce:t=cr.bounce,velocity:n=cr.velocity,mass:i=cr.mass}){let r,s,a=1-t;a=Nu(cr.minDamping,cr.maxDamping,a),e=Nu(cr.minDuration,cr.maxDuration,gu(e)),a<1?(r=u=>{const d=u*a,f=d*e,h=d-n,p=RI(u,a),m=Math.exp(-f);return EN-h/p*m},s=u=>{const f=u*a*e,h=f*n+n,p=Math.pow(a,2)*Math.pow(u,2)*e,m=Math.exp(-f),g=RI(Math.pow(u,2),a);return(-r(u)+EN>0?-1:1)*((h-p)*m)/g}):(r=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-EN+d*f},s=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const o=5/e,l=FOe(r,s,o);if(e=mu(e),isNaN(l))return{stiffness:cr.stiffness,damping:cr.damping,duration:e};{const u=Math.pow(l,2)*i;return{stiffness:u,damping:a*2*Math.sqrt(i*u),duration:e}}}const zOe=12;function FOe(e,t,n){let i=n;for(let r=1;re[n]!==void 0)}function qOe(e){let t={velocity:cr.velocity,stiffness:cr.stiffness,damping:cr.damping,mass:cr.mass,isResolvedFromDuration:!1,...e};if(!C6(e,XOe)&&C6(e,VOe))if(e.visualDuration){const n=e.visualDuration,i=2*Math.PI/(n*1.2),r=i*i,s=2*Nu(.05,1,1-(e.bounce||0))*Math.sqrt(r);t={...t,mass:cr.mass,stiffness:r,damping:s}}else{const n=UOe(e);t={...t,...n,mass:cr.mass},t.isResolvedFromDuration=!0}return t}function AW(e=cr.visualDuration,t=cr.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:i,restDelta:r}=n;const s=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],o={done:!1,value:s},{stiffness:l,damping:u,mass:d,duration:f,velocity:h,isResolvedFromDuration:p}=qOe({...n,velocity:-gu(n.velocity||0)}),m=h||0,g=u/(2*Math.sqrt(l*d)),y=a-s,b=gu(Math.sqrt(l/d)),S=Math.abs(y)<5;i||(i=S?cr.restSpeed.granular:cr.restSpeed.default),r||(r=S?cr.restDelta.granular:cr.restDelta.default);let x;if(g<1){const E=RI(b,g);x=w=>{const k=Math.exp(-g*b*w);return a-k*((m+g*b*y)/E*Math.sin(E*w)+y*Math.cos(E*w))}}else if(g===1)x=E=>a-Math.exp(-b*E)*(y+(m+b*y)*E);else{const E=b*Math.sqrt(g*g-1);x=w=>{const k=Math.exp(-g*b*w),_=Math.min(E*w,300);return a-k*((m+g*b*y)*Math.sinh(_)+E*y*Math.cosh(_))/E}}const v={calculatedDuration:p&&f||null,next:E=>{const w=x(E);if(p)o.done=E>=f;else{let k=0;g<1&&(k=E===0?mu(m):_W(x,E,w));const _=Math.abs(k)<=i,C=Math.abs(a-w)<=r;o.done=_&&C}return o.value=o.done?a:w,o},toString:()=>{const E=Math.min(EW(v),NI),w=KG(k=>v.next(E*k).value,E,30);return E+"ms "+w}};return v}function R6({keyframes:e,velocity:t=0,power:n=.8,timeConstant:i=325,bounceDamping:r=10,bounceStiffness:s=500,modifyTarget:a,min:o,max:l,restDelta:u=.5,restSpeed:d}){const f=e[0],h={done:!1,value:f},p=_=>o!==void 0&&_l,m=_=>o===void 0?l:l===void 0||Math.abs(o-_)-g*Math.exp(-_/i),x=_=>b+S(_),v=_=>{const C=S(_),A=x(_);h.done=Math.abs(C)<=u,h.value=h.done?b:A};let E,w;const k=_=>{p(h.value)&&(E=_,w=AW({keyframes:[h.value,m(h.value)],velocity:_W(x,_,h.value),damping:r,stiffness:s,restDelta:u,restSpeed:d}))};return k(0),{calculatedDuration:null,next:_=>{let C=!1;return!w&&E===void 0&&(C=!0,v(_),k(_)),E!==void 0&&_>=E?w.next(_-E):(!C&&v(_),h)}}}const HOe=$x(.42,0,1,1),YOe=$x(0,0,.58,1),NW=$x(.42,0,.58,1),GOe=e=>Array.isArray(e)&&typeof e[0]!="number",WOe={linear:oo,easeIn:HOe,easeInOut:NW,easeOut:YOe,circIn:sD,circInOut:lW,circOut:oW,backIn:rD,backInOut:sW,backOut:rW,anticipate:aW},I6=e=>{if(iD(e)){AG(e.length===4);const[t,n,i,r]=e;return $x(t,n,i,r)}else if(typeof e=="string")return WOe[e];return e};function ZOe(e,t,n){const i=[],r=n||TW,s=e.length-1;for(let a=0;at[0];if(s===2&&t[0]===t[1])return()=>t[1];const a=e[0]===e[1];e[0]>e[s-1]&&(e=[...e].reverse(),t=[...t].reverse());const o=ZOe(t,i,r),l=o.length,u=d=>{if(a&&d1)for(;fu(Nu(e[0],e[s-1],d)):u}function JOe(e,t){const n=e[e.length-1];for(let i=1;i<=t;i++){const r=Tg(0,t,i);e.push(sr(n,1,r))}}function ebe(e){const t=[0];return JOe(t,e.length-1),t}function tbe(e,t){return e.map(n=>n*t)}function nbe(e,t){return e.map(()=>t||NW).splice(0,e.length-1)}function bE({duration:e=300,keyframes:t,times:n,ease:i="easeInOut"}){const r=GOe(i)?i.map(I6):I6(i),s={done:!1,value:t[0]},a=tbe(n&&n.length===t.length?n:ebe(t),e),o=KOe(a,t,{ease:Array.isArray(r)?r:nbe(t,r)});return{calculatedDuration:e,next:l=>(s.value=o(l),s.done=l>=e,s)}}const ibe=e=>{const t=({timestamp:n})=>e(n);return{start:()=>Vi.update(t,!0),stop:()=>cf(t),now:()=>Os.isProcessing?Os.timestamp:pc.now()}},rbe={decay:R6,inertia:R6,tween:bE,keyframes:bE,spring:AW},sbe=e=>e/100;class dD extends wW{constructor(t){super(t),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.startTime=null,this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.teardown();const{onStop:l}=this.options;l&&l()};const{name:n,motionValue:i,element:r,keyframes:s}=this.options,a=(r==null?void 0:r.KeyframeResolver)||cD,o=(l,u)=>this.onKeyframesResolved(l,u);this.resolver=new a(s,o,n,i,r),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(t){const{type:n="keyframes",repeat:i=0,repeatDelay:r=0,repeatType:s,velocity:a=0}=this.options,o=nD(n)?n:rbe[n]||bE;let l,u;o!==bE&&typeof t[0]!="number"&&(l=Qx(sbe,TW(t[0],t[1])),t=[0,100]);const d=o({...this.options,keyframes:t});s==="mirror"&&(u=o({...this.options,keyframes:[...t].reverse(),velocity:-a})),d.calculatedDuration===null&&(d.calculatedDuration=EW(d));const{calculatedDuration:f}=d,h=f+r,p=h*(i+1)-r;return{generator:d,mirroredGenerator:u,mapPercentToKeyframes:l,calculatedDuration:f,resolvedDuration:h,totalDuration:p}}onPostResolved(){const{autoplay:t=!0}=this.options;this.play(),this.pendingPlayState==="paused"||!t?this.pause():this.state=this.pendingPlayState}tick(t,n=!1){const{resolved:i}=this;if(!i){const{keyframes:_}=this.options;return{done:!0,value:_[_.length-1]}}const{finalKeyframe:r,generator:s,mirroredGenerator:a,mapPercentToKeyframes:o,keyframes:l,calculatedDuration:u,totalDuration:d,resolvedDuration:f}=i;if(this.startTime===null)return s.next(0);const{delay:h,repeat:p,repeatType:m,repeatDelay:g,onUpdate:y}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-d/this.speed,this.startTime)),n?this.currentTime=t:this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=Math.round(t-this.startTime)*this.speed;const b=this.currentTime-h*(this.speed>=0?1:-1),S=this.speed>=0?b<0:b>d;this.currentTime=Math.max(b,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=d);let x=this.currentTime,v=s;if(p){const _=Math.min(this.currentTime,d)/f;let C=Math.floor(_),A=_%1;!A&&_>=1&&(A=1),A===1&&C--,C=Math.min(C,p+1),!!(C%2)&&(m==="reverse"?(A=1-A,g&&(A-=g/f)):m==="mirror"&&(v=a)),x=Nu(0,1,A)*f}const E=S?{done:!1,value:l[0]}:v.next(x);o&&(E.value=o(E.value));let{done:w}=E;!S&&u!==null&&(w=this.speed>=0?this.currentTime>=d:this.currentTime<=0);const k=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&w);return k&&r!==void 0&&(E.value=ST(l,this.options,r)),y&&y(E.value),k&&this.finish(),E}get duration(){const{resolved:t}=this;return t?gu(t.calculatedDuration):0}get time(){return gu(this.currentTime)}set time(t){t=mu(t),this.currentTime=t,this.holdTime!==null||this.speed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.speed)}get speed(){return this.playbackSpeed}set speed(t){const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=gu(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:t=ibe,onPlay:n,startTime:i}=this.options;this.driver||(this.driver=t(s=>this.tick(s))),n&&n();const r=this.driver.now();this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=r):this.startTime=i??this.calcStartTime(),this.state==="finished"&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var t;if(!this._resolved){this.pendingPlayState="paused";return}this.state="paused",this.holdTime=(t=this.currentTime)!==null&&t!==void 0?t:0}complete(){this.state!=="running"&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:t}=this.options;t&&t()}cancel(){this.cancelTime!==null&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}}const abe=new Set(["opacity","clipPath","filter","transform"]);function obe(e,t,n,{delay:i=0,duration:r=300,repeat:s=0,repeatType:a="loop",ease:o="easeInOut",times:l}={}){const u={[t]:n};l&&(u.offset=l);const d=eW(o,r);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:i,duration:r,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:s+1,direction:a==="reverse"?"alternate":"normal"})}const lbe=tD(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),yE=10,cbe=2e4;function ube(e){return nD(e.type)||e.type==="spring"||!JG(e.ease)}function dbe(e,t){const n=new dD({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0});let i={done:!1,value:e[0]};const r=[];let s=0;for(;!i.done&&sthis.onKeyframesResolved(a,o),n,i,r),this.resolver.scheduleResolve()}initPlayback(t,n){let{duration:i=300,times:r,ease:s,type:a,motionValue:o,name:l,startTime:u}=this.options;if(!o.owner||!o.owner.current)return!1;if(typeof s=="string"&&gE()&&fbe(s)&&(s=CW[s]),ube(this.options)){const{onComplete:f,onUpdate:h,motionValue:p,element:m,...g}=this.options,y=dbe(t,g);t=y.keyframes,t.length===1&&(t[1]=t[0]),i=y.duration,r=y.times,s=y.ease,a="keyframes"}const d=obe(o.owner.current,l,t,{...this.options,duration:i,times:r,ease:s});return d.startTime=u??this.calcStartTime(),this.pendingTimeline?(S6(d,this.pendingTimeline),this.pendingTimeline=void 0):d.onfinish=()=>{const{onComplete:f}=this.options;o.set(ST(t,this.options,n)),f&&f(),this.cancel(),this.resolveFinishedPromise()},{animation:d,duration:i,times:r,type:a,ease:s,keyframes:t}}get duration(){const{resolved:t}=this;if(!t)return 0;const{duration:n}=t;return gu(n)}get time(){const{resolved:t}=this;if(!t)return 0;const{animation:n}=t;return gu(n.currentTime||0)}set time(t){const{resolved:n}=this;if(!n)return;const{animation:i}=n;i.currentTime=mu(t)}get speed(){const{resolved:t}=this;if(!t)return 1;const{animation:n}=t;return n.playbackRate}set speed(t){const{resolved:n}=this;if(!n)return;const{animation:i}=n;i.playbackRate=t}get state(){const{resolved:t}=this;if(!t)return"idle";const{animation:n}=t;return n.playState}get startTime(){const{resolved:t}=this;if(!t)return null;const{animation:n}=t;return n.startTime}attachTimeline(t){if(!this._resolved)this.pendingTimeline=t;else{const{resolved:n}=this;if(!n)return oo;const{animation:i}=n;S6(i,t)}return oo}play(){if(this.isStopped)return;const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.playState==="finished"&&this.updateFinishedPromise(),n.play()}pause(){const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:t}=this;if(!t)return;const{animation:n,keyframes:i,duration:r,type:s,ease:a,times:o}=t;if(n.playState==="idle"||n.playState==="finished")return;if(this.time){const{motionValue:u,onUpdate:d,onComplete:f,element:h,...p}=this.options,m=new dD({...p,keyframes:i,duration:r,type:s,ease:a,times:o,isGenerator:!0}),g=mu(this.time);u.setWithVelocity(m.sample(g-yE).value,m.sample(g).value,yE)}const{onStop:l}=this.options;l&&l(),this.cancel()}complete(){const{resolved:t}=this;t&&t.animation.finish()}cancel(){const{resolved:t}=this;t&&t.animation.cancel()}static supports(t){const{motionValue:n,name:i,repeatDelay:r,repeatType:s,damping:a,type:o}=t;if(!n||!n.owner||!(n.owner.current instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:u}=n.owner.getProps();return lbe()&&i&&abe.has(i)&&!l&&!u&&!r&&s!=="mirror"&&a!==0&&o!=="inertia"}}const hbe={type:"spring",stiffness:500,damping:25,restSpeed:10},pbe=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),mbe={type:"keyframes",duration:.8},gbe={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Obe=(e,{keyframes:t})=>t.length>2?mbe:dp.has(e)?e.startsWith("scale")?pbe(t[1]):hbe:gbe;function bbe({when:e,delay:t,delayChildren:n,staggerChildren:i,staggerDirection:r,repeat:s,repeatType:a,repeatDelay:o,from:l,elapsed:u,...d}){return!!Object.keys(d).length}const fD=(e,t,n,i={},r,s)=>a=>{const o=ZL(i,e)||{},l=o.delay||i.delay||0;let{elapsed:u=0}=i;u=u-mu(l);let d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...o,delay:-u,onUpdate:h=>{t.set(h),o.onUpdate&&o.onUpdate(h)},onComplete:()=>{a(),o.onComplete&&o.onComplete()},name:e,motionValue:t,element:s?void 0:r};bbe(o)||(d={...d,...Obe(e,d)}),d.duration&&(d.duration=mu(d.duration)),d.repeatDelay&&(d.repeatDelay=mu(d.repeatDelay)),d.from!==void 0&&(d.keyframes[0]=d.from);let f=!1;if((d.type===!1||d.duration===0&&!d.repeatDelay)&&(d.duration=0,d.delay===0&&(f=!0)),f&&!s&&t.get()!==void 0){const h=ST(d.keyframes,o);if(h!==void 0)return Vi.update(()=>{d.onUpdate(h),d.onComplete()}),new W0e([])}return!s&&P6.supports(d)?new P6(d):new dD(d)};function ybe({protectedKeys:e,needsAnimating:t},n){const i=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,i}function RW(e,t,{delay:n=0,transitionOverride:i,type:r}={}){var s;let{transition:a=e.getDefaultTransition(),transitionEnd:o,...l}=t;i&&(a=i);const u=[],d=r&&e.animationState&&e.animationState.getState()[r];for(const f in l){const h=e.getValue(f,(s=e.latestValues[f])!==null&&s!==void 0?s:null),p=l[f];if(p===void 0||d&&ybe(d,f))continue;const m={delay:n,...ZL(a||{},f)};let g=!1;if(window.MotionHandoffAnimation){const b=ZG(e);if(b){const S=window.MotionHandoffAnimation(b,f,Vi);S!==null&&(m.startTime=S,g=!0)}}wI(e,f),h.start(fD(f,h,p,e.shouldReduceMotion&&GG.has(f)?{type:!1}:m,e,g));const y=h.animation;y&&u.push(y)}return o&&Promise.all(u).then(()=>{Vi.update(()=>{o&&q0e(e,o)})}),u}function II(e,t,n={}){var i;const r=xT(e,t,n.type==="exit"?(i=e.presenceContext)===null||i===void 0?void 0:i.custom:void 0);let{transition:s=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(s=n.transitionOverride);const a=r?()=>Promise.all(RW(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(u=0)=>{const{delayChildren:d=0,staggerChildren:f,staggerDirection:h}=s;return xbe(e,t,d+u,f,h,n)}:()=>Promise.resolve(),{when:l}=s;if(l){const[u,d]=l==="beforeChildren"?[a,o]:[o,a];return u().then(()=>d())}else return Promise.all([a(),o(n.delay)])}function xbe(e,t,n=0,i=0,r=1,s){const a=[],o=(e.variantChildren.size-1)*i,l=r===1?(u=0)=>u*i:(u=0)=>o-u*i;return Array.from(e.variantChildren).sort(Sbe).forEach((u,d)=>{u.notify("AnimationStart",t),a.push(II(u,t,{...s,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(a)}function Sbe(e,t){return e.sortNodePosition(t)}function vbe(e,t,n={}){e.notify("AnimationStart",t);let i;if(Array.isArray(t)){const r=t.map(s=>II(e,s,n));i=Promise.all(r)}else if(typeof t=="string")i=II(e,t,n);else{const r=typeof t=="function"?xT(e,t,n.custom):t;i=Promise.all(RW(e,r,n))}return i.then(()=>{e.notify("AnimationComplete",t)})}const wbe=QL.length;function IW(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?IW(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;nPromise.all(t.map(({animation:n,options:i})=>vbe(e,n,i)))}function _be(e){let t=Tbe(e),n=j6(),i=!0;const r=l=>(u,d)=>{var f;const h=xT(e,d,l==="exit"?(f=e.presenceContext)===null||f===void 0?void 0:f.custom:void 0);if(h){const{transition:p,transitionEnd:m,...g}=h;u={...u,...g,...m}}return u};function s(l){t=l(e)}function a(l){const{props:u}=e,d=IW(e.parent)||{},f=[],h=new Set;let p={},m=1/0;for(let y=0;ym&&v,C=!1;const A=Array.isArray(x)?x:[x];let R=A.reduce(r(b),{});E===!1&&(R={});const{prevResolvedValues:j={}}=S,Q={...j,...R},L=M=>{_=!0,h.has(M)&&(C=!0,h.delete(M)),S.needsAnimating[M]=!0;const B=e.getValue(M);B&&(B.liveStyle=!1)};for(const M in Q){const B=R[M],$=j[M];if(p.hasOwnProperty(M))continue;let I=!1;vI(B)&&vI($)?I=!YG(B,$):I=B!==$,I?B!=null?L(M):h.add(M):B!==void 0&&h.has(M)?L(M):S.protectedKeys[M]=!0}S.prevProp=x,S.prevResolvedValues=R,S.isActive&&(p={...p,...R}),i&&e.blockInitialAnimation&&(_=!1),_&&(!(w&&k)||C)&&f.push(...A.map(M=>({animation:M,options:{type:b}})))}if(h.size){const y={};h.forEach(b=>{const S=e.getBaseTarget(b),x=e.getValue(b);x&&(x.liveStyle=!0),y[b]=S??null}),f.push({animation:y})}let g=!!f.length;return i&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(g=!1),i=!1,g?t(f):Promise.resolve()}function o(l,u){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=a(l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:a,setActive:o,setAnimateFunction:s,getState:()=>n,reset:()=>{n=j6(),i=!0}}}function Abe(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!YG(t,e):!1}function Vf(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function j6(){return{animate:Vf(!0),whileInView:Vf(),whileHover:Vf(),whileTap:Vf(),whileDrag:Vf(),whileFocus:Vf(),exit:Vf()}}class Nf{constructor(t){this.isMounted=!1,this.node=t}update(){}}class Nbe extends Nf{constructor(t){super(t),t.animationState||(t.animationState=_be(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();bT(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){var t;this.node.animationState.reset(),(t=this.unmountControls)===null||t===void 0||t.call(this)}}let Cbe=0;class Rbe extends Nf{constructor(){super(...arguments),this.id=Cbe++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const r=this.node.animationState.setActive("exit",!t);n&&!t&&r.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const Ibe={animation:{Feature:Nbe},exit:{Feature:Rbe}},ol={x:!1,y:!1};function PW(){return ol.x||ol.y}function Pbe(e){return e==="x"||e==="y"?ol[e]?null:(ol[e]=!0,()=>{ol[e]=!1}):ol.x||ol.y?null:(ol.x=ol.y=!0,()=>{ol.x=ol.y=!1})}const hD=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function xy(e,t,n,i={passive:!0}){return e.addEventListener(t,n,i),()=>e.removeEventListener(t,n)}function Bx(e){return{point:{x:e.pageX,y:e.pageY}}}const jbe=e=>t=>hD(t)&&e(t,Bx(t));function Eb(e,t,n,i){return xy(e,t,jbe(n),i)}const M6=(e,t)=>Math.abs(e-t);function Mbe(e,t){const n=M6(e.x,t.x),i=M6(e.y,t.y);return Math.sqrt(n**2+i**2)}class jW{constructor(t,n,{transformPagePoint:i,contextWindow:r,dragSnapToOrigin:s=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const f=TN(this.lastMoveEventInfo,this.history),h=this.startEvent!==null,p=Mbe(f.offset,{x:0,y:0})>=3;if(!h&&!p)return;const{point:m}=f,{timestamp:g}=Os;this.history.push({...m,timestamp:g});const{onStart:y,onMove:b}=this.handlers;h||(y&&y(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),b&&b(this.lastMoveEvent,f)},this.handlePointerMove=(f,h)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=kN(h,this.transformPagePoint),Vi.update(this.updatePoint,!0)},this.handlePointerUp=(f,h)=>{this.end();const{onEnd:p,onSessionEnd:m,resumeAnimation:g}=this.handlers;if(this.dragSnapToOrigin&&g&&g(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const y=TN(f.type==="pointercancel"?this.lastMoveEventInfo:kN(h,this.transformPagePoint),this.history);this.startEvent&&p&&p(f,y),m&&m(f,y)},!hD(t))return;this.dragSnapToOrigin=s,this.handlers=n,this.transformPagePoint=i,this.contextWindow=r||window;const a=Bx(t),o=kN(a,this.transformPagePoint),{point:l}=o,{timestamp:u}=Os;this.history=[{...l,timestamp:u}];const{onSessionStart:d}=n;d&&d(t,TN(o,this.history)),this.removeListeners=Qx(Eb(this.contextWindow,"pointermove",this.handlePointerMove),Eb(this.contextWindow,"pointerup",this.handlePointerUp),Eb(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),cf(this.updatePoint)}}function kN(e,t){return t?{point:t(e.point)}:e}function L6(e,t){return{x:e.x-t.x,y:e.y-t.y}}function TN({point:e},t){return{point:e,delta:L6(e,MW(t)),offset:L6(e,Lbe(t)),velocity:Dbe(t,.1)}}function Lbe(e){return e[0]}function MW(e){return e[e.length-1]}function Dbe(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,i=null;const r=MW(e);for(;n>=0&&(i=e[n],!(r.timestamp-i.timestamp>mu(t)));)n--;if(!i)return{x:0,y:0};const s=gu(r.timestamp-i.timestamp);if(s===0)return{x:0,y:0};const a={x:(r.x-i.x)/s,y:(r.y-i.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}const LW=1e-4,$be=1-LW,Qbe=1+LW,DW=.01,Bbe=0-DW,Ube=0+DW;function fo(e){return e.max-e.min}function zbe(e,t,n){return Math.abs(e-t)<=n}function D6(e,t,n,i=.5){e.origin=i,e.originPoint=sr(t.min,t.max,e.origin),e.scale=fo(n)/fo(t),e.translate=sr(n.min,n.max,e.origin)-e.originPoint,(e.scale>=$be&&e.scale<=Qbe||isNaN(e.scale))&&(e.scale=1),(e.translate>=Bbe&&e.translate<=Ube||isNaN(e.translate))&&(e.translate=0)}function kb(e,t,n,i){D6(e.x,t.x,n.x,i?i.originX:void 0),D6(e.y,t.y,n.y,i?i.originY:void 0)}function $6(e,t,n){e.min=n.min+t.min,e.max=e.min+fo(t)}function Fbe(e,t,n){$6(e.x,t.x,n.x),$6(e.y,t.y,n.y)}function Q6(e,t,n){e.min=t.min-n.min,e.max=e.min+fo(t)}function Tb(e,t,n){Q6(e.x,t.x,n.x),Q6(e.y,t.y,n.y)}function Vbe(e,{min:t,max:n},i){return t!==void 0&&en&&(e=i?sr(n,e,i.max):Math.min(e,n)),e}function B6(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function Xbe(e,{top:t,left:n,bottom:i,right:r}){return{x:B6(e.x,n,r),y:B6(e.y,t,i)}}function U6(e,t){let n=t.min-e.min,i=t.max-e.max;return t.max-t.mini?n=Tg(t.min,t.max-i,e.min):i>r&&(n=Tg(e.min,e.max-r,t.min)),Nu(0,1,n)}function Ybe(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const PI=.35;function Gbe(e=PI){return e===!1?e=0:e===!0&&(e=PI),{x:z6(e,"left","right"),y:z6(e,"top","bottom")}}function z6(e,t,n){return{min:F6(e,t),max:F6(e,n)}}function F6(e,t){return typeof e=="number"?e:e[t]||0}const V6=()=>({translate:0,scale:1,origin:0,originPoint:0}),wm=()=>({x:V6(),y:V6()}),X6=()=>({min:0,max:0}),xr=()=>({x:X6(),y:X6()});function xo(e){return[e("x"),e("y")]}function $W({top:e,left:t,right:n,bottom:i}){return{x:{min:t,max:n},y:{min:e,max:i}}}function Wbe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Zbe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),i=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:i.y,right:i.x}}function _N(e){return e===void 0||e===1}function jI({scale:e,scaleX:t,scaleY:n}){return!_N(e)||!_N(t)||!_N(n)}function th(e){return jI(e)||QW(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function QW(e){return q6(e.x)||q6(e.y)}function q6(e){return e&&e!=="0%"}function xE(e,t,n){const i=e-n,r=t*i;return n+r}function H6(e,t,n,i,r){return r!==void 0&&(e=xE(e,r,i)),xE(e,n,i)+t}function MI(e,t=0,n=1,i,r){e.min=H6(e.min,t,n,i,r),e.max=H6(e.max,t,n,i,r)}function BW(e,{x:t,y:n}){MI(e.x,t.translate,t.scale,t.originPoint),MI(e.y,n.translate,n.scale,n.originPoint)}const Y6=.999999999999,G6=1.0000000000001;function Kbe(e,t,n,i=!1){const r=n.length;if(!r)return;t.x=t.y=1;let s,a;for(let o=0;oY6&&(t.x=1),t.yY6&&(t.y=1)}function Em(e,t){e.min=e.min+t,e.max=e.max+t}function W6(e,t,n,i,r=.5){const s=sr(e.min,e.max,r);MI(e,t,n,s,i)}function km(e,t){W6(e.x,t.x,t.scaleX,t.scale,t.originX),W6(e.y,t.y,t.scaleY,t.scale,t.originY)}function UW(e,t){return $W(Zbe(e.getBoundingClientRect(),t))}function Jbe(e,t,n){const i=UW(e,n),{scroll:r}=t;return r&&(Em(i.x,r.offset.x),Em(i.y,r.offset.y)),i}const zW=({current:e})=>e?e.ownerDocument.defaultView:null,eye=new WeakMap;class tye{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=xr(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=d=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(Bx(d).point)},s=(d,f)=>{const{drag:h,dragPropagation:p,onDragStart:m}=this.getProps();if(h&&!p&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Pbe(h),!this.openDragLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),xo(y=>{let b=this.getAxisMotionValue(y).get()||0;if(hc.test(b)){const{projection:S}=this.visualElement;if(S&&S.layout){const x=S.layout.layoutBox[y];x&&(b=fo(x)*(parseFloat(b)/100))}}this.originPoint[y]=b}),m&&Vi.postRender(()=>m(d,f)),wI(this.visualElement,"transform");const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},a=(d,f)=>{const{dragPropagation:h,dragDirectionLock:p,onDirectionLock:m,onDrag:g}=this.getProps();if(!h&&!this.openDragLock)return;const{offset:y}=f;if(p&&this.currentDirection===null){this.currentDirection=nye(y),this.currentDirection!==null&&m&&m(this.currentDirection);return}this.updateAxis("x",f.point,y),this.updateAxis("y",f.point,y),this.visualElement.render(),g&&g(d,f)},o=(d,f)=>this.stop(d,f),l=()=>xo(d=>{var f;return this.getAnimationState(d)==="paused"&&((f=this.getAxisMotionValue(d).animation)===null||f===void 0?void 0:f.play())}),{dragSnapToOrigin:u}=this.getProps();this.panSession=new jW(t,{onSessionStart:r,onStart:s,onMove:a,onSessionEnd:o,resumeAnimation:l},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,contextWindow:zW(this.visualElement)})}stop(t,n){const i=this.isDragging;if(this.cancel(),!i)return;const{velocity:r}=n;this.startAnimation(r);const{onDragEnd:s}=this.getProps();s&&Vi.postRender(()=>s(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:i}=this.getProps();!i&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,i){const{drag:r}=this.getProps();if(!i||!mS(t,r,this.currentDirection))return;const s=this.getAxisMotionValue(t);let a=this.originPoint[t]+i[t];this.constraints&&this.constraints[t]&&(a=Vbe(a,this.constraints[t],this.elastic[t])),s.set(a)}resolveConstraints(){var t;const{dragConstraints:n,dragElastic:i}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(t=this.visualElement.projection)===null||t===void 0?void 0:t.layout,s=this.constraints;n&&Sm(n)?this.constraints||(this.constraints=this.resolveRefConstraints()):n&&r?this.constraints=Xbe(r.layoutBox,n):this.constraints=!1,this.elastic=Gbe(i),s!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&xo(a=>{this.constraints!==!1&&this.getAxisMotionValue(a)&&(this.constraints[a]=Ybe(r.layoutBox[a],this.constraints[a]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Sm(t))return!1;const i=t.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;const s=Jbe(i,r.root,this.visualElement.getTransformPagePoint());let a=qbe(r.layout.layoutBox,s);if(n){const o=n(Wbe(a));this.hasMutatedConstraints=!!o,o&&(a=$W(o))}return a}startAnimation(t){const{drag:n,dragMomentum:i,dragElastic:r,dragTransition:s,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),l=this.constraints||{},u=xo(d=>{if(!mS(d,n,this.currentDirection))return;let f=l&&l[d]||{};a&&(f={min:0,max:0});const h=r?200:1e6,p=r?40:1e7,m={type:"inertia",velocity:i?t[d]:0,bounceStiffness:h,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...s,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(o)}startAxisValueAnimation(t,n){const i=this.getAxisMotionValue(t);return wI(this.visualElement,t),i.start(fD(t,i,0,n,this.visualElement,!1))}stopAnimation(){xo(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){xo(t=>{var n;return(n=this.getAxisMotionValue(t).animation)===null||n===void 0?void 0:n.pause()})}getAnimationState(t){var n;return(n=this.getAxisMotionValue(t).animation)===null||n===void 0?void 0:n.state}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,i=this.visualElement.getProps(),r=i[n];return r||this.visualElement.getValue(t,(i.initial?i.initial[t]:void 0)||0)}snapToCursor(t){xo(n=>{const{drag:i}=this.getProps();if(!mS(n,i,this.currentDirection))return;const{projection:r}=this.visualElement,s=this.getAxisMotionValue(n);if(r&&r.layout){const{min:a,max:o}=r.layout.layoutBox[n];s.set(t[n]-sr(a,o,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:i}=this.visualElement;if(!Sm(n)||!i||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};xo(a=>{const o=this.getAxisMotionValue(a);if(o&&this.constraints!==!1){const l=o.get();r[a]=Hbe({min:l,max:l},this.constraints[a])}});const{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.resolveConstraints(),xo(a=>{if(!mS(a,t,null))return;const o=this.getAxisMotionValue(a),{min:l,max:u}=this.constraints[a];o.set(sr(l,u,r[a]))})}addListeners(){if(!this.visualElement.current)return;eye.set(this.visualElement,this);const t=this.visualElement.current,n=Eb(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),i=()=>{const{dragConstraints:l}=this.getProps();Sm(l)&&l.current&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,s=r.addEventListener("measure",i);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),Vi.read(i);const a=xy(window,"resize",()=>this.scalePositionWithinConstraints()),o=r.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(xo(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].translate))}),this.visualElement.render())});return()=>{a(),n(),s(),o&&o()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:i=!1,dragPropagation:r=!1,dragConstraints:s=!1,dragElastic:a=PI,dragMomentum:o=!0}=t;return{...t,drag:n,dragDirectionLock:i,dragPropagation:r,dragConstraints:s,dragElastic:a,dragMomentum:o}}}function mS(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function nye(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class iye extends Nf{constructor(t){super(t),this.removeGroupControls=oo,this.removeListeners=oo,this.controls=new tye(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||oo}unmount(){this.removeGroupControls(),this.removeListeners()}}const Z6=e=>(t,n)=>{e&&Vi.postRender(()=>e(t,n))};class rye extends Nf{constructor(){super(...arguments),this.removePointerDownListener=oo}onPointerDown(t){this.session=new jW(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:zW(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:i,onPanEnd:r}=this.node.getProps();return{onSessionStart:Z6(t),onStart:Z6(n),onMove:i,onEnd:(s,a)=>{delete this.session,r&&Vi.postRender(()=>r(s,a))}}}mount(){this.removePointerDownListener=Eb(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const Zv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function K6(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const dO={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Qt.test(e))e=parseFloat(e);else return e;const n=K6(e,t.target.x),i=K6(e,t.target.y);return`${n}% ${i}%`}},sye={correct:(e,{treeScale:t,projectionDelta:n})=>{const i=e,r=uf.parse(e);if(r.length>5)return i;const s=uf.createTransformer(e),a=typeof r[0]!="number"?1:0,o=n.x.scale*t.x,l=n.y.scale*t.y;r[0+a]/=o,r[1+a]/=l;const u=sr(o,l,.5);return typeof r[2+a]=="number"&&(r[2+a]/=u),typeof r[3+a]=="number"&&(r[3+a]/=u),s(r)}};class aye extends O.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:i,layoutId:r}=this.props,{projection:s}=t;I0e(oye),s&&(n.group&&n.group.add(s),i&&i.register&&r&&i.register(s),s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,onExitComplete:()=>this.safeToRemove()})),Zv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:i,drag:r,isPresent:s}=this.props,a=i.projection;return a&&(a.isPresent=s,r||t.layoutDependency!==n||n===void 0?a.willUpdate():this.safeToRemove(),t.isPresent!==s&&(s?a.promote():a.relegate()||Vi.postRender(()=>{const o=a.getStack();(!o||!o.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),UL.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:i}=this.props,{projection:r}=t;r&&(r.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(r),i&&i.deregister&&i.deregister(r))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function FW(e){const[t,n]=TG(),i=O.useContext(LL);return c.jsx(aye,{...e,layoutGroup:i,switchLayoutGroup:O.useContext(MG),isPresent:t,safeToRemove:n})}const oye={borderRadius:{...dO,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:dO,borderTopRightRadius:dO,borderBottomLeftRadius:dO,borderBottomRightRadius:dO,boxShadow:sye};function lye(e,t,n){const i=Ms(e)?e:by(e);return i.start(fD("",i,t,n)),i.animation}function cye(e){return e instanceof SVGElement&&e.tagName!=="svg"}const uye=(e,t)=>e.depth-t.depth;class dye{constructor(){this.children=[],this.isDirty=!1}add(t){KL(this.children,t),this.isDirty=!0}remove(t){JL(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(uye),this.isDirty=!1,this.children.forEach(t)}}function fye(e,t){const n=pc.now(),i=({timestamp:r})=>{const s=r-n;s>=t&&(cf(i),e(s-t))};return Vi.read(i,!0),()=>cf(i)}const VW=["TopLeft","TopRight","BottomLeft","BottomRight"],hye=VW.length,J6=e=>typeof e=="string"?parseFloat(e):e,eB=e=>typeof e=="number"||Qt.test(e);function pye(e,t,n,i,r,s){r?(e.opacity=sr(0,n.opacity!==void 0?n.opacity:1,mye(i)),e.opacityExit=sr(t.opacity!==void 0?t.opacity:1,0,gye(i))):s&&(e.opacity=sr(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,i));for(let a=0;ait?1:n(Tg(e,t,i))}function nB(e,t){e.min=t.min,e.max=t.max}function yo(e,t){nB(e.x,t.x),nB(e.y,t.y)}function iB(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function rB(e,t,n,i,r){return e-=t,e=xE(e,1/n,i),r!==void 0&&(e=xE(e,1/r,i)),e}function Oye(e,t=0,n=1,i=.5,r,s=e,a=e){if(hc.test(t)&&(t=parseFloat(t),t=sr(a.min,a.max,t/100)-a.min),typeof t!="number")return;let o=sr(s.min,s.max,i);e===s&&(o-=t),e.min=rB(e.min,t,n,o,r),e.max=rB(e.max,t,n,o,r)}function sB(e,t,[n,i,r],s,a){Oye(e,t[n],t[i],t[r],t.scale,s,a)}const bye=["x","scaleX","originX"],yye=["y","scaleY","originY"];function aB(e,t,n,i){sB(e.x,t,bye,n?n.x:void 0,i?i.x:void 0),sB(e.y,t,yye,n?n.y:void 0,i?i.y:void 0)}function oB(e){return e.translate===0&&e.scale===1}function qW(e){return oB(e.x)&&oB(e.y)}function lB(e,t){return e.min===t.min&&e.max===t.max}function xye(e,t){return lB(e.x,t.x)&&lB(e.y,t.y)}function cB(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function HW(e,t){return cB(e.x,t.x)&&cB(e.y,t.y)}function uB(e){return fo(e.x)/fo(e.y)}function dB(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class Sye{constructor(){this.members=[]}add(t){KL(this.members,t),t.scheduleRender()}remove(t){if(JL(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(r=>t===r);if(n===0)return!1;let i;for(let r=n;r>=0;r--){const s=this.members[r];if(s.isPresent!==!1){i=s;break}}return i?(this.promote(i),!0):!1}promote(t,n){const i=this.lead;if(t!==i&&(this.prevLead=i,this.lead=t,t.show(),i)){i.instance&&i.scheduleRender(),t.scheduleRender(),t.resumeFrom=i,n&&(t.resumeFrom.preserveOpacity=!0),i.snapshot&&(t.snapshot=i.snapshot,t.snapshot.latestValues=i.animationValues||i.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:r}=t.options;r===!1&&i.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:i}=t;n.onExitComplete&&n.onExitComplete(),i&&i.options.onExitComplete&&i.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function vye(e,t,n){let i="";const r=e.x.translate/t.x,s=e.y.translate/t.y,a=(n==null?void 0:n.z)||0;if((r||s||a)&&(i=`translate3d(${r}px, ${s}px, ${a}px) `),(t.x!==1||t.y!==1)&&(i+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:u,rotate:d,rotateX:f,rotateY:h,skewX:p,skewY:m}=n;u&&(i=`perspective(${u}px) ${i}`),d&&(i+=`rotate(${d}deg) `),f&&(i+=`rotateX(${f}deg) `),h&&(i+=`rotateY(${h}deg) `),p&&(i+=`skewX(${p}deg) `),m&&(i+=`skewY(${m}deg) `)}const o=e.x.scale*t.x,l=e.y.scale*t.y;return(o!==1||l!==1)&&(i+=`scale(${o}, ${l})`),i||"none"}const nh={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},qO=typeof window<"u"&&window.MotionDebug!==void 0,AN=["","X","Y","Z"],wye={visibility:"hidden"},fB=1e3;let Eye=0;function NN(e,t,n,i){const{latestValues:r}=t;r[e]&&(n[e]=r[e],t.setStaticValue(e,0),i&&(i[e]=0))}function YW(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=ZG(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:r,layoutId:s}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",Vi,!(r||s))}const{parent:i}=e;i&&!i.hasCheckedOptimisedAppear&&YW(i)}function GW({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:i,resetTransform:r}){return class{constructor(a={},o=t==null?void 0:t()){this.id=Eye++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,qO&&(nh.totalNodes=nh.resolvedTargetDeltas=nh.recalculatedProjection=0),this.nodes.forEach(_ye),this.nodes.forEach(Iye),this.nodes.forEach(Pye),this.nodes.forEach(Aye),qO&&window.MotionDebug.record(nh)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=o?o.root||o:this,this.path=o?[...o.path,o]:[],this.parent=o,this.depth=o?o.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=fye(h,250),Zv.hasAnimatedSinceResize&&(Zv.hasAnimatedSinceResize=!1,this.nodes.forEach(pB))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:h,hasRelativeTargetChanged:p,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||d.getDefaultTransition()||$ye,{onLayoutAnimationStart:y,onLayoutAnimationComplete:b}=d.getProps(),S=!this.targetLayout||!HW(this.targetLayout,m)||p,x=!h&&p;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||x||h&&(S||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,x);const v={...ZL(g,"layout"),onPlay:y,onComplete:b};(d.shouldReduceMotion||this.options.layoutRoot)&&(v.delay=0,v.type=!1),this.startAnimation(v)}else h||pB(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,cf(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(jye),this.animationId++)}getTransformTemplate(){const{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&YW(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;d{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const E=v/1e3;mB(f.x,a.x,E),mB(f.y,a.y,E),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Tb(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),Lye(this.relativeTarget,this.relativeTargetOrigin,h,E),x&&xye(this.relativeTarget,x)&&(this.isProjectionDirty=!1),x||(x=xr()),yo(x,this.relativeTarget)),g&&(this.animationValues=d,pye(d,u,this.latestValues,E,S,b)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=E},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(cf(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Vi.update(()=>{Zv.hasAnimatedSinceResize=!0,this.currentAnimation=lye(0,fB,{...a,onUpdate:o=>{this.mixTargetDelta(o),a.onUpdate&&a.onUpdate(o)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(fB),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:o,target:l,layout:u,latestValues:d}=a;if(!(!o||!l||!u)){if(this!==a&&this.layout&&u&&WW(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||xr();const f=fo(this.layout.layoutBox.x);l.x.min=a.target.x.min,l.x.max=l.x.min+f;const h=fo(this.layout.layoutBox.y);l.y.min=a.target.y.min,l.y.max=l.y.min+h}yo(o,l),km(o,d),kb(this.projectionDeltaWithTransform,this.layoutCorrected,o,d)}}registerSharedNode(a,o){this.sharedNodes.has(a)||this.sharedNodes.set(a,new Sye),this.sharedNodes.get(a).add(o);const u=o.options.initialPromotionConfig;o.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(o):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var a;const{layoutId:o}=this.options;return o?((a=this.getStack())===null||a===void 0?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:o}=this.options;return o?(a=this.getStack())===null||a===void 0?void 0:a.prevLead:void 0}getStack(){const{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:o,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),a&&(this.projectionDelta=void 0,this.needsReset=!0),o&&this.setOptions({transition:o})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetSkewAndRotation(){const{visualElement:a}=this.options;if(!a)return;let o=!1;const{latestValues:l}=a;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(o=!0),!o)return;const u={};l.z&&NN("z",a,u,this.animationValues);for(let d=0;d{var o;return(o=a.currentAnimation)===null||o===void 0?void 0:o.stop()}),this.root.nodes.forEach(hB),this.root.sharedNodes.clear()}}}function kye(e){e.updateLayout()}function Tye(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:i,measuredBox:r}=e.layout,{animationType:s}=e.options,a=n.source!==e.layout.source;s==="size"?xo(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],p=fo(h);h.min=i[f].min,h.max=h.min+p}):WW(s,n.layoutBox,i)&&xo(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],p=fo(i[f]);h.max=h.min+p,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+p)});const o=wm();kb(o,i,n.layoutBox);const l=wm();a?kb(l,e.applyTransform(r,!0),n.measuredBox):kb(l,i,n.layoutBox);const u=!qW(o);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:h,layout:p}=f;if(h&&p){const m=xr();Tb(m,n.layoutBox,h.layoutBox);const g=xr();Tb(g,i,p.layoutBox),HW(m,g)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=g,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:i,snapshot:n,delta:l,layoutDelta:o,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:i}=e.options;i&&i()}e.options.transition=void 0}function _ye(e){qO&&nh.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Aye(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Nye(e){e.clearSnapshot()}function hB(e){e.clearMeasurements()}function Cye(e){e.isLayoutDirty=!1}function Rye(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function pB(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Iye(e){e.resolveTargetDelta()}function Pye(e){e.calcProjection()}function jye(e){e.resetSkewAndRotation()}function Mye(e){e.removeLeadSnapshot()}function mB(e,t,n){e.translate=sr(t.translate,0,n),e.scale=sr(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function gB(e,t,n,i){e.min=sr(t.min,n.min,i),e.max=sr(t.max,n.max,i)}function Lye(e,t,n,i){gB(e.x,t.x,n.x,i),gB(e.y,t.y,n.y,i)}function Dye(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const $ye={duration:.45,ease:[.4,0,.1,1]},OB=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),bB=OB("applewebkit/")&&!OB("chrome/")?Math.round:oo;function yB(e){e.min=bB(e.min),e.max=bB(e.max)}function Qye(e){yB(e.x),yB(e.y)}function WW(e,t,n){return e==="position"||e==="preserve-aspect"&&!zbe(uB(t),uB(n),.2)}function Bye(e){var t;return e!==e.root&&((t=e.scroll)===null||t===void 0?void 0:t.wasRoot)}const Uye=GW({attachResizeListener:(e,t)=>xy(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),CN={current:void 0},ZW=GW({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!CN.current){const e=new Uye({});e.mount(window),e.setOptions({layoutScroll:!0}),CN.current=e}return CN.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),zye={pan:{Feature:rye},drag:{Feature:iye,ProjectionNode:ZW,MeasureLayout:FW}};function Fye(e,t,n){var i;if(e instanceof Element)return[e];if(typeof e=="string"){let r=document;const s=(i=void 0)!==null&&i!==void 0?i:r.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e)}function KW(e,t){const n=Fye(e),i=new AbortController,r={passive:!0,...t,signal:i.signal};return[n,r,()=>i.abort()]}function xB(e){return t=>{t.pointerType==="touch"||PW()||e(t)}}function Vye(e,t,n={}){const[i,r,s]=KW(e,n),a=xB(o=>{const{target:l}=o,u=t(o);if(typeof u!="function"||!l)return;const d=xB(f=>{u(f),l.removeEventListener("pointerleave",d)});l.addEventListener("pointerleave",d,r)});return i.forEach(o=>{o.addEventListener("pointerenter",a,r)}),s}function SB(e,t,n){const{props:i}=e;e.animationState&&i.whileHover&&e.animationState.setActive("whileHover",n==="Start");const r="onHover"+n,s=i[r];s&&Vi.postRender(()=>s(t,Bx(t)))}class Xye extends Nf{mount(){const{current:t}=this.node;t&&(this.unmount=Vye(t,n=>(SB(this.node,n,"Start"),i=>SB(this.node,i,"End"))))}unmount(){}}class qye extends Nf{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Qx(xy(this.node.current,"focus",()=>this.onFocus()),xy(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const JW=(e,t)=>t?e===t?!0:JW(e,t.parentElement):!1,Hye=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Yye(e){return Hye.has(e.tagName)||e.tabIndex!==-1}const HO=new WeakSet;function vB(e){return t=>{t.key==="Enter"&&e(t)}}function RN(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const Gye=(e,t)=>{const n=e.currentTarget;if(!n)return;const i=vB(()=>{if(HO.has(n))return;RN(n,"down");const r=vB(()=>{RN(n,"up")}),s=()=>RN(n,"cancel");n.addEventListener("keyup",r,t),n.addEventListener("blur",s,t)});n.addEventListener("keydown",i,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",i),t)};function wB(e){return hD(e)&&!PW()}function Wye(e,t,n={}){const[i,r,s]=KW(e,n),a=o=>{const l=o.currentTarget;if(!wB(o)||HO.has(l))return;HO.add(l);const u=t(o),d=(p,m)=>{window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",h),!(!wB(p)||!HO.has(l))&&(HO.delete(l),typeof u=="function"&&u(p,{success:m}))},f=p=>{d(p,n.useGlobalTarget||JW(l,p.target))},h=p=>{d(p,!1)};window.addEventListener("pointerup",f,r),window.addEventListener("pointercancel",h,r)};return i.forEach(o=>{!Yye(o)&&o.getAttribute("tabindex")===null&&(o.tabIndex=0),(n.useGlobalTarget?window:o).addEventListener("pointerdown",a,r),o.addEventListener("focus",u=>Gye(u,r),r)}),s}function EB(e,t,n){const{props:i}=e;e.animationState&&i.whileTap&&e.animationState.setActive("whileTap",n==="Start");const r="onTap"+(n==="End"?"":n),s=i[r];s&&Vi.postRender(()=>s(t,Bx(t)))}class Zye extends Nf{mount(){const{current:t}=this.node;t&&(this.unmount=Wye(t,n=>(EB(this.node,n,"Start"),(i,{success:r})=>EB(this.node,i,r?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const LI=new WeakMap,IN=new WeakMap,Kye=e=>{const t=LI.get(e.target);t&&t(e)},Jye=e=>{e.forEach(Kye)};function exe({root:e,...t}){const n=e||document;IN.has(n)||IN.set(n,{});const i=IN.get(n),r=JSON.stringify(t);return i[r]||(i[r]=new IntersectionObserver(Jye,{root:e,...t})),i[r]}function txe(e,t,n){const i=exe(t);return LI.set(e,n),i.observe(e),()=>{LI.delete(e),i.unobserve(e)}}const nxe={some:0,all:1};class ixe extends Nf{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:i,amount:r="some",once:s}=t,a={root:n?n.current:void 0,rootMargin:i,threshold:typeof r=="number"?r:nxe[r]},o=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,s&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),h=u?d:f;h&&h(l)};return txe(this.node.current,a,o)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(rxe(t,n))&&this.startObserver()}unmount(){}}function rxe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const sxe={inView:{Feature:ixe},tap:{Feature:Zye},focus:{Feature:qye},hover:{Feature:Xye}},axe={layout:{ProjectionNode:ZW,MeasureLayout:FW}},SE={current:null},pD={current:!1};function eZ(){if(pD.current=!0,!!DL)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>SE.current=e.matches;e.addListener(t),t()}else SE.current=!1}const oxe=[...SW,Ps,uf],lxe=e=>oxe.find(xW(e)),kB=new WeakMap;function cxe(e,t,n){for(const i in t){const r=t[i],s=n[i];if(Ms(r))e.addValue(i,r);else if(Ms(s))e.addValue(i,by(r,{owner:e}));else if(s!==r)if(e.hasValue(i)){const a=e.getValue(i);a.liveStyle===!0?a.jump(r):a.hasAnimated||a.set(r)}else{const a=e.getStaticValue(i);e.addValue(i,by(a!==void 0?a:r,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const TB=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class uxe{scrapeMotionValuesFromProps(t,n,i){return{}}constructor({parent:t,props:n,presenceContext:i,reducedMotionConfig:r,blockInitialAnimation:s,visualState:a},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=cD,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const p=pc.now();this.renderScheduledAtthis.bindToMotionValue(i,n)),pD.current||eZ(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:SE.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){kB.delete(this.current),this.projection&&this.projection.unmount(),cf(this.notifyUpdate),cf(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const n=this.features[t];n&&(n.unmount(),n.isMounted=!1)}this.current=null}bindToMotionValue(t,n){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const i=dp.has(t),r=n.on("change",o=>{this.latestValues[t]=o,this.props.onUpdate&&Vi.preRender(this.notifyUpdate),i&&this.projection&&(this.projection.isTransformDirty=!0)}),s=n.on("renderRequest",this.scheduleRender);let a;window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{r(),s(),a&&a(),n.owner&&n.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in kg){const n=kg[t];if(!n)continue;const{isEnabled:i,Feature:r}=n;if(!this.features[t]&&r&&i(this.props)&&(this.features[t]=new r(this)),this.features[t]){const s=this.features[t];s.isMounted?s.update():(s.mount(),s.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):xr()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let i=0;in.variantChildren.delete(t)}addValue(t,n){const i=this.values.get(t);n!==i&&(i&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let i=this.values.get(t);return i===void 0&&n!==void 0&&(i=by(n===null?void 0:n,{owner:this}),this.addValue(t,i)),i}readValue(t,n){var i;let r=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(i=this.getBaseTargetFromProps(this.props,t))!==null&&i!==void 0?i:this.readValueFromInstance(this.current,t,this.options);return r!=null&&(typeof r=="string"&&(bW(r)||cW(r))?r=parseFloat(r):!lxe(r)&&uf.test(n)&&(r=mW(t,n)),this.setBaseTarget(t,Ms(r)?r.get():r)),Ms(r)?r.get():r}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:i}=this.props;let r;if(typeof i=="string"||typeof i=="object"){const a=FL(this.props,i,(n=this.presenceContext)===null||n===void 0?void 0:n.custom);a&&(r=a[t])}if(i&&r!==void 0)return r;const s=this.getBaseTargetFromProps(this.props,t);return s!==void 0&&!Ms(s)?s:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new eD),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class tZ extends uxe{constructor(){super(...arguments),this.KeyframeResolver=vW}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:i}){delete n[t],delete i[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;Ms(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function dxe(e){return window.getComputedStyle(e)}class fxe extends tZ{constructor(){super(...arguments),this.type="html",this.renderInstance=zG}readValueFromInstance(t,n){if(dp.has(n)){const i=lD(n);return i&&i.default||0}else{const i=dxe(t),r=(QG(n)?i.getPropertyValue(n):i[n])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(t,{transformPagePoint:n}){return UW(t,n)}build(t,n,i){qL(t,n,i.transformTemplate)}scrapeMotionValuesFromProps(t,n,i){return WL(t,n,i)}}class hxe extends tZ{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=xr}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(dp.has(n)){const i=lD(n);return i&&i.default||0}return n=FG.has(n)?n:BL(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,i){return qG(t,n,i)}build(t,n,i){HL(t,n,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,i,r){VG(t,n,i,r)}mount(t){this.isSVGTag=GL(t.tagName),super.mount(t)}}const pxe=(e,t)=>zL(e)?new hxe(t):new fxe(t,{allowProjection:e!==O.Fragment}),mxe=U0e({...Ibe,...sxe,...zye,...axe},pxe),dr=n0e(mxe);function gxe(){!pD.current&&eZ();const[e]=O.useState(SE.current);return e}function Hr(){return Hr=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||/ServerSideRendering/.test(navigator&&navigator.userAgent)?O.useEffect:O.useLayoutEffect;function Kp(e,t,n){var i=O.useRef(t);i.current=t,O.useEffect(function(){function r(s){i.current(s)}return e&&window.addEventListener(e,r,n),function(){e&&window.removeEventListener(e,r)}},[e])}var Oxe=["container"];function bxe(e){var t=e.container,n=t===void 0?document.body:t,i=vT(e,Oxe);return ar.createPortal(un.createElement("div",Hr({},i)),n)}function yxe(e){return un.createElement("svg",Hr({width:"44",height:"44",viewBox:"0 0 768 768"},e),un.createElement("path",{d:"M607.5 205.5l-178.5 178.5 178.5 178.5-45 45-178.5-178.5-178.5 178.5-45-45 178.5-178.5-178.5-178.5 45-45 178.5 178.5 178.5-178.5z"}))}function xxe(e){return un.createElement("svg",Hr({width:"44",height:"44",viewBox:"0 0 768 768"},e),un.createElement("path",{d:"M640.5 352.5v63h-390l178.5 180-45 45-256.5-256.5 256.5-256.5 45 45-178.5 180h390z"}))}function Sxe(e){return un.createElement("svg",Hr({width:"44",height:"44",viewBox:"0 0 768 768"},e),un.createElement("path",{d:"M384 127.5l256.5 256.5-256.5 256.5-45-45 178.5-180h-390v-63h390l-178.5-180z"}))}function vxe(){return O.useEffect(function(){var e=document.body.style,t=e.overflow;return e.overflow="hidden",function(){e.overflow=t}},[]),null}function AB(e){var t=e.touches[0],n=t.clientX,i=t.clientY;if(e.touches.length>=2){var r=e.touches[1],s=r.clientX,a=r.clientY;return[(n+s)/2,(i+a)/2,Math.sqrt(Math.pow(s-n,2)+Math.pow(a-i,2))]}return[n,i,0]}var vd=function(e,t,n,i){var r,s=n*t,a=(s-i)/2,o=e;return s<=i?(r=1,o=0):e>0&&a-e<=0?(r=2,o=a):e<0&&a+e<=0&&(r=3,o=-a),[r,o]};function PN(e,t,n,i,r,s,a,o,l,u){a===void 0&&(a=innerWidth/2),o===void 0&&(o=innerHeight/2),l===void 0&&(l=0),u===void 0&&(u=0);var d=vd(e,s,n,innerWidth)[0],f=vd(t,s,i,innerHeight),h=innerWidth/2,p=innerHeight/2;return{x:a-s/r*(a-(h+e))-h+(i/n>=3&&n*s===innerWidth?0:d?l/2:l),y:o-s/r*(o-(p+t))-p+(f[0]?u/2:u),lastCX:a,lastCY:o}}function QI(e,t,n){var i=e%180!=0;return i?[n,t,i]:[t,n,i]}function jN(e,t,n){var i=QI(n,innerWidth,innerHeight),r=i[0],s=i[1],a=0,o=r,l=s,u=e/t*s,d=t/e*r;return e=s?o=u:e>=r&&tr/s?l=d:t/e>=3&&!i[2]?a=((l=d)-s)/2:o=u,{width:o,height:l,x:0,y:a,pause:!0}}function OS(e,t){var n=t.leading,i=n!==void 0&&n,r=t.maxWait,s=t.wait,a=s===void 0?r||0:s,o=O.useRef(e);o.current=e;var l=O.useRef(0),u=O.useRef(),d=function(){return u.current&&clearTimeout(u.current)},f=O.useCallback(function(){var h=[].slice.call(arguments),p=Date.now();function m(){l.current=p,d(),o.current.apply(null,h)}var g=l.current,y=p-g;if(g===0&&(i&&m(),l.current=p),r!==void 0){if(y>r)return void m()}else y=1&&s&&s())};d()}function d(){l=requestAnimationFrame(u)}}var Exe={T:0,L:0,W:0,H:0,FIT:void 0},iZ=function(){var e=O.useRef(!1);return O.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),e},kxe=["className"];function Txe(e){var t=e.className,n=t===void 0?"":t,i=vT(e,kxe);return un.createElement("div",Hr({className:"PhotoView__Spinner "+n},i),un.createElement("svg",{viewBox:"0 0 32 32",width:"36",height:"36",fill:"white"},un.createElement("path",{opacity:".25",d:"M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4"}),un.createElement("path",{d:"M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"})))}var _xe=["src","loaded","broken","className","onPhotoLoad","loadingElement","brokenElement"];function Axe(e){var t=e.src,n=e.loaded,i=e.broken,r=e.className,s=e.onPhotoLoad,a=e.loadingElement,o=e.brokenElement,l=vT(e,_xe),u=iZ();return t&&!i?un.createElement(un.Fragment,null,un.createElement("img",Hr({className:"PhotoView__Photo"+(r?" "+r:""),src:t,onLoad:function(d){var f=d.target;u.current&&s({loaded:!0,naturalWidth:f.naturalWidth,naturalHeight:f.naturalHeight})},onError:function(){u.current&&s({broken:!0})},draggable:!1,alt:""},l)),!n&&(a?un.createElement("span",{className:"PhotoView__icon"},a):un.createElement(Txe,{className:"PhotoView__icon"}))):o?un.createElement("span",{className:"PhotoView__icon"},typeof o=="function"?o({src:t}):o):null}var Nxe={naturalWidth:void 0,naturalHeight:void 0,width:void 0,height:void 0,loaded:void 0,broken:!1,x:0,y:0,touched:!1,maskTouched:!1,rotate:0,scale:1,CX:0,CY:0,lastX:0,lastY:0,lastCX:0,lastCY:0,lastScale:1,touchTime:0,touchLength:0,pause:!0,stopRaf:!0,reach:void 0};function Cxe(e){var t=e.item,n=t.src,i=t.render,r=t.width,s=r===void 0?0:r,a=t.height,o=a===void 0?0:a,l=t.originRef,u=e.visible,d=e.speed,f=e.easing,h=e.wrapClassName,p=e.className,m=e.style,g=e.loadingElement,y=e.brokenElement,b=e.onPhotoTap,S=e.onMaskTap,x=e.onReachMove,v=e.onReachUp,E=e.onPhotoResize,w=e.isActive,k=e.expose,_=vE(Nxe),C=_[0],A=_[1],R=O.useRef(0),j=iZ(),Q=C.naturalWidth,L=Q===void 0?s:Q,D=C.naturalHeight,N=D===void 0?o:D,M=C.width,B=M===void 0?s:M,$=C.height,I=$===void 0?o:$,G=C.loaded,X=G===void 0?!n:G,U=C.broken,Y=C.x,ae=C.y,fe=C.touched,ke=C.stopRaf,K=C.maskTouched,ie=C.rotate,le=C.scale,ge=C.CX,Ee=C.CY,Ce=C.lastX,_e=C.lastY,he=C.lastCX,te=C.lastCY,Te=C.lastScale,me=C.touchTime,Be=C.touchLength,je=C.pause,Ue=C.reach,st=Rh({onScale:function(Ae){return ct(gS(Ae))},onRotate:function(Ae){ie!==Ae&&(k({rotate:Ae}),A(Hr({rotate:Ae},jN(L,N,Ae))))}});function ct(Ae,qe,$e){le!==Ae&&(k({scale:Ae}),A(Hr({scale:Ae},PN(Y,ae,B,I,le,Ae,qe,$e),Ae<=1&&{x:0,y:0})))}var Tt=OS(function(Ae,qe,$e){if($e===void 0&&($e=0),(fe||K)&&w){var pn=QI(ie,B,I),bn=pn[0],It=pn[1];if($e===0&&R.current===0){var pe=Math.abs(Ae-ge)<=20,Qe=Math.abs(qe-Ee)<=20;if(pe&&Qe)return void A({lastCX:Ae,lastCY:qe});R.current=pe?qe>Ee?3:2:1}var yt,mn=Ae-he,wn=qe-te;if($e===0){var Jt=vd(mn+Ce,le,bn,innerWidth)[0],ui=vd(wn+_e,le,It,innerHeight);yt=function(xe,Ge,Nt,Kt){return Ge&&xe===1||Kt==="x"?"x":Nt&&xe>1||Kt==="y"?"y":void 0}(R.current,Jt,ui[0],Ue),yt!==void 0&&x(yt,Ae,qe,le)}if(yt==="x"||K)return void A({reach:"x"});var zn=gS(le+($e-Be)/100/2*le,L/B,.2);k({scale:zn}),A(Hr({touchLength:$e,reach:yt,scale:zn},PN(Y,ae,B,I,le,zn,Ae,qe,mn,wn)))}},{maxWait:8});function at(Ae){return!ke&&!fe&&(j.current&&A(Hr({},Ae,{pause:u})),j.current)}var q,oe,de,Ie,ce,Me,Ye,dt,Gt=(ce=function(Ae){return at({x:Ae})},Me=function(Ae){return at({y:Ae})},Ye=function(Ae){return j.current&&(k({scale:Ae}),A({scale:Ae})),!fe&&j.current},dt=Rh({X:function(Ae){return ce(Ae)},Y:function(Ae){return Me(Ae)},S:function(Ae){return Ye(Ae)}}),function(Ae,qe,$e,pn,bn,It,pe,Qe,yt,mn,wn){var Jt=QI(mn,bn,It),ui=Jt[0],zn=Jt[1],xe=vd(Ae,Qe,ui,innerWidth),Ge=xe[0],Nt=xe[1],Kt=vd(qe,Qe,zn,innerHeight),sn=Kt[0],Fn=Kt[1],xi=Date.now()-wn;if(xi>=200||Qe!==pe||Math.abs(yt-pe)>1){var di=PN(Ae,qe,bn,It,pe,Qe),Hn=di.x,En=di.y,Zn=Ge?Nt:Hn!==Ae?Hn:null,Si=sn?Fn:En!==qe?En:null;return Zn!==null&&lh(Ae,Zn,dt.X),Si!==null&&lh(qe,Si,dt.Y),void(Qe!==pe&&lh(pe,Qe,dt.S))}var Zt=(Ae-$e)/xi,Yn=(qe-pn)/xi,mr=Math.sqrt(Math.pow(Zt,2)+Math.pow(Yn,2)),er=!1,gn=!1;(function(Li,kn){var fn,Di=Li,Ft=0,vi=0,Kn=function(Ai){fn||(fn=Ai);var ms=Ai-fn,Fs=Math.sign(Li),Kr=-.001*Fs,gr=Math.sign(-Di)*Math.pow(Di,2)*2e-4,Ur=Di*ms+(Kr+gr)*Math.pow(ms,2)/2;Ft+=Ur,fn=Ai,Fs*(Di+=(Kr+gr)*ms)<=0?Vt():kn(Ft)?$i():Vt()};function $i(){vi=requestAnimationFrame(Kn)}function Vt(){cancelAnimationFrame(vi)}$i()})(mr,function(Li){var kn=Ae+Li*(Zt/mr),fn=qe+Li*(Yn/mr),Di=vd(kn,pe,ui,innerWidth),Ft=Di[0],vi=Di[1],Kn=vd(fn,pe,zn,innerHeight),$i=Kn[0],Vt=Kn[1];if(Ft&&!er&&(er=!0,Ge?lh(kn,vi,dt.X):NB(vi,kn+(kn-vi),dt.X)),$i&&!gn&&(gn=!0,sn?lh(fn,Vt,dt.Y):NB(Vt,fn+(fn-Vt),dt.Y)),er&&gn)return!1;var Ai=er||dt.X(vi),ms=gn||dt.Y(Vt);return Ai&&ms})}),Ct=(q=b,oe=function(Ae,qe){Ue||ct(le!==1?1:Math.max(2,L/B),Ae,qe)},de=O.useRef(0),Ie=OS(function(){de.current=0,q.apply(void 0,[].slice.call(arguments))},{wait:300}),function(){var Ae=[].slice.call(arguments);de.current+=1,Ie.apply(void 0,Ae),de.current>=2&&(Ie.cancel(),de.current=0,oe.apply(void 0,Ae))});function Dt(Ae,qe){if(R.current=0,(fe||K)&&w){A({touched:!1,maskTouched:!1,pause:!1,stopRaf:!1,reach:void 0});var $e=gS(le,L/B);if(Gt(Y,ae,Ce,_e,B,I,le,$e,Te,ie,me),v(Ae,qe),ge===Ae&&Ee===qe){if(fe)return void Ct(Ae,qe);K&&S(Ae,qe)}}}function vt(Ae,qe,$e){$e===void 0&&($e=0),A({touched:!0,CX:Ae,CY:qe,lastCX:Ae,lastCY:qe,lastX:Y,lastY:ae,lastScale:le,touchLength:$e,touchTime:Date.now()})}function Wt(Ae){A({maskTouched:!0,CX:Ae.clientX,CY:Ae.clientY,lastX:Y,lastY:ae})}Kp(Yc?void 0:"mousemove",function(Ae){Ae.preventDefault(),Tt(Ae.clientX,Ae.clientY)}),Kp(Yc?void 0:"mouseup",function(Ae){Dt(Ae.clientX,Ae.clientY)}),Kp(Yc?"touchmove":void 0,function(Ae){Ae.preventDefault();var qe=AB(Ae);Tt.apply(void 0,qe)},{passive:!1}),Kp(Yc?"touchend":void 0,function(Ae){var qe=Ae.changedTouches[0];Dt(qe.clientX,qe.clientY)},{passive:!1}),Kp("resize",OS(function(){X&&!fe&&(A(jN(L,N,ie)),E())},{maxWait:8})),$I(function(){w&&k(Hr({scale:le,rotate:ie},st))},[w]);var gt=function(Ae,qe,$e,pn,bn,It,pe,Qe,yt,mn){var wn=function(Hn,En,Zn,Si,Zt){var Yn=O.useRef(!1),mr=vE({lead:!0,scale:Zn}),er=mr[0],gn=er.lead,Li=er.scale,kn=mr[1],fn=OS(function(Di){try{return Zt(!0),kn({lead:!1,scale:Di}),Promise.resolve()}catch(Ft){return Promise.reject(Ft)}},{wait:Si});return $I(function(){Yn.current?(Zt(!1),kn({lead:!0}),fn(Zn)):Yn.current=!0},[Zn]),gn?[Hn*Li,En*Li,Zn/Li]:[Hn*Zn,En*Zn,1]}(It,pe,Qe,yt,mn),Jt=wn[0],ui=wn[1],zn=wn[2],xe=function(Hn,En,Zn,Si,Zt){var Yn=O.useState(Exe),mr=Yn[0],er=Yn[1],gn=O.useState(0),Li=gn[0],kn=gn[1],fn=O.useRef(),Di=Rh({OK:function(){return Hn&&kn(4)}});function Ft(vi){Zt(!1),kn(vi)}return O.useEffect(function(){if(fn.current||(fn.current=Date.now()),Zn){if(function(vi,Kn){var $i=vi&&vi.current;if($i&&$i.nodeType===1){var Vt=$i.getBoundingClientRect();Kn({T:Vt.top,L:Vt.left,W:Vt.width,H:Vt.height,FIT:$i.tagName==="IMG"?getComputedStyle($i).objectFit:void 0})}}(En,er),Hn)return Date.now()-fn.current<250?(kn(1),requestAnimationFrame(function(){kn(2),requestAnimationFrame(function(){return Ft(3)})}),void setTimeout(Di.OK,Si)):void kn(4);Ft(5)}},[Hn,Zn]),[Li,mr]}(Ae,qe,$e,yt,mn),Ge=xe[0],Nt=xe[1],Kt=Nt.W,sn=Nt.FIT,Fn=innerWidth/2,xi=innerHeight/2,di=Ge<3||Ge>4;return[di?Kt?Nt.L:Fn:pn+(Fn-It*Qe/2),di?Kt?Nt.T:xi:bn+(xi-pe*Qe/2),Jt,di&&sn?Jt*(Nt.H/Kt):ui,Ge===0?zn:di?Kt/(It*Qe)||.01:zn,di?sn?1:0:1,Ge,sn]}(u,l,X,Y,ae,B,I,le,d,function(Ae){return A({pause:Ae})}),ft=gt[4],Rt=gt[6],rn="transform "+d+"ms "+f,ln={className:p,onMouseDown:Yc?void 0:function(Ae){Ae.stopPropagation(),Ae.button===0&&vt(Ae.clientX,Ae.clientY,0)},onTouchStart:Yc?function(Ae){Ae.stopPropagation(),vt.apply(void 0,AB(Ae))}:void 0,onWheel:function(Ae){if(!Ue){var qe=gS(le-Ae.deltaY/100/2,L/B);A({stopRaf:!0}),ct(qe,Ae.clientX,Ae.clientY)}},style:{width:gt[2]+"px",height:gt[3]+"px",opacity:gt[5],objectFit:Rt===4?void 0:gt[7],transform:ie?"rotate("+ie+"deg)":void 0,transition:Rt>2?rn+", opacity "+d+"ms ease, height "+(Rt<4?d/2:Rt>4?d:0)+"ms "+f:void 0}};return un.createElement("div",{className:"PhotoView__PhotoWrap"+(h?" "+h:""),style:m,onMouseDown:!Yc&&w?Wt:void 0,onTouchStart:Yc&&w?function(Ae){return Wt(Ae.touches[0])}:void 0},un.createElement("div",{className:"PhotoView__PhotoBox",style:{transform:"matrix("+ft+", 0, 0, "+ft+", "+gt[0]+", "+gt[1]+")",transition:fe||je?void 0:rn,willChange:w?"transform":void 0}},n?un.createElement(Axe,Hr({src:n,loaded:X,broken:U},ln,{onPhotoLoad:function(Ae){A(Hr({},Ae,Ae.loaded&&jN(Ae.naturalWidth||0,Ae.naturalHeight||0,ie)))},loadingElement:g,brokenElement:y})):i&&i({attrs:ln,scale:ft,rotate:ie})))}var CB={x:0,touched:!1,pause:!1,lastCX:void 0,lastCY:void 0,bg:void 0,lastBg:void 0,overlay:!0,minimal:!0,scale:1,rotate:0};function Rxe(e){var t=e.loop,n=t===void 0?3:t,i=e.speed,r=e.easing,s=e.photoClosable,a=e.maskClosable,o=a===void 0||a,l=e.maskOpacity,u=l===void 0?1:l,d=e.pullClosable,f=d===void 0||d,h=e.bannerVisible,p=h===void 0||h,m=e.overlayRender,g=e.toolbarRender,y=e.className,b=e.maskClassName,S=e.photoClassName,x=e.photoWrapClassName,v=e.loadingElement,E=e.brokenElement,w=e.images,k=e.index,_=k===void 0?0:k,C=e.onIndexChange,A=e.visible,R=e.onClose,j=e.afterClose,Q=e.portalContainer,L=vE(CB),D=L[0],N=L[1],M=O.useState(0),B=M[0],$=M[1],I=D.x,G=D.touched,X=D.pause,U=D.lastCX,Y=D.lastCY,ae=D.bg,fe=ae===void 0?u:ae,ke=D.lastBg,K=D.overlay,ie=D.minimal,le=D.scale,ge=D.rotate,Ee=D.onScale,Ce=D.onRotate,_e=e.hasOwnProperty("index"),he=_e?_:B,te=_e?C:$,Te=O.useRef(he),me=w.length,Be=w[he],je=typeof n=="boolean"?n:me>n,Ue=function(ft,Rt){var rn=O.useReducer(function($e){return!$e},!1)[1],ln=O.useRef(0),Ae=function($e){var pn=O.useRef($e);function bn(It){pn.current=It}return O.useMemo(function(){(function(It){ft?(It(ft),ln.current=1):ln.current=2})(bn)},[$e]),[pn.current,bn]}(ft),qe=Ae[1];return[Ae[0],ln.current,function(){rn(),ln.current===2&&(qe(!1),Rt&&Rt()),ln.current=0}]}(A,j),st=Ue[0],ct=Ue[1],Tt=Ue[2];$I(function(){if(st)return N({pause:!0,x:he*-(innerWidth+Rp)}),void(Te.current=he);N(CB)},[st]);var at=Rh({close:function(ft){Ce&&Ce(0),N({overlay:!0,lastBg:fe}),R(ft)},changeIndex:function(ft,Rt){Rt===void 0&&(Rt=!1);var rn=je?Te.current+(ft-he):ft,ln=me-1,Ae=DI(rn,0,ln),qe=je?rn:Ae,$e=innerWidth+Rp;N({touched:!1,lastCX:void 0,lastCY:void 0,x:-$e*qe,pause:Rt}),Te.current=qe,te&&te(je?ft<0?ln:ft>ln?0:ft:Ae)}}),q=at.close,oe=at.changeIndex;function de(ft){return ft?q():N({overlay:!K})}function Ie(){N({x:-(innerWidth+Rp)*he,lastCX:void 0,lastCY:void 0,pause:!0}),Te.current=he}function ce(ft,Rt,rn,ln){ft==="x"?function(Ae){if(U!==void 0){var qe=Ae-U,$e=qe;!je&&(he===0&&qe>0||he===me-1&&qe<0)&&($e=qe/2),N({touched:!0,lastCX:U,x:-(innerWidth+Rp)*Te.current+$e,pause:!1})}else N({touched:!0,lastCX:Ae,x:I,pause:!1})}(Rt):ft==="y"&&function(Ae,qe){if(Y!==void 0){var $e=u===null?null:DI(u,.01,u-Math.abs(Ae-Y)/100/4);N({touched:!0,lastCY:Y,bg:qe===1?$e:u,minimal:qe===1})}else N({touched:!0,lastCY:Ae,bg:fe,minimal:!0})}(rn,ln)}function Me(ft,Rt){var rn=ft-(U??ft),ln=Rt-(Y??Rt),Ae=!1;if(rn<-40)oe(he+1);else if(rn>40)oe(he-1);else{var qe=-(innerWidth+Rp)*Te.current;Math.abs(ln)>100&&ie&&f&&(Ae=!0,q()),N({touched:!1,x:qe,lastCX:void 0,lastCY:void 0,bg:u,overlay:!!Ae||K})}}Kp("keydown",function(ft){if(A)switch(ft.key){case"ArrowLeft":oe(he-1,!0);break;case"ArrowRight":oe(he+1,!0);break;case"Escape":q()}});var Ye=function(ft,Rt,rn){return O.useMemo(function(){var ln=ft.length;return rn?ft.concat(ft).concat(ft).slice(ln+Rt-1,ln+Rt+2):ft.slice(Math.max(Rt-1,0),Math.min(Rt+2,ln+1))},[ft,Rt,rn])}(w,he,je);if(!st)return null;var dt=K&&!ct,Gt=A?fe:ke,Ct=Ee&&Ce&&{images:w,index:he,visible:A,onClose:q,onIndexChange:oe,overlayVisible:dt,overlay:Be&&Be.overlay,scale:le,rotate:ge,onScale:Ee,onRotate:Ce},Dt=i?i(ct):400,vt=r?r(ct):_B,Wt=i?i(3):600,gt=r?r(3):_B;return un.createElement(bxe,{className:"PhotoView-Portal"+(dt?"":" PhotoView-Slider__clean")+(A?"":" PhotoView-Slider__willClose")+(y?" "+y:""),role:"dialog",onClick:function(ft){return ft.stopPropagation()},container:Q},A&&un.createElement(vxe,null),un.createElement("div",{className:"PhotoView-Slider__Backdrop"+(b?" "+b:"")+(ct===1?" PhotoView-Slider__fadeIn":ct===2?" PhotoView-Slider__fadeOut":""),style:{background:Gt?"rgba(0, 0, 0, "+Gt+")":void 0,transitionTimingFunction:vt,transitionDuration:(G?0:Dt)+"ms",animationDuration:Dt+"ms"},onAnimationEnd:Tt}),p&&un.createElement("div",{className:"PhotoView-Slider__BannerWrap"},un.createElement("div",{className:"PhotoView-Slider__Counter"},he+1," / ",me),un.createElement("div",{className:"PhotoView-Slider__BannerRight"},g&&Ct&&g(Ct),un.createElement(yxe,{className:"PhotoView-Slider__toolbarIcon",onClick:q}))),Ye.map(function(ft,Rt){var rn=je||he!==0?Te.current-1+Rt:he+Rt;return un.createElement(Cxe,{key:je?ft.key+"/"+ft.src+"/"+rn:ft.key,item:ft,speed:Dt,easing:vt,visible:A,onReachMove:ce,onReachUp:Me,onPhotoTap:function(){return de(s)},onMaskTap:function(){return de(o)},wrapClassName:x,className:S,style:{left:(innerWidth+Rp)*rn+"px",transform:"translate3d("+I+"px, 0px, 0)",transition:G||X?void 0:"transform "+Wt+"ms "+gt},loadingElement:v,brokenElement:E,onPhotoResize:Ie,isActive:Te.current===rn,expose:N})}),!Yc&&p&&un.createElement(un.Fragment,null,(je||he!==0)&&un.createElement("div",{className:"PhotoView-Slider__ArrowLeft",onClick:function(){return oe(he-1,!0)}},un.createElement(xxe,null)),(je||he+1-1){var b=u.slice();return b.splice(y,1,g),void o({images:b})}o(function(S){return{images:S.images.concat(g)}})},remove:function(g){o(function(y){var b=y.images.filter(function(S){return S.key!==g});return{images:b,index:Math.min(b.length-1,f)}})},show:function(g){var y=u.findIndex(function(b){return b.key===g});o({visible:!0,index:y}),i&&i(!0,y,a)}}),p=Rh({close:function(){o({visible:!1}),i&&i(!1,f,a)},changeIndex:function(g){o({index:g}),n&&n(g,a)}}),m=O.useMemo(function(){return Hr({},a,h)},[a,h]);return un.createElement(nZ.Provider,{value:m},t,un.createElement(Rxe,Hr({images:u,visible:d,index:f,onIndexChange:p.changeIndex,onClose:p.close},r)))}var rZ=function(e){var t,n,i=e.src,r=e.render,s=e.overlay,a=e.width,o=e.height,l=e.triggers,u=l===void 0?["onClick"]:l,d=e.children,f=O.useContext(nZ),h=(t=function(){return f.nextId()},(n=O.useRef({sign:!1,fn:void 0}).current).sign||(n.sign=!0,n.fn=t()),n.fn),p=O.useRef(null);O.useImperativeHandle(d==null?void 0:d.ref,function(){return p.current}),O.useEffect(function(){return function(){f.remove(h)}},[]);var m=Rh({render:function(y){return r&&r(y)},show:function(y,b){f.show(h),function(S,x){if(d){var v=d.props[S];v&&v(x)}}(y,b)}}),g=O.useMemo(function(){var y={};return u.forEach(function(b){y[b]=m.show.bind(null,b)}),y},[]);return O.useEffect(function(){f.update({key:h,src:i,originRef:p,render:m.render,overlay:s,width:a,height:o})},[i]),d?O.Children.only(O.cloneElement(d,Hr({},g,{ref:p}))):null};const Mxe=e=>c.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:c.jsx("path",{fillRule:"evenodd",d:"M4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2Zm4.465 6.763a1 1 0 0 0-1.228-1.228l-5.5 1.5a1 1 0 0 0-.702.702l-1.5 5.5a1 1 0 0 0 1.228 1.228l5.5-1.5a1 1 0 0 0 .702-.702l1.5-5.5Zm-6.54 5.312.89-3.26 3.26-.89-.89 3.26-3.26.89Z",clipRule:"evenodd"})}),Lxe=e=>c.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:c.jsx("path",{d:"M11.2929 3.29289C11.6834 2.90237 12.3166 2.90237 12.7071 3.29289L16.7071 7.29289C17.0976 7.68342 17.0976 8.31658 16.7071 8.70711C16.3166 9.09763 15.6834 9.09763 15.2929 8.70711L13 6.41421V15C13 15.5523 12.5523 16 12 16C11.4477 16 11 15.5523 11 15V6.41421L8.70711 8.70711C8.31658 9.09763 7.68342 9.09763 7.29289 8.70711C6.90237 8.31658 6.90237 7.68342 7.29289 7.29289L11.2929 3.29289ZM4 14C4.55229 14 5 14.4477 5 15V15.2C5 16.0566 5.00078 16.6389 5.03755 17.089C5.07337 17.5274 5.1383 17.7516 5.21799 17.908C5.40973 18.2843 5.7157 18.5903 6.09202 18.782C6.24842 18.8617 6.47262 18.9266 6.91104 18.9624C7.36113 18.9992 7.94342 19 8.8 19H15.2C16.0566 19 16.6389 18.9992 17.089 18.9624C17.5274 18.9266 17.7516 18.8617 17.908 18.782C18.2843 18.5903 18.5903 18.2843 18.782 17.908C18.8617 17.7516 18.9266 17.5274 18.9624 17.089C18.9992 16.6389 19 16.0566 19 15.2V15C19 14.4477 19.4477 14 20 14C20.5523 14 21 14.4477 21 15V15.2413C21 16.0463 21 16.7106 20.9558 17.2518C20.9099 17.8139 20.8113 18.3306 20.564 18.816C20.1805 19.5686 19.5686 20.1805 18.816 20.564C18.3306 20.8113 17.8139 20.9099 17.2518 20.9558C16.7106 21 16.0463 21 15.2413 21H8.75868C7.95372 21 7.28936 21 6.74817 20.9558C6.18608 20.9099 5.66937 20.8113 5.18404 20.564C4.43139 20.1805 3.81947 19.5686 3.43597 18.816C3.18868 18.3306 3.09012 17.8139 3.04419 17.2518C2.99998 16.7106 2.99999 16.0463 3 15.2413L3 15C3 14.4477 3.44772 14 4 14Z",fill:"currentColor"})}),Kv=e=>c.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:c.jsx("path",{d:"M8.99805 16.796C8.99805 15.4164 7.87961 14.2979 6.5 14.2979C5.12039 14.2979 4.00195 15.4164 4.00195 16.796C4.00196 18.1756 5.1204 19.294 6.5 19.294C7.8796 19.294 8.99804 18.1756 8.99805 16.796ZM19.748 15.0479C19.748 14.7729 19.525 14.5499 19.25 14.5499H15.75C15.475 14.5499 15.252 14.7729 15.252 15.0479V18.5479C15.252 18.823 15.475 19.046 15.75 19.046H19.25C19.525 19.046 19.748 18.823 19.748 18.5479V15.0479ZM10.0469 3.45125C11.077 2.15921 13.0849 2.20276 14.0498 3.58113L16.4189 6.96492L16.5205 7.12215C17.5046 8.76341 16.3301 10.9023 14.3691 10.9024H9.63086C7.60676 10.9023 6.42029 8.62316 7.58105 6.96492L9.9502 3.58113L10.0469 3.45125ZM12.4082 4.73055C12.2223 4.46497 11.842 4.44826 11.6318 4.68074L11.5918 4.73055L9.22266 8.11433C8.99176 8.44435 9.22808 8.89744 9.63086 8.89754H14.3691C14.7468 8.89745 14.9774 8.49957 14.8145 8.17781L14.7773 8.11433L12.4082 4.73055ZM11.002 16.796C11.0019 19.2824 8.98638 21.2979 6.5 21.2979C4.01362 21.2979 1.99806 19.2824 1.99805 16.796C1.99805 14.3096 4.01361 12.294 6.5 12.294C8.98639 12.294 11.002 14.3096 11.002 16.796ZM21.752 18.5479C21.752 19.9297 20.6318 21.0499 19.25 21.0499H15.75C14.3682 21.0499 13.248 19.9297 13.248 18.5479V15.0479C13.2481 13.6662 14.3682 12.546 15.75 12.546H19.25C20.6318 12.546 21.7519 13.6662 21.752 15.0479V18.5479Z",fill:"currentColor"})});/** + `),()=>{document.head.removeChild(d)}},[t]),c.jsx(Hge,{isPresent:t,childRef:i,sizeRef:r,children:O.cloneElement(e,{ref:i})})}const Gge=({children:e,initial:t,isPresent:n,onExitComplete:i,custom:r,presenceAffectsLayout:s,mode:a})=>{const o=mT(Wge),l=O.useId(),u=O.useCallback(f=>{o.set(f,!0);for(const h of o.values())if(!h)return;i&&i()},[o,i]),d=O.useMemo(()=>({id:l,initial:t,isPresent:n,custom:r,onExitComplete:u,register:f=>(o.set(f,!1),()=>o.delete(f))}),s?[Math.random(),u]:[n,u]);return O.useMemo(()=>{o.forEach((f,h)=>o.set(h,!1))},[n]),O.useEffect(()=>{!n&&!o.size&&i&&i()},[n]),a==="popLayout"&&(e=c.jsx(Yge,{isPresent:n,children:e})),c.jsx(gT.Provider,{value:d,children:e})};function Wge(){return new Map}function AG(e=!0){const t=O.useContext(gT);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:i,register:r}=t,s=O.useId();O.useEffect(()=>{e&&r(s)},[e]);const a=O.useCallback(()=>e&&i&&i(s),[s,i,e]);return!n&&i?[!1,a]:[!0]}const fS=e=>e.key||"";function f6(e){const t=[];return O.Children.forEach(e,n=>{O.isValidElement(n)&&t.push(n)}),t}const DL=typeof window<"u",NG=DL?O.useLayoutEffect:O.useEffect,Zd=({children:e,custom:t,initial:n=!0,onExitComplete:i,presenceAffectsLayout:r=!0,mode:s="sync",propagate:a=!1})=>{const[o,l]=AG(a),u=O.useMemo(()=>f6(e),[e]),d=a&&!o?[]:u.map(fS),f=O.useRef(!0),h=O.useRef(u),p=mT(()=>new Map),[m,g]=O.useState(u),[y,b]=O.useState(u);NG(()=>{f.current=!1,h.current=u;for(let v=0;v{const E=fS(v),w=a&&!o?!1:u===y||d.includes(E),k=()=>{if(p.has(E))p.set(E,!0);else return;let _=!0;p.forEach(C=>{C||(_=!1)}),_&&(x==null||x(),b(h.current),a&&(l==null||l()),i&&i())};return c.jsx(Gge,{isPresent:w,initial:!f.current||n?void 0:!1,custom:w?void 0:t,presenceAffectsLayout:r,mode:s,onExitComplete:w?void 0:k,children:v},E)})})},oo=e=>e;let CG=oo;const Zge={useManualTiming:!1};function Kge(e){let t=new Set,n=new Set,i=!1,r=!1;const s=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function o(u){s.has(u)&&(l.schedule(u),e()),u(a)}const l={schedule:(u,d=!1,f=!1)=>{const p=f&&i?t:n;return d&&s.add(u),p.has(u)||p.add(u),u},cancel:u=>{n.delete(u),s.delete(u)},process:u=>{if(a=u,i){r=!0;return}i=!0,[t,n]=[n,t],t.forEach(o),t.clear(),i=!1,r&&(r=!1,l.process(u))}};return l}const hS=["read","resolveKeyframes","update","preRender","render","postRender"],Jge=40;function RG(e,t){let n=!1,i=!0;const r={delta:0,timestamp:0,isProcessing:!1},s=()=>n=!0,a=hS.reduce((b,S)=>(b[S]=Kge(s),b),{}),{read:o,resolveKeyframes:l,update:u,preRender:d,render:f,postRender:h}=a,p=()=>{const b=performance.now();n=!1,r.delta=i?1e3/60:Math.max(Math.min(b-r.timestamp,Jge),1),r.timestamp=b,r.isProcessing=!0,o.process(r),l.process(r),u.process(r),d.process(r),f.process(r),h.process(r),r.isProcessing=!1,n&&t&&(i=!1,e(p))},m=()=>{n=!0,i=!0,r.isProcessing||e(p)};return{schedule:hS.reduce((b,S)=>{const x=a[S];return b[S]=(v,E=!1,w=!1)=>(n||m(),x.schedule(v,E,w)),b},{}),cancel:b=>{for(let S=0;Sh6[e].some(n=>!!t[n])};function e0e(e){for(const t in e)Tg[t]={...Tg[t],...e[t]}}const t0e=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function pE(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||t0e.has(e)}let PG=e=>!pE(e);function jG(e){e&&(PG=t=>t.startsWith("on")?!pE(t):e(t))}try{jG(require("@emotion/is-prop-valid").default)}catch{}function n0e(e,t,n){const i={};for(const r in e)r==="values"&&typeof e.values=="object"||(PG(r)||n===!0&&pE(r)||!t&&!pE(r)||e.draggable&&r.startsWith("onDrag"))&&(i[r]=e[r]);return i}function i0e({children:e,isValidProp:t,...n}){t&&jG(t),n={...O.useContext(my),...n},n.isStatic=mT(()=>n.isStatic);const i=O.useMemo(()=>n,[JSON.stringify(n.transition),n.transformPagePoint,n.reducedMotion]);return c.jsx(my.Provider,{value:i,children:e})}function r0e(e){if(typeof Proxy>"u")return e;const t=new Map,n=(...i)=>e(...i);return new Proxy(n,{get:(i,r)=>r==="create"?e:(t.has(r)||t.set(r,e(r)),t.get(r))})}const OT=O.createContext({});function gy(e){return typeof e=="string"||Array.isArray(e)}function bT(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}const $L=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],QL=["initial",...$L];function yT(e){return bT(e.animate)||QL.some(t=>gy(e[t]))}function MG(e){return!!(yT(e)||e.variants)}function s0e(e,t){if(yT(e)){const{initial:n,animate:i}=e;return{initial:n===!1||gy(n)?n:void 0,animate:gy(i)?i:void 0}}return e.inherit!==!1?t:{}}function a0e(e){const{initial:t,animate:n}=s0e(e,O.useContext(OT));return O.useMemo(()=>({initial:t,animate:n}),[p6(t),p6(n)])}function p6(e){return Array.isArray(e)?e.join(" "):e}const o0e=Symbol.for("motionComponentSymbol");function vm(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function l0e(e,t,n){return O.useCallback(i=>{i&&e.onMount&&e.onMount(i),t&&(i?t.mount(i):t.unmount()),n&&(typeof n=="function"?n(i):vm(n)&&(n.current=i))},[t])}const BL=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),c0e="framerAppearId",LG="data-"+BL(c0e),{schedule:UL}=RG(queueMicrotask,!1),DG=O.createContext({});function u0e(e,t,n,i,r){var s,a;const{visualElement:o}=O.useContext(OT),l=O.useContext(IG),u=O.useContext(gT),d=O.useContext(my).reducedMotion,f=O.useRef(null);i=i||l.renderer,!f.current&&i&&(f.current=i(e,{visualState:t,parent:o,props:n,presenceContext:u,blockInitialAnimation:u?u.initial===!1:!1,reducedMotionConfig:d}));const h=f.current,p=O.useContext(DG);h&&!h.projection&&r&&(h.type==="html"||h.type==="svg")&&d0e(f.current,n,r,p);const m=O.useRef(!1);O.useInsertionEffect(()=>{h&&m.current&&h.update(n,u)});const g=n[LG],y=O.useRef(!!g&&!(!((s=window.MotionHandoffIsComplete)===null||s===void 0)&&s.call(window,g))&&((a=window.MotionHasOptimisedAnimation)===null||a===void 0?void 0:a.call(window,g)));return NG(()=>{h&&(m.current=!0,window.MotionIsMounted=!0,h.updateFeatures(),UL.render(h.render),y.current&&h.animationState&&h.animationState.animateChanges())}),O.useEffect(()=>{h&&(!y.current&&h.animationState&&h.animationState.animateChanges(),y.current&&(queueMicrotask(()=>{var b;(b=window.MotionHandoffMarkAsComplete)===null||b===void 0||b.call(window,g)}),y.current=!1))}),h}function d0e(e,t,n,i){const{layoutId:r,layout:s,drag:a,dragConstraints:o,layoutScroll:l,layoutRoot:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:$G(e.parent)),e.projection.setOptions({layoutId:r,layout:s,alwaysMeasureLayout:!!a||o&&vm(o),visualElement:e,animationType:typeof s=="string"?s:"both",initialPromotionConfig:i,layoutScroll:l,layoutRoot:u})}function $G(e){if(e)return e.options.allowProjection!==!1?e.projection:$G(e.parent)}function f0e({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:i,Component:r}){var s,a;e&&e0e(e);function o(u,d){let f;const h={...O.useContext(my),...u,layoutId:h0e(u)},{isStatic:p}=h,m=a0e(u),g=i(u,p);if(!p&&DL){p0e();const y=m0e(h);f=y.MeasureLayout,m.visualElement=u0e(r,g,h,t,y.ProjectionNode)}return c.jsxs(OT.Provider,{value:m,children:[f&&m.visualElement?c.jsx(f,{visualElement:m.visualElement,...h}):null,n(r,u,l0e(g,m.visualElement,d),g,p,m.visualElement)]})}o.displayName=`motion.${typeof r=="string"?r:`create(${(a=(s=r.displayName)!==null&&s!==void 0?s:r.name)!==null&&a!==void 0?a:""})`}`;const l=O.forwardRef(o);return l[o0e]=r,l}function h0e({layoutId:e}){const t=O.useContext(LL).id;return t&&e!==void 0?t+"-"+e:e}function p0e(e,t){O.useContext(IG).strict}function m0e(e){const{drag:t,layout:n}=Tg;if(!t&&!n)return{};const i={...t,...n};return{MeasureLayout:t!=null&&t.isEnabled(e)||n!=null&&n.isEnabled(e)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}const g0e=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function zL(e){return typeof e!="string"||e.includes("-")?!1:!!(g0e.indexOf(e)>-1||/[A-Z]/u.test(e))}function m6(e){const t=[{},{}];return e==null||e.values.forEach((n,i)=>{t[0][i]=n.get(),t[1][i]=n.getVelocity()}),t}function FL(e,t,n,i){if(typeof t=="function"){const[r,s]=m6(i);t=t(n!==void 0?n:e.custom,r,s)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[r,s]=m6(i);t=t(n!==void 0?n:e.custom,r,s)}return t}const vI=e=>Array.isArray(e),O0e=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),b0e=e=>vI(e)?e[e.length-1]||0:e,Ms=e=>!!(e&&e.getVelocity);function Gv(e){const t=Ms(e)?e.get():e;return O0e(t)?t.toValue():t}function y0e({scrapeMotionValuesFromProps:e,createRenderState:t,onUpdate:n},i,r,s){const a={latestValues:x0e(i,r,s,e),renderState:t()};return n&&(a.onMount=o=>n({props:i,current:o,...a}),a.onUpdate=o=>n(o)),a}const QG=e=>(t,n)=>{const i=O.useContext(OT),r=O.useContext(gT),s=()=>y0e(e,t,i,r);return n?s():mT(s)};function x0e(e,t,n,i){const r={},s=i(e,{});for(const h in s)r[h]=Gv(s[h]);let{initial:a,animate:o}=e;const l=yT(e),u=MG(e);t&&u&&!l&&e.inherit!==!1&&(a===void 0&&(a=t.initial),o===void 0&&(o=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const f=d?o:a;if(f&&typeof f!="boolean"&&!bT(f)){const h=Array.isArray(f)?f:[f];for(let p=0;pt=>typeof t=="string"&&t.startsWith(e),UG=BG("--"),S0e=BG("var(--"),VL=e=>S0e(e)?v0e.test(e.split("/*")[0].trim()):!1,v0e=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,zG=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Cu=(e,t,n)=>n>t?t:ntypeof e=="number",parse:parseFloat,transform:e=>e},Oy={...p0,transform:e=>Cu(0,1,e)},pS={...p0,default:1},Dx=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),gd=Dx("deg"),hc=Dx("%"),Qt=Dx("px"),w0e=Dx("vh"),E0e=Dx("vw"),g6={...hc,parse:e=>hc.parse(e)/100,transform:e=>hc.transform(e*100)},k0e={borderWidth:Qt,borderTopWidth:Qt,borderRightWidth:Qt,borderBottomWidth:Qt,borderLeftWidth:Qt,borderRadius:Qt,radius:Qt,borderTopLeftRadius:Qt,borderTopRightRadius:Qt,borderBottomRightRadius:Qt,borderBottomLeftRadius:Qt,width:Qt,maxWidth:Qt,height:Qt,maxHeight:Qt,top:Qt,right:Qt,bottom:Qt,left:Qt,padding:Qt,paddingTop:Qt,paddingRight:Qt,paddingBottom:Qt,paddingLeft:Qt,margin:Qt,marginTop:Qt,marginRight:Qt,marginBottom:Qt,marginLeft:Qt,backgroundPositionX:Qt,backgroundPositionY:Qt},T0e={rotate:gd,rotateX:gd,rotateY:gd,rotateZ:gd,scale:pS,scaleX:pS,scaleY:pS,scaleZ:pS,skew:gd,skewX:gd,skewY:gd,distance:Qt,translateX:Qt,translateY:Qt,translateZ:Qt,x:Qt,y:Qt,z:Qt,perspective:Qt,transformPerspective:Qt,opacity:Oy,originX:g6,originY:g6,originZ:Qt},O6={...p0,transform:Math.round},XL={...k0e,...T0e,zIndex:O6,size:Qt,fillOpacity:Oy,strokeOpacity:Oy,numOctaves:O6},_0e={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},A0e=h0.length;function N0e(e,t,n){let i="",r=!0;for(let s=0;s({style:{},transform:{},transformOrigin:{},vars:{}}),FG=()=>({...YL(),attrs:{}}),GL=e=>typeof e=="string"&&e.toLowerCase()==="svg";function VG(e,{style:t,vars:n},i,r){Object.assign(e.style,t,r&&r.getProjectionStyles(i));for(const s in n)e.style.setProperty(s,n[s])}const XG=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function qG(e,t,n,i){VG(e,t,void 0,i);for(const r in t.attrs)e.setAttribute(XG.has(r)?r:BL(r),t.attrs[r])}const mE={};function j0e(e){Object.assign(mE,e)}function HG(e,{layout:t,layoutId:n}){return dp.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!mE[e]||e==="opacity")}function WL(e,t,n){var i;const{style:r}=e,s={};for(const a in r)(Ms(r[a])||t.style&&Ms(t.style[a])||HG(a,e)||((i=n==null?void 0:n.getValue(a))===null||i===void 0?void 0:i.liveStyle)!==void 0)&&(s[a]=r[a]);return s}function YG(e,t,n){const i=WL(e,t,n);for(const r in e)if(Ms(e[r])||Ms(t[r])){const s=h0.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;i[s]=e[r]}return i}function M0e(e,t){try{t.dimensions=typeof e.getBBox=="function"?e.getBBox():e.getBoundingClientRect()}catch{t.dimensions={x:0,y:0,width:0,height:0}}}const y6=["x","y","width","height","cx","cy","r"],L0e={useVisualState:QG({scrapeMotionValuesFromProps:YG,createRenderState:FG,onUpdate:({props:e,prevProps:t,current:n,renderState:i,latestValues:r})=>{if(!n)return;let s=!!e.drag;if(!s){for(const o in r)if(dp.has(o)){s=!0;break}}if(!s)return;let a=!t;if(t)for(let o=0;o{M0e(n,i),Vi.render(()=>{HL(i,r,GL(n.tagName),e.transformTemplate),qG(n,i)})})}})},D0e={useVisualState:QG({scrapeMotionValuesFromProps:WL,createRenderState:YL})};function GG(e,t,n){for(const i in t)!Ms(t[i])&&!HG(i,n)&&(e[i]=t[i])}function $0e({transformTemplate:e},t){return O.useMemo(()=>{const n=YL();return qL(n,t,e),Object.assign({},n.vars,n.style)},[t])}function Q0e(e,t){const n=e.style||{},i={};return GG(i,n,e),Object.assign(i,$0e(e,t)),i}function B0e(e,t){const n={},i=Q0e(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=i,n}function U0e(e,t,n,i){const r=O.useMemo(()=>{const s=FG();return HL(s,t,GL(i),e.transformTemplate),{...s.attrs,style:{...s.style}}},[t]);if(e.style){const s={};GG(s,e.style,e),r.style={...s,...r.style}}return r}function z0e(e=!1){return(n,i,r,{latestValues:s},a)=>{const l=(zL(n)?U0e:B0e)(i,s,a,n),u=n0e(i,typeof n=="string",e),d=n!==O.Fragment?{...u,...l,ref:r}:{},{children:f}=i,h=O.useMemo(()=>Ms(f)?f.get():f,[f]);return O.createElement(n,{...d,children:h})}}function F0e(e,t){return function(i,{forwardMotionProps:r}={forwardMotionProps:!1}){const a={...zL(i)?L0e:D0e,preloadedFeatures:e,useRender:z0e(r),createVisualElement:t,Component:i};return f0e(a)}}function WG(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i(Wv===void 0&&pc.set(Os.isProcessing||Zge.useManualTiming?Os.timestamp:performance.now()),Wv),set:e=>{Wv=e,queueMicrotask(V0e)}};function KL(e,t){e.indexOf(t)===-1&&e.push(t)}function JL(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class eD{constructor(){this.subscriptions=[]}add(t){return KL(this.subscriptions,t),()=>JL(this.subscriptions,t)}notify(t,n,i){const r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](t,n,i);else for(let s=0;s!isNaN(parseFloat(e));class q0e{constructor(t,n={}){this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(i,r=!0)=>{const s=pc.now();this.updatedAt!==s&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(i),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),r&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=pc.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=X0e(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new eD);const i=this.events[t].add(n);return t==="change"?()=>{i(),Vi.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,i){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-i}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=pc.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>x6)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,x6);return KG(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function by(e,t){return new q0e(e,t)}function H0e(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,by(n))}function Y0e(e,t){const n=xT(e,t);let{transitionEnd:i={},transition:r={},...s}=n||{};s={...s,...i};for(const a in s){const o=b0e(s[a]);H0e(e,a,o)}}function G0e(e){return!!(Ms(e)&&e.add)}function wI(e,t){const n=e.getValue("willChange");if(G0e(n))return n.add(t)}function JG(e){return e.props[LG]}function tD(e){let t;return()=>(t===void 0&&(t=e()),t)}const W0e=tD(()=>window.ScrollTimeline!==void 0);class Z0e{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map(t=>"finished"in t?t.finished:t))}getAll(t){return this.animations[0][t]}setAll(t,n){for(let i=0;i{if(W0e()&&r.attachTimeline)return r.attachTimeline(t);if(typeof n=="function")return n(r)});return()=>{i.forEach((r,s)=>{r&&r(),this.animations[s].stop()})}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get startTime(){return this.getAll("startTime")}get duration(){let t=0;for(let n=0;nn[t]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}class K0e extends Z0e{then(t,n){return Promise.all(this.animations).then(t).catch(n)}}const gu=e=>e*1e3,Ou=e=>e/1e3;function nD(e){return typeof e=="function"}function S6(e,t){e.timeline=t,e.onfinish=null}const iD=e=>Array.isArray(e)&&typeof e[0]=="number",J0e={linearEasing:void 0};function eOe(e,t){const n=tD(e);return()=>{var i;return(i=J0e[t])!==null&&i!==void 0?i:n()}}const gE=eOe(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),_g=(e,t,n)=>{const i=t-e;return i===0?1:(n-e)/i},eW=(e,t,n=10)=>{let i="";const r=Math.max(Math.round(t/n),2);for(let s=0;s`cubic-bezier(${e}, ${t}, ${n}, ${i})`,EI={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:XO([0,.65,.55,1]),circOut:XO([.55,0,1,.45]),backIn:XO([.31,.01,.66,-.59]),backOut:XO([.33,1.53,.69,.99])};function nW(e,t){if(e)return typeof e=="function"&&gE()?eW(e,t):iD(e)?XO(e):Array.isArray(e)?e.map(n=>nW(n,t)||EI.easeOut):EI[e]}const iW=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,tOe=1e-7,nOe=12;function iOe(e,t,n,i,r){let s,a,o=0;do a=t+(n-t)/2,s=iW(a,i,r)-e,s>0?n=a:t=a;while(Math.abs(s)>tOe&&++oiOe(s,0,1,e,n);return s=>s===0||s===1?s:iW(r(s),t,i)}const rW=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,sW=e=>t=>1-e(1-t),aW=$x(.33,1.53,.69,.99),rD=sW(aW),oW=rW(rD),lW=e=>(e*=2)<1?.5*rD(e):.5*(2-Math.pow(2,-10*(e-1))),sD=e=>1-Math.sin(Math.acos(e)),cW=sW(sD),uW=rW(sD),dW=e=>/^0[^.\s]+$/u.test(e);function rOe(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||dW(e):!0}const wb=e=>Math.round(e*1e5)/1e5,aD=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function sOe(e){return e==null}const aOe=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,oD=(e,t)=>n=>!!(typeof n=="string"&&aOe.test(n)&&n.startsWith(e)||t&&!sOe(n)&&Object.prototype.hasOwnProperty.call(n,t)),fW=(e,t,n)=>i=>{if(typeof i!="string")return i;const[r,s,a,o]=i.match(aD);return{[e]:parseFloat(r),[t]:parseFloat(s),[n]:parseFloat(a),alpha:o!==void 0?parseFloat(o):1}},oOe=e=>Cu(0,255,e),S2={...p0,transform:e=>Math.round(oOe(e))},gh={test:oD("rgb","red"),parse:fW("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:i=1})=>"rgba("+S2.transform(e)+", "+S2.transform(t)+", "+S2.transform(n)+", "+wb(Oy.transform(i))+")"};function lOe(e){let t="",n="",i="",r="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),i=e.substring(5,7),r=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),i=e.substring(3,4),r=e.substring(4,5),t+=t,n+=n,i+=i,r+=r),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(i,16),alpha:r?parseInt(r,16)/255:1}}const kI={test:oD("#"),parse:lOe,transform:gh.transform},wm={test:oD("hsl","hue"),parse:fW("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:i=1})=>"hsla("+Math.round(e)+", "+hc.transform(wb(t))+", "+hc.transform(wb(n))+", "+wb(Oy.transform(i))+")"},Ps={test:e=>gh.test(e)||kI.test(e)||wm.test(e),parse:e=>gh.test(e)?gh.parse(e):wm.test(e)?wm.parse(e):kI.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?gh.transform(e):wm.transform(e)},cOe=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function uOe(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(aD))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(cOe))===null||n===void 0?void 0:n.length)||0)>0}const hW="number",pW="color",dOe="var",fOe="var(",v6="${}",hOe=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function yy(e){const t=e.toString(),n=[],i={color:[],number:[],var:[]},r=[];let s=0;const o=t.replace(hOe,l=>(Ps.test(l)?(i.color.push(s),r.push(pW),n.push(Ps.parse(l))):l.startsWith(fOe)?(i.var.push(s),r.push(dOe),n.push(l)):(i.number.push(s),r.push(hW),n.push(parseFloat(l))),++s,v6)).split(v6);return{values:n,split:o,indexes:i,types:r}}function mW(e){return yy(e).values}function gW(e){const{split:t,types:n}=yy(e),i=t.length;return r=>{let s="";for(let a=0;atypeof e=="number"?0:e;function mOe(e){const t=mW(e);return gW(e)(t.map(pOe))}const uf={test:uOe,parse:mW,createTransformer:gW,getAnimatableNone:mOe},gOe=new Set(["brightness","contrast","saturate","opacity"]);function OOe(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[i]=n.match(aD)||[];if(!i)return e;const r=n.replace(i,"");let s=gOe.has(t)?1:0;return i!==n&&(s*=100),t+"("+s+r+")"}const bOe=/\b([a-z-]*)\(.*?\)/gu,TI={...uf,getAnimatableNone:e=>{const t=e.match(bOe);return t?t.map(OOe).join(" "):e}},yOe={...XL,color:Ps,backgroundColor:Ps,outlineColor:Ps,fill:Ps,stroke:Ps,borderColor:Ps,borderTopColor:Ps,borderRightColor:Ps,borderBottomColor:Ps,borderLeftColor:Ps,filter:TI,WebkitFilter:TI},lD=e=>yOe[e];function OW(e,t){let n=lD(e);return n!==TI&&(n=uf),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const xOe=new Set(["auto","none","0"]);function SOe(e,t,n){let i=0,r;for(;ie===p0||e===Qt,E6=(e,t)=>parseFloat(e.split(", ")[t]),k6=(e,t)=>(n,{transform:i})=>{if(i==="none"||!i)return 0;const r=i.match(/^matrix3d\((.+)\)$/u);if(r)return E6(r[1],t);{const s=i.match(/^matrix\((.+)\)$/u);return s?E6(s[1],e):0}},vOe=new Set(["x","y","z"]),wOe=h0.filter(e=>!vOe.has(e));function EOe(e){const t=[];return wOe.forEach(n=>{const i=e.getValue(n);i!==void 0&&(t.push([n,i.get()]),i.set(n.startsWith("scale")?1:0))}),t}const Ag={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:k6(4,13),y:k6(5,14)};Ag.translateX=Ag.x;Ag.translateY=Ag.y;const Ch=new Set;let _I=!1,AI=!1;function bW(){if(AI){const e=Array.from(Ch).filter(i=>i.needsMeasurement),t=new Set(e.map(i=>i.element)),n=new Map;t.forEach(i=>{const r=EOe(i);r.length&&(n.set(i,r),i.render())}),e.forEach(i=>i.measureInitialState()),t.forEach(i=>{i.render();const r=n.get(i);r&&r.forEach(([s,a])=>{var o;(o=i.getValue(s))===null||o===void 0||o.set(a)})}),e.forEach(i=>i.measureEndState()),e.forEach(i=>{i.suspendedScrollY!==void 0&&window.scrollTo(0,i.suspendedScrollY)})}AI=!1,_I=!1,Ch.forEach(e=>e.complete()),Ch.clear()}function yW(){Ch.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(AI=!0)})}function kOe(){yW(),bW()}class cD{constructor(t,n,i,r,s,a=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=i,this.motionValue=r,this.element=s,this.isAsync=a}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Ch.add(this),_I||(_I=!0,Vi.read(yW),Vi.resolveKeyframes(bW))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:i,motionValue:r}=this;for(let s=0;s/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),TOe=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function _Oe(e){const t=TOe.exec(e);if(!t)return[,];const[,n,i,r]=t;return[`--${n??i}`,r]}function SW(e,t,n=1){const[i,r]=_Oe(e);if(!i)return;const s=window.getComputedStyle(t).getPropertyValue(i);if(s){const a=s.trim();return xW(a)?parseFloat(a):a}return VL(r)?SW(r,t,n+1):r}const vW=e=>t=>t.test(e),AOe={test:e=>e==="auto",parse:e=>e},wW=[p0,Qt,hc,gd,E0e,w0e,AOe],T6=e=>wW.find(vW(e));class EW extends cD{constructor(t,n,i,r,s){super(t,n,i,r,s,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:i}=this;if(!n||!n.current)return;super.readKeyframes();for(let l=0;l{n.getValue(l).set(u)}),this.resolveNoneKeyframes()}}const _6=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(uf.test(e)||e==="0")&&!e.startsWith("url("));function NOe(e){const t=e[0];if(e.length===1)return!0;for(let n=0;ne!==null;function ST(e,{repeat:t,repeatType:n="loop"},i){const r=e.filter(ROe),s=t&&n!=="loop"&&t%2===1?0:r.length-1;return!s||i===void 0?r[s]:i}const IOe=40;class kW{constructor({autoplay:t=!0,delay:n=0,type:i="keyframes",repeat:r=0,repeatDelay:s=0,repeatType:a="loop",...o}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=pc.now(),this.options={autoplay:t,delay:n,type:i,repeat:r,repeatDelay:s,repeatType:a,...o},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>IOe?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&kOe(),this._resolved}onKeyframesResolved(t,n){this.resolvedAt=pc.now(),this.hasAttemptedResolve=!0;const{name:i,type:r,velocity:s,delay:a,onComplete:o,onUpdate:l,isGenerator:u}=this.options;if(!u&&!COe(t,i,r,s))if(a)this.options.duration=0;else{l&&l(ST(t,this.options,n)),o&&o(),this.resolveFinishedPromise();return}const d=this.initPlayback(t,n);d!==!1&&(this._resolved={keyframes:t,finalKeyframe:n,...d},this.onPostResolved())}onPostResolved(){}then(t,n){return this.currentFinishedPromise.then(t,n)}flatten(){this.options.type="keyframes",this.options.ease="linear"}updateFinishedPromise(){this.currentFinishedPromise=new Promise(t=>{this.resolveFinishedPromise=t})}}const NI=2e4;function TW(e){let t=0;const n=50;let i=e.next(t);for(;!i.done&&t=NI?1/0:t}const sr=(e,t,n)=>e+(t-e)*n;function v2(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function POe({hue:e,saturation:t,lightness:n,alpha:i}){e/=360,t/=100,n/=100;let r=0,s=0,a=0;if(!t)r=s=a=n;else{const o=n<.5?n*(1+t):n+t-n*t,l=2*n-o;r=v2(l,o,e+1/3),s=v2(l,o,e),a=v2(l,o,e-1/3)}return{red:Math.round(r*255),green:Math.round(s*255),blue:Math.round(a*255),alpha:i}}function OE(e,t){return n=>n>0?t:e}const w2=(e,t,n)=>{const i=e*e,r=n*(t*t-i)+i;return r<0?0:Math.sqrt(r)},jOe=[kI,gh,wm],MOe=e=>jOe.find(t=>t.test(e));function A6(e){const t=MOe(e);if(!t)return!1;let n=t.parse(e);return t===wm&&(n=POe(n)),n}const N6=(e,t)=>{const n=A6(e),i=A6(t);if(!n||!i)return OE(e,t);const r={...n};return s=>(r.red=w2(n.red,i.red,s),r.green=w2(n.green,i.green,s),r.blue=w2(n.blue,i.blue,s),r.alpha=sr(n.alpha,i.alpha,s),gh.transform(r))},LOe=(e,t)=>n=>t(e(n)),Qx=(...e)=>e.reduce(LOe),CI=new Set(["none","hidden"]);function DOe(e,t){return CI.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function $Oe(e,t){return n=>sr(e,t,n)}function uD(e){return typeof e=="number"?$Oe:typeof e=="string"?VL(e)?OE:Ps.test(e)?N6:UOe:Array.isArray(e)?_W:typeof e=="object"?Ps.test(e)?N6:QOe:OE}function _W(e,t){const n=[...e],i=n.length,r=e.map((s,a)=>uD(s)(s,t[a]));return s=>{for(let a=0;a{for(const s in i)n[s]=i[s](r);return n}}function BOe(e,t){var n;const i=[],r={color:0,var:0,number:0};for(let s=0;s{const n=uf.createTransformer(t),i=yy(e),r=yy(t);return i.indexes.var.length===r.indexes.var.length&&i.indexes.color.length===r.indexes.color.length&&i.indexes.number.length>=r.indexes.number.length?CI.has(e)&&!r.values.length||CI.has(t)&&!i.values.length?DOe(e,t):Qx(_W(BOe(i,r),r.values),n):OE(e,t)};function AW(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?sr(e,t,n):uD(e)(e,t)}const zOe=5;function NW(e,t,n){const i=Math.max(t-zOe,0);return KG(n-e(i),t-i)}const cr={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},E2=.001;function FOe({duration:e=cr.duration,bounce:t=cr.bounce,velocity:n=cr.velocity,mass:i=cr.mass}){let r,s,a=1-t;a=Cu(cr.minDamping,cr.maxDamping,a),e=Cu(cr.minDuration,cr.maxDuration,Ou(e)),a<1?(r=u=>{const d=u*a,f=d*e,h=d-n,p=RI(u,a),m=Math.exp(-f);return E2-h/p*m},s=u=>{const f=u*a*e,h=f*n+n,p=Math.pow(a,2)*Math.pow(u,2)*e,m=Math.exp(-f),g=RI(Math.pow(u,2),a);return(-r(u)+E2>0?-1:1)*((h-p)*m)/g}):(r=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-E2+d*f},s=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const o=5/e,l=XOe(r,s,o);if(e=gu(e),isNaN(l))return{stiffness:cr.stiffness,damping:cr.damping,duration:e};{const u=Math.pow(l,2)*i;return{stiffness:u,damping:a*2*Math.sqrt(i*u),duration:e}}}const VOe=12;function XOe(e,t,n){let i=n;for(let r=1;re[n]!==void 0)}function YOe(e){let t={velocity:cr.velocity,stiffness:cr.stiffness,damping:cr.damping,mass:cr.mass,isResolvedFromDuration:!1,...e};if(!C6(e,HOe)&&C6(e,qOe))if(e.visualDuration){const n=e.visualDuration,i=2*Math.PI/(n*1.2),r=i*i,s=2*Cu(.05,1,1-(e.bounce||0))*Math.sqrt(r);t={...t,mass:cr.mass,stiffness:r,damping:s}}else{const n=FOe(e);t={...t,...n,mass:cr.mass},t.isResolvedFromDuration=!0}return t}function CW(e=cr.visualDuration,t=cr.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:i,restDelta:r}=n;const s=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],o={done:!1,value:s},{stiffness:l,damping:u,mass:d,duration:f,velocity:h,isResolvedFromDuration:p}=YOe({...n,velocity:-Ou(n.velocity||0)}),m=h||0,g=u/(2*Math.sqrt(l*d)),y=a-s,b=Ou(Math.sqrt(l/d)),S=Math.abs(y)<5;i||(i=S?cr.restSpeed.granular:cr.restSpeed.default),r||(r=S?cr.restDelta.granular:cr.restDelta.default);let x;if(g<1){const E=RI(b,g);x=w=>{const k=Math.exp(-g*b*w);return a-k*((m+g*b*y)/E*Math.sin(E*w)+y*Math.cos(E*w))}}else if(g===1)x=E=>a-Math.exp(-b*E)*(y+(m+b*y)*E);else{const E=b*Math.sqrt(g*g-1);x=w=>{const k=Math.exp(-g*b*w),_=Math.min(E*w,300);return a-k*((m+g*b*y)*Math.sinh(_)+E*y*Math.cosh(_))/E}}const v={calculatedDuration:p&&f||null,next:E=>{const w=x(E);if(p)o.done=E>=f;else{let k=0;g<1&&(k=E===0?gu(m):NW(x,E,w));const _=Math.abs(k)<=i,C=Math.abs(a-w)<=r;o.done=_&&C}return o.value=o.done?a:w,o},toString:()=>{const E=Math.min(TW(v),NI),w=eW(k=>v.next(E*k).value,E,30);return E+"ms "+w}};return v}function R6({keyframes:e,velocity:t=0,power:n=.8,timeConstant:i=325,bounceDamping:r=10,bounceStiffness:s=500,modifyTarget:a,min:o,max:l,restDelta:u=.5,restSpeed:d}){const f=e[0],h={done:!1,value:f},p=_=>o!==void 0&&_l,m=_=>o===void 0?l:l===void 0||Math.abs(o-_)-g*Math.exp(-_/i),x=_=>b+S(_),v=_=>{const C=S(_),A=x(_);h.done=Math.abs(C)<=u,h.value=h.done?b:A};let E,w;const k=_=>{p(h.value)&&(E=_,w=CW({keyframes:[h.value,m(h.value)],velocity:NW(x,_,h.value),damping:r,stiffness:s,restDelta:u,restSpeed:d}))};return k(0),{calculatedDuration:null,next:_=>{let C=!1;return!w&&E===void 0&&(C=!0,v(_),k(_)),E!==void 0&&_>=E?w.next(_-E):(!C&&v(_),h)}}}const GOe=$x(.42,0,1,1),WOe=$x(0,0,.58,1),RW=$x(.42,0,.58,1),ZOe=e=>Array.isArray(e)&&typeof e[0]!="number",KOe={linear:oo,easeIn:GOe,easeInOut:RW,easeOut:WOe,circIn:sD,circInOut:uW,circOut:cW,backIn:rD,backInOut:oW,backOut:aW,anticipate:lW},I6=e=>{if(iD(e)){CG(e.length===4);const[t,n,i,r]=e;return $x(t,n,i,r)}else if(typeof e=="string")return KOe[e];return e};function JOe(e,t,n){const i=[],r=n||AW,s=e.length-1;for(let a=0;at[0];if(s===2&&t[0]===t[1])return()=>t[1];const a=e[0]===e[1];e[0]>e[s-1]&&(e=[...e].reverse(),t=[...t].reverse());const o=JOe(t,i,r),l=o.length,u=d=>{if(a&&d1)for(;fu(Cu(e[0],e[s-1],d)):u}function tbe(e,t){const n=e[e.length-1];for(let i=1;i<=t;i++){const r=_g(0,t,i);e.push(sr(n,1,r))}}function nbe(e){const t=[0];return tbe(t,e.length-1),t}function ibe(e,t){return e.map(n=>n*t)}function rbe(e,t){return e.map(()=>t||RW).splice(0,e.length-1)}function bE({duration:e=300,keyframes:t,times:n,ease:i="easeInOut"}){const r=ZOe(i)?i.map(I6):I6(i),s={done:!1,value:t[0]},a=ibe(n&&n.length===t.length?n:nbe(t),e),o=ebe(a,t,{ease:Array.isArray(r)?r:rbe(t,r)});return{calculatedDuration:e,next:l=>(s.value=o(l),s.done=l>=e,s)}}const sbe=e=>{const t=({timestamp:n})=>e(n);return{start:()=>Vi.update(t,!0),stop:()=>cf(t),now:()=>Os.isProcessing?Os.timestamp:pc.now()}},abe={decay:R6,inertia:R6,tween:bE,keyframes:bE,spring:CW},obe=e=>e/100;class dD extends kW{constructor(t){super(t),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.startTime=null,this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.teardown();const{onStop:l}=this.options;l&&l()};const{name:n,motionValue:i,element:r,keyframes:s}=this.options,a=(r==null?void 0:r.KeyframeResolver)||cD,o=(l,u)=>this.onKeyframesResolved(l,u);this.resolver=new a(s,o,n,i,r),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(t){const{type:n="keyframes",repeat:i=0,repeatDelay:r=0,repeatType:s,velocity:a=0}=this.options,o=nD(n)?n:abe[n]||bE;let l,u;o!==bE&&typeof t[0]!="number"&&(l=Qx(obe,AW(t[0],t[1])),t=[0,100]);const d=o({...this.options,keyframes:t});s==="mirror"&&(u=o({...this.options,keyframes:[...t].reverse(),velocity:-a})),d.calculatedDuration===null&&(d.calculatedDuration=TW(d));const{calculatedDuration:f}=d,h=f+r,p=h*(i+1)-r;return{generator:d,mirroredGenerator:u,mapPercentToKeyframes:l,calculatedDuration:f,resolvedDuration:h,totalDuration:p}}onPostResolved(){const{autoplay:t=!0}=this.options;this.play(),this.pendingPlayState==="paused"||!t?this.pause():this.state=this.pendingPlayState}tick(t,n=!1){const{resolved:i}=this;if(!i){const{keyframes:_}=this.options;return{done:!0,value:_[_.length-1]}}const{finalKeyframe:r,generator:s,mirroredGenerator:a,mapPercentToKeyframes:o,keyframes:l,calculatedDuration:u,totalDuration:d,resolvedDuration:f}=i;if(this.startTime===null)return s.next(0);const{delay:h,repeat:p,repeatType:m,repeatDelay:g,onUpdate:y}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-d/this.speed,this.startTime)),n?this.currentTime=t:this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=Math.round(t-this.startTime)*this.speed;const b=this.currentTime-h*(this.speed>=0?1:-1),S=this.speed>=0?b<0:b>d;this.currentTime=Math.max(b,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=d);let x=this.currentTime,v=s;if(p){const _=Math.min(this.currentTime,d)/f;let C=Math.floor(_),A=_%1;!A&&_>=1&&(A=1),A===1&&C--,C=Math.min(C,p+1),!!(C%2)&&(m==="reverse"?(A=1-A,g&&(A-=g/f)):m==="mirror"&&(v=a)),x=Cu(0,1,A)*f}const E=S?{done:!1,value:l[0]}:v.next(x);o&&(E.value=o(E.value));let{done:w}=E;!S&&u!==null&&(w=this.speed>=0?this.currentTime>=d:this.currentTime<=0);const k=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&w);return k&&r!==void 0&&(E.value=ST(l,this.options,r)),y&&y(E.value),k&&this.finish(),E}get duration(){const{resolved:t}=this;return t?Ou(t.calculatedDuration):0}get time(){return Ou(this.currentTime)}set time(t){t=gu(t),this.currentTime=t,this.holdTime!==null||this.speed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.speed)}get speed(){return this.playbackSpeed}set speed(t){const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=Ou(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:t=sbe,onPlay:n,startTime:i}=this.options;this.driver||(this.driver=t(s=>this.tick(s))),n&&n();const r=this.driver.now();this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=r):this.startTime=i??this.calcStartTime(),this.state==="finished"&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var t;if(!this._resolved){this.pendingPlayState="paused";return}this.state="paused",this.holdTime=(t=this.currentTime)!==null&&t!==void 0?t:0}complete(){this.state!=="running"&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:t}=this.options;t&&t()}cancel(){this.cancelTime!==null&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}}const lbe=new Set(["opacity","clipPath","filter","transform"]);function cbe(e,t,n,{delay:i=0,duration:r=300,repeat:s=0,repeatType:a="loop",ease:o="easeInOut",times:l}={}){const u={[t]:n};l&&(u.offset=l);const d=nW(o,r);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:i,duration:r,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:s+1,direction:a==="reverse"?"alternate":"normal"})}const ube=tD(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),yE=10,dbe=2e4;function fbe(e){return nD(e.type)||e.type==="spring"||!tW(e.ease)}function hbe(e,t){const n=new dD({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0});let i={done:!1,value:e[0]};const r=[];let s=0;for(;!i.done&&sthis.onKeyframesResolved(a,o),n,i,r),this.resolver.scheduleResolve()}initPlayback(t,n){let{duration:i=300,times:r,ease:s,type:a,motionValue:o,name:l,startTime:u}=this.options;if(!o.owner||!o.owner.current)return!1;if(typeof s=="string"&&gE()&&pbe(s)&&(s=IW[s]),fbe(this.options)){const{onComplete:f,onUpdate:h,motionValue:p,element:m,...g}=this.options,y=hbe(t,g);t=y.keyframes,t.length===1&&(t[1]=t[0]),i=y.duration,r=y.times,s=y.ease,a="keyframes"}const d=cbe(o.owner.current,l,t,{...this.options,duration:i,times:r,ease:s});return d.startTime=u??this.calcStartTime(),this.pendingTimeline?(S6(d,this.pendingTimeline),this.pendingTimeline=void 0):d.onfinish=()=>{const{onComplete:f}=this.options;o.set(ST(t,this.options,n)),f&&f(),this.cancel(),this.resolveFinishedPromise()},{animation:d,duration:i,times:r,type:a,ease:s,keyframes:t}}get duration(){const{resolved:t}=this;if(!t)return 0;const{duration:n}=t;return Ou(n)}get time(){const{resolved:t}=this;if(!t)return 0;const{animation:n}=t;return Ou(n.currentTime||0)}set time(t){const{resolved:n}=this;if(!n)return;const{animation:i}=n;i.currentTime=gu(t)}get speed(){const{resolved:t}=this;if(!t)return 1;const{animation:n}=t;return n.playbackRate}set speed(t){const{resolved:n}=this;if(!n)return;const{animation:i}=n;i.playbackRate=t}get state(){const{resolved:t}=this;if(!t)return"idle";const{animation:n}=t;return n.playState}get startTime(){const{resolved:t}=this;if(!t)return null;const{animation:n}=t;return n.startTime}attachTimeline(t){if(!this._resolved)this.pendingTimeline=t;else{const{resolved:n}=this;if(!n)return oo;const{animation:i}=n;S6(i,t)}return oo}play(){if(this.isStopped)return;const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.playState==="finished"&&this.updateFinishedPromise(),n.play()}pause(){const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:t}=this;if(!t)return;const{animation:n,keyframes:i,duration:r,type:s,ease:a,times:o}=t;if(n.playState==="idle"||n.playState==="finished")return;if(this.time){const{motionValue:u,onUpdate:d,onComplete:f,element:h,...p}=this.options,m=new dD({...p,keyframes:i,duration:r,type:s,ease:a,times:o,isGenerator:!0}),g=gu(this.time);u.setWithVelocity(m.sample(g-yE).value,m.sample(g).value,yE)}const{onStop:l}=this.options;l&&l(),this.cancel()}complete(){const{resolved:t}=this;t&&t.animation.finish()}cancel(){const{resolved:t}=this;t&&t.animation.cancel()}static supports(t){const{motionValue:n,name:i,repeatDelay:r,repeatType:s,damping:a,type:o}=t;if(!n||!n.owner||!(n.owner.current instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:u}=n.owner.getProps();return ube()&&i&&lbe.has(i)&&!l&&!u&&!r&&s!=="mirror"&&a!==0&&o!=="inertia"}}const mbe={type:"spring",stiffness:500,damping:25,restSpeed:10},gbe=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Obe={type:"keyframes",duration:.8},bbe={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},ybe=(e,{keyframes:t})=>t.length>2?Obe:dp.has(e)?e.startsWith("scale")?gbe(t[1]):mbe:bbe;function xbe({when:e,delay:t,delayChildren:n,staggerChildren:i,staggerDirection:r,repeat:s,repeatType:a,repeatDelay:o,from:l,elapsed:u,...d}){return!!Object.keys(d).length}const fD=(e,t,n,i={},r,s)=>a=>{const o=ZL(i,e)||{},l=o.delay||i.delay||0;let{elapsed:u=0}=i;u=u-gu(l);let d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...o,delay:-u,onUpdate:h=>{t.set(h),o.onUpdate&&o.onUpdate(h)},onComplete:()=>{a(),o.onComplete&&o.onComplete()},name:e,motionValue:t,element:s?void 0:r};xbe(o)||(d={...d,...ybe(e,d)}),d.duration&&(d.duration=gu(d.duration)),d.repeatDelay&&(d.repeatDelay=gu(d.repeatDelay)),d.from!==void 0&&(d.keyframes[0]=d.from);let f=!1;if((d.type===!1||d.duration===0&&!d.repeatDelay)&&(d.duration=0,d.delay===0&&(f=!0)),f&&!s&&t.get()!==void 0){const h=ST(d.keyframes,o);if(h!==void 0)return Vi.update(()=>{d.onUpdate(h),d.onComplete()}),new K0e([])}return!s&&P6.supports(d)?new P6(d):new dD(d)};function Sbe({protectedKeys:e,needsAnimating:t},n){const i=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,i}function PW(e,t,{delay:n=0,transitionOverride:i,type:r}={}){var s;let{transition:a=e.getDefaultTransition(),transitionEnd:o,...l}=t;i&&(a=i);const u=[],d=r&&e.animationState&&e.animationState.getState()[r];for(const f in l){const h=e.getValue(f,(s=e.latestValues[f])!==null&&s!==void 0?s:null),p=l[f];if(p===void 0||d&&Sbe(d,f))continue;const m={delay:n,...ZL(a||{},f)};let g=!1;if(window.MotionHandoffAnimation){const b=JG(e);if(b){const S=window.MotionHandoffAnimation(b,f,Vi);S!==null&&(m.startTime=S,g=!0)}}wI(e,f),h.start(fD(f,h,p,e.shouldReduceMotion&&ZG.has(f)?{type:!1}:m,e,g));const y=h.animation;y&&u.push(y)}return o&&Promise.all(u).then(()=>{Vi.update(()=>{o&&Y0e(e,o)})}),u}function II(e,t,n={}){var i;const r=xT(e,t,n.type==="exit"?(i=e.presenceContext)===null||i===void 0?void 0:i.custom:void 0);let{transition:s=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(s=n.transitionOverride);const a=r?()=>Promise.all(PW(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(u=0)=>{const{delayChildren:d=0,staggerChildren:f,staggerDirection:h}=s;return vbe(e,t,d+u,f,h,n)}:()=>Promise.resolve(),{when:l}=s;if(l){const[u,d]=l==="beforeChildren"?[a,o]:[o,a];return u().then(()=>d())}else return Promise.all([a(),o(n.delay)])}function vbe(e,t,n=0,i=0,r=1,s){const a=[],o=(e.variantChildren.size-1)*i,l=r===1?(u=0)=>u*i:(u=0)=>o-u*i;return Array.from(e.variantChildren).sort(wbe).forEach((u,d)=>{u.notify("AnimationStart",t),a.push(II(u,t,{...s,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(a)}function wbe(e,t){return e.sortNodePosition(t)}function Ebe(e,t,n={}){e.notify("AnimationStart",t);let i;if(Array.isArray(t)){const r=t.map(s=>II(e,s,n));i=Promise.all(r)}else if(typeof t=="string")i=II(e,t,n);else{const r=typeof t=="function"?xT(e,t,n.custom):t;i=Promise.all(PW(e,r,n))}return i.then(()=>{e.notify("AnimationComplete",t)})}const kbe=QL.length;function jW(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?jW(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;nPromise.all(t.map(({animation:n,options:i})=>Ebe(e,n,i)))}function Nbe(e){let t=Abe(e),n=j6(),i=!0;const r=l=>(u,d)=>{var f;const h=xT(e,d,l==="exit"?(f=e.presenceContext)===null||f===void 0?void 0:f.custom:void 0);if(h){const{transition:p,transitionEnd:m,...g}=h;u={...u,...g,...m}}return u};function s(l){t=l(e)}function a(l){const{props:u}=e,d=jW(e.parent)||{},f=[],h=new Set;let p={},m=1/0;for(let y=0;y<_be;y++){const b=Tbe[y],S=n[b],x=u[b]!==void 0?u[b]:d[b],v=gy(x),E=b===l?S.isActive:null;E===!1&&(m=y);let w=x===d[b]&&x!==u[b]&&v;if(w&&i&&e.manuallyAnimateOnMount&&(w=!1),S.protectedKeys={...p},!S.isActive&&E===null||!x&&!S.prevProp||bT(x)||typeof x=="boolean")continue;const k=Cbe(S.prevProp,x);let _=k||b===l&&S.isActive&&!w&&v||y>m&&v,C=!1;const A=Array.isArray(x)?x:[x];let R=A.reduce(r(b),{});E===!1&&(R={});const{prevResolvedValues:j={}}=S,Q={...j,...R},L=M=>{_=!0,h.has(M)&&(C=!0,h.delete(M)),S.needsAnimating[M]=!0;const B=e.getValue(M);B&&(B.liveStyle=!1)};for(const M in Q){const B=R[M],$=j[M];if(p.hasOwnProperty(M))continue;let I=!1;vI(B)&&vI($)?I=!WG(B,$):I=B!==$,I?B!=null?L(M):h.add(M):B!==void 0&&h.has(M)?L(M):S.protectedKeys[M]=!0}S.prevProp=x,S.prevResolvedValues=R,S.isActive&&(p={...p,...R}),i&&e.blockInitialAnimation&&(_=!1),_&&(!(w&&k)||C)&&f.push(...A.map(M=>({animation:M,options:{type:b}})))}if(h.size){const y={};h.forEach(b=>{const S=e.getBaseTarget(b),x=e.getValue(b);x&&(x.liveStyle=!0),y[b]=S??null}),f.push({animation:y})}let g=!!f.length;return i&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(g=!1),i=!1,g?t(f):Promise.resolve()}function o(l,u){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=a(l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:a,setActive:o,setAnimateFunction:s,getState:()=>n,reset:()=>{n=j6(),i=!0}}}function Cbe(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!WG(t,e):!1}function Vf(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function j6(){return{animate:Vf(!0),whileInView:Vf(),whileHover:Vf(),whileTap:Vf(),whileDrag:Vf(),whileFocus:Vf(),exit:Vf()}}class Nf{constructor(t){this.isMounted=!1,this.node=t}update(){}}class Rbe extends Nf{constructor(t){super(t),t.animationState||(t.animationState=Nbe(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();bT(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){var t;this.node.animationState.reset(),(t=this.unmountControls)===null||t===void 0||t.call(this)}}let Ibe=0;class Pbe extends Nf{constructor(){super(...arguments),this.id=Ibe++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const r=this.node.animationState.setActive("exit",!t);n&&!t&&r.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const jbe={animation:{Feature:Rbe},exit:{Feature:Pbe}},ol={x:!1,y:!1};function MW(){return ol.x||ol.y}function Mbe(e){return e==="x"||e==="y"?ol[e]?null:(ol[e]=!0,()=>{ol[e]=!1}):ol.x||ol.y?null:(ol.x=ol.y=!0,()=>{ol.x=ol.y=!1})}const hD=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function xy(e,t,n,i={passive:!0}){return e.addEventListener(t,n,i),()=>e.removeEventListener(t,n)}function Bx(e){return{point:{x:e.pageX,y:e.pageY}}}const Lbe=e=>t=>hD(t)&&e(t,Bx(t));function Eb(e,t,n,i){return xy(e,t,Lbe(n),i)}const M6=(e,t)=>Math.abs(e-t);function Dbe(e,t){const n=M6(e.x,t.x),i=M6(e.y,t.y);return Math.sqrt(n**2+i**2)}class LW{constructor(t,n,{transformPagePoint:i,contextWindow:r,dragSnapToOrigin:s=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const f=T2(this.lastMoveEventInfo,this.history),h=this.startEvent!==null,p=Dbe(f.offset,{x:0,y:0})>=3;if(!h&&!p)return;const{point:m}=f,{timestamp:g}=Os;this.history.push({...m,timestamp:g});const{onStart:y,onMove:b}=this.handlers;h||(y&&y(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),b&&b(this.lastMoveEvent,f)},this.handlePointerMove=(f,h)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=k2(h,this.transformPagePoint),Vi.update(this.updatePoint,!0)},this.handlePointerUp=(f,h)=>{this.end();const{onEnd:p,onSessionEnd:m,resumeAnimation:g}=this.handlers;if(this.dragSnapToOrigin&&g&&g(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const y=T2(f.type==="pointercancel"?this.lastMoveEventInfo:k2(h,this.transformPagePoint),this.history);this.startEvent&&p&&p(f,y),m&&m(f,y)},!hD(t))return;this.dragSnapToOrigin=s,this.handlers=n,this.transformPagePoint=i,this.contextWindow=r||window;const a=Bx(t),o=k2(a,this.transformPagePoint),{point:l}=o,{timestamp:u}=Os;this.history=[{...l,timestamp:u}];const{onSessionStart:d}=n;d&&d(t,T2(o,this.history)),this.removeListeners=Qx(Eb(this.contextWindow,"pointermove",this.handlePointerMove),Eb(this.contextWindow,"pointerup",this.handlePointerUp),Eb(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),cf(this.updatePoint)}}function k2(e,t){return t?{point:t(e.point)}:e}function L6(e,t){return{x:e.x-t.x,y:e.y-t.y}}function T2({point:e},t){return{point:e,delta:L6(e,DW(t)),offset:L6(e,$be(t)),velocity:Qbe(t,.1)}}function $be(e){return e[0]}function DW(e){return e[e.length-1]}function Qbe(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,i=null;const r=DW(e);for(;n>=0&&(i=e[n],!(r.timestamp-i.timestamp>gu(t)));)n--;if(!i)return{x:0,y:0};const s=Ou(r.timestamp-i.timestamp);if(s===0)return{x:0,y:0};const a={x:(r.x-i.x)/s,y:(r.y-i.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}const $W=1e-4,Bbe=1-$W,Ube=1+$W,QW=.01,zbe=0-QW,Fbe=0+QW;function fo(e){return e.max-e.min}function Vbe(e,t,n){return Math.abs(e-t)<=n}function D6(e,t,n,i=.5){e.origin=i,e.originPoint=sr(t.min,t.max,e.origin),e.scale=fo(n)/fo(t),e.translate=sr(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Bbe&&e.scale<=Ube||isNaN(e.scale))&&(e.scale=1),(e.translate>=zbe&&e.translate<=Fbe||isNaN(e.translate))&&(e.translate=0)}function kb(e,t,n,i){D6(e.x,t.x,n.x,i?i.originX:void 0),D6(e.y,t.y,n.y,i?i.originY:void 0)}function $6(e,t,n){e.min=n.min+t.min,e.max=e.min+fo(t)}function Xbe(e,t,n){$6(e.x,t.x,n.x),$6(e.y,t.y,n.y)}function Q6(e,t,n){e.min=t.min-n.min,e.max=e.min+fo(t)}function Tb(e,t,n){Q6(e.x,t.x,n.x),Q6(e.y,t.y,n.y)}function qbe(e,{min:t,max:n},i){return t!==void 0&&en&&(e=i?sr(n,e,i.max):Math.min(e,n)),e}function B6(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function Hbe(e,{top:t,left:n,bottom:i,right:r}){return{x:B6(e.x,n,r),y:B6(e.y,t,i)}}function U6(e,t){let n=t.min-e.min,i=t.max-e.max;return t.max-t.mini?n=_g(t.min,t.max-i,e.min):i>r&&(n=_g(e.min,e.max-r,t.min)),Cu(0,1,n)}function Wbe(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const PI=.35;function Zbe(e=PI){return e===!1?e=0:e===!0&&(e=PI),{x:z6(e,"left","right"),y:z6(e,"top","bottom")}}function z6(e,t,n){return{min:F6(e,t),max:F6(e,n)}}function F6(e,t){return typeof e=="number"?e:e[t]||0}const V6=()=>({translate:0,scale:1,origin:0,originPoint:0}),Em=()=>({x:V6(),y:V6()}),X6=()=>({min:0,max:0}),xr=()=>({x:X6(),y:X6()});function xo(e){return[e("x"),e("y")]}function BW({top:e,left:t,right:n,bottom:i}){return{x:{min:t,max:n},y:{min:e,max:i}}}function Kbe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Jbe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),i=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:i.y,right:i.x}}function _2(e){return e===void 0||e===1}function jI({scale:e,scaleX:t,scaleY:n}){return!_2(e)||!_2(t)||!_2(n)}function th(e){return jI(e)||UW(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function UW(e){return q6(e.x)||q6(e.y)}function q6(e){return e&&e!=="0%"}function xE(e,t,n){const i=e-n,r=t*i;return n+r}function H6(e,t,n,i,r){return r!==void 0&&(e=xE(e,r,i)),xE(e,n,i)+t}function MI(e,t=0,n=1,i,r){e.min=H6(e.min,t,n,i,r),e.max=H6(e.max,t,n,i,r)}function zW(e,{x:t,y:n}){MI(e.x,t.translate,t.scale,t.originPoint),MI(e.y,n.translate,n.scale,n.originPoint)}const Y6=.999999999999,G6=1.0000000000001;function eye(e,t,n,i=!1){const r=n.length;if(!r)return;t.x=t.y=1;let s,a;for(let o=0;oY6&&(t.x=1),t.yY6&&(t.y=1)}function km(e,t){e.min=e.min+t,e.max=e.max+t}function W6(e,t,n,i,r=.5){const s=sr(e.min,e.max,r);MI(e,t,n,s,i)}function Tm(e,t){W6(e.x,t.x,t.scaleX,t.scale,t.originX),W6(e.y,t.y,t.scaleY,t.scale,t.originY)}function FW(e,t){return BW(Jbe(e.getBoundingClientRect(),t))}function tye(e,t,n){const i=FW(e,n),{scroll:r}=t;return r&&(km(i.x,r.offset.x),km(i.y,r.offset.y)),i}const VW=({current:e})=>e?e.ownerDocument.defaultView:null,nye=new WeakMap;class iye{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=xr(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=d=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(Bx(d).point)},s=(d,f)=>{const{drag:h,dragPropagation:p,onDragStart:m}=this.getProps();if(h&&!p&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Mbe(h),!this.openDragLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),xo(y=>{let b=this.getAxisMotionValue(y).get()||0;if(hc.test(b)){const{projection:S}=this.visualElement;if(S&&S.layout){const x=S.layout.layoutBox[y];x&&(b=fo(x)*(parseFloat(b)/100))}}this.originPoint[y]=b}),m&&Vi.postRender(()=>m(d,f)),wI(this.visualElement,"transform");const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},a=(d,f)=>{const{dragPropagation:h,dragDirectionLock:p,onDirectionLock:m,onDrag:g}=this.getProps();if(!h&&!this.openDragLock)return;const{offset:y}=f;if(p&&this.currentDirection===null){this.currentDirection=rye(y),this.currentDirection!==null&&m&&m(this.currentDirection);return}this.updateAxis("x",f.point,y),this.updateAxis("y",f.point,y),this.visualElement.render(),g&&g(d,f)},o=(d,f)=>this.stop(d,f),l=()=>xo(d=>{var f;return this.getAnimationState(d)==="paused"&&((f=this.getAxisMotionValue(d).animation)===null||f===void 0?void 0:f.play())}),{dragSnapToOrigin:u}=this.getProps();this.panSession=new LW(t,{onSessionStart:r,onStart:s,onMove:a,onSessionEnd:o,resumeAnimation:l},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,contextWindow:VW(this.visualElement)})}stop(t,n){const i=this.isDragging;if(this.cancel(),!i)return;const{velocity:r}=n;this.startAnimation(r);const{onDragEnd:s}=this.getProps();s&&Vi.postRender(()=>s(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:i}=this.getProps();!i&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,i){const{drag:r}=this.getProps();if(!i||!mS(t,r,this.currentDirection))return;const s=this.getAxisMotionValue(t);let a=this.originPoint[t]+i[t];this.constraints&&this.constraints[t]&&(a=qbe(a,this.constraints[t],this.elastic[t])),s.set(a)}resolveConstraints(){var t;const{dragConstraints:n,dragElastic:i}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(t=this.visualElement.projection)===null||t===void 0?void 0:t.layout,s=this.constraints;n&&vm(n)?this.constraints||(this.constraints=this.resolveRefConstraints()):n&&r?this.constraints=Hbe(r.layoutBox,n):this.constraints=!1,this.elastic=Zbe(i),s!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&xo(a=>{this.constraints!==!1&&this.getAxisMotionValue(a)&&(this.constraints[a]=Wbe(r.layoutBox[a],this.constraints[a]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!vm(t))return!1;const i=t.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;const s=tye(i,r.root,this.visualElement.getTransformPagePoint());let a=Ybe(r.layout.layoutBox,s);if(n){const o=n(Kbe(a));this.hasMutatedConstraints=!!o,o&&(a=BW(o))}return a}startAnimation(t){const{drag:n,dragMomentum:i,dragElastic:r,dragTransition:s,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),l=this.constraints||{},u=xo(d=>{if(!mS(d,n,this.currentDirection))return;let f=l&&l[d]||{};a&&(f={min:0,max:0});const h=r?200:1e6,p=r?40:1e7,m={type:"inertia",velocity:i?t[d]:0,bounceStiffness:h,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...s,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(o)}startAxisValueAnimation(t,n){const i=this.getAxisMotionValue(t);return wI(this.visualElement,t),i.start(fD(t,i,0,n,this.visualElement,!1))}stopAnimation(){xo(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){xo(t=>{var n;return(n=this.getAxisMotionValue(t).animation)===null||n===void 0?void 0:n.pause()})}getAnimationState(t){var n;return(n=this.getAxisMotionValue(t).animation)===null||n===void 0?void 0:n.state}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,i=this.visualElement.getProps(),r=i[n];return r||this.visualElement.getValue(t,(i.initial?i.initial[t]:void 0)||0)}snapToCursor(t){xo(n=>{const{drag:i}=this.getProps();if(!mS(n,i,this.currentDirection))return;const{projection:r}=this.visualElement,s=this.getAxisMotionValue(n);if(r&&r.layout){const{min:a,max:o}=r.layout.layoutBox[n];s.set(t[n]-sr(a,o,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:i}=this.visualElement;if(!vm(n)||!i||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};xo(a=>{const o=this.getAxisMotionValue(a);if(o&&this.constraints!==!1){const l=o.get();r[a]=Gbe({min:l,max:l},this.constraints[a])}});const{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.resolveConstraints(),xo(a=>{if(!mS(a,t,null))return;const o=this.getAxisMotionValue(a),{min:l,max:u}=this.constraints[a];o.set(sr(l,u,r[a]))})}addListeners(){if(!this.visualElement.current)return;nye.set(this.visualElement,this);const t=this.visualElement.current,n=Eb(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),i=()=>{const{dragConstraints:l}=this.getProps();vm(l)&&l.current&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,s=r.addEventListener("measure",i);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),Vi.read(i);const a=xy(window,"resize",()=>this.scalePositionWithinConstraints()),o=r.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(xo(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].translate))}),this.visualElement.render())});return()=>{a(),n(),s(),o&&o()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:i=!1,dragPropagation:r=!1,dragConstraints:s=!1,dragElastic:a=PI,dragMomentum:o=!0}=t;return{...t,drag:n,dragDirectionLock:i,dragPropagation:r,dragConstraints:s,dragElastic:a,dragMomentum:o}}}function mS(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function rye(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class sye extends Nf{constructor(t){super(t),this.removeGroupControls=oo,this.removeListeners=oo,this.controls=new iye(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||oo}unmount(){this.removeGroupControls(),this.removeListeners()}}const Z6=e=>(t,n)=>{e&&Vi.postRender(()=>e(t,n))};class aye extends Nf{constructor(){super(...arguments),this.removePointerDownListener=oo}onPointerDown(t){this.session=new LW(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:VW(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:i,onPanEnd:r}=this.node.getProps();return{onSessionStart:Z6(t),onStart:Z6(n),onMove:i,onEnd:(s,a)=>{delete this.session,r&&Vi.postRender(()=>r(s,a))}}}mount(){this.removePointerDownListener=Eb(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const Zv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function K6(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const fO={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Qt.test(e))e=parseFloat(e);else return e;const n=K6(e,t.target.x),i=K6(e,t.target.y);return`${n}% ${i}%`}},oye={correct:(e,{treeScale:t,projectionDelta:n})=>{const i=e,r=uf.parse(e);if(r.length>5)return i;const s=uf.createTransformer(e),a=typeof r[0]!="number"?1:0,o=n.x.scale*t.x,l=n.y.scale*t.y;r[0+a]/=o,r[1+a]/=l;const u=sr(o,l,.5);return typeof r[2+a]=="number"&&(r[2+a]/=u),typeof r[3+a]=="number"&&(r[3+a]/=u),s(r)}};class lye extends O.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:i,layoutId:r}=this.props,{projection:s}=t;j0e(cye),s&&(n.group&&n.group.add(s),i&&i.register&&r&&i.register(s),s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,onExitComplete:()=>this.safeToRemove()})),Zv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:i,drag:r,isPresent:s}=this.props,a=i.projection;return a&&(a.isPresent=s,r||t.layoutDependency!==n||n===void 0?a.willUpdate():this.safeToRemove(),t.isPresent!==s&&(s?a.promote():a.relegate()||Vi.postRender(()=>{const o=a.getStack();(!o||!o.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),UL.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:i}=this.props,{projection:r}=t;r&&(r.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(r),i&&i.deregister&&i.deregister(r))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function XW(e){const[t,n]=AG(),i=O.useContext(LL);return c.jsx(lye,{...e,layoutGroup:i,switchLayoutGroup:O.useContext(DG),isPresent:t,safeToRemove:n})}const cye={borderRadius:{...fO,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:fO,borderTopRightRadius:fO,borderBottomLeftRadius:fO,borderBottomRightRadius:fO,boxShadow:oye};function uye(e,t,n){const i=Ms(e)?e:by(e);return i.start(fD("",i,t,n)),i.animation}function dye(e){return e instanceof SVGElement&&e.tagName!=="svg"}const fye=(e,t)=>e.depth-t.depth;class hye{constructor(){this.children=[],this.isDirty=!1}add(t){KL(this.children,t),this.isDirty=!0}remove(t){JL(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(fye),this.isDirty=!1,this.children.forEach(t)}}function pye(e,t){const n=pc.now(),i=({timestamp:r})=>{const s=r-n;s>=t&&(cf(i),e(s-t))};return Vi.read(i,!0),()=>cf(i)}const qW=["TopLeft","TopRight","BottomLeft","BottomRight"],mye=qW.length,J6=e=>typeof e=="string"?parseFloat(e):e,eB=e=>typeof e=="number"||Qt.test(e);function gye(e,t,n,i,r,s){r?(e.opacity=sr(0,n.opacity!==void 0?n.opacity:1,Oye(i)),e.opacityExit=sr(t.opacity!==void 0?t.opacity:1,0,bye(i))):s&&(e.opacity=sr(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,i));for(let a=0;ait?1:n(_g(e,t,i))}function nB(e,t){e.min=t.min,e.max=t.max}function yo(e,t){nB(e.x,t.x),nB(e.y,t.y)}function iB(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function rB(e,t,n,i,r){return e-=t,e=xE(e,1/n,i),r!==void 0&&(e=xE(e,1/r,i)),e}function yye(e,t=0,n=1,i=.5,r,s=e,a=e){if(hc.test(t)&&(t=parseFloat(t),t=sr(a.min,a.max,t/100)-a.min),typeof t!="number")return;let o=sr(s.min,s.max,i);e===s&&(o-=t),e.min=rB(e.min,t,n,o,r),e.max=rB(e.max,t,n,o,r)}function sB(e,t,[n,i,r],s,a){yye(e,t[n],t[i],t[r],t.scale,s,a)}const xye=["x","scaleX","originX"],Sye=["y","scaleY","originY"];function aB(e,t,n,i){sB(e.x,t,xye,n?n.x:void 0,i?i.x:void 0),sB(e.y,t,Sye,n?n.y:void 0,i?i.y:void 0)}function oB(e){return e.translate===0&&e.scale===1}function YW(e){return oB(e.x)&&oB(e.y)}function lB(e,t){return e.min===t.min&&e.max===t.max}function vye(e,t){return lB(e.x,t.x)&&lB(e.y,t.y)}function cB(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function GW(e,t){return cB(e.x,t.x)&&cB(e.y,t.y)}function uB(e){return fo(e.x)/fo(e.y)}function dB(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class wye{constructor(){this.members=[]}add(t){KL(this.members,t),t.scheduleRender()}remove(t){if(JL(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(r=>t===r);if(n===0)return!1;let i;for(let r=n;r>=0;r--){const s=this.members[r];if(s.isPresent!==!1){i=s;break}}return i?(this.promote(i),!0):!1}promote(t,n){const i=this.lead;if(t!==i&&(this.prevLead=i,this.lead=t,t.show(),i)){i.instance&&i.scheduleRender(),t.scheduleRender(),t.resumeFrom=i,n&&(t.resumeFrom.preserveOpacity=!0),i.snapshot&&(t.snapshot=i.snapshot,t.snapshot.latestValues=i.animationValues||i.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:r}=t.options;r===!1&&i.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:i}=t;n.onExitComplete&&n.onExitComplete(),i&&i.options.onExitComplete&&i.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function Eye(e,t,n){let i="";const r=e.x.translate/t.x,s=e.y.translate/t.y,a=(n==null?void 0:n.z)||0;if((r||s||a)&&(i=`translate3d(${r}px, ${s}px, ${a}px) `),(t.x!==1||t.y!==1)&&(i+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:u,rotate:d,rotateX:f,rotateY:h,skewX:p,skewY:m}=n;u&&(i=`perspective(${u}px) ${i}`),d&&(i+=`rotate(${d}deg) `),f&&(i+=`rotateX(${f}deg) `),h&&(i+=`rotateY(${h}deg) `),p&&(i+=`skewX(${p}deg) `),m&&(i+=`skewY(${m}deg) `)}const o=e.x.scale*t.x,l=e.y.scale*t.y;return(o!==1||l!==1)&&(i+=`scale(${o}, ${l})`),i||"none"}const nh={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},qO=typeof window<"u"&&window.MotionDebug!==void 0,A2=["","X","Y","Z"],kye={visibility:"hidden"},fB=1e3;let Tye=0;function N2(e,t,n,i){const{latestValues:r}=t;r[e]&&(n[e]=r[e],t.setStaticValue(e,0),i&&(i[e]=0))}function WW(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=JG(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:r,layoutId:s}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",Vi,!(r||s))}const{parent:i}=e;i&&!i.hasCheckedOptimisedAppear&&WW(i)}function ZW({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:i,resetTransform:r}){return class{constructor(a={},o=t==null?void 0:t()){this.id=Tye++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,qO&&(nh.totalNodes=nh.resolvedTargetDeltas=nh.recalculatedProjection=0),this.nodes.forEach(Nye),this.nodes.forEach(jye),this.nodes.forEach(Mye),this.nodes.forEach(Cye),qO&&window.MotionDebug.record(nh)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=o?o.root||o:this,this.path=o?[...o.path,o]:[],this.parent=o,this.depth=o?o.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=pye(h,250),Zv.hasAnimatedSinceResize&&(Zv.hasAnimatedSinceResize=!1,this.nodes.forEach(pB))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:h,hasRelativeTargetChanged:p,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||d.getDefaultTransition()||Bye,{onLayoutAnimationStart:y,onLayoutAnimationComplete:b}=d.getProps(),S=!this.targetLayout||!GW(this.targetLayout,m)||p,x=!h&&p;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||x||h&&(S||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,x);const v={...ZL(g,"layout"),onPlay:y,onComplete:b};(d.shouldReduceMotion||this.options.layoutRoot)&&(v.delay=0,v.type=!1),this.startAnimation(v)}else h||pB(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,cf(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Lye),this.animationId++)}getTransformTemplate(){const{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&WW(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;d{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const E=v/1e3;mB(f.x,a.x,E),mB(f.y,a.y,E),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Tb(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),$ye(this.relativeTarget,this.relativeTargetOrigin,h,E),x&&vye(this.relativeTarget,x)&&(this.isProjectionDirty=!1),x||(x=xr()),yo(x,this.relativeTarget)),g&&(this.animationValues=d,gye(d,u,this.latestValues,E,S,b)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=E},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(cf(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Vi.update(()=>{Zv.hasAnimatedSinceResize=!0,this.currentAnimation=uye(0,fB,{...a,onUpdate:o=>{this.mixTargetDelta(o),a.onUpdate&&a.onUpdate(o)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(fB),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:o,target:l,layout:u,latestValues:d}=a;if(!(!o||!l||!u)){if(this!==a&&this.layout&&u&&KW(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||xr();const f=fo(this.layout.layoutBox.x);l.x.min=a.target.x.min,l.x.max=l.x.min+f;const h=fo(this.layout.layoutBox.y);l.y.min=a.target.y.min,l.y.max=l.y.min+h}yo(o,l),Tm(o,d),kb(this.projectionDeltaWithTransform,this.layoutCorrected,o,d)}}registerSharedNode(a,o){this.sharedNodes.has(a)||this.sharedNodes.set(a,new wye),this.sharedNodes.get(a).add(o);const u=o.options.initialPromotionConfig;o.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(o):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var a;const{layoutId:o}=this.options;return o?((a=this.getStack())===null||a===void 0?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:o}=this.options;return o?(a=this.getStack())===null||a===void 0?void 0:a.prevLead:void 0}getStack(){const{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:o,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),a&&(this.projectionDelta=void 0,this.needsReset=!0),o&&this.setOptions({transition:o})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetSkewAndRotation(){const{visualElement:a}=this.options;if(!a)return;let o=!1;const{latestValues:l}=a;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(o=!0),!o)return;const u={};l.z&&N2("z",a,u,this.animationValues);for(let d=0;d{var o;return(o=a.currentAnimation)===null||o===void 0?void 0:o.stop()}),this.root.nodes.forEach(hB),this.root.sharedNodes.clear()}}}function _ye(e){e.updateLayout()}function Aye(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:i,measuredBox:r}=e.layout,{animationType:s}=e.options,a=n.source!==e.layout.source;s==="size"?xo(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],p=fo(h);h.min=i[f].min,h.max=h.min+p}):KW(s,n.layoutBox,i)&&xo(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],p=fo(i[f]);h.max=h.min+p,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+p)});const o=Em();kb(o,i,n.layoutBox);const l=Em();a?kb(l,e.applyTransform(r,!0),n.measuredBox):kb(l,i,n.layoutBox);const u=!YW(o);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:h,layout:p}=f;if(h&&p){const m=xr();Tb(m,n.layoutBox,h.layoutBox);const g=xr();Tb(g,i,p.layoutBox),GW(m,g)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=g,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:i,snapshot:n,delta:l,layoutDelta:o,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:i}=e.options;i&&i()}e.options.transition=void 0}function Nye(e){qO&&nh.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Cye(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Rye(e){e.clearSnapshot()}function hB(e){e.clearMeasurements()}function Iye(e){e.isLayoutDirty=!1}function Pye(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function pB(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function jye(e){e.resolveTargetDelta()}function Mye(e){e.calcProjection()}function Lye(e){e.resetSkewAndRotation()}function Dye(e){e.removeLeadSnapshot()}function mB(e,t,n){e.translate=sr(t.translate,0,n),e.scale=sr(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function gB(e,t,n,i){e.min=sr(t.min,n.min,i),e.max=sr(t.max,n.max,i)}function $ye(e,t,n,i){gB(e.x,t.x,n.x,i),gB(e.y,t.y,n.y,i)}function Qye(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const Bye={duration:.45,ease:[.4,0,.1,1]},OB=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),bB=OB("applewebkit/")&&!OB("chrome/")?Math.round:oo;function yB(e){e.min=bB(e.min),e.max=bB(e.max)}function Uye(e){yB(e.x),yB(e.y)}function KW(e,t,n){return e==="position"||e==="preserve-aspect"&&!Vbe(uB(t),uB(n),.2)}function zye(e){var t;return e!==e.root&&((t=e.scroll)===null||t===void 0?void 0:t.wasRoot)}const Fye=ZW({attachResizeListener:(e,t)=>xy(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),C2={current:void 0},JW=ZW({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!C2.current){const e=new Fye({});e.mount(window),e.setOptions({layoutScroll:!0}),C2.current=e}return C2.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),Vye={pan:{Feature:aye},drag:{Feature:sye,ProjectionNode:JW,MeasureLayout:XW}};function Xye(e,t,n){var i;if(e instanceof Element)return[e];if(typeof e=="string"){let r=document;const s=(i=void 0)!==null&&i!==void 0?i:r.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e)}function eZ(e,t){const n=Xye(e),i=new AbortController,r={passive:!0,...t,signal:i.signal};return[n,r,()=>i.abort()]}function xB(e){return t=>{t.pointerType==="touch"||MW()||e(t)}}function qye(e,t,n={}){const[i,r,s]=eZ(e,n),a=xB(o=>{const{target:l}=o,u=t(o);if(typeof u!="function"||!l)return;const d=xB(f=>{u(f),l.removeEventListener("pointerleave",d)});l.addEventListener("pointerleave",d,r)});return i.forEach(o=>{o.addEventListener("pointerenter",a,r)}),s}function SB(e,t,n){const{props:i}=e;e.animationState&&i.whileHover&&e.animationState.setActive("whileHover",n==="Start");const r="onHover"+n,s=i[r];s&&Vi.postRender(()=>s(t,Bx(t)))}class Hye extends Nf{mount(){const{current:t}=this.node;t&&(this.unmount=qye(t,n=>(SB(this.node,n,"Start"),i=>SB(this.node,i,"End"))))}unmount(){}}class Yye extends Nf{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Qx(xy(this.node.current,"focus",()=>this.onFocus()),xy(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const tZ=(e,t)=>t?e===t?!0:tZ(e,t.parentElement):!1,Gye=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Wye(e){return Gye.has(e.tagName)||e.tabIndex!==-1}const HO=new WeakSet;function vB(e){return t=>{t.key==="Enter"&&e(t)}}function R2(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const Zye=(e,t)=>{const n=e.currentTarget;if(!n)return;const i=vB(()=>{if(HO.has(n))return;R2(n,"down");const r=vB(()=>{R2(n,"up")}),s=()=>R2(n,"cancel");n.addEventListener("keyup",r,t),n.addEventListener("blur",s,t)});n.addEventListener("keydown",i,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",i),t)};function wB(e){return hD(e)&&!MW()}function Kye(e,t,n={}){const[i,r,s]=eZ(e,n),a=o=>{const l=o.currentTarget;if(!wB(o)||HO.has(l))return;HO.add(l);const u=t(o),d=(p,m)=>{window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",h),!(!wB(p)||!HO.has(l))&&(HO.delete(l),typeof u=="function"&&u(p,{success:m}))},f=p=>{d(p,n.useGlobalTarget||tZ(l,p.target))},h=p=>{d(p,!1)};window.addEventListener("pointerup",f,r),window.addEventListener("pointercancel",h,r)};return i.forEach(o=>{!Wye(o)&&o.getAttribute("tabindex")===null&&(o.tabIndex=0),(n.useGlobalTarget?window:o).addEventListener("pointerdown",a,r),o.addEventListener("focus",u=>Zye(u,r),r)}),s}function EB(e,t,n){const{props:i}=e;e.animationState&&i.whileTap&&e.animationState.setActive("whileTap",n==="Start");const r="onTap"+(n==="End"?"":n),s=i[r];s&&Vi.postRender(()=>s(t,Bx(t)))}class Jye extends Nf{mount(){const{current:t}=this.node;t&&(this.unmount=Kye(t,n=>(EB(this.node,n,"Start"),(i,{success:r})=>EB(this.node,i,r?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const LI=new WeakMap,I2=new WeakMap,exe=e=>{const t=LI.get(e.target);t&&t(e)},txe=e=>{e.forEach(exe)};function nxe({root:e,...t}){const n=e||document;I2.has(n)||I2.set(n,{});const i=I2.get(n),r=JSON.stringify(t);return i[r]||(i[r]=new IntersectionObserver(txe,{root:e,...t})),i[r]}function ixe(e,t,n){const i=nxe(t);return LI.set(e,n),i.observe(e),()=>{LI.delete(e),i.unobserve(e)}}const rxe={some:0,all:1};class sxe extends Nf{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:i,amount:r="some",once:s}=t,a={root:n?n.current:void 0,rootMargin:i,threshold:typeof r=="number"?r:rxe[r]},o=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,s&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),h=u?d:f;h&&h(l)};return ixe(this.node.current,a,o)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(axe(t,n))&&this.startObserver()}unmount(){}}function axe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const oxe={inView:{Feature:sxe},tap:{Feature:Jye},focus:{Feature:Yye},hover:{Feature:Hye}},lxe={layout:{ProjectionNode:JW,MeasureLayout:XW}},SE={current:null},pD={current:!1};function nZ(){if(pD.current=!0,!!DL)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>SE.current=e.matches;e.addListener(t),t()}else SE.current=!1}const cxe=[...wW,Ps,uf],uxe=e=>cxe.find(vW(e)),kB=new WeakMap;function dxe(e,t,n){for(const i in t){const r=t[i],s=n[i];if(Ms(r))e.addValue(i,r);else if(Ms(s))e.addValue(i,by(r,{owner:e}));else if(s!==r)if(e.hasValue(i)){const a=e.getValue(i);a.liveStyle===!0?a.jump(r):a.hasAnimated||a.set(r)}else{const a=e.getStaticValue(i);e.addValue(i,by(a!==void 0?a:r,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const TB=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class fxe{scrapeMotionValuesFromProps(t,n,i){return{}}constructor({parent:t,props:n,presenceContext:i,reducedMotionConfig:r,blockInitialAnimation:s,visualState:a},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=cD,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const p=pc.now();this.renderScheduledAtthis.bindToMotionValue(i,n)),pD.current||nZ(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:SE.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){kB.delete(this.current),this.projection&&this.projection.unmount(),cf(this.notifyUpdate),cf(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const n=this.features[t];n&&(n.unmount(),n.isMounted=!1)}this.current=null}bindToMotionValue(t,n){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const i=dp.has(t),r=n.on("change",o=>{this.latestValues[t]=o,this.props.onUpdate&&Vi.preRender(this.notifyUpdate),i&&this.projection&&(this.projection.isTransformDirty=!0)}),s=n.on("renderRequest",this.scheduleRender);let a;window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{r(),s(),a&&a(),n.owner&&n.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in Tg){const n=Tg[t];if(!n)continue;const{isEnabled:i,Feature:r}=n;if(!this.features[t]&&r&&i(this.props)&&(this.features[t]=new r(this)),this.features[t]){const s=this.features[t];s.isMounted?s.update():(s.mount(),s.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):xr()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let i=0;in.variantChildren.delete(t)}addValue(t,n){const i=this.values.get(t);n!==i&&(i&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let i=this.values.get(t);return i===void 0&&n!==void 0&&(i=by(n===null?void 0:n,{owner:this}),this.addValue(t,i)),i}readValue(t,n){var i;let r=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(i=this.getBaseTargetFromProps(this.props,t))!==null&&i!==void 0?i:this.readValueFromInstance(this.current,t,this.options);return r!=null&&(typeof r=="string"&&(xW(r)||dW(r))?r=parseFloat(r):!uxe(r)&&uf.test(n)&&(r=OW(t,n)),this.setBaseTarget(t,Ms(r)?r.get():r)),Ms(r)?r.get():r}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:i}=this.props;let r;if(typeof i=="string"||typeof i=="object"){const a=FL(this.props,i,(n=this.presenceContext)===null||n===void 0?void 0:n.custom);a&&(r=a[t])}if(i&&r!==void 0)return r;const s=this.getBaseTargetFromProps(this.props,t);return s!==void 0&&!Ms(s)?s:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new eD),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class iZ extends fxe{constructor(){super(...arguments),this.KeyframeResolver=EW}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:i}){delete n[t],delete i[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;Ms(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function hxe(e){return window.getComputedStyle(e)}class pxe extends iZ{constructor(){super(...arguments),this.type="html",this.renderInstance=VG}readValueFromInstance(t,n){if(dp.has(n)){const i=lD(n);return i&&i.default||0}else{const i=hxe(t),r=(UG(n)?i.getPropertyValue(n):i[n])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(t,{transformPagePoint:n}){return FW(t,n)}build(t,n,i){qL(t,n,i.transformTemplate)}scrapeMotionValuesFromProps(t,n,i){return WL(t,n,i)}}class mxe extends iZ{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=xr}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(dp.has(n)){const i=lD(n);return i&&i.default||0}return n=XG.has(n)?n:BL(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,i){return YG(t,n,i)}build(t,n,i){HL(t,n,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,i,r){qG(t,n,i,r)}mount(t){this.isSVGTag=GL(t.tagName),super.mount(t)}}const gxe=(e,t)=>zL(e)?new mxe(t):new pxe(t,{allowProjection:e!==O.Fragment}),Oxe=F0e({...jbe,...oxe,...Vye,...lxe},gxe),dr=r0e(Oxe);function bxe(){!pD.current&&nZ();const[e]=O.useState(SE.current);return e}function Hr(){return Hr=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||/ServerSideRendering/.test(navigator&&navigator.userAgent)?O.useEffect:O.useLayoutEffect;function Jp(e,t,n){var i=O.useRef(t);i.current=t,O.useEffect(function(){function r(s){i.current(s)}return e&&window.addEventListener(e,r,n),function(){e&&window.removeEventListener(e,r)}},[e])}var yxe=["container"];function xxe(e){var t=e.container,n=t===void 0?document.body:t,i=vT(e,yxe);return ar.createPortal(un.createElement("div",Hr({},i)),n)}function Sxe(e){return un.createElement("svg",Hr({width:"44",height:"44",viewBox:"0 0 768 768"},e),un.createElement("path",{d:"M607.5 205.5l-178.5 178.5 178.5 178.5-45 45-178.5-178.5-178.5 178.5-45-45 178.5-178.5-178.5-178.5 45-45 178.5 178.5 178.5-178.5z"}))}function vxe(e){return un.createElement("svg",Hr({width:"44",height:"44",viewBox:"0 0 768 768"},e),un.createElement("path",{d:"M640.5 352.5v63h-390l178.5 180-45 45-256.5-256.5 256.5-256.5 45 45-178.5 180h390z"}))}function wxe(e){return un.createElement("svg",Hr({width:"44",height:"44",viewBox:"0 0 768 768"},e),un.createElement("path",{d:"M384 127.5l256.5 256.5-256.5 256.5-45-45 178.5-180h-390v-63h390l-178.5-180z"}))}function Exe(){return O.useEffect(function(){var e=document.body.style,t=e.overflow;return e.overflow="hidden",function(){e.overflow=t}},[]),null}function AB(e){var t=e.touches[0],n=t.clientX,i=t.clientY;if(e.touches.length>=2){var r=e.touches[1],s=r.clientX,a=r.clientY;return[(n+s)/2,(i+a)/2,Math.sqrt(Math.pow(s-n,2)+Math.pow(a-i,2))]}return[n,i,0]}var vd=function(e,t,n,i){var r,s=n*t,a=(s-i)/2,o=e;return s<=i?(r=1,o=0):e>0&&a-e<=0?(r=2,o=a):e<0&&a+e<=0&&(r=3,o=-a),[r,o]};function P2(e,t,n,i,r,s,a,o,l,u){a===void 0&&(a=innerWidth/2),o===void 0&&(o=innerHeight/2),l===void 0&&(l=0),u===void 0&&(u=0);var d=vd(e,s,n,innerWidth)[0],f=vd(t,s,i,innerHeight),h=innerWidth/2,p=innerHeight/2;return{x:a-s/r*(a-(h+e))-h+(i/n>=3&&n*s===innerWidth?0:d?l/2:l),y:o-s/r*(o-(p+t))-p+(f[0]?u/2:u),lastCX:a,lastCY:o}}function QI(e,t,n){var i=e%180!=0;return i?[n,t,i]:[t,n,i]}function j2(e,t,n){var i=QI(n,innerWidth,innerHeight),r=i[0],s=i[1],a=0,o=r,l=s,u=e/t*s,d=t/e*r;return e=s?o=u:e>=r&&tr/s?l=d:t/e>=3&&!i[2]?a=((l=d)-s)/2:o=u,{width:o,height:l,x:0,y:a,pause:!0}}function OS(e,t){var n=t.leading,i=n!==void 0&&n,r=t.maxWait,s=t.wait,a=s===void 0?r||0:s,o=O.useRef(e);o.current=e;var l=O.useRef(0),u=O.useRef(),d=function(){return u.current&&clearTimeout(u.current)},f=O.useCallback(function(){var h=[].slice.call(arguments),p=Date.now();function m(){l.current=p,d(),o.current.apply(null,h)}var g=l.current,y=p-g;if(g===0&&(i&&m(),l.current=p),r!==void 0){if(y>r)return void m()}else y=1&&s&&s())};d()}function d(){l=requestAnimationFrame(u)}}var Txe={T:0,L:0,W:0,H:0,FIT:void 0},sZ=function(){var e=O.useRef(!1);return O.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),e},_xe=["className"];function Axe(e){var t=e.className,n=t===void 0?"":t,i=vT(e,_xe);return un.createElement("div",Hr({className:"PhotoView__Spinner "+n},i),un.createElement("svg",{viewBox:"0 0 32 32",width:"36",height:"36",fill:"white"},un.createElement("path",{opacity:".25",d:"M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4"}),un.createElement("path",{d:"M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"})))}var Nxe=["src","loaded","broken","className","onPhotoLoad","loadingElement","brokenElement"];function Cxe(e){var t=e.src,n=e.loaded,i=e.broken,r=e.className,s=e.onPhotoLoad,a=e.loadingElement,o=e.brokenElement,l=vT(e,Nxe),u=sZ();return t&&!i?un.createElement(un.Fragment,null,un.createElement("img",Hr({className:"PhotoView__Photo"+(r?" "+r:""),src:t,onLoad:function(d){var f=d.target;u.current&&s({loaded:!0,naturalWidth:f.naturalWidth,naturalHeight:f.naturalHeight})},onError:function(){u.current&&s({broken:!0})},draggable:!1,alt:""},l)),!n&&(a?un.createElement("span",{className:"PhotoView__icon"},a):un.createElement(Axe,{className:"PhotoView__icon"}))):o?un.createElement("span",{className:"PhotoView__icon"},typeof o=="function"?o({src:t}):o):null}var Rxe={naturalWidth:void 0,naturalHeight:void 0,width:void 0,height:void 0,loaded:void 0,broken:!1,x:0,y:0,touched:!1,maskTouched:!1,rotate:0,scale:1,CX:0,CY:0,lastX:0,lastY:0,lastCX:0,lastCY:0,lastScale:1,touchTime:0,touchLength:0,pause:!0,stopRaf:!0,reach:void 0};function Ixe(e){var t=e.item,n=t.src,i=t.render,r=t.width,s=r===void 0?0:r,a=t.height,o=a===void 0?0:a,l=t.originRef,u=e.visible,d=e.speed,f=e.easing,h=e.wrapClassName,p=e.className,m=e.style,g=e.loadingElement,y=e.brokenElement,b=e.onPhotoTap,S=e.onMaskTap,x=e.onReachMove,v=e.onReachUp,E=e.onPhotoResize,w=e.isActive,k=e.expose,_=vE(Rxe),C=_[0],A=_[1],R=O.useRef(0),j=sZ(),Q=C.naturalWidth,L=Q===void 0?s:Q,D=C.naturalHeight,N=D===void 0?o:D,M=C.width,B=M===void 0?s:M,$=C.height,I=$===void 0?o:$,G=C.loaded,X=G===void 0?!n:G,U=C.broken,Y=C.x,ae=C.y,fe=C.touched,ke=C.stopRaf,K=C.maskTouched,ie=C.rotate,le=C.scale,ge=C.CX,Ee=C.CY,Ce=C.lastX,_e=C.lastY,he=C.lastCX,te=C.lastCY,Te=C.lastScale,me=C.touchTime,Be=C.touchLength,je=C.pause,Ue=C.reach,st=Rh({onScale:function(Ae){return ct(gS(Ae))},onRotate:function(Ae){ie!==Ae&&(k({rotate:Ae}),A(Hr({rotate:Ae},j2(L,N,Ae))))}});function ct(Ae,qe,$e){le!==Ae&&(k({scale:Ae}),A(Hr({scale:Ae},P2(Y,ae,B,I,le,Ae,qe,$e),Ae<=1&&{x:0,y:0})))}var Tt=OS(function(Ae,qe,$e){if($e===void 0&&($e=0),(fe||K)&&w){var pn=QI(ie,B,I),bn=pn[0],It=pn[1];if($e===0&&R.current===0){var pe=Math.abs(Ae-ge)<=20,Qe=Math.abs(qe-Ee)<=20;if(pe&&Qe)return void A({lastCX:Ae,lastCY:qe});R.current=pe?qe>Ee?3:2:1}var yt,mn=Ae-he,wn=qe-te;if($e===0){var Jt=vd(mn+Ce,le,bn,innerWidth)[0],ui=vd(wn+_e,le,It,innerHeight);yt=function(xe,Ge,Nt,Kt){return Ge&&xe===1||Kt==="x"?"x":Nt&&xe>1||Kt==="y"?"y":void 0}(R.current,Jt,ui[0],Ue),yt!==void 0&&x(yt,Ae,qe,le)}if(yt==="x"||K)return void A({reach:"x"});var Fn=gS(le+($e-Be)/100/2*le,L/B,.2);k({scale:Fn}),A(Hr({touchLength:$e,reach:yt,scale:Fn},P2(Y,ae,B,I,le,Fn,Ae,qe,mn,wn)))}},{maxWait:8});function at(Ae){return!ke&&!fe&&(j.current&&A(Hr({},Ae,{pause:u})),j.current)}var q,oe,de,Ie,ce,Me,Ye,dt,Gt=(ce=function(Ae){return at({x:Ae})},Me=function(Ae){return at({y:Ae})},Ye=function(Ae){return j.current&&(k({scale:Ae}),A({scale:Ae})),!fe&&j.current},dt=Rh({X:function(Ae){return ce(Ae)},Y:function(Ae){return Me(Ae)},S:function(Ae){return Ye(Ae)}}),function(Ae,qe,$e,pn,bn,It,pe,Qe,yt,mn,wn){var Jt=QI(mn,bn,It),ui=Jt[0],Fn=Jt[1],xe=vd(Ae,Qe,ui,innerWidth),Ge=xe[0],Nt=xe[1],Kt=vd(qe,Qe,Fn,innerHeight),sn=Kt[0],Vn=Kt[1],xi=Date.now()-wn;if(xi>=200||Qe!==pe||Math.abs(yt-pe)>1){var di=P2(Ae,qe,bn,It,pe,Qe),Hn=di.x,En=di.y,Zn=Ge?Nt:Hn!==Ae?Hn:null,Si=sn?Vn:En!==qe?En:null;return Zn!==null&&lh(Ae,Zn,dt.X),Si!==null&&lh(qe,Si,dt.Y),void(Qe!==pe&&lh(pe,Qe,dt.S))}var Zt=(Ae-$e)/xi,Yn=(qe-pn)/xi,mr=Math.sqrt(Math.pow(Zt,2)+Math.pow(Yn,2)),er=!1,gn=!1;(function(Li,kn){var fn,Di=Li,Ft=0,vi=0,Kn=function(Ai){fn||(fn=Ai);var ms=Ai-fn,Fs=Math.sign(Li),Kr=-.001*Fs,gr=Math.sign(-Di)*Math.pow(Di,2)*2e-4,Ur=Di*ms+(Kr+gr)*Math.pow(ms,2)/2;Ft+=Ur,fn=Ai,Fs*(Di+=(Kr+gr)*ms)<=0?Vt():kn(Ft)?$i():Vt()};function $i(){vi=requestAnimationFrame(Kn)}function Vt(){cancelAnimationFrame(vi)}$i()})(mr,function(Li){var kn=Ae+Li*(Zt/mr),fn=qe+Li*(Yn/mr),Di=vd(kn,pe,ui,innerWidth),Ft=Di[0],vi=Di[1],Kn=vd(fn,pe,Fn,innerHeight),$i=Kn[0],Vt=Kn[1];if(Ft&&!er&&(er=!0,Ge?lh(kn,vi,dt.X):NB(vi,kn+(kn-vi),dt.X)),$i&&!gn&&(gn=!0,sn?lh(fn,Vt,dt.Y):NB(Vt,fn+(fn-Vt),dt.Y)),er&&gn)return!1;var Ai=er||dt.X(vi),ms=gn||dt.Y(Vt);return Ai&&ms})}),Ct=(q=b,oe=function(Ae,qe){Ue||ct(le!==1?1:Math.max(2,L/B),Ae,qe)},de=O.useRef(0),Ie=OS(function(){de.current=0,q.apply(void 0,[].slice.call(arguments))},{wait:300}),function(){var Ae=[].slice.call(arguments);de.current+=1,Ie.apply(void 0,Ae),de.current>=2&&(Ie.cancel(),de.current=0,oe.apply(void 0,Ae))});function Dt(Ae,qe){if(R.current=0,(fe||K)&&w){A({touched:!1,maskTouched:!1,pause:!1,stopRaf:!1,reach:void 0});var $e=gS(le,L/B);if(Gt(Y,ae,Ce,_e,B,I,le,$e,Te,ie,me),v(Ae,qe),ge===Ae&&Ee===qe){if(fe)return void Ct(Ae,qe);K&&S(Ae,qe)}}}function vt(Ae,qe,$e){$e===void 0&&($e=0),A({touched:!0,CX:Ae,CY:qe,lastCX:Ae,lastCY:qe,lastX:Y,lastY:ae,lastScale:le,touchLength:$e,touchTime:Date.now()})}function Wt(Ae){A({maskTouched:!0,CX:Ae.clientX,CY:Ae.clientY,lastX:Y,lastY:ae})}Jp(Gc?void 0:"mousemove",function(Ae){Ae.preventDefault(),Tt(Ae.clientX,Ae.clientY)}),Jp(Gc?void 0:"mouseup",function(Ae){Dt(Ae.clientX,Ae.clientY)}),Jp(Gc?"touchmove":void 0,function(Ae){Ae.preventDefault();var qe=AB(Ae);Tt.apply(void 0,qe)},{passive:!1}),Jp(Gc?"touchend":void 0,function(Ae){var qe=Ae.changedTouches[0];Dt(qe.clientX,qe.clientY)},{passive:!1}),Jp("resize",OS(function(){X&&!fe&&(A(j2(L,N,ie)),E())},{maxWait:8})),$I(function(){w&&k(Hr({scale:le,rotate:ie},st))},[w]);var gt=function(Ae,qe,$e,pn,bn,It,pe,Qe,yt,mn){var wn=function(Hn,En,Zn,Si,Zt){var Yn=O.useRef(!1),mr=vE({lead:!0,scale:Zn}),er=mr[0],gn=er.lead,Li=er.scale,kn=mr[1],fn=OS(function(Di){try{return Zt(!0),kn({lead:!1,scale:Di}),Promise.resolve()}catch(Ft){return Promise.reject(Ft)}},{wait:Si});return $I(function(){Yn.current?(Zt(!1),kn({lead:!0}),fn(Zn)):Yn.current=!0},[Zn]),gn?[Hn*Li,En*Li,Zn/Li]:[Hn*Zn,En*Zn,1]}(It,pe,Qe,yt,mn),Jt=wn[0],ui=wn[1],Fn=wn[2],xe=function(Hn,En,Zn,Si,Zt){var Yn=O.useState(Txe),mr=Yn[0],er=Yn[1],gn=O.useState(0),Li=gn[0],kn=gn[1],fn=O.useRef(),Di=Rh({OK:function(){return Hn&&kn(4)}});function Ft(vi){Zt(!1),kn(vi)}return O.useEffect(function(){if(fn.current||(fn.current=Date.now()),Zn){if(function(vi,Kn){var $i=vi&&vi.current;if($i&&$i.nodeType===1){var Vt=$i.getBoundingClientRect();Kn({T:Vt.top,L:Vt.left,W:Vt.width,H:Vt.height,FIT:$i.tagName==="IMG"?getComputedStyle($i).objectFit:void 0})}}(En,er),Hn)return Date.now()-fn.current<250?(kn(1),requestAnimationFrame(function(){kn(2),requestAnimationFrame(function(){return Ft(3)})}),void setTimeout(Di.OK,Si)):void kn(4);Ft(5)}},[Hn,Zn]),[Li,mr]}(Ae,qe,$e,yt,mn),Ge=xe[0],Nt=xe[1],Kt=Nt.W,sn=Nt.FIT,Vn=innerWidth/2,xi=innerHeight/2,di=Ge<3||Ge>4;return[di?Kt?Nt.L:Vn:pn+(Vn-It*Qe/2),di?Kt?Nt.T:xi:bn+(xi-pe*Qe/2),Jt,di&&sn?Jt*(Nt.H/Kt):ui,Ge===0?Fn:di?Kt/(It*Qe)||.01:Fn,di?sn?1:0:1,Ge,sn]}(u,l,X,Y,ae,B,I,le,d,function(Ae){return A({pause:Ae})}),ft=gt[4],Rt=gt[6],rn="transform "+d+"ms "+f,ln={className:p,onMouseDown:Gc?void 0:function(Ae){Ae.stopPropagation(),Ae.button===0&&vt(Ae.clientX,Ae.clientY,0)},onTouchStart:Gc?function(Ae){Ae.stopPropagation(),vt.apply(void 0,AB(Ae))}:void 0,onWheel:function(Ae){if(!Ue){var qe=gS(le-Ae.deltaY/100/2,L/B);A({stopRaf:!0}),ct(qe,Ae.clientX,Ae.clientY)}},style:{width:gt[2]+"px",height:gt[3]+"px",opacity:gt[5],objectFit:Rt===4?void 0:gt[7],transform:ie?"rotate("+ie+"deg)":void 0,transition:Rt>2?rn+", opacity "+d+"ms ease, height "+(Rt<4?d/2:Rt>4?d:0)+"ms "+f:void 0}};return un.createElement("div",{className:"PhotoView__PhotoWrap"+(h?" "+h:""),style:m,onMouseDown:!Gc&&w?Wt:void 0,onTouchStart:Gc&&w?function(Ae){return Wt(Ae.touches[0])}:void 0},un.createElement("div",{className:"PhotoView__PhotoBox",style:{transform:"matrix("+ft+", 0, 0, "+ft+", "+gt[0]+", "+gt[1]+")",transition:fe||je?void 0:rn,willChange:w?"transform":void 0}},n?un.createElement(Cxe,Hr({src:n,loaded:X,broken:U},ln,{onPhotoLoad:function(Ae){A(Hr({},Ae,Ae.loaded&&j2(Ae.naturalWidth||0,Ae.naturalHeight||0,ie)))},loadingElement:g,brokenElement:y})):i&&i({attrs:ln,scale:ft,rotate:ie})))}var CB={x:0,touched:!1,pause:!1,lastCX:void 0,lastCY:void 0,bg:void 0,lastBg:void 0,overlay:!0,minimal:!0,scale:1,rotate:0};function Pxe(e){var t=e.loop,n=t===void 0?3:t,i=e.speed,r=e.easing,s=e.photoClosable,a=e.maskClosable,o=a===void 0||a,l=e.maskOpacity,u=l===void 0?1:l,d=e.pullClosable,f=d===void 0||d,h=e.bannerVisible,p=h===void 0||h,m=e.overlayRender,g=e.toolbarRender,y=e.className,b=e.maskClassName,S=e.photoClassName,x=e.photoWrapClassName,v=e.loadingElement,E=e.brokenElement,w=e.images,k=e.index,_=k===void 0?0:k,C=e.onIndexChange,A=e.visible,R=e.onClose,j=e.afterClose,Q=e.portalContainer,L=vE(CB),D=L[0],N=L[1],M=O.useState(0),B=M[0],$=M[1],I=D.x,G=D.touched,X=D.pause,U=D.lastCX,Y=D.lastCY,ae=D.bg,fe=ae===void 0?u:ae,ke=D.lastBg,K=D.overlay,ie=D.minimal,le=D.scale,ge=D.rotate,Ee=D.onScale,Ce=D.onRotate,_e=e.hasOwnProperty("index"),he=_e?_:B,te=_e?C:$,Te=O.useRef(he),me=w.length,Be=w[he],je=typeof n=="boolean"?n:me>n,Ue=function(ft,Rt){var rn=O.useReducer(function($e){return!$e},!1)[1],ln=O.useRef(0),Ae=function($e){var pn=O.useRef($e);function bn(It){pn.current=It}return O.useMemo(function(){(function(It){ft?(It(ft),ln.current=1):ln.current=2})(bn)},[$e]),[pn.current,bn]}(ft),qe=Ae[1];return[Ae[0],ln.current,function(){rn(),ln.current===2&&(qe(!1),Rt&&Rt()),ln.current=0}]}(A,j),st=Ue[0],ct=Ue[1],Tt=Ue[2];$I(function(){if(st)return N({pause:!0,x:he*-(innerWidth+Rp)}),void(Te.current=he);N(CB)},[st]);var at=Rh({close:function(ft){Ce&&Ce(0),N({overlay:!0,lastBg:fe}),R(ft)},changeIndex:function(ft,Rt){Rt===void 0&&(Rt=!1);var rn=je?Te.current+(ft-he):ft,ln=me-1,Ae=DI(rn,0,ln),qe=je?rn:Ae,$e=innerWidth+Rp;N({touched:!1,lastCX:void 0,lastCY:void 0,x:-$e*qe,pause:Rt}),Te.current=qe,te&&te(je?ft<0?ln:ft>ln?0:ft:Ae)}}),q=at.close,oe=at.changeIndex;function de(ft){return ft?q():N({overlay:!K})}function Ie(){N({x:-(innerWidth+Rp)*he,lastCX:void 0,lastCY:void 0,pause:!0}),Te.current=he}function ce(ft,Rt,rn,ln){ft==="x"?function(Ae){if(U!==void 0){var qe=Ae-U,$e=qe;!je&&(he===0&&qe>0||he===me-1&&qe<0)&&($e=qe/2),N({touched:!0,lastCX:U,x:-(innerWidth+Rp)*Te.current+$e,pause:!1})}else N({touched:!0,lastCX:Ae,x:I,pause:!1})}(Rt):ft==="y"&&function(Ae,qe){if(Y!==void 0){var $e=u===null?null:DI(u,.01,u-Math.abs(Ae-Y)/100/4);N({touched:!0,lastCY:Y,bg:qe===1?$e:u,minimal:qe===1})}else N({touched:!0,lastCY:Ae,bg:fe,minimal:!0})}(rn,ln)}function Me(ft,Rt){var rn=ft-(U??ft),ln=Rt-(Y??Rt),Ae=!1;if(rn<-40)oe(he+1);else if(rn>40)oe(he-1);else{var qe=-(innerWidth+Rp)*Te.current;Math.abs(ln)>100&&ie&&f&&(Ae=!0,q()),N({touched:!1,x:qe,lastCX:void 0,lastCY:void 0,bg:u,overlay:!!Ae||K})}}Jp("keydown",function(ft){if(A)switch(ft.key){case"ArrowLeft":oe(he-1,!0);break;case"ArrowRight":oe(he+1,!0);break;case"Escape":q()}});var Ye=function(ft,Rt,rn){return O.useMemo(function(){var ln=ft.length;return rn?ft.concat(ft).concat(ft).slice(ln+Rt-1,ln+Rt+2):ft.slice(Math.max(Rt-1,0),Math.min(Rt+2,ln+1))},[ft,Rt,rn])}(w,he,je);if(!st)return null;var dt=K&&!ct,Gt=A?fe:ke,Ct=Ee&&Ce&&{images:w,index:he,visible:A,onClose:q,onIndexChange:oe,overlayVisible:dt,overlay:Be&&Be.overlay,scale:le,rotate:ge,onScale:Ee,onRotate:Ce},Dt=i?i(ct):400,vt=r?r(ct):_B,Wt=i?i(3):600,gt=r?r(3):_B;return un.createElement(xxe,{className:"PhotoView-Portal"+(dt?"":" PhotoView-Slider__clean")+(A?"":" PhotoView-Slider__willClose")+(y?" "+y:""),role:"dialog",onClick:function(ft){return ft.stopPropagation()},container:Q},A&&un.createElement(Exe,null),un.createElement("div",{className:"PhotoView-Slider__Backdrop"+(b?" "+b:"")+(ct===1?" PhotoView-Slider__fadeIn":ct===2?" PhotoView-Slider__fadeOut":""),style:{background:Gt?"rgba(0, 0, 0, "+Gt+")":void 0,transitionTimingFunction:vt,transitionDuration:(G?0:Dt)+"ms",animationDuration:Dt+"ms"},onAnimationEnd:Tt}),p&&un.createElement("div",{className:"PhotoView-Slider__BannerWrap"},un.createElement("div",{className:"PhotoView-Slider__Counter"},he+1," / ",me),un.createElement("div",{className:"PhotoView-Slider__BannerRight"},g&&Ct&&g(Ct),un.createElement(Sxe,{className:"PhotoView-Slider__toolbarIcon",onClick:q}))),Ye.map(function(ft,Rt){var rn=je||he!==0?Te.current-1+Rt:he+Rt;return un.createElement(Ixe,{key:je?ft.key+"/"+ft.src+"/"+rn:ft.key,item:ft,speed:Dt,easing:vt,visible:A,onReachMove:ce,onReachUp:Me,onPhotoTap:function(){return de(s)},onMaskTap:function(){return de(o)},wrapClassName:x,className:S,style:{left:(innerWidth+Rp)*rn+"px",transform:"translate3d("+I+"px, 0px, 0)",transition:G||X?void 0:"transform "+Wt+"ms "+gt},loadingElement:v,brokenElement:E,onPhotoResize:Ie,isActive:Te.current===rn,expose:N})}),!Gc&&p&&un.createElement(un.Fragment,null,(je||he!==0)&&un.createElement("div",{className:"PhotoView-Slider__ArrowLeft",onClick:function(){return oe(he-1,!0)}},un.createElement(vxe,null)),(je||he+1-1){var b=u.slice();return b.splice(y,1,g),void o({images:b})}o(function(S){return{images:S.images.concat(g)}})},remove:function(g){o(function(y){var b=y.images.filter(function(S){return S.key!==g});return{images:b,index:Math.min(b.length-1,f)}})},show:function(g){var y=u.findIndex(function(b){return b.key===g});o({visible:!0,index:y}),i&&i(!0,y,a)}}),p=Rh({close:function(){o({visible:!1}),i&&i(!1,f,a)},changeIndex:function(g){o({index:g}),n&&n(g,a)}}),m=O.useMemo(function(){return Hr({},a,h)},[a,h]);return un.createElement(rZ.Provider,{value:m},t,un.createElement(Pxe,Hr({images:u,visible:d,index:f,onIndexChange:p.changeIndex,onClose:p.close},r)))}var aZ=function(e){var t,n,i=e.src,r=e.render,s=e.overlay,a=e.width,o=e.height,l=e.triggers,u=l===void 0?["onClick"]:l,d=e.children,f=O.useContext(rZ),h=(t=function(){return f.nextId()},(n=O.useRef({sign:!1,fn:void 0}).current).sign||(n.sign=!0,n.fn=t()),n.fn),p=O.useRef(null);O.useImperativeHandle(d==null?void 0:d.ref,function(){return p.current}),O.useEffect(function(){return function(){f.remove(h)}},[]);var m=Rh({render:function(y){return r&&r(y)},show:function(y,b){f.show(h),function(S,x){if(d){var v=d.props[S];v&&v(x)}}(y,b)}}),g=O.useMemo(function(){var y={};return u.forEach(function(b){y[b]=m.show.bind(null,b)}),y},[]);return O.useEffect(function(){f.update({key:h,src:i,originRef:p,render:m.render,overlay:s,width:a,height:o})},[i]),d?O.Children.only(O.cloneElement(d,Hr({},g,{ref:p}))):null};const Dxe=e=>c.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:c.jsx("path",{fillRule:"evenodd",d:"M4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2Zm4.465 6.763a1 1 0 0 0-1.228-1.228l-5.5 1.5a1 1 0 0 0-.702.702l-1.5 5.5a1 1 0 0 0 1.228 1.228l5.5-1.5a1 1 0 0 0 .702-.702l1.5-5.5Zm-6.54 5.312.89-3.26 3.26-.89-.89 3.26-3.26.89Z",clipRule:"evenodd"})}),$xe=e=>c.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:c.jsx("path",{d:"M11.2929 3.29289C11.6834 2.90237 12.3166 2.90237 12.7071 3.29289L16.7071 7.29289C17.0976 7.68342 17.0976 8.31658 16.7071 8.70711C16.3166 9.09763 15.6834 9.09763 15.2929 8.70711L13 6.41421V15C13 15.5523 12.5523 16 12 16C11.4477 16 11 15.5523 11 15V6.41421L8.70711 8.70711C8.31658 9.09763 7.68342 9.09763 7.29289 8.70711C6.90237 8.31658 6.90237 7.68342 7.29289 7.29289L11.2929 3.29289ZM4 14C4.55229 14 5 14.4477 5 15V15.2C5 16.0566 5.00078 16.6389 5.03755 17.089C5.07337 17.5274 5.1383 17.7516 5.21799 17.908C5.40973 18.2843 5.7157 18.5903 6.09202 18.782C6.24842 18.8617 6.47262 18.9266 6.91104 18.9624C7.36113 18.9992 7.94342 19 8.8 19H15.2C16.0566 19 16.6389 18.9992 17.089 18.9624C17.5274 18.9266 17.7516 18.8617 17.908 18.782C18.2843 18.5903 18.5903 18.2843 18.782 17.908C18.8617 17.7516 18.9266 17.5274 18.9624 17.089C18.9992 16.6389 19 16.0566 19 15.2V15C19 14.4477 19.4477 14 20 14C20.5523 14 21 14.4477 21 15V15.2413C21 16.0463 21 16.7106 20.9558 17.2518C20.9099 17.8139 20.8113 18.3306 20.564 18.816C20.1805 19.5686 19.5686 20.1805 18.816 20.564C18.3306 20.8113 17.8139 20.9099 17.2518 20.9558C16.7106 21 16.0463 21 15.2413 21H8.75868C7.95372 21 7.28936 21 6.74817 20.9558C6.18608 20.9099 5.66937 20.8113 5.18404 20.564C4.43139 20.1805 3.81947 19.5686 3.43597 18.816C3.18868 18.3306 3.09012 17.8139 3.04419 17.2518C2.99998 16.7106 2.99999 16.0463 3 15.2413L3 15C3 14.4477 3.44772 14 4 14Z",fill:"currentColor"})}),Kv=e=>c.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:c.jsx("path",{d:"M8.99805 16.796C8.99805 15.4164 7.87961 14.2979 6.5 14.2979C5.12039 14.2979 4.00195 15.4164 4.00195 16.796C4.00196 18.1756 5.1204 19.294 6.5 19.294C7.8796 19.294 8.99804 18.1756 8.99805 16.796ZM19.748 15.0479C19.748 14.7729 19.525 14.5499 19.25 14.5499H15.75C15.475 14.5499 15.252 14.7729 15.252 15.0479V18.5479C15.252 18.823 15.475 19.046 15.75 19.046H19.25C19.525 19.046 19.748 18.823 19.748 18.5479V15.0479ZM10.0469 3.45125C11.077 2.15921 13.0849 2.20276 14.0498 3.58113L16.4189 6.96492L16.5205 7.12215C17.5046 8.76341 16.3301 10.9023 14.3691 10.9024H9.63086C7.60676 10.9023 6.42029 8.62316 7.58105 6.96492L9.9502 3.58113L10.0469 3.45125ZM12.4082 4.73055C12.2223 4.46497 11.842 4.44826 11.6318 4.68074L11.5918 4.73055L9.22266 8.11433C8.99176 8.44435 9.22808 8.89744 9.63086 8.89754H14.3691C14.7468 8.89745 14.9774 8.49957 14.8145 8.17781L14.7773 8.11433L12.4082 4.73055ZM11.002 16.796C11.0019 19.2824 8.98638 21.2979 6.5 21.2979C4.01362 21.2979 1.99806 19.2824 1.99805 16.796C1.99805 14.3096 4.01361 12.294 6.5 12.294C8.98639 12.294 11.002 14.3096 11.002 16.796ZM21.752 18.5479C21.752 19.9297 20.6318 21.0499 19.25 21.0499H15.75C14.3682 21.0499 13.248 19.9297 13.248 18.5479V15.0479C13.2481 13.6662 14.3682 12.546 15.75 12.546H19.25C20.6318 12.546 21.7519 13.6662 21.752 15.0479V18.5479Z",fill:"currentColor"})});/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Dxe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),sZ=(...e)=>e.filter((t,n,i)=>!!t&&t.trim()!==""&&i.indexOf(t)===n).join(" ").trim();/** + */const Qxe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),oZ=(...e)=>e.filter((t,n,i)=>!!t&&t.trim()!==""&&i.indexOf(t)===n).join(" ").trim();/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var $xe={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"};/** + */var Bxe={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"};/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Qxe=O.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:i,className:r="",children:s,iconNode:a,...o},l)=>O.createElement("svg",{ref:l,...$xe,width:t,height:t,stroke:e,strokeWidth:i?Number(n)*24/Number(t):n,className:sZ("lucide",r),...o},[...a.map(([u,d])=>O.createElement(u,d)),...Array.isArray(s)?s:[s]]));/** + */const Uxe=O.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:i,className:r="",children:s,iconNode:a,...o},l)=>O.createElement("svg",{ref:l,...Bxe,width:t,height:t,stroke:e,strokeWidth:i?Number(n)*24/Number(t):n,className:oZ("lucide",r),...o},[...a.map(([u,d])=>O.createElement(u,d)),...Array.isArray(s)?s:[s]]));/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const bt=(e,t)=>{const n=O.forwardRef(({className:i,...r},s)=>O.createElement(Qxe,{ref:s,iconNode:t,className:sZ(`lucide-${Dxe(e)}`,i),...r}));return n.displayName=`${e}`,n};/** + */const bt=(e,t)=>{const n=O.forwardRef(({className:i,...r},s)=>O.createElement(Uxe,{ref:s,iconNode:t,className:oZ(`lucide-${Qxe(e)}`,i),...r}));return n.displayName=`${e}`,n};/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const aZ=bt("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** + */const lZ=bt("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Bxe=bt("ArrowRightLeft",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]]);/** + */const zxe=bt("ArrowRightLeft",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -95,22 +95,22 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Uxe=bt("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** + */const Fxe=bt("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const oZ=bt("AtSign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]);/** + */const cZ=bt("AtSign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lZ=bt("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** + */const uZ=bt("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const zxe=bt("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** + */const Vxe=bt("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -120,22 +120,22 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Fxe=bt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const Xxe=bt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const p0=bt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + */const m0=bt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cZ=bt("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** + */const dZ=bt("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Vxe=bt("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const qxe=bt("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -145,12 +145,12 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Xxe=bt("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);/** + */const Hxe=bt("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const uZ=bt("CodeXml",[["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"}]]);/** + */const fZ=bt("CodeXml",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -160,12 +160,12 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const qxe=bt("CornerDownRight",[["polyline",{points:"15 10 20 15 15 20",key:"1q7qjw"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);/** + */const Yxe=bt("CornerDownRight",[["polyline",{points:"15 10 20 15 15 20",key:"1q7qjw"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Hxe=bt("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/** + */const Gxe=bt("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -185,12 +185,12 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ag=bt("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** + */const Ng=bt("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Yxe=bt("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + */const Wxe=bt("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -200,12 +200,12 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Gxe=bt("FileDown",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]]);/** + */const Zxe=bt("FileDown",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Wxe=bt("FilePlus",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]);/** + */const Kxe=bt("FilePlus",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -215,22 +215,22 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Zxe=bt("FileType2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M2 13v-1h6v1",key:"1dh9dg"}],["path",{d:"M5 12v6",key:"150t9c"}],["path",{d:"M4 18h2",key:"1xrofg"}]]);/** + */const Jxe=bt("FileType2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M2 13v-1h6v1",key:"1dh9dg"}],["path",{d:"M5 12v6",key:"150t9c"}],["path",{d:"M4 18h2",key:"1xrofg"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const dZ=bt("FileVideo2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["rect",{width:"8",height:"6",x:"2",y:"12",rx:"1",key:"1a6c1e"}],["path",{d:"m10 15.5 4 2.5v-6l-4 2.5",key:"t7cp39"}]]);/** + */const hZ=bt("FileVideo2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["rect",{width:"8",height:"6",x:"2",y:"12",rx:"1",key:"1a6c1e"}],["path",{d:"m10 15.5 4 2.5v-6l-4 2.5",key:"t7cp39"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Kxe=bt("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);/** + */const e1e=bt("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Jxe=bt("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]]);/** + */const t1e=bt("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -240,17 +240,17 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const fZ=bt("Folder",[["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"}]]);/** + */const pZ=bt("Folder",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const e1e=bt("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** + */const n1e=bt("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const t1e=bt("Github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);/** + */const i1e=bt("Github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -265,17 +265,17 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Uu=bt("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** + */const zu=bt("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const hZ=bt("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/** + */const mZ=bt("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const n1e=bt("ListOrdered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]);/** + */const r1e=bt("ListOrdered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -285,12 +285,12 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const i1e=bt("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);/** + */const s1e=bt("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const r1e=bt("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/** + */const a1e=bt("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -300,42 +300,42 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const s1e=bt("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** + */const o1e=bt("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const pZ=bt("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** + */const gZ=bt("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const a1e=bt("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** + */const l1e=bt("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const o1e=bt("MonitorPlay",[["path",{d:"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z",key:"1pctta"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",key:"x3v2xh"}]]);/** + */const c1e=bt("MonitorPlay",[["path",{d:"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z",key:"1pctta"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",key:"x3v2xh"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const l1e=bt("PanelLeftClose",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);/** + */const u1e=bt("PanelLeftClose",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const c1e=bt("PanelLeftOpen",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);/** + */const d1e=bt("PanelLeftOpen",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const u1e=bt("Pencil",[["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"}]]);/** + */const f1e=bt("Pencil",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const d1e=bt("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** + */const h1e=bt("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -345,22 +345,22 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const f1e=bt("RefreshCw",[["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"}]]);/** + */const p1e=bt("RefreshCw",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const mZ=bt("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** + */const OZ=bt("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const h1e=bt("Rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);/** + */const m1e=bt("Rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const p1e=bt("RotateCcw",[["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"}]]);/** + */const g1e=bt("RotateCcw",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -370,7 +370,7 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const m1e=bt("Shapes",[["path",{d:"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z",key:"1bo67w"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}],["circle",{cx:"17.5",cy:"17.5",r:"3.5",key:"w3z12y"}]]);/** + */const O1e=bt("Shapes",[["path",{d:"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z",key:"1bo67w"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}],["circle",{cx:"17.5",cy:"17.5",r:"3.5",key:"w3z12y"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -385,7 +385,7 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const g1e=bt("Split",[["path",{d:"M16 3h5v5",key:"1806ms"}],["path",{d:"M8 3H3v5",key:"15dfkv"}],["path",{d:"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3",key:"1qrqzj"}],["path",{d:"m15 9 6-6",key:"ko1vev"}]]);/** + */const b1e=bt("Split",[["path",{d:"M16 3h5v5",key:"1806ms"}],["path",{d:"M8 3H3v5",key:"15dfkv"}],["path",{d:"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3",key:"1qrqzj"}],["path",{d:"m15 9 6-6",key:"ko1vev"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -395,34 +395,34 @@ Error generating stack: `+i.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const O1e=bt("TriangleAlert",[["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"}]]);/** + */const y1e=bt("TriangleAlert",[["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"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const b1e=bt("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** + */const x1e=bt("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const aa=bt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),MB="veadk_auth_qs";let fO=null;function y1e(){if(fO!==null)return fO;const t=new URLSearchParams(window.location.search).toString();return t?(sessionStorage.setItem(MB,t),fO=t):fO=sessionStorage.getItem(MB)??"",window.location.search&&window.history.replaceState(null,"",window.location.pathname+window.location.hash),fO}function Xn(e){const t=y1e();if(!t)return e;const n=new URL(e,window.location.origin);return new URLSearchParams(t).forEach((i,r)=>{n.searchParams.has(r)||n.searchParams.set(r,i)}),/^https?:\/\//i.test(e)?n.toString():n.pathname+n.search+n.hash}const Tl=3e4,oa=12e4,bD=1e4;function Gn(e,t=Tl){if(t<=0)return e??void 0;const n=AbortSignal.timeout(t);return e?AbortSignal.any([e,n]):n}const EE="veadk_local_user",kE="veadk_local_user_tab",x1e=/^[A-Za-z0-9]{1,16}$/;function gZ(){try{const e=sessionStorage.getItem(kE);if(e)return e;const t=localStorage.getItem(EE);return t&&sessionStorage.setItem(kE,t),t}catch{try{return localStorage.getItem(EE)}catch{return null}}}function LB(e){try{sessionStorage.setItem(kE,e)}catch{}try{localStorage.setItem(EE,e)}catch{}}function S1e(){try{sessionStorage.removeItem(kE)}catch{}try{localStorage.removeItem(EE)}catch{}}function m0(e){const t=new Headers(e),n=gZ();return n&&t.set("X-VeADK-Local-User",n),t}async function OZ(){let e;try{e=await fetch("/web/auth-config",{headers:{Accept:"application/json"},signal:Gn(void 0,bD)})}catch(t){throw console.warn("[identity] /web/auth-config is unreachable:",t),new Error("无法加载登录配置,请检查网络后重试。")}if(!e.ok)throw new Error(`登录配置服务异常(HTTP ${e.status}),请稍后重试。`);try{const t=await e.json();if(!Array.isArray(t.providers))throw new TypeError("providers is not an array");return t.providers}catch(t){throw console.warn("[identity] /web/auth-config returned an invalid response:",t),new Error("登录配置服务返回了无法解析的响应,请稍后重试。")}}function v1e(e){const t=window.location.pathname+window.location.search+window.location.hash,n=e.includes("?")?"&":"?";window.location.assign(`${e}${n}redirect=${encodeURIComponent(t)}`)}function w1e(){const e=window.location.pathname+window.location.search+window.location.hash,t=window.open("about:blank","_blank","popup,width=520,height=720");if(!t)return null;try{t.opener=null,t.location.replace(`/oauth2/login?redirect=${encodeURIComponent(e)}`)}catch{return t.close(),null}return t}async function E1e(){const[e,t]=await Promise.all([BI(),OZ()]);return e.status==="unauthenticated"&&t.length>0}function k1e(){window.location.assign("/oauth2/logout")}async function BI(){let e;try{e=await fetch("/oauth2/userinfo",{headers:{Accept:"application/json"},signal:Gn(void 0,bD)})}catch(n){throw console.warn("[identity] /oauth2/userinfo is unreachable:",n),new Error("无法连接身份服务,请检查网络后重试。")}if(e.ok){let n;try{n=await e.json()}catch(r){throw console.warn("[identity] /oauth2/userinfo returned a non-JSON response:",r),new Error("身份服务返回了无法解析的响应,请稍后重试。")}return{status:"authenticated",userId:String(n.sub??n.user_id??n.email??""),info:n}}if(e.status===401)return{status:"unauthenticated",userId:"",local:!1};if(e.status!==404)throw new Error(`身份服务异常(HTTP ${e.status}),请稍后重试。`);const t=gZ();return t?{status:"authenticated",userId:t,info:{name:t},local:!0}:{status:"unauthenticated",userId:"",local:!0}}function T1e(e){return e?String(e.name??e.preferred_username??e.email??e.sub??""):""}function _1e(e){const t=e==null?void 0:e.picture;return typeof t=="string"?t.trim():""}const UI="veadk:authentication-required";let Ab=null,YO=null;function A1e(e){if(!e.redirected||!e.url)return!1;try{const t=new URL(e.url);return t.pathname.includes("/authorize")||t.pathname.includes("/oauth2/login")||t.hostname.includes(".userpool.auth.")}catch{return!1}}function N1e(e){Ab||(Ab=new Promise(n=>{YO=n}),window.dispatchEvent(new Event(UI)));const t=Ab;return e?e.aborted?Promise.reject(e.reason??new Error("Request aborted")):new Promise((n,i)=>{const r=()=>i(e.reason??new Error("Request aborted"));e.addEventListener("abort",r,{once:!0}),t.then(()=>{e.removeEventListener("abort",r),n()},s=>{e.removeEventListener("abort",r),i(s)})}):t}function C1e(){return Ab!==null}function R1e(){YO==null||YO(),YO=null,Ab=null}async function TT(e,t){var i;const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失",s=n.trim().slice(0,2e3),a=s?` -响应:${s}`:"";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},${r})${a}`)}}const I1e=/\brun_sse\s*failed\s*:\s*404\b/i,P1e=/session not found/i,j1e=/(?:^|[::\s])not found\s*$/i,M1e=/Expecting (?:'[^']+'|\w+)(?: delimiter)?: line \d+ column \d+ \(char \d+\)/i,DB="提示:会话已不存在。使用 in-memory 或 SQLite 短期记忆时,多实例、进程重启或滚动发布都可能导致会话丢失;建议改用基于数据库的持久化短期记忆存储。",$B="提示:该 Runtime 未提供会话能力运行接口,可能是 Runtime 版本与当前 Studio 不兼容。",QB="提示:模型生成的工具参数格式不完整,请重新发送一次。";function bS(e){const t=String(e);return M1e.test(t)?t.includes(QB)?t:`${t} + */const aa=bt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),MB="veadk_auth_qs";let hO=null;function S1e(){if(hO!==null)return hO;const t=new URLSearchParams(window.location.search).toString();return t?(sessionStorage.setItem(MB,t),hO=t):hO=sessionStorage.getItem(MB)??"",window.location.search&&window.history.replaceState(null,"",window.location.pathname+window.location.hash),hO}function Xn(e){const t=S1e();if(!t)return e;const n=new URL(e,window.location.origin);return new URLSearchParams(t).forEach((i,r)=>{n.searchParams.has(r)||n.searchParams.set(r,i)}),/^https?:\/\//i.test(e)?n.toString():n.pathname+n.search+n.hash}const Tl=3e4,oa=12e4,bD=1e4;function Gn(e,t=Tl){if(t<=0)return e??void 0;const n=AbortSignal.timeout(t);return e?AbortSignal.any([e,n]):n}const EE="veadk_local_user",kE="veadk_local_user_tab",v1e=/^[A-Za-z0-9]{1,16}$/;function bZ(){try{const e=sessionStorage.getItem(kE);if(e)return e;const t=localStorage.getItem(EE);return t&&sessionStorage.setItem(kE,t),t}catch{try{return localStorage.getItem(EE)}catch{return null}}}function LB(e){try{sessionStorage.setItem(kE,e)}catch{}try{localStorage.setItem(EE,e)}catch{}}function w1e(){try{sessionStorage.removeItem(kE)}catch{}try{localStorage.removeItem(EE)}catch{}}function g0(e){const t=new Headers(e),n=bZ();return n&&t.set("X-VeADK-Local-User",n),t}async function yZ(){let e;try{e=await fetch("/web/auth-config",{headers:{Accept:"application/json"},signal:Gn(void 0,bD)})}catch(t){throw console.warn("[identity] /web/auth-config is unreachable:",t),new Error("无法加载登录配置,请检查网络后重试。")}if(!e.ok)throw new Error(`登录配置服务异常(HTTP ${e.status}),请稍后重试。`);try{const t=await e.json();if(!Array.isArray(t.providers))throw new TypeError("providers is not an array");return t.providers}catch(t){throw console.warn("[identity] /web/auth-config returned an invalid response:",t),new Error("登录配置服务返回了无法解析的响应,请稍后重试。")}}function E1e(e){const t=window.location.pathname+window.location.search+window.location.hash,n=e.includes("?")?"&":"?";window.location.assign(`${e}${n}redirect=${encodeURIComponent(t)}`)}function k1e(){const e=window.location.pathname+window.location.search+window.location.hash,t=window.open("about:blank","_blank","popup,width=520,height=720");if(!t)return null;try{t.opener=null,t.location.replace(`/oauth2/login?redirect=${encodeURIComponent(e)}`)}catch{return t.close(),null}return t}async function T1e(){const[e,t]=await Promise.all([BI(),yZ()]);return e.status==="unauthenticated"&&t.length>0}function _1e(){window.location.assign("/oauth2/logout")}async function BI(){let e;try{e=await fetch("/oauth2/userinfo",{headers:{Accept:"application/json"},signal:Gn(void 0,bD)})}catch(n){throw console.warn("[identity] /oauth2/userinfo is unreachable:",n),new Error("无法连接身份服务,请检查网络后重试。")}if(e.ok){let n;try{n=await e.json()}catch(r){throw console.warn("[identity] /oauth2/userinfo returned a non-JSON response:",r),new Error("身份服务返回了无法解析的响应,请稍后重试。")}return{status:"authenticated",userId:String(n.sub??n.user_id??n.email??""),info:n}}if(e.status===401)return{status:"unauthenticated",userId:"",local:!1};if(e.status!==404)throw new Error(`身份服务异常(HTTP ${e.status}),请稍后重试。`);const t=bZ();return t?{status:"authenticated",userId:t,info:{name:t},local:!0}:{status:"unauthenticated",userId:"",local:!0}}function A1e(e){return e?String(e.name??e.preferred_username??e.email??e.sub??""):""}function N1e(e){const t=e==null?void 0:e.picture;return typeof t=="string"?t.trim():""}const UI="veadk:authentication-required";let Ab=null,YO=null;function C1e(e){if(!e.redirected||!e.url)return!1;try{const t=new URL(e.url);return t.pathname.includes("/authorize")||t.pathname.includes("/oauth2/login")||t.hostname.includes(".userpool.auth.")}catch{return!1}}function R1e(e){Ab||(Ab=new Promise(n=>{YO=n}),window.dispatchEvent(new Event(UI)));const t=Ab;return e?e.aborted?Promise.reject(e.reason??new Error("Request aborted")):new Promise((n,i)=>{const r=()=>i(e.reason??new Error("Request aborted"));e.addEventListener("abort",r,{once:!0}),t.then(()=>{e.removeEventListener("abort",r),n()},s=>{e.removeEventListener("abort",r),i(s)})}):t}function I1e(){return Ab!==null}function P1e(){YO==null||YO(),YO=null,Ab=null}async function TT(e,t){var i;const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失",s=n.trim().slice(0,2e3),a=s?` +响应:${s}`:"";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},${r})${a}`)}}const j1e=/\brun_sse\s*failed\s*:\s*404\b/i,M1e=/session not found/i,L1e=/(?:^|[::\s])not found\s*$/i,D1e=/Expecting (?:'[^']+'|\w+)(?: delimiter)?: line \d+ column \d+ \(char \d+\)/i,DB="提示:会话已不存在。使用 in-memory 或 SQLite 短期记忆时,多实例、进程重启或滚动发布都可能导致会话丢失;建议改用基于数据库的持久化短期记忆存储。",$B="提示:该 Runtime 未提供会话能力运行接口,可能是 Runtime 版本与当前 Studio 不兼容。",QB="提示:模型生成的工具参数格式不完整,请重新发送一次。";function bS(e){const t=String(e);return D1e.test(t)?t.includes(QB)?t:`${t} -${QB}`:I1e.test(t)?P1e.test(t)?t.includes(DB)?t:`${t} +${QB}`:j1e.test(t)?M1e.test(t)?t.includes(DB)?t:`${t} -${DB}`:j1e.test(t)?t.includes($B)?t:`${t} +${DB}`:L1e.test(t)?t.includes($B)?t:`${t} ${$B}`:t:t}async function*yD(e){if(!e.body)throw new Error("Response has no body");const t=e.body.getReader(),n=new TextDecoder;let i="";try{for(;;){const{done:r,value:s}=await t.read();if(r)break;i+=n.decode(s,{stream:!0});let a=i.match(/\r?\n\r?\n/);for(;(a==null?void 0:a.index)!==void 0;){const o=i.slice(0,a.index);i=i.slice(a.index+a[0].length);const l=o.split(/\r?\n/).filter(u=>u.startsWith("data:")).map(u=>u.slice(5).trimStart()).join(` -`);if(l)try{yield JSON.parse(l)}catch{l!=="[DONE]"&&l!=="ping"&&console.debug(`parseSSE: dropping unparseable frame (${l.length} chars):`,l.slice(0,200))}a=i.match(/\r?\n\r?\n/)}}}finally{try{await t.cancel()}catch{}finally{t.releaseLock()}}}const L1e=255,D1e=/[\p{L}\p{M}\p{N}\p{P}\p{Zs}]/u;function $1e(e){const t=e.normalize("NFKC").replace(/\s+/gu," ").trim(),n=new TextEncoder;let i=0,r="";for(const s of t){if(!D1e.test(s))continue;const a=n.encode(s).byteLength;if(i+a>L1e)break;r+=s,i+=a}return r.replace(/ +/g," ").trimEnd()}const zI="ap-southeast-1",xD="cn-beijing",Q1e="https://ark.ap-southeast.bytepluses.com/api/v3",B1e="https://ark.cn-beijing.volces.com/api/v3/",U1e="https://console.byteplus.com/ark/region:ark+ap-southeast-1/openManagement",z1e="https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement",F1e="seed-2-0-lite-260228",V1e="doubao-seed-2-1-pro-260628",X1e="skylark-embedding-vision-250615",q1e="doubao-embedding-vision-250615",H1e="seed-2-0-lite-260228",Y1e="doubao-seed-2-0-lite-260428",G1e="dola-seedream-5-0-pro-260628",W1e="doubao-seedream-5-0-260128",Z1e="seededit-3-0-i2i-250628",K1e="doubao-seededit-3-0-i2i-250628",J1e="dreamina-seedance-2-0-260128",eSe="doubao-seedance-2-0-260128",bZ=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}],yZ=[{value:zI,label:zI}];function _T(e){return e==="byteplus"?yZ:bZ}function Ui(e){var t;return((t=_T(e)[0])==null?void 0:t.value)||xD}const tSe=new Set(["cn-beijing","cn-shanghai","ap-southeast-1"]);function SD(e){return typeof e=="string"&&tSe.has(e)}function ff(e,t){var i;return((i=(t?_T(t):[...bZ,...yZ]).find(r=>r.value===e))==null?void 0:i.label)||e||"-"}function vy(e){return e==="byteplus"?F1e:V1e}function bc(e){return e==="byteplus"?Q1e:B1e}function nSe(e){return e==="byteplus"?U1e:z1e}function iSe(e){return e==="byteplus"?X1e:q1e}function rSe(e){return e==="byteplus"?H1e:Y1e}function sSe(e){return e==="byteplus"?G1e:W1e}function aSe(e){return e==="byteplus"?Z1e:K1e}function oSe(e){return e==="byteplus"?J1e:eSe}const vD="veadk.messageFeedback.v1";function wD(e,t,n,i){return[e,t,n,i].join(":")}function ED(){if(typeof window>"u")return{};try{const e=JSON.parse(localStorage.getItem(vD)??"{}");return e&&typeof e=="object"?e:{}}catch{return{}}}function lSe(e,t,n){if(typeof window>"u")return;const i=ED();i[e]={...i[e]??{},[`veadk_feedback:${t}`]:n},localStorage.setItem(vD,JSON.stringify(i))}function xZ(e){if(typeof window>"u")return;const t=wD(e.runtimeId,e.appName,e.userId,e.sessionId),n=ED(),i=n[t];if(i){for(const r of e.eventIds)delete i[`veadk_feedback:${r}`];Object.keys(i).length===0?delete n[t]:n[t]=i,localStorage.setItem(vD,JSON.stringify(n))}}const ew="",kD=new Map;function SZ(e,t){kD.set(e,t)}function vZ(){kD.clear()}function Qr(e){const t=kD.get(e);return t?{app:t.app,ep:{base:t.base,apiKey:t.apiKey,runtimeId:t.runtimeId,region:t.region}}:{app:e,ep:{}}}async function kt(e,t={},n={},i=Tl){const r=!!n.runtimeId&&String(t.method??"GET").toUpperCase()==="DELETE",s={...t,...r?{method:"POST"}:{},headers:m0(t.headers)},a=()=>{const u={...s,signal:Gn(t.signal,i)};if(n.runtimeId){const d=new URLSearchParams;n.region&&d.set("region",n.region),n.retryProbe&&d.set("probe_retry","connect"),r&&d.set("_method","DELETE");const f=d.toString()?`${e.includes("?")?"&":"?"}${d.toString()}`:"";return fetch(Xn(`${ew}/web/runtime-proxy/${n.runtimeId}${e}${f}`),u)}if(n.base){const d=new Headers(u.headers);return d.set("X-AgentKit-Base",n.base),n.apiKey&&d.set("X-AgentKit-Key",n.apiKey),fetch(Xn(`${ew}/agentkit-proxy${e}`),{...u,headers:d})}return fetch(Xn(`${ew}${e}`),u)},o=async u=>{if(A1e(u))return!0;if(u.status!==401)return!1;try{return await E1e()}catch{return!1}};let l=await a();for(;await o(l);)await N1e(t.signal),l=await a();return l}function wZ(e,t={},n=Tl){return kt(e,t,{},n)}function cSe(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{var n;if(t&&typeof t=="object"&&"msg"in t){const i=Array.isArray(t.loc)?(n=t.loc)==null?void 0:n.join("."):"",r=String(t.msg??"");return i?`${i}: ${r}`:r}return String(t)}).filter(Boolean).join(` -`):e&&typeof e=="object"?JSON.stringify(e):""}async function nn(e,t){const n=`${t}(HTTP ${e.status})`,i=await e.text().catch(()=>"");if(!i)return n;try{const r=JSON.parse(i),s=cSe(r.detail??r.error);return s?`${n} +`);if(l)try{yield JSON.parse(l)}catch{l!=="[DONE]"&&l!=="ping"&&console.debug(`parseSSE: dropping unparseable frame (${l.length} chars):`,l.slice(0,200))}a=i.match(/\r?\n\r?\n/)}}}finally{try{await t.cancel()}catch{}finally{t.releaseLock()}}}const $1e=255,Q1e=/[\p{L}\p{M}\p{N}\p{P}\p{Zs}]/u;function B1e(e){const t=e.normalize("NFKC").replace(/\s+/gu," ").trim(),n=new TextEncoder;let i=0,r="";for(const s of t){if(!Q1e.test(s))continue;const a=n.encode(s).byteLength;if(i+a>$1e)break;r+=s,i+=a}return r.replace(/ +/g," ").trimEnd()}const zI="ap-southeast-1",xD="cn-beijing",U1e="https://ark.ap-southeast.bytepluses.com/api/v3",z1e="https://ark.cn-beijing.volces.com/api/v3/",F1e="https://console.byteplus.com/ark/region:ark+ap-southeast-1/openManagement",V1e="https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement",X1e="seed-2-0-lite-260228",q1e="doubao-seed-2-1-pro-260628",H1e="skylark-embedding-vision-250615",Y1e="doubao-embedding-vision-250615",G1e="seed-2-0-lite-260228",W1e="doubao-seed-2-0-lite-260428",Z1e="dola-seedream-5-0-pro-260628",K1e="doubao-seedream-5-0-260128",J1e="seededit-3-0-i2i-250628",eSe="doubao-seededit-3-0-i2i-250628",tSe="dreamina-seedance-2-0-260128",nSe="doubao-seedance-2-0-260128",xZ=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}],SZ=[{value:zI,label:zI}];function _T(e){return e==="byteplus"?SZ:xZ}function Ui(e){var t;return((t=_T(e)[0])==null?void 0:t.value)||xD}const iSe=new Set(["cn-beijing","cn-shanghai","ap-southeast-1"]);function SD(e){return typeof e=="string"&&iSe.has(e)}function ff(e,t){var i;return((i=(t?_T(t):[...xZ,...SZ]).find(r=>r.value===e))==null?void 0:i.label)||e||"-"}function vy(e){return e==="byteplus"?X1e:q1e}function bc(e){return e==="byteplus"?U1e:z1e}function rSe(e){return e==="byteplus"?F1e:V1e}function sSe(e){return e==="byteplus"?H1e:Y1e}function aSe(e){return e==="byteplus"?G1e:W1e}function oSe(e){return e==="byteplus"?Z1e:K1e}function lSe(e){return e==="byteplus"?J1e:eSe}function cSe(e){return e==="byteplus"?tSe:nSe}const vD="veadk.messageFeedback.v1";function wD(e,t,n,i){return[e,t,n,i].join(":")}function ED(){if(typeof window>"u")return{};try{const e=JSON.parse(localStorage.getItem(vD)??"{}");return e&&typeof e=="object"?e:{}}catch{return{}}}function uSe(e,t,n){if(typeof window>"u")return;const i=ED();i[e]={...i[e]??{},[`veadk_feedback:${t}`]:n},localStorage.setItem(vD,JSON.stringify(i))}function vZ(e){if(typeof window>"u")return;const t=wD(e.runtimeId,e.appName,e.userId,e.sessionId),n=ED(),i=n[t];if(i){for(const r of e.eventIds)delete i[`veadk_feedback:${r}`];Object.keys(i).length===0?delete n[t]:n[t]=i,localStorage.setItem(vD,JSON.stringify(n))}}const ew="",kD=new Map;function wZ(e,t){kD.set(e,t)}function EZ(){kD.clear()}function Qr(e){const t=kD.get(e);return t?{app:t.app,ep:{base:t.base,apiKey:t.apiKey,runtimeId:t.runtimeId,region:t.region}}:{app:e,ep:{}}}async function kt(e,t={},n={},i=Tl){const r=!!n.runtimeId&&String(t.method??"GET").toUpperCase()==="DELETE",s={...t,...r?{method:"POST"}:{},headers:g0(t.headers)},a=()=>{const u={...s,signal:Gn(t.signal,i)};if(n.runtimeId){const d=new URLSearchParams;n.region&&d.set("region",n.region),n.retryProbe&&d.set("probe_retry","connect"),r&&d.set("_method","DELETE");const f=d.toString()?`${e.includes("?")?"&":"?"}${d.toString()}`:"";return fetch(Xn(`${ew}/web/runtime-proxy/${n.runtimeId}${e}${f}`),u)}if(n.base){const d=new Headers(u.headers);return d.set("X-AgentKit-Base",n.base),n.apiKey&&d.set("X-AgentKit-Key",n.apiKey),fetch(Xn(`${ew}/agentkit-proxy${e}`),{...u,headers:d})}return fetch(Xn(`${ew}${e}`),u)},o=async u=>{if(C1e(u))return!0;if(u.status!==401)return!1;try{return await T1e()}catch{return!1}};let l=await a();for(;await o(l);)await R1e(t.signal),l=await a();return l}function kZ(e,t={},n=Tl){return kt(e,t,{},n)}function dSe(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{var n;if(t&&typeof t=="object"&&"msg"in t){const i=Array.isArray(t.loc)?(n=t.loc)==null?void 0:n.join("."):"",r=String(t.msg??"");return i?`${i}: ${r}`:r}return String(t)}).filter(Boolean).join(` +`):e&&typeof e=="object"?JSON.stringify(e):""}async function nn(e,t){const n=`${t}(HTTP ${e.status})`,i=await e.text().catch(()=>"");if(!i)return n;try{const r=JSON.parse(i),s=dSe(r.detail??r.error);return s?`${n} ${s} 原始响应: ${i}`:`${n} 原始响应: ${i}`}catch{return`${n} 原始响应: -${i}`}}async function EZ(e,t=!1){const n=await kt(`/web/model-api-keys${t?"?refresh=true":""}`,{signal:e,cache:"no-store"});if(!n.ok)throw new Error(await nn(n,"加载 Ark API Key 失败"));return await n.json()}async function kZ(e,t){const n=await kt(`/web/model-api-keys/${encodeURIComponent(e)}/value`,{method:"POST",signal:t,cache:"no-store"});if(!n.ok)throw new Error(await nn(n,"加载 Ark API Key 失败"));return await n.json()}async function TZ(e){const t=new URLSearchParams;e!=null&&e.apiKeyId&&t.set("apiKeyId",e.apiKeyId),e!=null&&e.refresh&&t.set("refresh","true");const n=t.toString(),i=await kt(`/web/model-options${n?`?${n}`:""}`,{signal:e==null?void 0:e.signal,cache:"no-store"});if(!i.ok)throw new Error(await nn(i,"加载模型列表失败"));return await i.json()}async function _Z(){const e=await kt("/list-apps");if(!e.ok)throw new Error(`list-apps failed: ${e.status}`);return e.json()}class g0 extends Error{constructor(){super("当前账号无权访问该 Runtime,请刷新列表或重新登录后重试。"),this.name="RuntimeAccessDeniedError"}}class na extends Error{constructor(t,n=!1,i=!1){super(t),this.unsupported=n,this.retryable=i,this.name="RuntimeProbeError"}}const AZ="Runtime 已部署成功,但当前 Studio 无法访问私网 Runtime。请使用已绑定相同 VPC 的 Studio 访问,或改用公网 / 公网+VPC 部署。",NZ="Runtime 已部署成功,但 Studio 暂时无法连接服务。网关域名可能仍在生效,或当前网络/DNS 无法访问该 Runtime,请稍后在智能体管理页重试连接。",BB=["cn-beijing","cn-shanghai"],uSe=3e4,AT=5*60*1e3,CZ=60*1e3;let RZ="volcengine";const tw=new Map,ih=new Map,rh=new Map,dl=new Map;function IZ(e,t){return`${t}:${e}`}function PZ(e){RZ=e}function Cf(e){const t=(e||"").trim();if(RZ==="byteplus")return[t&&!t.startsWith("cn-")?t:zI];const n=t&&!t.startsWith("ap-")?t:xD;return BB.includes(n)?[n,...BB.filter(i=>i!==n)]:[n]}function O0(...e){return e.map(t=>String(t??"")).join("")}function b0(e,t,n){const i=e.get(t);return i!=null&&i.value&&Date.now()-i.updatedAt<=n?i.value:null}function TD(e,t,n){return e.set(t,{value:n,updatedAt:Date.now()}),n}async function jZ(e){try{const t=await e.clone().json();return typeof t.detail=="string"?t.detail:""}catch{return""}}async function NT(e,t,n){const i=await kt("/list-apps",{},n??{base:e,apiKey:t}),r=n!=null&&n.runtimeId?await jZ(i):"";if(n!=null&&n.runtimeId&&r==="runtime_access_denied")throw new g0;if(n!=null&&n.runtimeId&&r==="runtime_private_endpoint_unreachable")throw new na(AZ);if(n!=null&&n.runtimeId&&["runtime_proxy_connect_error","runtime_proxy_timeout","runtime_json_connect_error","runtime_json_timeout"].includes(r))throw new na(NZ,!1,!0);if(n!=null&&n.runtimeId&&i.status===404)throw new na("该 Runtime 的 Agent Server 未提供连接接口,请确认 Runtime 已就绪且版本兼容。",!0,!0);if(n!=null&&n.runtimeId&&(i.status===401||i.status===403))throw new na("Runtime 服务拒绝了连接请求,请检查 Runtime 的鉴权配置。");if(!i.ok)throw new Error(await nn(i,"读取 Agent 列表失败"));const s=await i.json();return n!=null&&n.runtimeId&&tw.set(IZ(n.runtimeId,n.region??""),{apps:s,expiresAt:Date.now()+uSe}),s}async function MZ(e,t){const{app:n,ep:i}=Qr(e),r=await kt(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"},i);if(!r.ok){const a=`创建会话失败 (${r.status})`,o=await nn(r,"创建会话失败");throw new Error(o===a?a:`${a}:${o}`)}return(await r.json()).id}async function _D(e,t){const{app:n,ep:i}=Qr(e),r=await kt(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{},i);if(!r.ok)throw new Error(`list sessions failed: ${r.status}`);return r.json()}async function TE(e,t,n){const{app:i,ep:r}=Qr(e),s=await kt(`/apps/${i}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}`,{},r);if(!s.ok){const o=await nn(s,"读取会话失败");throw new Error(`get session failed: ${s.status}:${o}`)}const a=await s.json();if(r.runtimeId){const o=wD(r.runtimeId,i,t,n);a.state={...ED()[o]??{},...a.state??{}}}return a}async function LZ(e){const{app:t,ep:n}=Qr(e.appName);if(!n.runtimeId)throw new Error("只有连接到 AgentKit Runtime 的会话支持反馈回流");if(!n.region)throw new Error("Runtime 缺少地域信息,无法提交反馈");const i=await kt("/web/evaluation/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:n.runtimeId,region:n.region,appName:t,userId:e.userId,sessionId:e.sessionId,eventId:e.eventId,rating:e.rating,comment:e.comment??""})},{},oa);if(!i.ok)throw new Error(await nn(i,"提交反馈失败"));const r=await i.json(),s=wD(n.runtimeId,t,e.userId,e.sessionId);return lSe(s,e.eventId,r),r}async function CT(e,t={}){const n=O0(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),i=b0(dl,n,CZ);if(!t.force&&i)return i;const r=dl.get(n);if(!t.force&&(r!=null&&r.promise))return r.promise;let s=null;const a=(async()=>{for(const o of Cf(e.region)){const l=new URLSearchParams({runtimeId:e.runtimeId,region:o,appName:e.appName,page_size:String(e.pageSize??100)}),u=await kt(`/web/evaluation/feedback-cases?${l.toString()}`);if(u.ok)return TD(dl,n,await u.json());s=new Error(await nn(u,"读取评测集失败"))}throw s??new Error("读取评测集失败")})();dl.set(n,{...r,promise:a,updatedAt:(r==null?void 0:r.updatedAt)??0});try{return await a}finally{const o=dl.get(n);(o==null?void 0:o.promise)===a&&dl.set(n,{value:o.value,updatedAt:o.updatedAt})}}async function DZ(e){let t=null;for(const n of Cf(e.region)){const i=new URLSearchParams({runtimeId:e.runtimeId,region:n,appName:e.appName,userId:e.userId}),r=await kt(`/web/evaluation/statuses?${i.toString()}`);if(r.ok)return r.json();t=new Error(await nn(r,"读取自动评测状态失败"))}throw t??new Error("读取自动评测状态失败")}async function $Z(e){let t=null;for(const n of Cf(e.region)){const i=new URLSearchParams({runtimeId:e.runtimeId,region:n,appName:e.appName}),r=await kt(`/web/evaluation/optimizations?${i.toString()}`);if(r.ok)return r.json();t=new Error(await nn(r,"读取优化项失败"))}throw t??new Error("读取优化项失败")}function QZ(e){return b0(dl,O0(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),CZ)}function FI(e){CT(e).catch(()=>{})}function BZ(e){CT(e,{force:!0}).catch(()=>{})}function UZ(e,t){return["good","bad"].map(n=>{const i=e.find(r=>r.kind===n);return{kind:n,evaluationSetId:(i==null?void 0:i.evaluationSetId)??null,evaluationSetName:(i==null?void 0:i.evaluationSetName)??null,workspaceId:(i==null?void 0:i.workspaceId)??null,itemCount:t.filter(r=>r.kind===n).length}})}function nw(e){const t=e.comment??"",n=e.rating==="bad"&&!!t.trim();for(const[i,r]of dl.entries()){const s=r.value;if(!s||s.runtimeId!==e.runtimeId||s.agentName!==e.appName)continue;const a=s.items.filter(l=>l.sessionId!==e.sessionId||l.messageId!==e.messageId),o=e.rating?[{id:`local:${e.runtimeId}:${e.sessionId}:${e.messageId}`,itemKey:`local:${e.messageId}`,kind:e.rating,input:e.input,output:e.output,referenceOutput:e.referenceOutput??e.output,comment:t,agentName:e.appName,sessionId:e.sessionId,messageId:e.messageId,runtimeId:e.runtimeId,invocationId:e.invocationId??"",userId:e.userId,createdAt:e.createdAt??new Date().toISOString(),evaluationSetId:"",evaluationSetName:"",workspaceId:"",source:"user",score:n?0:null,reason:n?t:""},...a]:a;dl.set(i,{value:{...s,sets:UZ(s.sets,o),items:o},updatedAt:Date.now(),promise:r.promise})}}async function zZ(e){let t=null;for(const n of Cf(e.region)){const i=await kt("/web/evaluation/feedback-cases/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:e.runtimeId,region:n,appName:e.appName,itemIds:e.itemIds})},{},oa);if(i.ok){const r=await i.json(),s=new Set(e.itemIds);for(const[a,o]of dl.entries()){const l=o.value;if(!l||l.runtimeId!==e.runtimeId||l.agentName!==e.appName)continue;const u=l.items.filter(d=>!s.has(d.id));dl.set(a,{value:{...l,sets:UZ(l.sets,u),items:u},updatedAt:Date.now()})}return r}t=new Error(await nn(i,"删除评测案例失败"))}throw t??new Error("删除评测案例失败")}async function VI(e,t,n){const{app:i,ep:r}=Qr(e),s=await kt(`/apps/${i}/users/${encodeURIComponent(t)}/sessions/${n}`,{method:"DELETE"},r);if(!s.ok&&s.status!==404)throw new Error(`delete session failed: ${s.status}`)}function dSe(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"="),i=window.atob(n),r=new Uint8Array(i.length);for(let s=0;sURL.revokeObjectURL(o),0)}async function VZ(e,t,n,i,r){const{app:s,ep:a}=Qr(e),o=r==null?"":`?version=${encodeURIComponent(r)}`,l=`/apps/${encodeURIComponent(s)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/artifacts/${encodeURIComponent(i)}${o}`,u=await kt(l,{},a,oa);if(!u.ok)throw new Error(await nn(u,"下载文件失败"));const d=await u.json(),f=d.inlineData??d.inline_data;if(!(f!=null&&f.data))throw new Error("文件内容不可用");const h=dSe(f.data),p=h.buffer.slice(h.byteOffset,h.byteOffset+h.byteLength);return{blob:new Blob([p],{type:f.mimeType??f.mime_type??"application/octet-stream"}),downloadName:f.displayName??f.display_name??i}}async function XZ(e,t,n,i,r){const{blob:s}=await VZ(e,t,n,i,r);return URL.createObjectURL(s)}async function fSe(e){const t=await kt("/web/media/capabilities");if(!t.ok)throw new Error(await nn(t,"media capabilities failed"));return t.json()}async function qZ(e,t,n,i){const{app:r}=Qr(e),s=new FormData;s.set("app_name",r),s.set("user_id",t),s.set("session_id",n),s.set("file",i);const a=await kt("/web/media",{method:"POST",body:s},{},oa);if(!a.ok)throw new Error(await nn(a,"文件上传失败"));return{...await a.json(),status:"ready"}}async function XI(e,t,n){const{app:i}=Qr(e),r=`/web/media/${encodeURIComponent(i)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/delete`,s=await kt(r,{method:"POST"});if(!s.ok&&s.status!==404)throw new Error(await nn(s,"media cleanup failed"))}function HZ(e){try{const t=new URL(e);if(t.protocol!=="veadk-media:"||t.hostname!=="apps")return;const n=t.pathname.split("/").filter(Boolean).map(decodeURIComponent);return n.length!==7||n[1]!=="users"||n[3]!=="sessions"||n[5]!=="media"?void 0:`/web/media/${n.map(encodeURIComponent).filter((i,r)=>![1,3,5].includes(r)).join("/")}`}catch{return}}async function iw(e,t){const n=HZ(t);if(!n)throw new Error("Invalid VeADK media URI");const i=await kt(`${n}/delete`,{method:"POST"});if(!i.ok&&i.status!==404)throw new Error(await nn(i,"media cleanup failed"))}function YZ(e,t){if(t.startsWith("data:")||t.startsWith("blob:")||/^https?:/.test(t))return t;const n=HZ(t);if(!n)return t;const i=`${n}/content`;return Xn(`${ew}${i}`)}async function _E(e,t,n){const{app:i,ep:r}=Qr(e);let s;if(r.runtimeId){const l=new URLSearchParams({runtimeId:r.runtimeId,sessionId:t,region:r.region??"cn-beijing"});if(n&&l.set("endTimeMs",String(Math.round(n))),s=await kt(`/web/runtime-trace?${l.toString()}`),s.status===404)throw new Error("该 Agent 暂未开启链路观测,请到控制台打开后使用。")}else s=await kt(`/dev/apps/${encodeURIComponent(i)}/debug/trace/session/${encodeURIComponent(t)}`,{},r);if(!s.ok)throw new Error(await nn(s,"加载调用链路失败"));const a=s.headers.get("content-type")??"";if(!a.includes("application/json")){const l=a.split(";",1)[0]||"Content-Type 缺失";throw new Error(`trace failed: 服务端返回了非 JSON 响应(${l}),请检查 Studio API 代理配置`)}const o=await s.json();if(!Array.isArray(o))throw new Error("trace failed: 返回格式无效");return o}async function qI(e){const t=await kt("/web/issue-feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(await nn(t,"问题反馈上报失败"));if((await t.json()).submitted!==!0)throw new Error("问题反馈上报失败:服务端未确认提交结果");return{submitted:!0}}function AD(e){const t=n=>({id:String(n.id??""),kind:n.kind==="skill"?"skill":"tool",name:String(n.name??""),custom:n.custom===!0,description:typeof n.description=="string"?n.description:void 0,skillSourceId:typeof n.skill_source_id=="string"?n.skill_source_id:void 0,version:typeof n.version=="string"?n.version:void 0});return{schemaVersion:Number(e.schema_version??1),revision:Number(e.revision??0),tools:Array.isArray(e.tools)?e.tools.map(n=>t(n)):[],skills:Array.isArray(e.skills)?e.skills.map(n=>t(n)):[]}}function ND(e,t,n){return`/harness/apps/${encodeURIComponent(e)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/capabilities`}async function HI(e,t,n){const{app:i,ep:r}=Qr(e),s=await kt(ND(i,t,n),{},r);if(!s.ok)throw new Error(await nn(s,"读取会话能力失败"));return AD(await s.json())}async function CD(e){const{ep:t}=Qr(e),n=await kt("/harness/capabilities/tools",{},t);if(!n.ok)throw new Error(await nn(n,"读取内置工具失败"));return((await n.json()).tools??[]).map(r=>{var s;return((s=r.name)==null?void 0:s.trim())??""}).filter(Boolean)}async function hSe(e){const{ep:t}=Qr(e),n=await kt("/harness/skills/spaces?region=all",{},t);if(!n.ok)throw new Error(await nn(n,"读取 Skill Space 失败"));return(await n.json()).items??[]}async function pSe(e,t,n){const{ep:i}=Qr(e),r=new URLSearchParams({region:n||"cn-beijing"}),s=`/harness/skills/spaces/${encodeURIComponent(t)}/skills?${r.toString()}`,a=await kt(s,{},i);if(!a.ok)throw new Error(await nn(a,"读取 Skill 列表失败"));return(await a.json()).items??[]}async function GZ(e,t,n=1,i=20){const{ep:r}=Qr(e),s=new URLSearchParams({query:t,page_number:String(n),page_size:String(i)}),a=await kt(`/harness/skills/findskill?${s.toString()}`,{},r);if(!a.ok)throw new Error(await nn(a,"搜索 Skill Hub 失败"));const o=await a.json();return{items:o.items??[],totalCount:Number(o.totalCount??0)}}async function YI(e,t,n,i,r){const{app:s,ep:a}=Qr(e),o=await kt(ND(s,t,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kind:i.kind,name:i.name,skill_source_id:i.skillSourceId,description:i.description,version:i.version,expected_revision:r})},a);if(!o.ok)throw new Error(await nn(o,"添加会话能力失败"));return AD(await o.json())}async function WZ(e,t,n,i,r){const{app:s,ep:a}=Qr(e),o=`${ND(s,t,n)}/${encodeURIComponent(i)}?expected_revision=${r}`,l=await kt(o,{method:"DELETE"},a);if(!l.ok)throw new Error(await nn(l,"移除会话能力失败"));return AD(await l.json())}async function ZZ(e,t,n=!0){const i=await kt(`/web/agent-info/${e}`,{},t);if(!i.ok)throw new Error(`agent-info failed: ${i.status}`);const r=await i.json();if(n&&!r.draft)try{const s=await kt(`/web/agent-draft/${e}`,{},t);if(s.ok){const a=await s.json();r.draft=a.draft}}catch{}return{appName:e,name:r.name??e,description:r.description??"",type:r.type,model:r.model??"",tools:r.tools??[],skillsPreviewSupported:Array.isArray(r.skills),skills:r.skills??[],subAgents:r.subAgents??[],components:r.components??[],searchSources:r.searchSources??[],graph:r.graph,draft:r.draft}}async function KZ(e){const{app:t,ep:n}=Qr(e);return ZZ(t,n,!1)}async function mSe(e,t,n){let i=null;for(const r of Cf(t)){const s={runtimeId:e,region:r};try{const a=IZ(e,r),o=tw.get(a);o&&o.expiresAt<=Date.now()&&tw.delete(a);const l=tw.get(a),u=n||(l==null?void 0:l.apps[0])||(await NT("","",s))[0];if(!u)throw new Error("该 Runtime 未提供可预览的 Agent。");return ZZ(u,s)}catch(a){if(a instanceof g0||a instanceof na&&!a.unsupported)throw a;i=a instanceof Error?a:new Error(String(a))}}throw i??new Error("该 Runtime 未提供可预览的 Agent。")}async function AE(e,t,n={},i={}){const r=typeof n=="string"?n:void 0,s=typeof n=="string"?i:n,a=O0(e,t||"cn-beijing",r??""),o=b0(ih,a,AT);if(!s.force&&o)return o;const l=ih.get(a);if(!s.force&&(l!=null&&l.promise))return l.promise;const u=mSe(e,t,r).then(d=>TD(ih,a,d));ih.set(a,{...l,promise:u,updatedAt:(l==null?void 0:l.updatedAt)??0});try{return await u}finally{const d=ih.get(a);(d==null?void 0:d.promise)===u&&ih.set(a,{value:d.value,updatedAt:d.updatedAt})}}function JZ(e,t,n=""){return b0(ih,O0(e,t||"cn-beijing",n),AT)}function eK(e,t,n=""){AE(e,t,n).catch(()=>{})}async function tK(e,t,n,i){const{app:r,ep:s}=Qr(e),a=new URLSearchParams({source:t,app_name:r,q:n,user_id:i}),o=await kt(`/web/search?${a.toString()}`,{},s);if(!o.ok)throw new Error(await nn(o,"Agent 检索失败"));return o.json()}async function nK(e,t){const{app:n}=Qr(e),i=await kt(`/web/search?source=web&app_name=${encodeURIComponent(n)}&q=${encodeURIComponent(t)}`);if(!i.ok)throw new Error(`web search failed: ${i.status}`);return i.json()}async function*GI({appName:e,userId:t,sessionId:n,text:i,attachments:r=[],invocation:s,functionResponses:a=[],signal:o,sessionCapabilities:l=!1}){const{app:u,ep:d}=Qr(e),f=r.flatMap(g=>g.status&&g.status!=="ready"?[]:g.uri?[{fileData:{mimeType:g.mimeType,fileUri:g.uri,displayName:g.name},partMetadata:{veadkMedia:{id:g.id,uri:g.uri,name:g.name,mimeType:g.mimeType,sizeBytes:g.sizeBytes}}}]:g.data?[{inlineData:{mimeType:g.mimeType,data:g.data,displayName:g.name}}]:[]),h=s&&(s.skills.length>0||s.targetAgent)?s:void 0,p=[...f,...a.map(g=>({functionResponse:{id:g.id,name:g.name,response:g.response}})),...i.trim()?[{text:i}]:[]];if(h&&p.length>0){const g=p[0],y=g.partMetadata;p[0]={...g,partMetadata:{...y,veadkInvocation:h}}}const m=await kt(l?"/harness/run_sse":"/run_sse",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({app_name:u,user_id:t,session_id:n,new_message:{role:"user",parts:p},streaming:!0,custom_metadata:h?{veadkInvocation:h}:void 0}),signal:o},d,0);if(!m.ok){const g=await nn(m,"运行会话失败");throw new Error(bS(`run_sse failed: ${m.status}:${g}`))}for await(const g of yD(m)){const y=g;typeof y.error=="string"&&(y.error=bS(y.error)),typeof y.errorMessage=="string"&&(y.errorMessage=bS(y.errorMessage)),typeof y.error_message=="string"&&(y.error_message=bS(y.error_message)),yield y}}async function iK(e,t){const n=new URLSearchParams({kind:e.kind,region:e.region});e.registry&&n.set("registry",e.registry),e.namespace&&n.set("namespace",e.namespace),e.workspaceId&&n.set("workspaceId",e.workspaceId),e.search&&n.set("search",e.search),e.pageNumber&&n.set("pageNumber",String(e.pageNumber)),e.pageSize&&n.set("pageSize",String(e.pageSize));const i=await kt(`/web/deployment-resources?${n.toString()}`,{signal:t});if(!i.ok)throw new Error(await nn(i,"加载云资源失败"));const r=await i.json();if(typeof r.serviceRegion!="string"||!Array.isArray(r.items)||typeof r.pageNumber!="number"||typeof r.pageSize!="number"||typeof r.totalCount!="number"||typeof r.hasMore!="boolean")throw new Error("云资源列表响应格式无效");const s=r.items.map(a=>{if(!a||typeof a!="object"||typeof a.id!="string"||typeof a.name!="string"||typeof a.region!="string"||typeof a.status!="string")throw new Error("云资源列表响应格式无效");return a});return{serviceRegion:r.serviceRegion,items:s,pageNumber:r.pageNumber,pageSize:r.pageSize,totalCount:r.totalCount,hasMore:r.hasMore}}async function rK(e){var r;const t=await kt("/web/system-info",{signal:e});if(!t.ok)throw new Error(await nn(t,"加载系统信息失败"));const n=await t.json();if(typeof((r=n.storage)==null?void 0:r.tosAddress)!="string"||!Array.isArray(n.sandboxTools))throw new Error("系统信息响应格式无效");const i=n.sandboxTools.map(s=>{if(!s||typeof s!="object"||typeof s.kind!="string"||typeof s.label!="string"||typeof s.toolId!="string"||typeof s.snapshot!="boolean")throw new Error("系统信息响应格式无效");return s});return{storage:{tosAddress:n.storage.tosAddress},sandboxTools:i}}async function RD(e){const t=await kt("/web/identity/user-pools",{signal:e});if(!t.ok)throw new Error(await nn(t,"加载用户池失败"));const n=await t.json();if(!Array.isArray(n.items))throw new Error("用户池列表响应格式无效");return n.items.map(i=>{if(!i||typeof i!="object"||typeof i.uid!="string"||typeof i.name!="string"||typeof i.domain!="string"||typeof i.region!="string"||typeof i.isCurrent!="boolean")throw new Error("用户池列表响应格式无效");return i})}const Nb=new Map;async function RT(e,t,n,i){var f,h,p,m,g;const r=i==null?void 0:i.taskId,s=r?new AbortController:void 0;r&&s&&Nb.set(r,s);const a=()=>{r&&Nb.get(r)===s&&Nb.delete(r)};let o;try{(f=i==null?void 0:i.onStage)==null||f.call(i,{level:"info",phase:"upload",message:"正在上传代码包",pct:0}),o=await kt("/web/deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},signal:s==null?void 0:s.signal,body:JSON.stringify({name:e,files:t,config:n,taskId:r,runtimeId:i==null?void 0:i.runtimeId,runtimeName:i==null?void 0:i.runtimeName,appName:i==null?void 0:i.appName,sessionStorage:i==null?void 0:i.sessionStorage,minInstance:i==null?void 0:i.minInstance,maxInstance:i==null?void 0:i.maxInstance,createEvaluationSets:i==null?void 0:i.createEvaluationSets,description:$1e((i==null?void 0:i.description)??""),authentication:i==null?void 0:i.authentication,im:i==null?void 0:i.im,envs:i==null?void 0:i.envs,resources:i==null?void 0:i.resources})},{},0),(h=i==null?void 0:i.onStage)==null||h.call(i,{level:"success",phase:"upload",message:"代码包上传完成",pct:100})}catch(y){throw a(),y}if(!o.ok){const y=await nn(o,"部署失败");throw a(),new Error(y)}let l=null;try{for await(const y of yD(o)){const b=y;if(b&&b.done){l=b;break}b&&b.message&&((p=i==null?void 0:i.onStage)==null||p.call(i,b))}}catch(y){throw a(),y}if(a(),!l)throw new Error("部署失败:连接中断");if(!l.success)throw new Error(l.error||"部署失败");if(!l.agentName)throw new Error("部署失败:返回缺少 Agent 名称");if(!l.runtimeId&&!l.url)throw new Error("部署失败:返回缺少 AgentKit 连接信息");const u=(m=l.runtimeName)!=null&&m.trim()?l.agentName:e,d=((g=l.runtimeName)==null?void 0:g.trim())||l.agentName;return{apikey:l.apikey??"",url:l.url??"",agentName:u,runtimeName:d,runtimeId:l.runtimeId,consoleUrl:l.consoleUrl,region:l.region,version:l.version,warnings:l.warnings,feishuChannel:l.feishuChannel}}async function sK(e){var n;const t=await kt("/web/cancel-deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e})});if(!t.ok){const i=await t.text().catch(()=>"");throw new Error(i||`取消部署失败 (${t.status})`)}(n=Nb.get(e))==null||n.abort(),Nb.delete(e)}async function gSe(e=xD){const t=await kt(`/web/my-runtimes?region=${encodeURIComponent(e)}`);if(!t.ok)throw new Error(`加载失败 (${t.status})`);return(await t.json()).runtimes??[]}const wy={title:"AgentKit Studio",logoUrl:""},WI={enabled:!1},MN={studio:!1,version:"",provider:"volcengine",branding:wy,features:{newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,agentUsage:!1,addAgentkit:!0,generatedAgentTestRun:!0},defaultView:"chat",agentsSource:"local",telemetry:WI};function OSe(e){if(!e||typeof e!="object")return WI;const t=e;if(t.enabled!==!0||!t.studio||typeof t.studio!="object")return WI;const n=t.studio;return{enabled:!0,studio:{deployId:typeof n.deployId=="string"?n.deployId:"",userPoolId:typeof n.userPoolId=="string"?n.userPoolId:"",applicationId:typeof n.applicationId=="string"?n.applicationId:"",functionId:typeof n.functionId=="string"?n.functionId:"",region:typeof n.region=="string"?n.region:"",project:typeof n.project=="string"?n.project:"",version:typeof n.version=="string"?n.version:""}}}async function aK(){var e,t;try{const n=await kt("/web/ui-config");if(!n.ok)return MN;const i=await n.json(),r=typeof((e=i.branding)==null?void 0:e.logoUrl)=="string"?i.branding.logoUrl:wy.logoUrl,s=i.provider==="byteplus"?"byteplus":"volcengine";return PZ(s),{studio:i.studio??!1,version:typeof i.version=="string"?i.version:"",provider:s,branding:{title:typeof((t=i.branding)==null?void 0:t.title)=="string"?i.branding.title:wy.title,logoUrl:r?Xn(r):""},features:{...MN.features,...i.features??{}},defaultView:i.defaultView??"chat",agentsSource:i.agentsSource==="cloud"?"cloud":"local",telemetry:OSe(i.telemetry)}}catch{return MN}}const oK={role:"user",telemetry:{userId:""},capabilities:{createAgents:!1,manageAgents:!1,runtimeScope:"mine"}};async function lK(){var n,i,r,s;const e=await kt("/web/access");if(!e.ok)throw new Error(`加载权限失败 (${e.status})`);const t=await e.json();if(!["admin","developer","user"].includes(t.role)||typeof((n=t.telemetry)==null?void 0:n.userId)!="string"||typeof((i=t.capabilities)==null?void 0:i.createAgents)!="boolean"||typeof((r=t.capabilities)==null?void 0:r.manageAgents)!="boolean"||!["all","mine"].includes((s=t.capabilities)==null?void 0:s.runtimeScope))throw new Error("权限服务返回了无法解析的响应");return t}async function cK(e,t){const n=new URLSearchParams;e&&n.set("targetVersion",e),t&&n.set("startedAt",String(t));const i=n.size?`?${n.toString()}`:"",r=await kt(`/web/studio-update${i}`);if(!r.ok)throw new Error(`检查 Studio 更新失败 (${r.status})`);return await r.json()}async function uK(e){const t=await kt("/web/studio-update",{method:"POST",headers:{"Content-Type":"application/json","X-VeADK-Studio-Update":"1"},body:JSON.stringify({version:e})},{},oa);if(!t.ok){let n="";try{const i=await t.json();n=typeof i.detail=="string"?i.detail:""}catch{n=""}throw new Error(n||`提交 Studio 更新失败 (${t.status})`)}return await t.json()}async function dK({runtimeId:e,region:t,appName:n,page:i=1,pageSize:r=20,signal:s}){const a=new URLSearchParams({runtimeId:e,region:t,appName:n,page:String(i),pageSize:String(r)}),o=await kt(`/web/agent-usage?${a.toString()}`,{signal:s});if(!o.ok)throw new Error(await nn(o,"加载 Agent 用量失败"));const l=o.headers.get("content-type")||"未提供",u=l.toLowerCase();if(!u.includes("application/json")&&!u.includes("+json"))throw new Error(`加载 Agent 用量失败:服务端返回非 JSON 响应(HTTP ${o.status},Content-Type: ${l})。请确认当前服务以 Studio 模式启动,并检查代理或网关配置。`);try{return await o.json()}catch{throw new Error(`加载 Agent 用量失败:服务端返回了无法解析的 JSON(HTTP ${o.status},Content-Type: ${l})。请稍后重试;若问题持续,请检查代理或网关配置。`)}}async function IT(e={}){const t=new URLSearchParams({scope:e.scope??"all",page_size:String(e.pageSize??30),region:e.region??"all"});e.nextToken&&t.set("next_token",e.nextToken);const n=await kt(`/web/runtimes?${t.toString()}`);if(!n.ok){const r=await nn(n,"加载 Runtime 失败");throw new Error(r)}const i=await n.json();return{runtimes:i.runtimes??[],nextToken:i.nextToken??""}}async function ID(e,t,n={}){try{const i={runtimeId:e,region:t};return n.retryProbe&&(i.retryProbe=!0),await NT("","",i)}catch(i){if(i instanceof g0||i instanceof na)throw i;return null}}async function fK(e,t,n={}){const i={runtimeId:e,region:t};n.retryProbe&&(i.retryProbe=!0);const r=await kt("/.well-known/agent-card.json",{},i),s=await jZ(r);if(s==="runtime_access_denied")throw new g0;if(s==="runtime_private_endpoint_unreachable")throw new na(AZ);if(["runtime_proxy_connect_error","runtime_proxy_timeout"].includes(s))throw new na(NZ);if(r.status===404)return null;if(r.status===401||r.status===403)throw new na("Runtime 服务拒绝了 A2A 探测请求,请检查 Runtime 的鉴权配置。");if(!r.ok)throw new Error(await nn(r,"读取 A2A Agent Card 失败"));const a=await r.json().catch(()=>null),o=typeof(a==null?void 0:a.url)=="string"?a.url.trim():"";return o?{name:typeof(a==null?void 0:a.name)=="string"?a.name:"",description:typeof(a==null?void 0:a.description)=="string"?a.description:"",endpoint:o}:null}async function hK(e,t){const n=new URLSearchParams({runtimeId:e,region:t}),i=await kt(`/web/runtime-api-key/reveal?${n.toString()}`,{method:"POST",cache:"no-store"});if(!i.ok)throw new Error(await nn(i,"读取 Runtime API Key 失败"));const r=await i.json();if(typeof r.apiKey!="string"||!r.apiKey)throw new Error("Runtime 未返回可用的 API Key");return r.apiKey}async function pK(e,t){const n=await kt("/web/delete-runtime",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:e,region:t})});if(!n.ok){const i=await n.text().catch(()=>"");throw new Error(i||`删除失败 (${n.status})`)}}async function mK({runtimeId:e,region:t,appName:n,signal:i}){const r=new URLSearchParams({runtimeId:e,region:t});n&&r.set("appName",n);const s=await kt(`/web/runtime-update-capability?${r.toString()}`,{signal:i});if(!s.ok)throw new Error(await bSe(s));return await s.json()}async function bSe(e){const t=await e.json().catch(()=>null),n=typeof(t==null?void 0:t.detail)=="string"?t.detail:"";return e.status===403?"当前账号没有管理该 Runtime 的权限。":e.status===404?n==="runtime_not_found"?"该 Runtime 不存在或已被删除。":"当前账号无法访问该 Runtime。":`检查 Runtime 更新能力失败(HTTP ${e.status}),请稍后重试。`}async function ySe(e,t){let n=null;for(const i of Cf(t)){const r=await kt(`/web/runtime-detail?runtimeId=${encodeURIComponent(e)}®ion=${encodeURIComponent(i)}`);if(r.ok)return r.json();n=new Error(await nn(r,"加载 Runtime 详情失败"))}throw n??new Error("加载 Runtime 详情失败")}async function PD(e,t="cn-beijing",n={}){const i=O0(e,t||"cn-beijing"),r=b0(rh,i,AT);if(!n.force&&r)return r;const s=rh.get(i);if(!n.force&&(s!=null&&s.promise))return s.promise;const a=ySe(e,t).then(o=>TD(rh,i,o));rh.set(i,{...s,promise:a,updatedAt:(s==null?void 0:s.updatedAt)??0});try{return await a}finally{const o=rh.get(i);(o==null?void 0:o.promise)===a&&rh.set(i,{value:o.value,updatedAt:o.updatedAt})}}function gK(e,t="cn-beijing"){return b0(rh,O0(e,t||"cn-beijing"),AT)}function OK(e,t="cn-beijing"){PD(e,t).catch(()=>{})}async function jD(e){const t=await kt("/web/generated-agent-projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e})});if(!t.ok)throw new Error(await nn(t,"生成项目失败"));return t.json()}const xSe=19e4;async function bK(e){const t=await kt("/web/generated-agent-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({requirement:e})},{},xSe);if(!t.ok)throw new Error(await nn(t,"生成 Agent 配置失败"));return TT(t,"生成 Agent 配置失败")}async function yK(e,t){const n=await kt("/web/generated-agent-test-runs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,runtimeId:t==null?void 0:t.runtimeId,runtimeRegion:t==null?void 0:t.region})});if(!n.ok)throw new Error(await nn(n,"创建调试运行失败"));return TT(n,"创建调试运行失败")}async function xK(e,t){const n=await kt(`/web/generated-agent-test-runs/${e}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:t})});if(!n.ok)throw new Error(await nn(n,"创建调试会话失败"));return(await TT(n,"创建调试会话失败")).id}async function SK(e,t){const n=await kt(`/web/generated-agent-test-runs/${encodeURIComponent(e)}/trace/session/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(await nn(n,"加载调试调用链路失败"));const i=await TT(n,"加载调试调用链路失败");if(!Array.isArray(i))throw new Error("加载调试调用链路失败:返回格式无效");return i}async function*vK({runId:e,userId:t,sessionId:n,text:i,signal:r}){const s=i.trim()?[{text:i}]:[],a=await kt(`/web/generated-agent-test-runs/${e}/run_sse`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user_id:t,session_id:n,new_message:{role:"user",parts:s},streaming:!0}),signal:r},{},0);if(!a.ok)throw new Error(await nn(a,"调试运行失败"));for await(const o of yD(a))yield o}async function Jp(e){const t=await kt(`/web/generated-agent-test-runs/${e}`,{method:"DELETE"});if(!t.ok&&t.status!==404)throw new Error(await nn(t,"清理调试运行失败"))}const SSe=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_SITE_BRANDING:wy,DEFAULT_STUDIO_ACCESS:oK,RuntimeAccessDeniedError:g0,RuntimeProbeError:na,addSessionCapability:YI,cancelAgentkitDeployment:sK,clearMessageFeedbackCache:xZ,clearRemoteApps:vZ,componentSearch:tK,createGeneratedAgentTestRun:yK,createGeneratedAgentTestSession:xK,createSession:MZ,deleteAgentFeedbackCases:zZ,deleteGeneratedAgentTestRun:Jp,deleteMedia:iw,deleteRuntime:pK,deleteSession:VI,deleteSessionMedia:XI,deployAgentkitProject:RT,downloadArtifact:FZ,fetchRemoteApps:NT,generateAgentDraftFromRequirement:bK,generateAgentProject:jD,getAgentFeedbackCases:CT,getAgentInfo:KZ,getAgentOptimizations:$Z,getAgentUsage:dK,getAutomaticEvaluationStatuses:DZ,getCachedAgentFeedbackCases:QZ,getCachedRuntimeAgentInfo:JZ,getCachedRuntimeDetail:gK,getGeneratedAgentTestTrace:SK,getMediaCapabilities:fSe,getMyRuntimes:gSe,getRuntimeAgentInfo:AE,getRuntimeDetail:PD,getRuntimeUpdateCapability:mK,getRuntimes:IT,getSession:TE,getSessionCapabilities:HI,getSessionTrace:_E,getStudioAccess:lK,getStudioUpdateStatus:cK,getSystemInfo:rK,getUiConfig:aK,listApps:_Z,listDeploymentResources:iK,listIdentityUserPools:RD,listModelApiKeys:EZ,listModelOptions:TZ,listSessionBuiltinTools:CD,listSessionSkillSpaces:hSe,listSessionSkillsInSpace:pSe,listSessions:_D,mediaContentUrl:YZ,prefetchAgentFeedbackCases:FI,prefetchRuntimeAgentInfo:eK,prefetchRuntimeDetail:OK,previewArtifact:XZ,probeRuntimeA2a:fK,probeRuntimeApps:ID,refreshAgentFeedbackCases:BZ,registerRemoteApp:SZ,removeSessionCapability:WZ,revealModelApiKey:kZ,revealRuntimeApiKey:hK,runGeneratedAgentTestSSE:vK,runSSE:GI,runtimeRegionCandidates:Cf,searchSessionPublicSkills:GZ,setClientCloudProvider:PZ,startStudioUpdate:uK,studioFetch:wZ,submitIssueFeedback:qI,submitMessageFeedback:LZ,uploadMedia:qZ,upsertCachedAgentFeedbackCase:nw,webSearch:nK},Symbol.toStringTag,{value:"Module"})),UB=Object.freeze({totalTokenCount:0,promptTokenCount:0,candidatesTokenCount:0,thoughtsTokenCount:0,cachedContentTokenCount:0}),rw=Object.freeze({modelName:"",current:UB,cumulative:UB}),vSe={totalTokenCount:"total_token_count",promptTokenCount:"prompt_token_count",candidatesTokenCount:"candidates_token_count",thoughtsTokenCount:"thoughts_token_count",cachedContentTokenCount:"cached_content_token_count"},wSe=24,ESe=64,kSe=16;function yS(e){var o,l;const t=e.trim();if(!t)return 0;const n=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]/gu,i=((o=t.match(n))==null?void 0:o.length)??0,r=t.replace(n," "),s=(r.match(/[A-Za-z0-9_]+/g)??[]).reduce((u,d)=>u+Math.max(1,Math.ceil(d.length/4)),0),a=((l=r.match(/[^\sA-Za-z0-9_]/g))==null?void 0:l.length)??0;return i+s+a}function TSe(e){var o,l,u;const t=((o=e.instruction)==null?void 0:o.trim())??"",n=((l=e.tools)==null?void 0:l.filter(d=>d.trim()))??[],i=((u=e.skills)==null?void 0:u.filter(d=>d.name.trim()))??[],r=yS(t),s=n.reduce((d,f)=>d+ESe+yS(f),0),a=i.reduce((d,f)=>d+kSe+yS(f.name)+yS(f.description??""),0);return wSe+r+s+a}function _Se({usage:e,contextWindow:t,estimatedSystemTokens:n}){const i=Math.max(1,Math.round(t)),r=Math.max(0,e.current.promptTokenCount),s=Math.max(r,e.current.totalTokenCount),a=Math.min(i,r>0?Math.min(r,Math.max(0,n??0)):Math.max(0,n??0)),o=Math.max(0,r-a),l=r>0?Math.max(0,s-r):Math.max(0,s),u=r>0?s:a+l;return{systemTokens:a,inputTokens:o,outputTokens:l,remainingTokens:Math.max(0,i-u),usedTokens:u,contextWindow:i}}function ASe(e){const t=[{kind:"system",tokens:e.systemTokens},{kind:"input",tokens:e.inputTokens},{kind:"output",tokens:e.outputTokens},{kind:"remaining",tokens:e.remainingTokens}],n=e.contextWindow/100;let i=0;const r=t.map(s=>{const a=i;return i+=s.tokens,{...s,start:a,end:i}});return Array.from({length:100},(s,a)=>{const o=a*n,l=o+n,u=r.flatMap(d=>{const f=Math.max(0,Math.min(l,d.end)-Math.max(o,d.start));return f>0?[{kind:d.kind,share:f/n}]:[]});return{index:a,slices:u}})}function hO(e,t){const n=e,i=n[t]??n[vSe[t]];return typeof i=="number"&&Number.isFinite(i)&&i>0?Math.round(i):0}function NSe(e){const t=hO(e,"promptTokenCount"),n=hO(e,"candidatesTokenCount"),i=hO(e,"thoughtsTokenCount");return{totalTokenCount:hO(e,"totalTokenCount")||t+n+i,promptTokenCount:t,candidatesTokenCount:n,thoughtsTokenCount:i,cachedContentTokenCount:hO(e,"cachedContentTokenCount")}}function CSe(e,t){return{totalTokenCount:e.totalTokenCount+t.totalTokenCount,promptTokenCount:e.promptTokenCount+t.promptTokenCount,candidatesTokenCount:e.candidatesTokenCount+t.candidatesTokenCount,thoughtsTokenCount:e.thoughtsTokenCount+t.thoughtsTokenCount,cachedContentTokenCount:e.cachedContentTokenCount+t.cachedContentTokenCount}}function wK(e,t){if(!t)return e;const n=typeof t.modelVersion=="string"?t.modelVersion.trim():"",i=typeof t.model_version=="string"?t.model_version.trim():"",r=n||i||e.modelName,s=t.usageMetadata??t.usage_metadata;if(!s)return r===e.modelName?e:{...e,modelName:r};const a=NSe(s);return a.totalTokenCount===0?r===e.modelName?e:{...e,modelName:r}:{modelName:r,current:a,cumulative:CSe(e.cumulative,a)}}function zB(e){return e.reduce((t,n)=>wK(t,n),rw)}function FB(e){return e.blocks.flatMap(t=>t.kind==="tool"?[{name:t.name,args:t.args,response:t.response,done:t.done}]:[])}function RSe(e){const t=e.attributes;return String(t["invocation.id"]??t["gen_ai.invocation.id"]??t["gcp.vertex.agent.invocation_id"]??"")}function ISe(e,t){if(!t)return e;const n=new Set(e.filter(r=>RSe(r)===t).map(r=>r.trace_id)),i=e.filter(r=>n.has(r.trace_id));return i.length>0?i:e}function LN(e){return!!(e&&[...e.tools,...e.skills].some(t=>t.custom))}const PSe="send_a2ui_json_to_client",jSe="validated_a2ui_json",ZI="adk_request_credential",VB="transfer_to_agent";function MSe(e){var i,r,s,a;const t=e,n=((i=t==null?void 0:t.exchangedAuthCredential)==null?void 0:i.oauth2)??((r=t==null?void 0:t.exchanged_auth_credential)==null?void 0:r.oauth2)??((s=t==null?void 0:t.rawAuthCredential)==null?void 0:s.oauth2)??((a=t==null?void 0:t.raw_auth_credential)==null?void 0:a.oauth2);return(n==null?void 0:n.authUri)??(n==null?void 0:n.auth_uri)}function cu(){return{blocks:[],liveStart:0}}const XB=e=>e.functionCall??e.function_call,KI=e=>e.functionResponse??e.function_response;function LSe(e){if(!e||typeof e!="object")return"";const t=e,n=t.agentName??t.agent_name;return typeof n=="string"?n:""}function DSe(e){return e.replace(/-/g,"+").replace(/_/g,"/")}function EK(e){const t=[];for(const[n,i]of e.entries()){const r=i.partMetadata??i.part_metadata,s=r==null?void 0:r.veadkTransport;if((s==null?void 0:s.hidden)===!0)continue;const a=r==null?void 0:r.veadkMedia;if(typeof(a==null?void 0:a.uri)=="string"){t.push({id:String(a.id??a.uri),mimeType:typeof a.mimeType=="string"?a.mimeType:void 0,uri:a.uri,name:typeof a.name=="string"?a.name:void 0,sizeBytes:typeof a.sizeBytes=="number"?a.sizeBytes:void 0});continue}const o=i.inlineData??i.inline_data;if(o&&o.data){t.push({id:`inline-${n}-${o.displayName??o.display_name??"media"}`,mimeType:o.mimeType??o.mime_type,data:DSe(o.data),name:o.displayName??o.display_name});continue}const l=i.fileData??i.file_data,u=(l==null?void 0:l.fileUri)??(l==null?void 0:l.file_uri);l&&u&&t.push({id:u,mimeType:l.mimeType??l.mime_type,uri:u,name:l.displayName??l.display_name})}return t}function JI(e){const t=e.partMetadata??e.part_metadata,n=t==null?void 0:t.veadkTransport;return(n==null?void 0:n.hideText)===!0?void 0:e.text}const $Se=new Set(["llm","sequential","parallel","loop","a2a"]);function QSe(e){var t;for(const n of e){const i=(t=n.partMetadata??n.part_metadata)==null?void 0:t.veadkInvocation;if(!i||typeof i!="object")continue;const r=i,s=Array.isArray(r.skills)?r.skills.flatMap(l=>{if(!l||typeof l!="object")return[];const u=l;return typeof u.name=="string"?[{name:u.name,description:typeof u.description=="string"?u.description:""}]:[]}):[];let a;const o=r.targetAgent;if(o&&typeof o=="object"){const l=o,u=l.type;typeof l.name=="string"&&typeof u=="string"&&$Se.has(u)&&Array.isArray(l.path)&&(a={name:l.name,description:typeof l.description=="string"?l.description:"",type:u,path:l.path.filter(d=>typeof d=="string")})}if(s.length>0||a)return{skills:s,targetAgent:a}}}function BSe(e,t){if(!t.length)return;const n=e[e.length-1];(n==null?void 0:n.kind)==="attachment"?n.files.push(...t):e.push({kind:"attachment",files:t})}function USe(e,t){if(!t.length)return;const n=e[e.length-1];if((n==null?void 0:n.kind)==="artifact"){for(const i of t)n.files.some(r=>r.filename===i.filename&&r.version===i.version)||n.files.push(i);return}e.push({kind:"artifact",files:t})}function qB(e,t,n){const i=e[e.length-1];i&&i.kind===t?i.text+=n:e.push(t==="thinking"?{kind:t,text:n,done:!1}:{kind:t,text:n})}function xS(e){for(const t of e)t.kind==="thinking"&&(t.done=!0)}function NE(e,t){var o,l,u,d,f,h;const n=e.blocks.map(p=>({...p}));let i=e.liveStart;const r=((o=t.content)==null?void 0:o.parts)??[],s=r.some(p=>XB(p)||KI(p));if(t.partial&&!s){for(const p of r){const m=JI(p);typeof m=="string"&&m&&qB(n,p.thought?"thinking":"text",m)}return{blocks:n,liveStart:i}}n.length=i;for(const p of r){const m=XB(p),g=KI(p),y=EK([p]),b=JI(p);if(typeof b=="string"&&b)qB(n,p.thought?"thinking":"text",b);else if(y.length)xS(n),BSe(n,y);else if(m)if(xS(n),m.name===VB){const S=LSe(m.args)||((l=t.actions)==null?void 0:l.transferToAgent)||((u=t.actions)==null?void 0:u.transfer_to_agent)||"未知 Agent";n.push({kind:"agent-transfer",agentName:S,done:!1})}else if(m.name===ZI){const S=m.args??{},x=S.authConfig??S.auth_config??S,E=String(S.functionCallId??S.function_call_id??"").replace(/^_adk_toolset_auth_/,"")||void 0;n.push({kind:"auth",callId:m.id??"",label:E,authUri:MSe(x),authConfig:x,done:!1})}else n.push({kind:"tool",name:m.name??"",args:m.args,done:!1});else if(g){if(xS(n),g.name===VB)for(let S=n.length-1;S>=0;S--){const x=n[S];if(x.kind==="agent-transfer"&&!x.done){x.done=!0;break}}if(g.name===ZI)for(let S=n.length-1;S>=0;S--){const x=n[S];if(x.kind==="auth"&&!x.done){x.done=!0;break}}for(let S=n.length-1;S>=0;S--){const x=n[S];if(x.kind==="tool"&&!x.done&&x.name===g.name){x.done=!0,x.response=g.response;break}}if(g.name===PSe){const S=((d=g.response)==null?void 0:d[jSe])??[];if(S.length){const x=n[n.length-1];x&&x.kind==="a2ui"?x.messages.push(...S):n.push({kind:"a2ui",messages:S})}}}}const a=((f=t.actions)==null?void 0:f.artifactDelta)??((h=t.actions)==null?void 0:h.artifact_delta);return a&&USe(n,Object.entries(a).map(([p,m])=>({filename:p,version:m}))),xS(n),i=n.length,{blocks:n,liveStart:i}}function zSe(e,t={}){var r,s;const n=[];let i=cu();for(const a of e)if(a.author==="user"){const l=((r=a.content)==null?void 0:r.parts)??[];if(l.some(p=>{var m;return((m=KI(p))==null?void 0:m.name)===ZI})){for(let p=n.length-1;p>=0;p--)if(n[p].role==="assistant"){for(let m=n[p].blocks.length-1;m>=0;m--){const g=n[p].blocks[m];if(g.kind==="auth"){g.done=!0;break}}break}}const u=l.map(JI).filter(p=>!!p).join(""),d=EK(l),f=QSe(l);if(!u&&!d.length&&!f){i=cu();continue}const h=[];f&&h.push({kind:"invocation",value:f}),d.length&&h.push({kind:"attachment",files:d}),u&&h.push({kind:"text",text:u}),n.push({role:"user",blocks:h,meta:{ts:a.timestamp}}),i=cu()}else{const l=a.author??"";let u=n[n.length-1];(!u||u.role!=="assistant"||l&&((s=u.meta)==null?void 0:s.author)!==l)&&(u={role:"assistant",blocks:[],meta:{author:l||void 0}},n.push(u),i=cu()),i=NE(i,a),u.blocks=i.blocks;const d=a.usageMetadata??a.usage_metadata,f=u.meta??(u.meta={});l&&(f.author=l),d!=null&&d.totalTokenCount&&(f.tokens=d.totalTokenCount),a.timestamp&&(f.ts=a.timestamp),a.id&&(f.eventId=a.id);const h=a.invocationId??a.invocation_id;h&&(f.invocationId=h)}for(const a of n){const o=a.meta,l=o==null?void 0:o.eventId;if(!l)continue;const u=t[`veadk_feedback:${l}`];if(!u||typeof u!="object")continue;const d=u;d.rating!=="good"&&d.rating!=="bad"||(o.feedback=u)}return n}function FSe(e){var t,n;for(const i of e??[])if(i.author==="user"||((t=i.content)==null?void 0:t.role)==="user"){const r=(((n=i.content)==null?void 0:n.parts)??[]).map(s=>s.text).find(Boolean);if(r)return r}return"新会话"}const VSe=50,HB=48;function XSe(e){return(e.events??[]).flatMap(t=>{var r,s;const i=(((r=t.content)==null?void 0:r.parts)??[]).map(a=>typeof a.text=="string"?a.text:"").filter(Boolean).join("");return i?[{text:i,role:t.author??((s=t.content)==null?void 0:s.role)??"",ts:t.timestamp}]:[]})}function qSe(e){var t,n;for(const i of e.events??[])if(i.author==="user"||((t=i.content)==null?void 0:t.role)==="user"){const r=(((n=i.content)==null?void 0:n.parts)??[]).map(s=>s.text).find(Boolean);if(r)return r}return"未命名会话"}function HSe(e,t,n){const i=Math.max(0,t-HB),r=Math.min(e.length,t+n+HB);return(i>0?"…":"")+e.slice(i,r).trim()+(r{var l;if((l=o.events)!=null&&l.length)return o;try{return await TE(t,e,o.id)}catch{return o}})),a=[];for(const o of s)for(const{text:l,role:u,ts:d}of XSe(o)){const f=l.toLowerCase().indexOf(i);if(f!==-1){a.push({type:"session",appId:t,sessionId:o.id,title:qSe(o),snippet:HSe(l,f,i.length),role:u,ts:d??o.lastUpdateTime});break}}return a.sort((o,l)=>(l.ts??0)-(o.ts??0)),a.slice(0,VSe)}async function GSe(e,t){if(!e||!t.trim())return{results:[]};let n;try{n=await nK(e,t.trim())}catch(a){const o=String(a);return{results:[],note:o.includes("404")?"网络搜索接口未就绪(后端未启用 /web/search)。":`网络搜索失败:${o}`}}const{mounted:i,results:r,error:s}=n;return i?s?{results:[],note:s}:{results:r.map((a,o)=>({type:"web",index:o,title:a.title,url:a.url,siteName:a.siteName,summary:a.summary}))}:{results:[],note:"当前 Agent 未挂载 web_search 工具。"}}async function WSe(e,t,n,i){if(!t||!i.trim())return{results:[]};const r=await tK(t,e,i.trim(),n);if(!r.mounted)return{results:[],note:e==="knowledge"?"该 Agent 未挂载知识库。":"该 Agent 未挂载长期记忆。"};if(r.error)return{results:[],note:r.error};const s=r.sourceName??(e==="knowledge"?"知识库":"长期记忆");return{results:r.results.map((a,o)=>e==="knowledge"?{type:"knowledge",index:o,content:a.content,sourceName:s,sourceType:r.sourceType}:{type:"memory",index:o,content:a.content,sourceName:s,sourceType:r.sourceType,author:a.author,ts:a.timestamp})}}async function ZSe(e,t,n){return e==="session"?{results:await YSe(n.userId,n.appId,t)}:e==="web"?GSe(n.appId,t):WSe(e,n.appId,n.userId,t)}function kK({className:e="icon"}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[c.jsx("path",{d:"M16.4 10.7a5.7 5.7 0 1 1-1.67-4.03"}),c.jsx("path",{d:"M15.25 15.25 19.6 19.6"})]})}function KSe({open:e}){return c.jsx("svg",{className:`search-source-chevron ${e?"open":""}`,viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:c.jsx("path",{d:"m3.25 4.75 2.75 2.5 2.75-2.5"})})}function JSe({active:e=!1,onClick:t}){return c.jsxs("button",{className:`new-chat${e?" is-active":""}`,onClick:t,"aria-label":"搜索","aria-current":e?"page":void 0,title:"搜索",children:[c.jsx(kK,{}),c.jsx("span",{className:"sidebar-nav-label",children:"搜索"})]})}function eve(e,t,n){const i=!!e,r=new Set((t==null?void 0:t.searchSources)??[]),s=a=>i?n?"正在检测 Agent 能力":`当前 Agent 未挂载${a}`:"请选择 Agent";return[{id:"session",label:"会话",ready:i,unavailableLabel:"请选择 Agent"},{id:"web",label:"网络",ready:i&&r.has("web"),description:"通过 web_search 工具检索",unavailableLabel:s(" web_search 工具")},{id:"knowledge",label:"知识库",ready:i&&r.has("knowledge"),unavailableLabel:s("知识库")},{id:"memory",label:"长期记忆",ready:i&&r.has("memory"),unavailableLabel:s("长期记忆")}]}function CE(e){return{context_search:"Context Search",local:"本地",mem0:"Mem0",milvus:"Milvus",opensearch:"OpenSearch",openviking:"OpenViking",redis:"Redis",tos_vector:"TOS Vector",viking:"VikingDB"}[e.toLowerCase()]??e}function YB(e){return e?new Date(e*1e3).toLocaleString("zh-CN",{timeZone:"Asia/Shanghai",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}function tve({userId:e,appId:t,agentInfo:n,capabilitiesLoading:i,agentLabel:r,onOpenSession:s}){var D,N;const[a,o]=O.useState("session"),[l,u]=O.useState(""),[d,f]=O.useState([]),[h,p]=O.useState(),[m,g]=O.useState(!1),[y,b]=O.useState(!1),[S,x]=O.useState(!1),v=O.useRef(0),E=O.useRef(null),w=eve(t,n,i),k=w.find(M=>M.id===a),_=a==="knowledge"?(D=n==null?void 0:n.components)==null?void 0:D.find(M=>M.source==="knowledgebase"||M.kind==="knowledgebase"):a==="memory"?(N=n==null?void 0:n.components)==null?void 0:N.find(M=>M.source==="long_term_memory"||M.kind==="memory"):void 0;O.useEffect(()=>{v.current+=1,o("session"),f([]),p(void 0),b(!1),g(!1),x(!1)},[t]),O.useEffect(()=>{if(!S)return;function M(B){var $;($=E.current)!=null&&$.contains(B.target)||x(!1)}return document.addEventListener("pointerdown",M),()=>document.removeEventListener("pointerdown",M)},[S]);async function C(M,B){var X;const $=M.trim();if(!$||!((X=w.find(U=>U.id===B))!=null&&X.ready))return;const I=++v.current;g(!0),b(!0);let G;try{G=await ZSe(B,$,{userId:e,appId:t})}catch(U){const Y=U instanceof Error?U.message:String(U);G={results:[],note:`搜索失败:${Y}`}}I===v.current&&(f(G.results),p(G.note),g(!1))}function A(M){v.current+=1,u(M),f([]),p(void 0),b(!1),g(!1)}function R(M){v.current+=1,o(M),x(!1),f([]),p(void 0),b(!1),g(!1)}const j=!!(k!=null&&k.ready),Q=t?a==="web"?"在网络中检索":a==="knowledge"?`在 ${(_==null?void 0:_.name)??"当前 Agent 的知识库"} 中检索`:a==="memory"?`在 ${(_==null?void 0:_.name)??"当前用户的长期记忆"} 中检索`:"在当前 Agent 的会话中检索":"请先选择 Agent",L=_!=null&&_.backend?CE(_.backend):"";return c.jsxs("div",{className:"search",children:[c.jsxs("div",{className:"search-box",children:[c.jsxs("div",{className:"search-source-picker-wrap",ref:E,children:[c.jsxs("button",{className:"search-source-picker",type:"button","aria-label":`搜索类型:${(k==null?void 0:k.label)??"未选择"}`,"aria-haspopup":"listbox","aria-expanded":S,onClick:()=>x(M=>!M),children:[c.jsx("span",{children:(k==null?void 0:k.label)??"搜索类型"}),L&&c.jsx("small",{children:L}),c.jsx(KSe,{open:S})]}),S&&c.jsx("div",{className:"search-source-menu",role:"listbox","aria-label":"选择搜索类型",children:w.map(M=>{var I,G;const B=M.id==="knowledge"?(I=n==null?void 0:n.components)==null?void 0:I.find(X=>X.source==="knowledgebase"||X.kind==="knowledgebase"):M.id==="memory"?(G=n==null?void 0:n.components)==null?void 0:G.find(X=>X.source==="long_term_memory"||X.kind==="memory"):void 0,$=B?[B.name,B.backend?CE(B.backend):""].filter(Boolean).join(" · "):M.ready?M.description:M.unavailableLabel;return c.jsxs("button",{type:"button",role:"option","aria-selected":a===M.id,disabled:!M.ready,onClick:()=>R(M.id),children:[c.jsx("span",{children:M.label}),$&&c.jsx("small",{children:$})]},M.id)})})]}),c.jsx("span",{className:"search-box-divider","aria-hidden":!0}),c.jsx("input",{className:"search-input",value:l,onChange:M=>A(M.target.value),onKeyDown:M=>{M.key==="Enter"&&(M.preventDefault(),C(l,a))},placeholder:Q,disabled:!j,autoFocus:!0}),c.jsx("button",{className:"search-go",onClick:()=>void C(l,a),disabled:!l.trim()||m,"aria-label":"搜索",children:m?c.jsx(qn,{className:"icon spin"}):c.jsx(kK,{className:"icon"})})]}),c.jsx("div",{className:"search-results",children:j?y?m?null:h?c.jsx("div",{className:"search-empty",children:h}):d.length===0&&y?c.jsxs("div",{className:"search-empty",children:["未找到匹配「",l.trim(),"」的结果。"]}):d.map((M,B)=>c.jsx(nve,{result:M,agentLabel:r,onOpen:s},B)):c.jsx("div",{className:"search-empty",children:a==="web"?"输入关键词后回车或点击按钮,通过 web_search 工具检索。":a==="knowledge"?"输入问题,检索当前 Agent 挂载的知识库。":a==="memory"?"输入线索,检索当前用户跨会话保存的长期记忆。":"输入关键词后回车或点击按钮,搜索当前 Agent 的会话。"}):c.jsx("div",{className:"search-empty",children:t?i?"正在读取当前 Agent 的检索能力…":(k==null?void 0:k.unavailableLabel)??"当前 Agent 未挂载该数据源":"选择一个 Agent 后,即可检索会话、网络及其挂载的数据源。"})})]})}function nve({result:e,agentLabel:t,onOpen:n}){switch(e.type){case"session":return c.jsxs("button",{className:"search-result",onClick:()=>n(e.appId,e.sessionId),children:[c.jsx(pZ,{className:"search-result-icon"}),c.jsxs("div",{className:"search-result-body",children:[c.jsxs("div",{className:"search-result-head",children:[c.jsx("span",{className:"search-result-title",children:e.title}),c.jsxs("span",{className:"search-result-meta",children:[t(e.appId),e.ts?` · ${YB(e.ts)}`:""]})]}),c.jsx("div",{className:"search-result-snippet",children:e.snippet})]})]});case"web":return c.jsxs("a",{className:"search-result",href:e.url||void 0,target:"_blank",rel:"noreferrer noopener",children:[c.jsx(kT,{className:"search-result-icon"}),c.jsxs("div",{className:"search-result-body",children:[c.jsxs("div",{className:"search-result-head",children:[c.jsx("span",{className:"search-result-title",children:e.title||e.url}),c.jsxs("span",{className:"search-result-meta",children:[e.siteName,e.url&&c.jsx(Ag,{className:"search-result-ext"})]})]}),e.summary&&c.jsx("div",{className:"search-result-snippet",children:e.summary})]})]});case"knowledge":return c.jsxs("div",{className:"search-result search-result-static",children:[c.jsx(GB,{source:"knowledge"}),c.jsxs("div",{className:"search-result-body",children:[c.jsxs("div",{className:"search-result-head",children:[c.jsxs("span",{className:"search-result-title",children:["知识片段 ",e.index+1]}),c.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${CE(e.sourceType)}`:""]})]}),c.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});case"memory":return c.jsxs("div",{className:"search-result search-result-static",children:[c.jsx(GB,{source:"memory"}),c.jsxs("div",{className:"search-result-body",children:[c.jsxs("div",{className:"search-result-head",children:[c.jsxs("span",{className:"search-result-title",children:["记忆片段 ",e.index+1]}),c.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${CE(e.sourceType)}`:"",e.ts?` · ${YB(e.ts)}`:""]})]}),c.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});default:return null}}function GB({source:e,className:t="search-result-icon"}){return e==="knowledge"?c.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[c.jsx("path",{d:"M5 5.5h10.5A3.5 3.5 0 0 1 19 9v9.5H8.5A3.5 3.5 0 0 1 5 15V5.5Z"}),c.jsx("path",{d:"M8.25 9h7.5M8.25 12.25h6"})]}):c.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[c.jsx("path",{d:"M12 4.5a7.5 7.5 0 1 0 7.5 7.5"}),c.jsx("path",{d:"M12 8a4 4 0 1 0 4 4M12 11.3a.7.7 0 1 0 0 1.4.7.7 0 0 0 0-1.4Z"})]})}function hf({className:e="icon"}){return c.jsxs("svg",{className:`${e} sidebar-agent-face`,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("rect",{x:"4.25",y:"5.25",width:"15.5",height:"13.5",rx:"4.75"}),c.jsx("path",{className:"sidebar-agent-face__eye",d:"M8.5 10.7v2"}),c.jsx("path",{className:"sidebar-agent-face__eye",d:"M15.5 10.7v2"})]})}function ive({filled:e=!1,...t}){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:e?"currentColor":"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[c.jsx("rect",{x:"3.5",y:"9.3",width:"4.5",height:"10.2",rx:"1.5"}),c.jsx("path",{d:"M8 10.2 11.3 4.8c.5-.8 1.7-.45 1.7.5v3.8h4.2a2.1 2.1 0 0 1 2.04 2.6l-1.4 5.75A2.1 2.1 0 0 1 15.8 19H8"})]})}function rve({filled:e=!1,...t}){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:e?"currentColor":"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[c.jsx("rect",{x:"3.5",y:"4.5",width:"4.5",height:"10.2",rx:"1.5"}),c.jsx("path",{d:"M8 13.8 11.3 19.2c.5.8 1.7.45 1.7-.5v-3.8h4.2a2.1 2.1 0 0 0 2.04-2.6l-1.4-5.75A2.1 2.1 0 0 0 15.8 5H8"})]})}function TK(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M5.25 4.25h9.5a2.5 2.5 0 0 1 2.5 2.5v3.5"}),c.jsx("path",{d:"M13.25 17.75h-8a2.5 2.5 0 0 1-2.5-2.5v-8a3 3 0 0 1 3-3"}),c.jsx("path",{d:"M7 8.25h5.5M7 11.75h3.25"}),c.jsx("path",{d:"m13.35 16.65.42-2.16 4.76-4.76a1.35 1.35 0 0 1 1.91 1.91l-4.76 4.76-2.33.25Z"}),c.jsx("path",{d:"m17.65 10.6 1.9 1.9"})]})}const MD="/assets/logo-DCsNZy-k.svg",LD="data:image/svg+xml,%3csvg%20width='28'%20height='23'%20viewBox='0%200%2028%2023'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17.1957%209.44218C17.0253%209.58161%2016.7774%209.47317%2016.7774%209.24079V8.01696V0.611967C16.7774%200.395085%2016.514%200.271152%2016.3591%200.410576L6.04172%209.16334C5.87132%209.30276%205.62345%209.19432%205.62345%208.96194V2.98218C5.62345%202.81178%205.48403%202.67235%205.31362%202.67235H0.309832C0.139424%202.67235%200%202.81178%200%202.98218V21.7115C0%2021.9284%200.263357%2022.0524%200.418273%2021.9129L10.7202%2013.1602C10.8906%2013.0207%2011.1385%2013.1292%2011.1385%2013.3616V22.0059C11.1385%2022.2228%2011.4018%2022.3467%2011.5567%2022.2073L21.8586%2013.4545C22.0291%2013.3151%2022.2769%2013.4235%2022.2769%2013.6559V19.6357C22.2769%2019.8061%2022.4163%2019.9455%2022.5868%2019.9455H27.5905C27.7609%2019.9455%2027.9004%2019.8061%2027.9004%2019.6357V0.890816C27.9004%200.673934%2027.637%200.550001%2027.4821%200.689425L17.1957%209.44218Z'%20fill='%230066FC'/%3e%3c/svg%3e",WB="(max-width: 860px)";function sve(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"7",cy:"7",r:"2.25"}),c.jsx("circle",{cx:"17",cy:"7",r:"2.25"}),c.jsx("circle",{cx:"7",cy:"17",r:"2.25"}),c.jsx("circle",{cx:"17",cy:"17",r:"2.25"})]})}function ave(e){let t=2166136261;for(const i of e)t^=i.charCodeAt(0),t=Math.imul(t,16777619);const n=t>>>0;return{"--avatar-hue-a":194+n%22,"--avatar-hue-b":214+(n>>>6)%25,"--avatar-hue-c":176+(n>>>12)%25,"--avatar-x":`${22+(n>>>18)%55}%`,"--avatar-y":`${18+(n>>>24)%58}%`}}const ove={admin:"管理员",developer:"开发者",user:"普通用户"};function ZB({role:e}){const t=ove[e];return c.jsx("span",{className:`studio-role-badge studio-role-badge--${e}`,title:t,children:t})}function lve({access:e,userInfo:t,onSystemInfo:n,onLogout:i}){const[r,s]=O.useState(!1),[a,o]=O.useState("");if(!t)return null;const l=T1e(t),u=typeof t.email=="string"?t.email:"",d=(l||"U").slice(0,1).toUpperCase(),f=ave(l||u||d),h=_1e(t),p=h===a?"":h;return c.jsxs("div",{className:"sidebar-user",children:[c.jsxs("button",{className:"sidebar-user-btn",onClick:()=>s(m=>!m),title:u?`${l} -${u}`:l,children:[c.jsxs("span",{className:`account-avatar${p?" has-image":""}`,style:f,children:[d,p?c.jsx("img",{className:"account-avatar-image",src:p,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>o(p)}):null]}),c.jsxs("span",{className:"sidebar-user-identity",children:[c.jsxs("span",{className:"sidebar-user-primary",children:[c.jsx("span",{className:"sidebar-user-name",children:l}),c.jsx(ZB,{role:e.role})]}),u&&u!==l&&c.jsx("span",{className:"sidebar-user-email",children:u})]})]}),r&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>s(!1)}),c.jsxs("div",{className:"account-pop sidebar-user-pop",children:[c.jsxs("div",{className:"account-head",children:[c.jsxs("span",{className:`account-avatar account-avatar--lg${p?" has-image":""}`,style:f,children:[d,p?c.jsx("img",{className:"account-avatar-image",src:p,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>o(p)}):null]}),c.jsxs("div",{className:"account-id",children:[c.jsxs("div",{className:"account-name-row",children:[c.jsx("div",{className:"account-name",children:l}),c.jsx(ZB,{role:e.role})]}),u&&u!==l&&c.jsx("div",{className:"account-sub",children:u})]})]}),c.jsxs("button",{type:"button",className:"account-action",onClick:()=>{s(!1),n()},children:[c.jsx(Uu,{className:"icon"})," 系统信息"]}),c.jsxs("button",{type:"button",className:"account-action",onClick:()=>{s(!1),i()},children:[c.jsx(r1e,{className:"icon"})," 退出登录"]})]})]})]})}function cve({branding:e,cloudProvider:t,sessions:n,currentSessionId:i,activePage:r,features:s,access:a,streamingSids:o,evaluatingSids:l,sandboxHistory:u,onNewChat:d,onSearch:f,onQuickCreate:h,onSkillCenter:p,onAddAgent:m,onMyAgents:g,onApplications:y,onSystemInfo:b,onIssueFeedback:S,onPickSession:x,onDeleteSession:v,userInfo:E,onLogout:w}){const k=N=>(s==null?void 0:s[N])!==!1,[_,C]=O.useState(null),A=O.useRef(typeof window<"u"&&window.matchMedia(WB).matches),[R,j]=O.useState(A.current),Q=[...n].sort((N,M)=>(M.lastUpdateTime??0)-(N.lastUpdateTime??0)),L=()=>{A.current=!1,j(N=>!N),C(null)};O.useEffect(()=>{const N=window.matchMedia(WB),M=B=>{B.matches?j($=>$||(A.current=!0,!0)):A.current&&(A.current=!1,j(!1))};return N.addEventListener("change",M),()=>N.removeEventListener("change",M)},[]);const D=t==="byteplus"?LD:MD;return c.jsxs("aside",{className:`sidebar ${R?"is-collapsed":""}`,children:[c.jsxs("div",{className:"sidebar-top",children:[c.jsxs("div",{className:"sidebar-brand-row",children:[c.jsxs("button",{type:"button",className:"brand",onClick:d,"aria-label":"返回首页",title:"返回首页",children:[c.jsx("img",{className:"brand-logo",src:e.logoUrl||D,width:20,height:20,alt:"","aria-hidden":!0}),c.jsx("span",{className:"brand-title",children:e.title})]}),c.jsx("button",{type:"button",className:"sidebar-collapse-toggle",onClick:L,"aria-label":R?"展开侧边栏":"收起侧边栏",title:R?"展开侧边栏":"收起侧边栏",children:R?c.jsx(c1e,{className:"icon"}):c.jsx(l1e,{className:"icon"})})]}),k("newChat")&&c.jsxs("button",{className:`new-chat new-chat--conversation${r==="new-chat"?" is-active":""}`,onClick:d,"aria-label":"新会话","aria-current":r==="new-chat"?"page":void 0,title:"新会话",children:[c.jsx(Ls,{className:"icon"}),c.jsx("span",{className:"sidebar-nav-label",children:"新会话"})]}),c.jsxs("button",{className:`new-chat new-chat--agents${r==="agents"?" is-active":""}`,onClick:g,"aria-label":"智能体","aria-current":r==="agents"?"page":void 0,title:"智能体",children:[c.jsx(hf,{}),c.jsx("span",{className:"sidebar-nav-label",children:"智能体"})]}),k("skillCenter")?c.jsxs("button",{className:`new-chat new-chat--skills${r==="skills"?" is-active":""}`,onClick:p,"aria-label":"技能","aria-current":r==="skills"?"page":void 0,title:"技能",children:[c.jsx(Kv,{className:"icon","aria-hidden":"true"}),c.jsx("span",{className:"sidebar-nav-label",children:"技能"})]}):null,k("search")&&c.jsx(JSe,{active:r==="search",onClick:f}),c.jsxs("button",{className:`new-chat new-chat--applications${r==="applications"?" is-active":""}`,onClick:y,"aria-label":"自动化","aria-current":r==="applications"?"page":void 0,title:"自动化",children:[c.jsx(sve,{className:"icon"}),c.jsx("span",{className:"sidebar-nav-label",children:"自动化"}),c.jsx("span",{className:"sidebar-beta-badge",children:"Beta"})]})]}),k("history")&&c.jsxs("div",{className:"sidebar-history",children:[c.jsxs("div",{className:"history-head",children:[c.jsx("span",{children:"历史会话"}),k("newChat")&&c.jsx("button",{type:"button",className:"history-new-chat",onClick:(u==null?void 0:u.onNew)??d,disabled:u==null?void 0:u.newDisabled,"aria-label":"新建会话",title:"新建会话",children:c.jsx(Ls,{className:"icon"})})]}),c.jsx("div",{className:"history-list",children:u?c.jsxs(c.Fragment,{children:[u.loading&&u.threads.length===0?c.jsx("div",{className:"history-empty",role:"status",children:"正在加载历史会话…"}):null,u.error?c.jsx("div",{className:"history-error",role:"alert",children:u.error}):null,!u.loading&&!u.error&&u.threads.length===0?c.jsx("div",{className:"history-empty",children:"暂无会话"}):null,u.threads.map(N=>{const M=N.id===u.currentThreadId,B=N.name||N.preview||`Thread ${N.id.slice(0,8)}`,$=N.id===u.busyThreadId;return c.jsxs("div",{className:`history-item ${M?"active":""}`,children:[c.jsxs("button",{type:"button",className:"history-item-btn",onClick:()=>u.onSelect(N.id),"aria-current":M?"page":void 0,title:B,disabled:$,children:[c.jsx("span",{className:"history-title",children:B}),M?c.jsx("span",{className:"history-current-badge",children:"当前"}):null]}),c.jsx("button",{type:"button",className:"history-more","aria-label":`管理历史会话:${B}`,title:"更多",disabled:$,onClick:()=>C(I=>I===N.id?null:N.id),children:c.jsx(IB,{className:"icon"})}),_===N.id?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>C(null)}),c.jsx("div",{className:"history-menu",children:c.jsxs("button",{type:"button",className:"menu-item menu-item--danger",onClick:()=>{C(null),u.onDelete(N)},children:[c.jsx(df,{className:"icon"})," 删除"]})})]}):null]},N.id)}),u.hasMore?c.jsx("button",{type:"button",className:"history-load-more",disabled:u.loading,onClick:u.onLoadMore,children:u.loading?"加载中…":"加载更多"}):null]}):c.jsxs(c.Fragment,{children:[Q.length===0&&c.jsx("div",{className:"history-empty",children:"暂无会话"}),Q.map(N=>{const M=FSe(N.events),B=(o==null?void 0:o.has(N.id))===!0,$=!B&&(l==null?void 0:l.has(N.id))===!0;return c.jsxs("div",{className:`history-item ${N.id===i?"active":""}`,children:[c.jsxs("button",{className:"history-item-btn",onClick:()=>x(N.id),"aria-current":N.id===i?"page":void 0,title:M,children:[B&&c.jsx("span",{className:"history-streaming",title:"正在生成…","aria-label":"正在生成"}),c.jsx("span",{className:"history-title",children:M}),$&&c.jsxs("span",{className:"history-evaluating-status",title:"正在自动评测",children:[c.jsx("span",{className:"history-evaluating","aria-hidden":"true"}),"评测中"]})]}),c.jsx("button",{type:"button",className:"history-more","aria-label":`管理历史会话:${M}`,title:"更多",onClick:()=>C(I=>I===N.id?null:N.id),children:c.jsx(IB,{className:"icon"})}),_===N.id&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>C(null)}),c.jsx("div",{className:"history-menu",children:c.jsxs("button",{className:"menu-item menu-item--danger",onClick:()=>{C(null),v(N.id)},children:[c.jsx(df,{className:"icon"})," 删除"]})})]})]},N.id)})]})})]}),c.jsxs("div",{className:"sidebar-footer",children:[c.jsxs("button",{type:"button",className:`sidebar-feedback${r==="feedback"?" is-active":""}`,onClick:S,"aria-label":"问题反馈","aria-current":r==="feedback"?"page":void 0,title:"问题反馈",children:[c.jsx(TK,{className:"icon"}),c.jsx("span",{className:"sidebar-nav-label",children:"问题反馈"})]}),c.jsx(lve,{access:a,userInfo:E,onSystemInfo:b,onLogout:w})]})]})}function Br(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,i;n{}};function PT(){for(var e=0,t=arguments.length,n={},i;e=0&&(i=n.slice(r+1),n=n.slice(0,r)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}sw.prototype=PT.prototype={constructor:sw,on:function(e,t){var n=this._,i=dve(e+"",n),r,s=-1,a=i.length;if(arguments.length<2){for(;++s0)for(var n=new Array(r),i=0,r,s;i=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),JB.hasOwnProperty(t)?{space:JB[t],local:e}:e}function hve(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===eP&&t.documentElement.namespaceURI===eP?t.createElement(e):t.createElementNS(n,e)}}function pve(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function _K(e){var t=jT(e);return(t.local?pve:hve)(t)}function mve(){}function DD(e){return e==null?mve:function(){return this.querySelector(e)}}function gve(e){typeof e!="function"&&(e=DD(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r=x&&(x=S+1);!(E=y[x])&&++x=0;)(a=i[r])&&(s&&a.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(a,s),s=a);return this}function Uve(e){e||(e=zve);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,i=n.length,r=new Array(i),s=0;st?1:e>=t?0:NaN}function Fve(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Vve(){return Array.from(this)}function Xve(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?nwe:typeof t=="function"?rwe:iwe)(e,t,n??"")):Ng(this.node(),e)}function Ng(e,t){return e.style.getPropertyValue(t)||IK(e).getComputedStyle(e,null).getPropertyValue(t)}function awe(e){return function(){delete this[e]}}function owe(e,t){return function(){this[e]=t}}function lwe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function cwe(e,t){return arguments.length>1?this.each((t==null?awe:typeof t=="function"?lwe:owe)(e,t)):this.node()[e]}function PK(e){return e.trim().split(/^|\s+/)}function $D(e){return e.classList||new jK(e)}function jK(e){this._node=e,this._names=PK(e.getAttribute("class")||"")}jK.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function MK(e,t){for(var n=$D(e),i=-1,r=t.length;++i=0&&(n=t.slice(i+1),t=t.slice(0,i)),{type:t,name:n}})}function Dwe(e){return function(){var t=this.__on;if(t){for(var n=0,i=-1,r=t.length,s;n()=>e;function tP(e,{sourceEvent:t,subject:n,target:i,identifier:r,active:s,x:a,y:o,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:o,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}tP.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Hwe(e){return!e.ctrlKey&&!e.button}function Ywe(){return this.parentNode}function Gwe(e,t){return t??{x:e.x,y:e.y}}function Wwe(){return navigator.maxTouchPoints||"ontouchstart"in this}function UK(){var e=Hwe,t=Ywe,n=Gwe,i=Wwe,r={},s=PT("start","drag","end"),a=0,o,l,u,d,f=0;function h(v){v.on("mousedown.drag",p).filter(i).on("touchstart.drag",y).on("touchmove.drag",b,qwe).on("touchend.drag touchcancel.drag",S).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(v,E){if(!(d||!e.call(this,v,E))){var w=x(this,t.call(this,v,E),v,E,"mouse");w&&(Ja(v.view).on("mousemove.drag",m,Ey).on("mouseup.drag",g,Ey),QK(v.view),DN(v),u=!1,o=v.clientX,l=v.clientY,w("start",v))}}function m(v){if(qm(v),!u){var E=v.clientX-o,w=v.clientY-l;u=E*E+w*w>f}r.mouse("drag",v)}function g(v){Ja(v.view).on("mousemove.drag mouseup.drag",null),BK(v.view,u),qm(v),r.mouse("end",v)}function y(v,E){if(e.call(this,v,E)){var w=v.changedTouches,k=t.call(this,v,E),_=w.length,C,A;for(C=0;C<_;++C)(A=x(this,k,v,E,w[C].identifier,w[C]))&&(DN(v),A("start",v,w[C]))}}function b(v){var E=v.changedTouches,w=E.length,k,_;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?vS(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?vS(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Kwe.exec(e))?new wa(t[1],t[2],t[3],1):(t=Jwe.exec(e))?new wa(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=eEe.exec(e))?vS(t[1],t[2],t[3],t[4]):(t=tEe.exec(e))?vS(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=nEe.exec(e))?a8(t[1],t[2]/100,t[3]/100,1):(t=iEe.exec(e))?a8(t[1],t[2]/100,t[3]/100,t[4]):e8.hasOwnProperty(e)?i8(e8[e]):e==="transparent"?new wa(NaN,NaN,NaN,0):null}function i8(e){return new wa(e>>16&255,e>>8&255,e&255,1)}function vS(e,t,n,i){return i<=0&&(e=t=n=NaN),new wa(e,t,n,i)}function aEe(e){return e instanceof zx||(e=Xh(e)),e?(e=e.rgb(),new wa(e.r,e.g,e.b,e.opacity)):new wa}function nP(e,t,n,i){return arguments.length===1?aEe(e):new wa(e,t,n,i??1)}function wa(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}QD(wa,nP,zK(zx,{brighter(e){return e=e==null?IE:Math.pow(IE,e),new wa(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ky:Math.pow(ky,e),new wa(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new wa(Ph(this.r),Ph(this.g),Ph(this.b),PE(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:r8,formatHex:r8,formatHex8:oEe,formatRgb:s8,toString:s8}));function r8(){return`#${Oh(this.r)}${Oh(this.g)}${Oh(this.b)}`}function oEe(){return`#${Oh(this.r)}${Oh(this.g)}${Oh(this.b)}${Oh((isNaN(this.opacity)?1:this.opacity)*255)}`}function s8(){const e=PE(this.opacity);return`${e===1?"rgb(":"rgba("}${Ph(this.r)}, ${Ph(this.g)}, ${Ph(this.b)}${e===1?")":`, ${e})`}`}function PE(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ph(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Oh(e){return e=Ph(e),(e<16?"0":"")+e.toString(16)}function a8(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hl(e,t,n,i)}function FK(e){if(e instanceof hl)return new hl(e.h,e.s,e.l,e.opacity);if(e instanceof zx||(e=Xh(e)),!e)return new hl;if(e instanceof hl)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),s=Math.max(t,n,i),a=NaN,o=s-r,l=(s+r)/2;return o?(t===s?a=(n-i)/o+(n0&&l<1?0:a,new hl(a,o,l,e.opacity)}function lEe(e,t,n,i){return arguments.length===1?FK(e):new hl(e,t,n,i??1)}function hl(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}QD(hl,lEe,zK(zx,{brighter(e){return e=e==null?IE:Math.pow(IE,e),new hl(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ky:Math.pow(ky,e),new hl(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new wa($N(e>=240?e-240:e+120,r,i),$N(e,r,i),$N(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new hl(o8(this.h),wS(this.s),wS(this.l),PE(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=PE(this.opacity);return`${e===1?"hsl(":"hsla("}${o8(this.h)}, ${wS(this.s)*100}%, ${wS(this.l)*100}%${e===1?")":`, ${e})`}`}}));function o8(e){return e=(e||0)%360,e<0?e+360:e}function wS(e){return Math.max(0,Math.min(1,e||0))}function $N(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const BD=e=>()=>e;function cEe(e,t){return function(n){return e+n*t}}function uEe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}function dEe(e){return(e=+e)==1?VK:function(t,n){return n-t?uEe(t,n,e):BD(isNaN(t)?n:t)}}function VK(e,t){var n=t-e;return n?cEe(e,n):BD(isNaN(e)?t:e)}const jE=function e(t){var n=dEe(t);function i(r,s){var a=n((r=nP(r)).r,(s=nP(s)).r),o=n(r.g,s.g),l=n(r.b,s.b),u=VK(r.opacity,s.opacity);return function(d){return r.r=a(d),r.g=o(d),r.b=l(d),r.opacity=u(d),r+""}}return i.gamma=e,i}(1);function fEe(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,i=t.slice(),r;return function(s){for(r=0;rn&&(s=t.slice(n,s),o[a]?o[a]+=s:o[++a]=s),(i=i[0])===(r=r[0])?o[a]?o[a]+=r:o[++a]=r:(o[++a]=null,l.push({i:a,x:Wl(i,r)})),n=QN.lastIndex;return n180?d+=360:d-u>180&&(u+=360),h.push({i:f.push(r(f)+"rotate(",null,i)-2,x:Wl(u,d)})):d&&f.push(r(f)+"rotate("+d+i)}function o(u,d,f,h){u!==d?h.push({i:f.push(r(f)+"skewX(",null,i)-2,x:Wl(u,d)}):d&&f.push(r(f)+"skewX("+d+i)}function l(u,d,f,h,p,m){if(u!==f||d!==h){var g=p.push(r(p)+"scale(",null,",",null,")");m.push({i:g-4,x:Wl(u,f)},{i:g-2,x:Wl(d,h)})}else(f!==1||h!==1)&&p.push(r(p)+"scale("+f+","+h+")")}return function(u,d){var f=[],h=[];return u=e(u),d=e(d),s(u.translateX,u.translateY,d.translateX,d.translateY,f,h),a(u.rotate,d.rotate,f,h),o(u.skewX,d.skewX,f,h),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,h),u=d=null,function(p){for(var m=-1,g=h.length,y;++m=0&&e._call.call(void 0,t),e=e._next;--Cg}function u8(){qh=(LE=_y.now())+MT,Cg=GO=0;try{_Ee()}finally{Cg=0,NEe(),qh=0}}function AEe(){var e=_y.now(),t=e-LE;t>YK&&(MT-=t,LE=e)}function NEe(){for(var e,t=ME,n,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:ME=n);WO=e,sP(i)}function sP(e){if(!Cg){GO&&(GO=clearTimeout(GO));var t=e-qh;t>24?(e<1/0&&(GO=setTimeout(u8,e-_y.now()-MT)),pO&&(pO=clearInterval(pO))):(pO||(LE=_y.now(),pO=setInterval(AEe,YK)),Cg=1,GK(u8))}}function d8(e,t,n){var i=new DE;return t=t==null?0:+t,i.restart(r=>{i.stop(),e(r+t)},t,n),i}var CEe=PT("start","end","cancel","interrupt"),REe=[],ZK=0,f8=1,aP=2,ow=3,h8=4,oP=5,lw=6;function LT(e,t,n,i,r,s){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;IEe(e,n,{name:t,index:i,group:r,on:CEe,tween:REe,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:ZK})}function zD(e,t){var n=_l(e,t);if(n.state>ZK)throw new Error("too late; already scheduled");return n}function Tc(e,t){var n=_l(e,t);if(n.state>ow)throw new Error("too late; already running");return n}function _l(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function IEe(e,t,n){var i=e.__transition,r;i[t]=n,n.timer=WK(s,0,n.time);function s(u){n.state=f8,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var d,f,h,p;if(n.state!==f8)return l();for(d in i)if(p=i[d],p.name===n.name){if(p.state===ow)return d8(a);p.state===h8?(p.state=lw,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[d]):+daP&&i.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function lke(e,t,n){var i,r,s=oke(t)?zD:Tc;return function(){var a=s(this,e),o=a.on;o!==i&&(r=(i=o).copy()).on(t,n),a.on=r}}function cke(e,t){var n=this._id;return arguments.length<2?_l(this.node(),n).on.on(e):this.each(lke(n,e,t))}function uke(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function dke(){return this.on("end.remove",uke(this._id))}function fke(e){var t=this._name,n=this._id;typeof e!="function"&&(e=DD(e));for(var i=this._groups,r=i.length,s=new Array(r),a=0;a()=>e;function Dke(e,{sourceEvent:t,target:n,transform:i,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:r}})}function uu(e,t,n){this.k=e,this.x=t,this.y=n}uu.prototype={constructor:uu,scale:function(e){return e===1?this:new uu(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new uu(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var DT=new uu(1,0,0);tJ.prototype=uu.prototype;function tJ(e){for(;!e.__zoom;)if(!(e=e.parentNode))return DT;return e.__zoom}function BN(e){e.stopImmediatePropagation()}function mO(e){e.preventDefault(),e.stopImmediatePropagation()}function $ke(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Qke(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function p8(){return this.__zoom||DT}function Bke(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Uke(){return navigator.maxTouchPoints||"ontouchstart"in this}function zke(e,t,n){var i=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],s=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(r>i?(i+r)/2:Math.min(0,i)||Math.max(0,r),a>s?(s+a)/2:Math.min(0,s)||Math.max(0,a))}function nJ(){var e=$ke,t=Qke,n=zke,i=Bke,r=Uke,s=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],o=250,l=aw,u=PT("start","zoom","end"),d,f,h,p=500,m=150,g=0,y=10;function b(L){L.property("__zoom",p8).on("wheel.zoom",_,{passive:!1}).on("mousedown.zoom",C).on("dblclick.zoom",A).filter(r).on("touchstart.zoom",R).on("touchmove.zoom",j).on("touchend.zoom touchcancel.zoom",Q).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(L,D,N,M){var B=L.selection?L.selection():L;B.property("__zoom",p8),L!==B?E(L,D,N,M):B.interrupt().each(function(){w(this,arguments).event(M).start().zoom(null,typeof D=="function"?D.apply(this,arguments):D).end()})},b.scaleBy=function(L,D,N,M){b.scaleTo(L,function(){var B=this.__zoom.k,$=typeof D=="function"?D.apply(this,arguments):D;return B*$},N,M)},b.scaleTo=function(L,D,N,M){b.transform(L,function(){var B=t.apply(this,arguments),$=this.__zoom,I=N==null?v(B):typeof N=="function"?N.apply(this,arguments):N,G=$.invert(I),X=typeof D=="function"?D.apply(this,arguments):D;return n(x(S($,X),I,G),B,a)},N,M)},b.translateBy=function(L,D,N,M){b.transform(L,function(){return n(this.__zoom.translate(typeof D=="function"?D.apply(this,arguments):D,typeof N=="function"?N.apply(this,arguments):N),t.apply(this,arguments),a)},null,M)},b.translateTo=function(L,D,N,M,B){b.transform(L,function(){var $=t.apply(this,arguments),I=this.__zoom,G=M==null?v($):typeof M=="function"?M.apply(this,arguments):M;return n(DT.translate(G[0],G[1]).scale(I.k).translate(typeof D=="function"?-D.apply(this,arguments):-D,typeof N=="function"?-N.apply(this,arguments):-N),$,a)},M,B)};function S(L,D){return D=Math.max(s[0],Math.min(s[1],D)),D===L.k?L:new uu(D,L.x,L.y)}function x(L,D,N){var M=D[0]-N[0]*L.k,B=D[1]-N[1]*L.k;return M===L.x&&B===L.y?L:new uu(L.k,M,B)}function v(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function E(L,D,N,M){L.on("start.zoom",function(){w(this,arguments).event(M).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(M).end()}).tween("zoom",function(){var B=this,$=arguments,I=w(B,$).event(M),G=t.apply(B,$),X=N==null?v(G):typeof N=="function"?N.apply(B,$):N,U=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),Y=B.__zoom,ae=typeof D=="function"?D.apply(B,$):D,fe=l(Y.invert(X).concat(U/Y.k),ae.invert(X).concat(U/ae.k));return function(ke){if(ke===1)ke=ae;else{var K=fe(ke),ie=U/K[2];ke=new uu(ie,X[0]-K[0]*ie,X[1]-K[1]*ie)}I.zoom(null,ke)}})}function w(L,D,N){return!N&&L.__zooming||new k(L,D)}function k(L,D){this.that=L,this.args=D,this.active=0,this.sourceEvent=null,this.extent=t.apply(L,D),this.taps=0}k.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,D){return this.mouse&&L!=="mouse"&&(this.mouse[1]=D.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=D.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=D.invert(this.touch1[0])),this.that.__zoom=D,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var D=Ja(this.that).datum();u.call(L,this.that,new Dke(L,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),D)}};function _(L,...D){if(!e.apply(this,arguments))return;var N=w(this,D).event(L),M=this.__zoom,B=Math.max(s[0],Math.min(s[1],M.k*Math.pow(2,i.apply(this,arguments)))),$=ul(L);if(N.wheel)(N.mouse[0][0]!==$[0]||N.mouse[0][1]!==$[1])&&(N.mouse[1]=M.invert(N.mouse[0]=$)),clearTimeout(N.wheel);else{if(M.k===B)return;N.mouse=[$,M.invert($)],cw(this),N.start()}mO(L),N.wheel=setTimeout(I,m),N.zoom("mouse",n(x(S(M,B),N.mouse[0],N.mouse[1]),N.extent,a));function I(){N.wheel=null,N.end()}}function C(L,...D){if(h||!e.apply(this,arguments))return;var N=L.currentTarget,M=w(this,D,!0).event(L),B=Ja(L.view).on("mousemove.zoom",X,!0).on("mouseup.zoom",U,!0),$=ul(L,N),I=L.clientX,G=L.clientY;QK(L.view),BN(L),M.mouse=[$,this.__zoom.invert($)],cw(this),M.start();function X(Y){if(mO(Y),!M.moved){var ae=Y.clientX-I,fe=Y.clientY-G;M.moved=ae*ae+fe*fe>g}M.event(Y).zoom("mouse",n(x(M.that.__zoom,M.mouse[0]=ul(Y,N),M.mouse[1]),M.extent,a))}function U(Y){B.on("mousemove.zoom mouseup.zoom",null),BK(Y.view,M.moved),mO(Y),M.event(Y).end()}}function A(L,...D){if(e.apply(this,arguments)){var N=this.__zoom,M=ul(L.changedTouches?L.changedTouches[0]:L,this),B=N.invert(M),$=N.k*(L.shiftKey?.5:2),I=n(x(S(N,$),M,B),t.apply(this,D),a);mO(L),o>0?Ja(this).transition().duration(o).call(E,I,M,L):Ja(this).call(b.transform,I,M,L)}}function R(L,...D){if(e.apply(this,arguments)){var N=L.touches,M=N.length,B=w(this,D,L.changedTouches.length===M).event(L),$,I,G,X;for(BN(L),I=0;I`Seems like you have not used zustand provider as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:i})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:i}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Ay=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],iJ=["Enter"," ","Escape"],rJ={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Rg;(function(e){e.Strict="strict",e.Loose="loose"})(Rg||(Rg={}));var jh;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(jh||(jh={}));var Ny;(function(e){e.Partial="partial",e.Full="full"})(Ny||(Ny={}));const sJ={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Cd;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Cd||(Cd={}));var Cy;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Cy||(Cy={}));var mt;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(mt||(mt={}));const m8={[mt.Left]:mt.Right,[mt.Right]:mt.Left,[mt.Top]:mt.Bottom,[mt.Bottom]:mt.Top};function aJ(e){return e===null?null:e?"valid":"invalid"}const oJ=e=>"id"in e&&"source"in e&&"target"in e,Fke=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),VD=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Fx=(e,t=[0,0])=>{const{width:n,height:i}=zu(e),r=e.origin??t,s=n*r[0],a=i*r[1];return{x:e.position.x-s,y:e.position.y-a}},Vke=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((i,r)=>{const s=typeof r=="string";let a=!t.nodeLookup&&!s?r:void 0;t.nodeLookup&&(a=s?t.nodeLookup.get(r):VD(r)?r:t.nodeLookup.get(r.id));const o=a?$E(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return $T(i,o)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return QT(n)},Vx=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},i=!1;return e.forEach(r=>{(t.filter===void 0||t.filter(r))&&(n=$T(n,$E(r)),i=!0)}),i?QT(n):{x:0,y:0,width:0,height:0}},XD=(e,t,[n,i,r]=[0,0,1],s=!1,a=!1)=>{const o={...y0(t,[n,i,r]),width:t.width/r,height:t.height/r},l=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:h=!1}=u;if(a&&!f||h)continue;const p=d.width??u.width??u.initialWidth??null,m=d.height??u.height??u.initialHeight??null,g=Ry(o,Pg(u)),y=(p??0)*(m??0),b=s&&g>0;(!u.internals.handleBounds||b||g>=y||u.dragging)&&l.push(u)}return l},Xke=(e,t)=>{const n=new Set;return e.forEach(i=>{n.add(i.id)}),t.filter(i=>n.has(i.source)||n.has(i.target))};function qke(e,t){const n=new Map,i=t!=null&&t.nodes?new Set(t.nodes.map(r=>r.id)):null;return e.forEach(r=>{r.measured.width&&r.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!r.hidden)&&(!i||i.has(r.id))&&n.set(r.id,r)}),n}async function Hke({nodes:e,width:t,height:n,panZoom:i,minZoom:r,maxZoom:s},a){if(e.size===0)return!0;const o=qke(e,a),l=Vx(o),u=HD(l,t,n,(a==null?void 0:a.minZoom)??r,(a==null?void 0:a.maxZoom)??s,(a==null?void 0:a.padding)??.1);return await i.setViewport(u,{duration:a==null?void 0:a.duration,ease:a==null?void 0:a.ease,interpolate:a==null?void 0:a.interpolate}),!0}function lJ({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:i=[0,0],nodeExtent:r,onError:s}){const a=n.get(e),o=a.parentId?n.get(a.parentId):void 0,{x:l,y:u}=o?o.internals.positionAbsolute:{x:0,y:0},d=a.origin??i;let f=a.extent||r;if(a.extent==="parent"&&!a.expandParent)if(!o)s==null||s("005",vl.error005());else{const p=o.measured.width,m=o.measured.height;p&&m&&(f=[[l,u],[l+p,u+m]])}else o&&Yh(a.extent)&&(f=[[a.extent[0][0]+l,a.extent[0][1]+u],[a.extent[1][0]+l,a.extent[1][1]+u]]);const h=Yh(f)?Hh(t,f,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&(s==null||s("015",vl.error015())),{position:{x:h.x-l+(a.measured.width??0)*d[0],y:h.y-u+(a.measured.height??0)*d[1]},positionAbsolute:h}}async function Yke({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:i,onBeforeDelete:r}){const s=new Set(e.map(h=>h.id)),a=[];for(const h of n){if(h.deletable===!1)continue;const p=s.has(h.id),m=!p&&h.parentId&&a.find(g=>g.id===h.parentId);(p||m)&&a.push(h)}const o=new Set(t.map(h=>h.id)),l=i.filter(h=>h.deletable!==!1),d=Xke(a,l);for(const h of l)o.has(h.id)&&!d.find(m=>m.id===h.id)&&d.push(h);if(!r)return{edges:d,nodes:a};const f=await r({nodes:a,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:a}:{edges:[],nodes:[]}:f}const Ig=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Hh=(e={x:0,y:0},t,n)=>({x:Ig(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:Ig(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function cJ(e,t,n){const{width:i,height:r}=zu(n),{x:s,y:a}=n.internals.positionAbsolute;return Hh(e,[[s,a],[s+i,a+r]],t)}const g8=(e,t,n)=>en?-Ig(Math.abs(e-n),1,t)/t:0,qD=(e,t,n=15,i=40)=>{const r=g8(e.x,i,t.width-i)*n,s=g8(e.y,i,t.height-i)*n;return[r,s]},$T=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),lP=({x:e,y:t,width:n,height:i})=>({x:e,y:t,x2:e+n,y2:t+i}),QT=({x:e,y:t,x2:n,y2:i})=>({x:e,y:t,width:n-e,height:i-t}),Pg=(e,t=[0,0])=>{var r,s;const{x:n,y:i}=VD(e)?e.internals.positionAbsolute:Fx(e,t);return{x:n,y:i,width:((r=e.measured)==null?void 0:r.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},$E=(e,t=[0,0])=>{var r,s;const{x:n,y:i}=VD(e)?e.internals.positionAbsolute:Fx(e,t);return{x:n,y:i,x2:n+(((r=e.measured)==null?void 0:r.width)??e.width??e.initialWidth??0),y2:i+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},uJ=(e,t)=>QT($T(lP(e),lP(t))),Ry=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),i=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*i)},O8=e=>ml(e.width)&&ml(e.height)&&ml(e.x)&&ml(e.y),ml=e=>!isNaN(e)&&isFinite(e),dJ=(e,t)=>(n,i)=>{},Xx=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),y0=({x:e,y:t},[n,i,r],s=!1,a=[1,1])=>{const o={x:(e-n)/r,y:(t-i)/r};return s?Xx(o,a):o},jg=({x:e,y:t},[n,i,r])=>({x:e*r+n,y:t*r+i});function Ip(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Gke(e,t,n){if(typeof e=="string"||typeof e=="number"){const i=Ip(e,n),r=Ip(e,t);return{top:i,right:r,bottom:i,left:r,x:r*2,y:i*2}}if(typeof e=="object"){const i=Ip(e.top??e.y??0,n),r=Ip(e.bottom??e.y??0,n),s=Ip(e.left??e.x??0,t),a=Ip(e.right??e.x??0,t);return{top:i,right:a,bottom:r,left:s,x:s+a,y:i+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Wke(e,t,n,i,r,s){const{x:a,y:o}=jg(e,[t,n,i]),{x:l,y:u}=jg({x:e.x+e.width,y:e.y+e.height},[t,n,i]),d=r-l,f=s-u;return{left:Math.floor(a),top:Math.floor(o),right:Math.floor(d),bottom:Math.floor(f)}}const HD=(e,t,n,i,r,s)=>{const a=Gke(s,t,n),o=(t-a.x)/e.width,l=(n-a.y)/e.height,u=Math.min(o,l),d=Ig(u,i,r),f=e.x+e.width/2,h=e.y+e.height/2,p=t/2-f*d,m=n/2-h*d,g=Wke(e,p,m,d,t,n),y={left:Math.min(g.left-a.left,0),top:Math.min(g.top-a.top,0),right:Math.min(g.right-a.right,0),bottom:Math.min(g.bottom-a.bottom,0)};return{x:p-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},Iy=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Yh(e){return e!=null&&e!=="parent"}function zu(e){var t,n;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight??0}}function YD(e){var t,n;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight)!==void 0}function fJ(e,t={width:0,height:0},n,i,r){const s={...e},a=i.get(n);if(a){const o=a.origin||r;s.x+=a.internals.positionAbsolute.x-(t.width??0)*o[0],s.y+=a.internals.positionAbsolute.y-(t.height??0)*o[1]}return s}function b8(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Zke(){let e,t;return{promise:new Promise((i,r)=>{e=i,t=r}),resolve:e,reject:t}}function Kke(e){return{...rJ,...e||{}}}function Rb(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:i,containerBounds:r}){const{x:s,y:a}=gl(e),o=y0({x:s-((r==null?void 0:r.left)??0),y:a-((r==null?void 0:r.top)??0)},i),{x:l,y:u}=n?Xx(o,t):o;return{xSnapped:l,ySnapped:u,...o}}const GD=e=>({width:e.offsetWidth,height:e.offsetHeight}),hJ=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},Jke=["INPUT","SELECT","TEXTAREA"];function pJ(e){var i,r;const t=((r=(i=e.composedPath)==null?void 0:i.call(e))==null?void 0:r[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:Jke.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const mJ=e=>"clientX"in e,gl=(e,t)=>{var s,a;const n=mJ(e),i=n?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,r=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:i-((t==null?void 0:t.left)??0),y:r-((t==null?void 0:t.top)??0)}},y8=(e,t,n,i,r)=>{const s=t.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(a=>{const o=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:r,position:a.getAttribute("data-handlepos"),x:(o.left-n.left)/i,y:(o.top-n.top)/i,...GD(a)}})};function gJ({sourceX:e,sourceY:t,targetX:n,targetY:i,sourceControlX:r,sourceControlY:s,targetControlX:a,targetControlY:o}){const l=e*.125+r*.375+a*.375+n*.125,u=t*.125+s*.375+o*.375+i*.125,d=Math.abs(l-e),f=Math.abs(u-t);return[l,u,d,f]}function TS(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function x8({pos:e,x1:t,y1:n,x2:i,y2:r,c:s}){switch(e){case mt.Left:return[t-TS(t-i,s),n];case mt.Right:return[t+TS(i-t,s),n];case mt.Top:return[t,n-TS(n-r,s)];case mt.Bottom:return[t,n+TS(r-n,s)]}}function OJ({sourceX:e,sourceY:t,sourcePosition:n=mt.Bottom,targetX:i,targetY:r,targetPosition:s=mt.Top,curvature:a=.25}){const[o,l]=x8({pos:n,x1:e,y1:t,x2:i,y2:r,c:a}),[u,d]=x8({pos:s,x1:i,y1:r,x2:e,y2:t,c:a}),[f,h,p,m]=gJ({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:o,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${o},${l} ${u},${d} ${i},${r}`,f,h,p,m]}function bJ({sourceX:e,sourceY:t,targetX:n,targetY:i}){const r=Math.abs(n-e)/2,s=n0}const nTe=({source:e,sourceHandle:t,target:n,targetHandle:i})=>`xy-edge__${e}${t||""}-${n}${i||""}`,iTe=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),rTe=(e,t,n={})=>{var s;if(!e.source||!e.target)return(s=n.onError)==null||s.call(n,"006",vl.error006()),t;const i=n.getEdgeId||nTe;let r;return oJ(e)?r={...e}:r={...e,id:i(e)},iTe(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function yJ({sourceX:e,sourceY:t,targetX:n,targetY:i}){const[r,s,a,o]=bJ({sourceX:e,sourceY:t,targetX:n,targetY:i});return[`M ${e},${t}L ${n},${i}`,r,s,a,o]}const S8={[mt.Left]:{x:-1,y:0},[mt.Right]:{x:1,y:0},[mt.Top]:{x:0,y:-1},[mt.Bottom]:{x:0,y:1}},sTe=({source:e,sourcePosition:t=mt.Bottom,target:n})=>t===mt.Left||t===mt.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function aTe({source:e,sourcePosition:t=mt.Bottom,target:n,targetPosition:i=mt.Top,center:r,offset:s,stepPosition:a}){const o=S8[t],l=S8[i],u={x:e.x+o.x*s,y:e.y+o.y*s},d={x:n.x+l.x*s,y:n.y+l.y*s},f=sTe({source:u,sourcePosition:t,target:d}),h=f.x!==0?"x":"y",p=f[h];let m=[],g,y;const b={x:0,y:0},S={x:0,y:0},[,,x,v]=bJ({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(o[h]*l[h]===-1){h==="x"?(g=r.x??u.x+(d.x-u.x)*a,y=r.y??(u.y+d.y)/2):(g=r.x??(u.x+d.x)/2,y=r.y??u.y+(d.y-u.y)*a);const _=[{x:g,y:u.y},{x:g,y:d.y}],C=[{x:u.x,y},{x:d.x,y}];o[h]===p?m=h==="x"?_:C:m=h==="x"?C:_}else{const _=[{x:u.x,y:d.y}],C=[{x:d.x,y:u.y}];if(h==="x"?m=o.x===p?C:_:m=o.y===p?_:C,t===i){const L=Math.abs(e[h]-n[h]);if(L<=s){const D=Math.min(s-1,s-L);o[h]===p?b[h]=(u[h]>e[h]?-1:1)*D:S[h]=(d[h]>n[h]?-1:1)*D}}if(t!==i){const L=h==="x"?"y":"x",D=o[h]===l[L],N=u[L]>d[L],M=u[L]=Q?(g=(A.x+R.x)/2,y=m[0].y):(g=m[0].x,y=(A.y+R.y)/2)}const E={x:u.x+b.x,y:u.y+b.y},w={x:d.x+S.x,y:d.y+S.y};return[[e,...E.x!==m[0].x||E.y!==m[0].y?[E]:[],...m,...w.x!==m[m.length-1].x||w.y!==m[m.length-1].y?[w]:[],n],g,y,x,v]}function oTe(e,t,n,i){const r=Math.min(v8(e,t)/2,v8(t,n)/2,i),{x:s,y:a}=t;if(e.x===s&&s===n.x||e.y===a&&a===n.y)return`L${s} ${a}`;if(e.y===a){const u=e.xn.id===t):e[0])||null}function cP(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(i=>`${i}=${e[i]}`).join("&")}`:""}function cTe(e,{id:t,defaultColor:n,defaultMarkerStart:i,defaultMarkerEnd:r}){const s=new Set;return e.reduce((a,o)=>([o.markerStart||i,o.markerEnd||r].forEach(l=>{if(l&&typeof l=="object"){const u=cP(l,t);s.has(u)||(a.push({id:u,color:l.color||n,...l}),s.add(u))}}),a),[]).sort((a,o)=>a.id.localeCompare(o.id))}const xJ=1e3,uTe=10,WD={nodeOrigin:[0,0],nodeExtent:Ay,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},dTe={...WD,checkEquality:!0};function ZD(e,t){const n={...e};for(const i in t)t[i]!==void 0&&(n[i]=t[i]);return n}function fTe(e,t,n){const i=ZD(WD,n);for(const r of e.values())if(r.parentId)JD(r,e,t,i);else{const s=Fx(r,i.nodeOrigin),a=Yh(r.extent)?r.extent:i.nodeExtent,o=Hh(s,a,zu(r));r.internals.positionAbsolute=o}}function hTe(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],i=[];for(const r of e.handles){const s={id:r.id,width:r.width??1,height:r.height??1,nodeId:e.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?n.push(s):r.type==="target"&&i.push(s)}return{source:n,target:i}}function KD(e){return e==="manual"}function uP(e,t,n,i={}){var d,f;const r=ZD(dTe,i),s={i:0},a=new Map(t),o=r!=null&&r.elevateNodesOnSelect&&!KD(r.zIndexMode)?xJ:0;let l=e.length>0,u=!1;t.clear(),n.clear();for(const h of e){let p=a.get(h.id);if(r.checkEquality&&h===(p==null?void 0:p.internals.userNode))t.set(h.id,p);else{const m=Fx(h,r.nodeOrigin),g=Yh(h.extent)?h.extent:r.nodeExtent,y=Hh(m,g,zu(h));p={...r.defaults,...h,measured:{width:(d=h.measured)==null?void 0:d.width,height:(f=h.measured)==null?void 0:f.height},internals:{positionAbsolute:y,handleBounds:hTe(h,p),z:SJ(h,o,r.zIndexMode),userNode:h}},t.set(h.id,p)}(p.measured===void 0||p.measured.width===void 0||p.measured.height===void 0)&&!p.hidden&&(l=!1),h.parentId&&JD(p,t,n,i,s),u||(u=h.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:u}}function pTe(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function JD(e,t,n,i,r){const{elevateNodesOnSelect:s,nodeOrigin:a,nodeExtent:o,zIndexMode:l}=ZD(WD,i),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}pTe(e,n),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*uTe),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);const f=s&&!KD(l)?xJ:0,{x:h,y:p,z:m}=mTe(e,d,a,o,f,l),{positionAbsolute:g}=e.internals,y=h!==g.x||p!==g.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:h,y:p}:g,z:m}})}function SJ(e,t,n){const i=ml(e.zIndex)?e.zIndex:0;return KD(n)?i:i+(e.selected?t:0)}function mTe(e,t,n,i,r,s){const{x:a,y:o}=t.internals.positionAbsolute,l=zu(e),u=Fx(e,n),d=Yh(e.extent)?Hh(u,e.extent,l):u;let f=Hh({x:a+d.x,y:o+d.y},i,l);e.extent==="parent"&&(f=cJ(f,l,t));const h=SJ(e,r,s),p=t.internals.z??0;return{x:f.x,y:f.y,z:p>=h?p+1:h}}function e$(e,t,n,i=[0,0]){var a;const r=[],s=new Map;for(const o of e){const l=t.get(o.parentId);if(!l)continue;const u=((a=s.get(o.parentId))==null?void 0:a.expandedRect)??Pg(l),d=uJ(u,o.rect);s.set(o.parentId,{expandedRect:d,parent:l})}return s.size>0&&s.forEach(({expandedRect:o,parent:l},u)=>{var x;const d=l.internals.positionAbsolute,f=zu(l),h=l.origin??i,p=o.x0||m>0||b||S)&&(r.push({id:u,type:"position",position:{x:l.position.x-p+b,y:l.position.y-m+S}}),(x=n.get(u))==null||x.forEach(v=>{e.some(E=>E.id===v.id)||r.push({id:v.id,type:"position",position:{x:v.position.x+p,y:v.position.y+m}})})),(f.width0){const p=e$(h,t,n,r);u.push(...p)}return{changes:u,updatedInternals:l}}async function OTe({delta:e,panZoom:t,transform:n,translateExtent:i,width:r,height:s}){if(!t||!e.x&&!e.y)return!1;const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,s]],i);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])}function T8(e,t,n,i,r,s){let a=r;const o=i.get(a)||new Map;i.set(a,o.set(n,t)),a=`${r}-${e}`;const l=i.get(a)||new Map;if(i.set(a,l.set(n,t)),s){a=`${r}-${e}-${s}`;const u=i.get(a)||new Map;i.set(a,u.set(n,t))}}function vJ(e,t,n){e.clear(),t.clear();for(const i of n){const{source:r,target:s,sourceHandle:a=null,targetHandle:o=null}=i,l={edgeId:i.id,source:r,target:s,sourceHandle:a,targetHandle:o},u=`${r}-${a}--${s}-${o}`,d=`${s}-${o}--${r}-${a}`;T8("source",l,d,e,r,a),T8("target",l,u,e,s,o),t.set(i.id,i)}}function wJ(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:wJ(n,t):!1}function _8(e,t,n){var r;let i=e;do{if((r=i==null?void 0:i.matches)!=null&&r.call(i,t))return!0;if(i===n)return!1;i=i==null?void 0:i.parentElement}while(i);return!1}function bTe(e,t,n,i){const r=new Map;for(const[s,a]of e)if((a.selected||a.id===i)&&(!a.parentId||!wJ(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const o=e.get(s);o&&r.set(s,{id:s,position:o.position||{x:0,y:0},distance:{x:n.x-o.internals.positionAbsolute.x,y:n.y-o.internals.positionAbsolute.y},extent:o.extent,parentId:o.parentId,origin:o.origin,expandParent:o.expandParent,internals:{positionAbsolute:o.internals.positionAbsolute||{x:0,y:0}},measured:{width:o.measured.width??0,height:o.measured.height??0}})}return r}function UN({nodeId:e,dragItems:t,nodeLookup:n,dragging:i=!0}){var a,o,l;const r=[];for(const[u,d]of t){const f=(a=n.get(u))==null?void 0:a.internals.userNode;f&&r.push({...f,position:d.position,dragging:i})}if(!e)return[r[0],r];const s=(o=n.get(e))==null?void 0:o.internals.userNode;return[s?{...s,position:((l=t.get(e))==null?void 0:l.position)||s.position,dragging:i}:r[0],r]}function yTe({dragItems:e,snapGrid:t,x:n,y:i}){const r=e.values().next().value;if(!r)return null;const s={x:n-r.distance.x,y:i-r.distance.y},a=Xx(s,t);return{x:a.x-s.x,y:a.y-s.y}}function xTe({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:i,onDragStop:r}){let s={x:null,y:null},a=0,o=new Map,l=!1,u={x:0,y:0},d=null,f=!1,h=null,p=!1,m=!1,g=null;function y({noDragClassName:S,handleSelector:x,domNode:v,isSelectable:E,nodeId:w,nodeClickDistance:k=0}){h=Ja(v);function _({x:j,y:Q}){const{nodeLookup:L,nodeExtent:D,snapGrid:N,snapToGrid:M,nodeOrigin:B,onNodeDrag:$,onSelectionDrag:I,onError:G,updateNodePositions:X}=t();s={x:j,y:Q};let U=!1;const Y=o.size>1,ae=Y&&D?lP(Vx(o)):null,fe=Y&&M?yTe({dragItems:o,snapGrid:N,x:j,y:Q}):null;for(const[ke,K]of o){if(!L.has(ke))continue;let ie={x:j-K.distance.x,y:Q-K.distance.y};M&&(ie=fe?{x:Math.round(ie.x+fe.x),y:Math.round(ie.y+fe.y)}:Xx(ie,N));let le=null;if(Y&&D&&!K.extent&&ae){const{positionAbsolute:Ce}=K.internals,_e=Ce.x-ae.x+D[0][0],he=Ce.x+K.measured.width-ae.x2+D[1][0],te=Ce.y-ae.y+D[0][1],Te=Ce.y+K.measured.height-ae.y2+D[1][1];le=[[_e,te],[he,Te]]}const{position:ge,positionAbsolute:Ee}=lJ({nodeId:ke,nextPosition:ie,nodeLookup:L,nodeExtent:le||D,nodeOrigin:B,onError:G});U=U||K.position.x!==ge.x||K.position.y!==ge.y,K.position=ge,K.internals.positionAbsolute=Ee}if(m=m||U,!!U&&(X(o,!0),g&&(i||$||!w&&I))){const[ke,K]=UN({nodeId:w,dragItems:o,nodeLookup:L});i==null||i(g,o,ke,K),$==null||$(g,ke,K),w||I==null||I(g,K)}}async function C(){if(!d)return;const{transform:j,panBy:Q,autoPanSpeed:L,autoPanOnNodeDrag:D}=t();if(!D){l=!1,cancelAnimationFrame(a);return}const[N,M]=qD(u,d,L);(N!==0||M!==0)&&(s.x=(s.x??0)-N/j[2],s.y=(s.y??0)-M/j[2],await Q({x:N,y:M})&&_(s)),a=requestAnimationFrame(C)}function A(j){var Y;const{nodeLookup:Q,multiSelectionActive:L,nodesDraggable:D,transform:N,snapGrid:M,snapToGrid:B,selectNodesOnDrag:$,onNodeDragStart:I,onSelectionDragStart:G,unselectNodesAndEdges:X}=t();f=!0,(!$||!E)&&!L&&w&&((Y=Q.get(w))!=null&&Y.selected||X()),E&&$&&w&&(e==null||e(w));const U=Rb(j.sourceEvent,{transform:N,snapGrid:M,snapToGrid:B,containerBounds:d});if(s=U,o=bTe(Q,D,U,w),o.size>0&&(n||I||!w&&G)){const[ae,fe]=UN({nodeId:w,dragItems:o,nodeLookup:Q});n==null||n(j.sourceEvent,o,ae,fe),I==null||I(j.sourceEvent,ae,fe),w||G==null||G(j.sourceEvent,fe)}}const R=UK().clickDistance(k).on("start",j=>{const{domNode:Q,nodeDragThreshold:L,transform:D,snapGrid:N,snapToGrid:M}=t();d=(Q==null?void 0:Q.getBoundingClientRect())||null,p=!1,m=!1,g=j.sourceEvent,L===0&&A(j),s=Rb(j.sourceEvent,{transform:D,snapGrid:N,snapToGrid:M,containerBounds:d}),u=gl(j.sourceEvent,d)}).on("drag",j=>{const{autoPanOnNodeDrag:Q,transform:L,snapGrid:D,snapToGrid:N,nodeDragThreshold:M,nodeLookup:B}=t(),$=Rb(j.sourceEvent,{transform:L,snapGrid:D,snapToGrid:N,containerBounds:d});if(g=j.sourceEvent,(j.sourceEvent.type==="touchmove"&&j.sourceEvent.touches.length>1||w&&!B.has(w))&&(p=!0),!p){if(!l&&Q&&f&&(l=!0,C()),!f){const I=gl(j.sourceEvent,d),G=I.x-u.x,X=I.y-u.y;Math.sqrt(G*G+X*X)>M&&A(j)}(s.x!==$.xSnapped||s.y!==$.ySnapped)&&o&&f&&(u=gl(j.sourceEvent,d),_($))}}).on("end",j=>{if(!f||p){p&&o.size>0&&t().updateNodePositions(o,!1);return}if(l=!1,f=!1,cancelAnimationFrame(a),o.size>0){const{nodeLookup:Q,updateNodePositions:L,onNodeDragStop:D,onSelectionDragStop:N}=t();if(m&&(L(o,!1),m=!1),r||D||!w&&N){const[M,B]=UN({nodeId:w,dragItems:o,nodeLookup:Q,dragging:!1});r==null||r(j.sourceEvent,o,M,B),D==null||D(j.sourceEvent,M,B),w||N==null||N(j.sourceEvent,B)}}}).filter(j=>{const Q=j.target;return!j.button&&(!S||!_8(Q,`.${S}`,v))&&(!x||_8(Q,x,v))});h.call(R)}function b(){h==null||h.on(".drag",null)}return{update:y,destroy:b}}function STe(e,t,n){const i=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const s of t.values())Ry(r,Pg(s))>0&&i.push(s);return i}const vTe=250;function wTe(e,t,n,i){var o,l;let r=[],s=1/0;const a=STe(e,n,t+vTe);for(const u of a){const d=[...((o=u.internals.handleBounds)==null?void 0:o.source)??[],...((l=u.internals.handleBounds)==null?void 0:l.target)??[]];for(const f of d){if(i.nodeId===f.nodeId&&i.type===f.type&&i.id===f.id)continue;const{x:h,y:p}=Gh(u,f,f.position,!0),m=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(p-e.y,2));m>t||(m1){const u=i.type==="source"?"target":"source";return r.find(d=>d.type===u)??r[0]}return r[0]}function EJ(e,t,n,i,r,s=!1){var u,d,f;const a=i.get(e);if(!a)return null;const o=r==="strict"?(u=a.internals.handleBounds)==null?void 0:u[t]:[...((d=a.internals.handleBounds)==null?void 0:d.source)??[],...((f=a.internals.handleBounds)==null?void 0:f.target)??[]],l=(n?o==null?void 0:o.find(h=>h.id===n):o==null?void 0:o[0])??null;return l&&s?{...l,...Gh(a,l,l.position,!0)}:l}function kJ(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function ETe(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const TJ=()=>!0;function kTe(e,{connectionMode:t,connectionRadius:n,handleId:i,nodeId:r,edgeUpdaterType:s,isTarget:a,domNode:o,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:f,panBy:h,cancelConnection:p,onConnectStart:m,onConnect:g,onConnectEnd:y,isValidConnection:b=TJ,onReconnectEnd:S,updateConnection:x,getTransform:v,getFromHandle:E,autoPanSpeed:w,dragThreshold:k=1,handleDomNode:_}){const C=hJ(e.target);let A=0,R;const{x:j,y:Q}=gl(e),L=kJ(s,_),D=o==null?void 0:o.getBoundingClientRect();let N=!1;if(!D||!L)return;const M=EJ(r,L,i,l,t);if(!M)return;let B=gl(e,D),$=!1,I=null,G=!1,X=null;function U(){if(!d||!D)return;const[ge,Ee]=qD(B,D,w);h({x:ge,y:Ee}),A=requestAnimationFrame(U)}const Y={...M,nodeId:r,type:L,position:M.position},ae=l.get(r);let ke={inProgress:!0,isValid:null,from:Gh(ae,Y,mt.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:ae,to:B,toHandle:null,toPosition:m8[Y.position],toNode:null,pointer:B};function K(){N=!0,x(ke),m==null||m(e,{nodeId:r,handleId:i,handleType:L})}k===0&&K();function ie(ge){if(!N){const{x:Te,y:me}=gl(ge),Be=Te-j,je=me-Q;if(!(Be*Be+je*je>k*k))return;K()}if(!E()||!Y){le(ge);return}const Ee=v();B=gl(ge,D),R=wTe(y0(B,Ee,!1,[1,1]),n,l,Y),$||(U(),$=!0);const Ce=_J(ge,{handle:R,connectionMode:t,fromNodeId:r,fromHandleId:i,fromType:a?"target":"source",isValidConnection:b,doc:C,lib:u,flowId:f,nodeLookup:l});X=Ce.handleDomNode,I=Ce.connection,G=ETe(!!R,Ce.isValid);const _e=l.get(r),he=_e?Gh(_e,Y,mt.Left,!0):ke.from,te={...ke,from:he,isValid:G,to:Ce.toHandle&&G?jg({x:Ce.toHandle.x,y:Ce.toHandle.y},Ee):B,toHandle:Ce.toHandle,toPosition:G&&Ce.toHandle?Ce.toHandle.position:m8[Y.position],toNode:Ce.toHandle?l.get(Ce.toHandle.nodeId):null,pointer:B};x(te),ke=te}function le(ge){if(!("touches"in ge&&ge.touches.length>0)){if(N){(R||X)&&I&&G&&(g==null||g(I));const{inProgress:Ee,...Ce}=ke,_e={...Ce,toPosition:ke.toHandle?ke.toPosition:null};y==null||y(ge,_e),s&&(S==null||S(ge,_e))}p(),cancelAnimationFrame(A),$=!1,G=!1,I=null,X=null,C.removeEventListener("mousemove",ie),C.removeEventListener("mouseup",le),C.removeEventListener("touchmove",ie),C.removeEventListener("touchend",le)}}C.addEventListener("mousemove",ie),C.addEventListener("mouseup",le),C.addEventListener("touchmove",ie),C.addEventListener("touchend",le)}function _J(e,{handle:t,connectionMode:n,fromNodeId:i,fromHandleId:r,fromType:s,doc:a,lib:o,flowId:l,isValidConnection:u=TJ,nodeLookup:d}){const f=s==="target",h=t?a.querySelector(`.${o}-flow__handle[data-id="${l}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:p,y:m}=gl(e),g=a.elementFromPoint(p,m),y=g!=null&&g.classList.contains(`${o}-flow__handle`)?g:h,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const S=kJ(void 0,y),x=y.getAttribute("data-nodeid"),v=y.getAttribute("data-handleid"),E=y.classList.contains("connectable"),w=y.classList.contains("connectableend");if(!x||!S)return b;const k={source:f?x:i,sourceHandle:f?v:r,target:f?i:x,targetHandle:f?r:v};b.connection=k;const C=E&&w&&(n===Rg.Strict?f&&S==="source"||!f&&S==="target":x!==i||v!==r);b.isValid=C&&u(k),b.toHandle=EJ(x,S,v,d,n,!0)}return b}const dP={onPointerDown:kTe,isValid:_J};function TTe({domNode:e,panZoom:t,getTransform:n,getViewScale:i}){const r=Ja(e);function s({translateExtent:o,width:l,height:u,zoomStep:d=1,pannable:f=!0,zoomable:h=!0,inversePan:p=!1}){const m=x=>{if(x.sourceEvent.type!=="wheel"||!t)return;const v=n(),E=x.sourceEvent.ctrlKey&&Iy()?10:1,w=-x.sourceEvent.deltaY*(x.sourceEvent.deltaMode===1?.05:x.sourceEvent.deltaMode?1:.002)*d,k=v[2]*Math.pow(2,w*E);t.scaleTo(k)};let g=[0,0];const y=x=>{(x.sourceEvent.type==="mousedown"||x.sourceEvent.type==="touchstart")&&(g=[x.sourceEvent.clientX??x.sourceEvent.touches[0].clientX,x.sourceEvent.clientY??x.sourceEvent.touches[0].clientY])},b=x=>{const v=n();if(x.sourceEvent.type!=="mousemove"&&x.sourceEvent.type!=="touchmove"||!t)return;const E=[x.sourceEvent.clientX??x.sourceEvent.touches[0].clientX,x.sourceEvent.clientY??x.sourceEvent.touches[0].clientY],w=[E[0]-g[0],E[1]-g[1]];g=E;const k=i()*Math.max(v[2],Math.log(v[2]))*(p?-1:1),_={x:v[0]-w[0]*k,y:v[1]-w[1]*k},C=[[0,0],[l,u]];t.setViewportConstrained({x:_.x,y:_.y,zoom:v[2]},C,o)},S=nJ().on("start",y).on("zoom",f?b:null).on("zoom.wheel",h?m:null);r.call(S,{})}function a(){r.on("zoom",null)}return{update:s,destroy:a,pointer:ul}}const BT=e=>({x:e.x,y:e.y,zoom:e.k}),zN=({x:e,y:t,zoom:n})=>DT.translate(e,t).scale(n),Tm=(e,t)=>e.target.closest(`.${t}`),AJ=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),_Te=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,FN=(e,t=0,n=_Te,i=()=>{})=>{const r=typeof t=="number"&&t>0;return r||i(),r?e.transition().duration(t).ease(n).on("end",i):e},NJ=e=>{const t=e.ctrlKey&&Iy()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function ATe({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:i,panOnScrollMode:r,panOnScrollSpeed:s,zoomOnPinch:a,onPanZoomStart:o,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(Tm(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&a){const y=ul(d),b=NJ(d),S=f*Math.pow(2,b);i.scaleTo(n,S,y,d);return}const h=d.deltaMode===1?20:1;let p=r===jh.Vertical?0:d.deltaX*h,m=r===jh.Horizontal?0:d.deltaY*h;!Iy()&&d.shiftKey&&r!==jh.Vertical&&(p=d.deltaY*h,m=0),i.translateBy(n,-(p/f)*s,-(m/f)*s,{internal:!0});const g=BT(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l==null||l(d,g),e.panScrollTimeout=setTimeout(()=>{u==null||u(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,o==null||o(d,g))}}function NTe({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(i,r){const s=i.type==="wheel",a=!t&&s&&!i.ctrlKey,o=Tm(i,e);if(i.ctrlKey&&s&&o&&i.preventDefault(),a||o)return null;i.preventDefault(),n.call(this,i,r)}}function CTe({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return i=>{var s,a,o;if((s=i.sourceEvent)!=null&&s.internal)return;const r=BT(i.transform);e.mouseButton=((a=i.sourceEvent)==null?void 0:a.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=r,((o=i.sourceEvent)==null?void 0:o.type)==="mousedown"&&t(!0),n&&(n==null||n(i.sourceEvent,r))}}function RTe({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:i,onPanZoom:r}){return s=>{var a,o;e.usedRightMouseButton=!!(n&&AJ(t,e.mouseButton??0)),(a=s.sourceEvent)!=null&&a.sync||i([s.transform.x,s.transform.y,s.transform.k]),r&&!((o=s.sourceEvent)!=null&&o.internal)&&(r==null||r(s.sourceEvent,BT(s.transform)))}}function ITe({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:i,onPanZoomEnd:r,onPaneContextMenu:s}){return a=>{var o;if(!((o=a.sourceEvent)!=null&&o.internal)&&(e.isZoomingOrPanning=!1,s&&AJ(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&s(a.sourceEvent),e.usedRightMouseButton=!1,i(!1),r)){const l=BT(a.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r==null||r(a.sourceEvent,l)},n?150:0)}}}function PTe({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:i,panOnScroll:r,zoomOnDoubleClick:s,userSelectionActive:a,noWheelClassName:o,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{var y;const h=e||t,p=n&&f.ctrlKey,m=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(Tm(f,`${u}-flow__node`)||Tm(f,`${u}-flow__edge`)))return!0;if(!i&&!h&&!r&&!s&&!n||a||d&&!m||Tm(f,o)&&m||Tm(f,l)&&(!m||r&&m&&!e)||!n&&f.ctrlKey&&m)return!1;if(!n&&f.type==="touchstart"&&((y=f.touches)==null?void 0:y.length)>1)return f.preventDefault(),!1;if(!h&&!r&&!p&&m||!i&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(i)&&!i.includes(f.button)&&f.type==="mousedown")return!1;const g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&g}}function jTe({domNode:e,minZoom:t,maxZoom:n,translateExtent:i,viewport:r,onPanZoom:s,onPanZoomStart:a,onPanZoomEnd:o,onDraggingChange:l}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=nJ().scaleExtent([t,n]).translateExtent(i),h=Ja(e).call(f);S({x:r.x,y:r.y,zoom:Ig(r.zoom,t,n)},[[0,0],[d.width,d.height]],i);const p=h.on("wheel.zoom"),m=h.on("dblclick.zoom");f.wheelDelta(NJ);async function g(R,j){return h?new Promise(Q=>{f==null||f.interpolate((j==null?void 0:j.interpolate)==="linear"?Cb:aw).transform(FN(h,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>Q(!0)),R)}):!1}function y({noWheelClassName:R,noPanClassName:j,onPaneContextMenu:Q,userSelectionActive:L,panOnScroll:D,panOnDrag:N,panOnScrollMode:M,panOnScrollSpeed:B,preventScrolling:$,zoomOnPinch:I,zoomOnScroll:G,zoomOnDoubleClick:X,zoomActivationKeyPressed:U,lib:Y,onTransformChange:ae,connectionInProgress:fe,paneClickDistance:ke,selectionOnDrag:K}){L&&!u.isZoomingOrPanning&&b();const ie=D&&!U&&!L;f.clickDistance(K?1/0:!ml(ke)||ke<0?0:ke);const le=ie?ATe({zoomPanValues:u,noWheelClassName:R,d3Selection:h,d3Zoom:f,panOnScrollMode:M,panOnScrollSpeed:B,zoomOnPinch:I,onPanZoomStart:a,onPanZoom:s,onPanZoomEnd:o}):NTe({noWheelClassName:R,preventScrolling:$,d3ZoomHandler:p});h.on("wheel.zoom",le,{passive:!1});const ge=CTe({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:a});f.on("start",ge);const Ee=RTe({zoomPanValues:u,panOnDrag:N,onPaneContextMenu:!!Q,onPanZoom:s,onTransformChange:ae});f.on("zoom",Ee);const Ce=ITe({zoomPanValues:u,panOnDrag:N,panOnScroll:D,onPaneContextMenu:Q,onPanZoomEnd:o,onDraggingChange:l});f.on("end",Ce);const _e=PTe({zoomActivationKeyPressed:U,panOnDrag:N,zoomOnScroll:G,panOnScroll:D,zoomOnDoubleClick:X,zoomOnPinch:I,userSelectionActive:L,noPanClassName:j,noWheelClassName:R,lib:Y,connectionInProgress:fe});f.filter(_e),X?h.on("dblclick.zoom",m):h.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function S(R,j,Q){const L=zN(R),D=f==null?void 0:f.constrain()(L,j,Q);return D&&await g(D),D}async function x(R,j){const Q=zN(R);return await g(Q,j),Q}function v(R){if(h){const j=zN(R),Q=h.property("__zoom");(Q.k!==R.zoom||Q.x!==R.x||Q.y!==R.y)&&(f==null||f.transform(h,j,null,{sync:!0}))}}function E(){const R=h?tJ(h.node()):{x:0,y:0,k:1};return{x:R.x,y:R.y,zoom:R.k}}async function w(R,j){return h?new Promise(Q=>{f==null||f.interpolate((j==null?void 0:j.interpolate)==="linear"?Cb:aw).scaleTo(FN(h,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>Q(!0)),R)}):!1}async function k(R,j){return h?new Promise(Q=>{f==null||f.interpolate((j==null?void 0:j.interpolate)==="linear"?Cb:aw).scaleBy(FN(h,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>Q(!0)),R)}):!1}function _(R){f==null||f.scaleExtent(R)}function C(R){f==null||f.translateExtent(R)}function A(R){const j=!ml(R)||R<0?0:R;f==null||f.clickDistance(j)}return{update:y,destroy:b,setViewport:x,setViewportConstrained:S,getViewport:E,scaleTo:w,scaleBy:k,setScaleExtent:_,setTranslateExtent:C,syncViewport:v,setClickDistance:A}}var Mg;(function(e){e.Line="line",e.Handle="handle"})(Mg||(Mg={}));function MTe({width:e,prevWidth:t,height:n,prevHeight:i,affectsX:r,affectsY:s}){const a=e-t,o=n-i,l=[a>0?1:a<0?-1:0,o>0?1:o<0?-1:0];return a&&r&&(l[0]=l[0]*-1),o&&s&&(l[1]=l[1]*-1),l}function A8(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),i=e.includes("left"),r=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:i,affectsY:r}}function ud(e,t){return Math.max(0,t-e)}function dd(e,t){return Math.max(0,e-t)}function _S(e,t,n){return Math.max(0,t-e,e-n)}function N8(e,t){return e?!t:t}function LTe(e,t,n,i,r,s,a,o){let{affectsX:l,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,h=d&&f,{xSnapped:p,ySnapped:m}=n,{minWidth:g,maxWidth:y,minHeight:b,maxHeight:S}=i,{x,y:v,width:E,height:w,aspectRatio:k}=e;let _=Math.floor(d?p-e.pointerX:0),C=Math.floor(f?m-e.pointerY:0);const A=E+(l?-_:_),R=w+(u?-C:C),j=-s[0]*E,Q=-s[1]*w;let L=_S(A,g,y),D=_S(R,b,S);if(a){let B=0,$=0;l&&_<0?B=ud(x+_+j,a[0][0]):!l&&_>0&&(B=dd(x+A+j,a[1][0])),u&&C<0?$=ud(v+C+Q,a[0][1]):!u&&C>0&&($=dd(v+R+Q,a[1][1])),L=Math.max(L,B),D=Math.max(D,$)}if(o){let B=0,$=0;l&&_>0?B=dd(x+_,o[0][0]):!l&&_<0&&(B=ud(x+A,o[1][0])),u&&C>0?$=dd(v+C,o[0][1]):!u&&C<0&&($=ud(v+R,o[1][1])),L=Math.max(L,B),D=Math.max(D,$)}if(r){if(d){const B=_S(A/k,b,S)*k;if(L=Math.max(L,B),a){let $=0;!l&&!u||l&&!u&&h?$=dd(v+Q+A/k,a[1][1])*k:$=ud(v+Q+(l?_:-_)/k,a[0][1])*k,L=Math.max(L,$)}if(o){let $=0;!l&&!u||l&&!u&&h?$=ud(v+A/k,o[1][1])*k:$=dd(v+(l?_:-_)/k,o[0][1])*k,L=Math.max(L,$)}}if(f){const B=_S(R*k,g,y)/k;if(D=Math.max(D,B),a){let $=0;!l&&!u||u&&!l&&h?$=dd(x+R*k+j,a[1][0])/k:$=ud(x+(u?C:-C)*k+j,a[0][0])/k,D=Math.max(D,$)}if(o){let $=0;!l&&!u||u&&!l&&h?$=ud(x+R*k,o[1][0])/k:$=dd(x+(u?C:-C)*k,o[0][0])/k,D=Math.max(D,$)}}}C=C+(C<0?D:-D),_=_+(_<0?L:-L),r&&(h?A>R*k?C=(N8(l,u)?-_:_)/k:_=(N8(l,u)?-C:C)*k:d?(C=_/k,u=l):(_=C*k,l=u));const N=l?x+_:x,M=u?v+C:v;return{width:E+(l?-_:_),height:w+(u?-C:C),x:s[0]*_*(l?-1:1)+N,y:s[1]*C*(u?-1:1)+M}}const CJ={width:0,height:0,x:0,y:0},DTe={...CJ,pointerX:0,pointerY:0,aspectRatio:1};function $Te(e,t,n){const i=t.position.x+e.position.x,r=t.position.y+e.position.y,s=e.measured.width??0,a=e.measured.height??0,o=n[0]*s,l=n[1]*a;return[[i-o,r-l],[i+s-o,r+a-l]]}function QTe({domNode:e,nodeId:t,getStoreItems:n,onChange:i,onEnd:r}){const s=Ja(e);let a={controlDirection:A8("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function o({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:h,onResizeStart:p,onResize:m,onResizeEnd:g,shouldResize:y}){let b={...CJ},S={...DTe};a={boundaries:d,resizeDirection:h,keepAspectRatio:f,controlDirection:A8(u)};let x,v=null,E=[],w,k,_,C=!1;const A=UK().on("start",R=>{const{nodeLookup:j,transform:Q,snapGrid:L,snapToGrid:D,nodeOrigin:N,paneDomNode:M}=n();if(x=j.get(t),!x)return;v=(M==null?void 0:M.getBoundingClientRect())??null;const{xSnapped:B,ySnapped:$}=Rb(R.sourceEvent,{transform:Q,snapGrid:L,snapToGrid:D,containerBounds:v});b={width:x.measured.width??0,height:x.measured.height??0,x:x.position.x??0,y:x.position.y??0},S={...b,pointerX:B,pointerY:$,aspectRatio:b.width/b.height},w=void 0,k=Yh(x.extent)?x.extent:void 0,x.parentId&&(x.extent==="parent"||x.expandParent)&&(w=j.get(x.parentId)),w&&x.extent==="parent"&&(k=[[0,0],[w.measured.width,w.measured.height]]),E=[],_=void 0;for(const[I,G]of j)if(G.parentId===t&&(E.push({id:I,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const X=$Te(G,x,G.origin??N);_?_=[[Math.min(X[0][0],_[0][0]),Math.min(X[0][1],_[0][1])],[Math.max(X[1][0],_[1][0]),Math.max(X[1][1],_[1][1])]]:_=X}p==null||p(R,{...b})}).on("drag",R=>{const{transform:j,snapGrid:Q,snapToGrid:L,nodeOrigin:D}=n(),N=Rb(R.sourceEvent,{transform:j,snapGrid:Q,snapToGrid:L,containerBounds:v}),M=[];if(!x)return;const{x:B,y:$,width:I,height:G}=b,X={},U=x.origin??D,{width:Y,height:ae,x:fe,y:ke}=LTe(S,a.controlDirection,N,a.boundaries,a.keepAspectRatio,U,k,_),K=Y!==I,ie=ae!==G,le=fe!==B&&K,ge=ke!==$&&ie;if(!le&&!ge&&!K&&!ie)return;if((le||ge||U[0]===1||U[1]===1)&&(X.x=le?fe:b.x,X.y=ge?ke:b.y,b.x=X.x,b.y=X.y,E.length>0)){const he=fe-B,te=ke-$;for(const Te of E)Te.position={x:Te.position.x-he+U[0]*(Y-I),y:Te.position.y-te+U[1]*(ae-G)},M.push(Te)}if((K||ie)&&(X.width=K&&(!a.resizeDirection||a.resizeDirection==="horizontal")?Y:b.width,X.height=ie&&(!a.resizeDirection||a.resizeDirection==="vertical")?ae:b.height,b.width=X.width,b.height=X.height),w&&x.expandParent){const he=U[0]*(X.width??0);X.x&&X.x{C&&(g==null||g(R,{...b}),r==null||r({...b}),C=!1)});s.call(A)}function l(){s.on(".drag",null)}return{update:o,destroy:l}}var RJ={exports:{}},IJ={},PJ={exports:{}},jJ={};/** +${i}`}}async function TZ(e,t=!1){const n=await kt(`/web/model-api-keys${t?"?refresh=true":""}`,{signal:e,cache:"no-store"});if(!n.ok)throw new Error(await nn(n,"加载 Ark API Key 失败"));return await n.json()}async function _Z(e,t){const n=await kt(`/web/model-api-keys/${encodeURIComponent(e)}/value`,{method:"POST",signal:t,cache:"no-store"});if(!n.ok)throw new Error(await nn(n,"加载 Ark API Key 失败"));return await n.json()}async function AZ(e){const t=new URLSearchParams;e!=null&&e.apiKeyId&&t.set("apiKeyId",e.apiKeyId),e!=null&&e.refresh&&t.set("refresh","true");const n=t.toString(),i=await kt(`/web/model-options${n?`?${n}`:""}`,{signal:e==null?void 0:e.signal,cache:"no-store"});if(!i.ok)throw new Error(await nn(i,"加载模型列表失败"));return await i.json()}async function NZ(){const e=await kt("/list-apps");if(!e.ok)throw new Error(`list-apps failed: ${e.status}`);return e.json()}class O0 extends Error{constructor(){super("当前账号无权访问该 Runtime,请刷新列表或重新登录后重试。"),this.name="RuntimeAccessDeniedError"}}class na extends Error{constructor(t,n=!1,i=!1){super(t),this.unsupported=n,this.retryable=i,this.name="RuntimeProbeError"}}const CZ="Runtime 已部署成功,但当前 Studio 无法访问私网 Runtime。请使用已绑定相同 VPC 的 Studio 访问,或改用公网 / 公网+VPC 部署。",RZ="Runtime 已部署成功,但 Studio 暂时无法连接服务。网关域名可能仍在生效,或当前网络/DNS 无法访问该 Runtime,请稍后在智能体管理页重试连接。",BB=["cn-beijing","cn-shanghai"],fSe=3e4,AT=5*60*1e3,IZ=60*1e3;let PZ="volcengine";const tw=new Map,ih=new Map,rh=new Map,dl=new Map;function jZ(e,t){return`${t}:${e}`}function MZ(e){PZ=e}function Cf(e){const t=(e||"").trim();if(PZ==="byteplus")return[t&&!t.startsWith("cn-")?t:zI];const n=t&&!t.startsWith("ap-")?t:xD;return BB.includes(n)?[n,...BB.filter(i=>i!==n)]:[n]}function b0(...e){return e.map(t=>String(t??"")).join("")}function y0(e,t,n){const i=e.get(t);return i!=null&&i.value&&Date.now()-i.updatedAt<=n?i.value:null}function TD(e,t,n){return e.set(t,{value:n,updatedAt:Date.now()}),n}async function LZ(e){try{const t=await e.clone().json();return typeof t.detail=="string"?t.detail:""}catch{return""}}async function NT(e,t,n){const i=await kt("/list-apps",{},n??{base:e,apiKey:t}),r=n!=null&&n.runtimeId?await LZ(i):"";if(n!=null&&n.runtimeId&&r==="runtime_access_denied")throw new O0;if(n!=null&&n.runtimeId&&r==="runtime_private_endpoint_unreachable")throw new na(CZ);if(n!=null&&n.runtimeId&&["runtime_proxy_connect_error","runtime_proxy_timeout","runtime_json_connect_error","runtime_json_timeout"].includes(r))throw new na(RZ,!1,!0);if(n!=null&&n.runtimeId&&i.status===404)throw new na("该 Runtime 的 Agent Server 未提供连接接口,请确认 Runtime 已就绪且版本兼容。",!0,!0);if(n!=null&&n.runtimeId&&(i.status===401||i.status===403))throw new na("Runtime 服务拒绝了连接请求,请检查 Runtime 的鉴权配置。");if(!i.ok)throw new Error(await nn(i,"读取 Agent 列表失败"));const s=await i.json();return n!=null&&n.runtimeId&&tw.set(jZ(n.runtimeId,n.region??""),{apps:s,expiresAt:Date.now()+fSe}),s}async function DZ(e,t){const{app:n,ep:i}=Qr(e),r=await kt(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"},i);if(!r.ok){const a=`创建会话失败 (${r.status})`,o=await nn(r,"创建会话失败");throw new Error(o===a?a:`${a}:${o}`)}return(await r.json()).id}async function _D(e,t){const{app:n,ep:i}=Qr(e),r=await kt(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{},i);if(!r.ok)throw new Error(`list sessions failed: ${r.status}`);return r.json()}async function TE(e,t,n){const{app:i,ep:r}=Qr(e),s=await kt(`/apps/${i}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}`,{},r);if(!s.ok){const o=await nn(s,"读取会话失败");throw new Error(`get session failed: ${s.status}:${o}`)}const a=await s.json();if(r.runtimeId){const o=wD(r.runtimeId,i,t,n);a.state={...ED()[o]??{},...a.state??{}}}return a}async function $Z(e){const{app:t,ep:n}=Qr(e.appName);if(!n.runtimeId)throw new Error("只有连接到 AgentKit Runtime 的会话支持反馈回流");if(!n.region)throw new Error("Runtime 缺少地域信息,无法提交反馈");const i=await kt("/web/evaluation/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:n.runtimeId,region:n.region,appName:t,userId:e.userId,sessionId:e.sessionId,eventId:e.eventId,rating:e.rating,comment:e.comment??""})},{},oa);if(!i.ok)throw new Error(await nn(i,"提交反馈失败"));const r=await i.json(),s=wD(n.runtimeId,t,e.userId,e.sessionId);return uSe(s,e.eventId,r),r}async function CT(e,t={}){const n=b0(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),i=y0(dl,n,IZ);if(!t.force&&i)return i;const r=dl.get(n);if(!t.force&&(r!=null&&r.promise))return r.promise;let s=null;const a=(async()=>{for(const o of Cf(e.region)){const l=new URLSearchParams({runtimeId:e.runtimeId,region:o,appName:e.appName,page_size:String(e.pageSize??100)}),u=await kt(`/web/evaluation/feedback-cases?${l.toString()}`);if(u.ok)return TD(dl,n,await u.json());s=new Error(await nn(u,"读取评测集失败"))}throw s??new Error("读取评测集失败")})();dl.set(n,{...r,promise:a,updatedAt:(r==null?void 0:r.updatedAt)??0});try{return await a}finally{const o=dl.get(n);(o==null?void 0:o.promise)===a&&dl.set(n,{value:o.value,updatedAt:o.updatedAt})}}async function QZ(e){let t=null;for(const n of Cf(e.region)){const i=new URLSearchParams({runtimeId:e.runtimeId,region:n,appName:e.appName,userId:e.userId}),r=await kt(`/web/evaluation/statuses?${i.toString()}`);if(r.ok)return r.json();t=new Error(await nn(r,"读取自动评测状态失败"))}throw t??new Error("读取自动评测状态失败")}async function BZ(e){let t=null;for(const n of Cf(e.region)){const i=new URLSearchParams({runtimeId:e.runtimeId,region:n,appName:e.appName}),r=await kt(`/web/evaluation/optimizations?${i.toString()}`);if(r.ok)return r.json();t=new Error(await nn(r,"读取优化项失败"))}throw t??new Error("读取优化项失败")}function UZ(e){return y0(dl,b0(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),IZ)}function FI(e){CT(e).catch(()=>{})}function zZ(e){CT(e,{force:!0}).catch(()=>{})}function FZ(e,t){return["good","bad"].map(n=>{const i=e.find(r=>r.kind===n);return{kind:n,evaluationSetId:(i==null?void 0:i.evaluationSetId)??null,evaluationSetName:(i==null?void 0:i.evaluationSetName)??null,workspaceId:(i==null?void 0:i.workspaceId)??null,itemCount:t.filter(r=>r.kind===n).length}})}function nw(e){const t=e.comment??"",n=e.rating==="bad"&&!!t.trim();for(const[i,r]of dl.entries()){const s=r.value;if(!s||s.runtimeId!==e.runtimeId||s.agentName!==e.appName)continue;const a=s.items.filter(l=>l.sessionId!==e.sessionId||l.messageId!==e.messageId),o=e.rating?[{id:`local:${e.runtimeId}:${e.sessionId}:${e.messageId}`,itemKey:`local:${e.messageId}`,kind:e.rating,input:e.input,output:e.output,referenceOutput:e.referenceOutput??e.output,comment:t,agentName:e.appName,sessionId:e.sessionId,messageId:e.messageId,runtimeId:e.runtimeId,invocationId:e.invocationId??"",userId:e.userId,createdAt:e.createdAt??new Date().toISOString(),evaluationSetId:"",evaluationSetName:"",workspaceId:"",source:"user",score:n?0:null,reason:n?t:""},...a]:a;dl.set(i,{value:{...s,sets:FZ(s.sets,o),items:o},updatedAt:Date.now(),promise:r.promise})}}async function VZ(e){let t=null;for(const n of Cf(e.region)){const i=await kt("/web/evaluation/feedback-cases/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:e.runtimeId,region:n,appName:e.appName,itemIds:e.itemIds})},{},oa);if(i.ok){const r=await i.json(),s=new Set(e.itemIds);for(const[a,o]of dl.entries()){const l=o.value;if(!l||l.runtimeId!==e.runtimeId||l.agentName!==e.appName)continue;const u=l.items.filter(d=>!s.has(d.id));dl.set(a,{value:{...l,sets:FZ(l.sets,u),items:u},updatedAt:Date.now()})}return r}t=new Error(await nn(i,"删除评测案例失败"))}throw t??new Error("删除评测案例失败")}async function VI(e,t,n){const{app:i,ep:r}=Qr(e),s=await kt(`/apps/${i}/users/${encodeURIComponent(t)}/sessions/${n}`,{method:"DELETE"},r);if(!s.ok&&s.status!==404)throw new Error(`delete session failed: ${s.status}`)}function hSe(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"="),i=window.atob(n),r=new Uint8Array(i.length);for(let s=0;sURL.revokeObjectURL(o),0)}async function qZ(e,t,n,i,r){const{app:s,ep:a}=Qr(e),o=r==null?"":`?version=${encodeURIComponent(r)}`,l=`/apps/${encodeURIComponent(s)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/artifacts/${encodeURIComponent(i)}${o}`,u=await kt(l,{},a,oa);if(!u.ok)throw new Error(await nn(u,"下载文件失败"));const d=await u.json(),f=d.inlineData??d.inline_data;if(!(f!=null&&f.data))throw new Error("文件内容不可用");const h=hSe(f.data),p=h.buffer.slice(h.byteOffset,h.byteOffset+h.byteLength);return{blob:new Blob([p],{type:f.mimeType??f.mime_type??"application/octet-stream"}),downloadName:f.displayName??f.display_name??i}}async function HZ(e,t,n,i,r){const{blob:s}=await qZ(e,t,n,i,r);return URL.createObjectURL(s)}async function pSe(e){const t=await kt("/web/media/capabilities");if(!t.ok)throw new Error(await nn(t,"media capabilities failed"));return t.json()}async function YZ(e,t,n,i){const{app:r}=Qr(e),s=new FormData;s.set("app_name",r),s.set("user_id",t),s.set("session_id",n),s.set("file",i);const a=await kt("/web/media",{method:"POST",body:s},{},oa);if(!a.ok)throw new Error(await nn(a,"文件上传失败"));return{...await a.json(),status:"ready"}}async function XI(e,t,n){const{app:i}=Qr(e),r=`/web/media/${encodeURIComponent(i)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/delete`,s=await kt(r,{method:"POST"});if(!s.ok&&s.status!==404)throw new Error(await nn(s,"media cleanup failed"))}function GZ(e){try{const t=new URL(e);if(t.protocol!=="veadk-media:"||t.hostname!=="apps")return;const n=t.pathname.split("/").filter(Boolean).map(decodeURIComponent);return n.length!==7||n[1]!=="users"||n[3]!=="sessions"||n[5]!=="media"?void 0:`/web/media/${n.map(encodeURIComponent).filter((i,r)=>![1,3,5].includes(r)).join("/")}`}catch{return}}async function iw(e,t){const n=GZ(t);if(!n)throw new Error("Invalid VeADK media URI");const i=await kt(`${n}/delete`,{method:"POST"});if(!i.ok&&i.status!==404)throw new Error(await nn(i,"media cleanup failed"))}function WZ(e,t){if(t.startsWith("data:")||t.startsWith("blob:")||/^https?:/.test(t))return t;const n=GZ(t);if(!n)return t;const i=`${n}/content`;return Xn(`${ew}${i}`)}async function _E(e,t,n){const{app:i,ep:r}=Qr(e);let s;if(r.runtimeId){const l=new URLSearchParams({runtimeId:r.runtimeId,sessionId:t,region:r.region??"cn-beijing"});if(n&&l.set("endTimeMs",String(Math.round(n))),s=await kt(`/web/runtime-trace?${l.toString()}`),s.status===404)throw new Error("该 Agent 暂未开启链路观测,请到控制台打开后使用。")}else s=await kt(`/dev/apps/${encodeURIComponent(i)}/debug/trace/session/${encodeURIComponent(t)}`,{},r);if(!s.ok)throw new Error(await nn(s,"加载调用链路失败"));const a=s.headers.get("content-type")??"";if(!a.includes("application/json")){const l=a.split(";",1)[0]||"Content-Type 缺失";throw new Error(`trace failed: 服务端返回了非 JSON 响应(${l}),请检查 Studio API 代理配置`)}const o=await s.json();if(!Array.isArray(o))throw new Error("trace failed: 返回格式无效");return o}async function qI(e){const t=await kt("/web/issue-feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(await nn(t,"问题反馈上报失败"));if((await t.json()).submitted!==!0)throw new Error("问题反馈上报失败:服务端未确认提交结果");return{submitted:!0}}function AD(e){const t=n=>({id:String(n.id??""),kind:n.kind==="skill"?"skill":"tool",name:String(n.name??""),custom:n.custom===!0,description:typeof n.description=="string"?n.description:void 0,skillSourceId:typeof n.skill_source_id=="string"?n.skill_source_id:void 0,version:typeof n.version=="string"?n.version:void 0});return{schemaVersion:Number(e.schema_version??1),revision:Number(e.revision??0),tools:Array.isArray(e.tools)?e.tools.map(n=>t(n)):[],skills:Array.isArray(e.skills)?e.skills.map(n=>t(n)):[]}}function ND(e,t,n){return`/harness/apps/${encodeURIComponent(e)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/capabilities`}async function HI(e,t,n){const{app:i,ep:r}=Qr(e),s=await kt(ND(i,t,n),{},r);if(!s.ok)throw new Error(await nn(s,"读取会话能力失败"));return AD(await s.json())}async function CD(e){const{ep:t}=Qr(e),n=await kt("/harness/capabilities/tools",{},t);if(!n.ok)throw new Error(await nn(n,"读取内置工具失败"));return((await n.json()).tools??[]).map(r=>{var s;return((s=r.name)==null?void 0:s.trim())??""}).filter(Boolean)}async function mSe(e){const{ep:t}=Qr(e),n=await kt("/harness/skills/spaces?region=all",{},t);if(!n.ok)throw new Error(await nn(n,"读取 Skill Space 失败"));return(await n.json()).items??[]}async function gSe(e,t,n){const{ep:i}=Qr(e),r=new URLSearchParams({region:n||"cn-beijing"}),s=`/harness/skills/spaces/${encodeURIComponent(t)}/skills?${r.toString()}`,a=await kt(s,{},i);if(!a.ok)throw new Error(await nn(a,"读取 Skill 列表失败"));return(await a.json()).items??[]}async function ZZ(e,t,n=1,i=20){const{ep:r}=Qr(e),s=new URLSearchParams({query:t,page_number:String(n),page_size:String(i)}),a=await kt(`/harness/skills/findskill?${s.toString()}`,{},r);if(!a.ok)throw new Error(await nn(a,"搜索 Skill Hub 失败"));const o=await a.json();return{items:o.items??[],totalCount:Number(o.totalCount??0)}}async function YI(e,t,n,i,r){const{app:s,ep:a}=Qr(e),o=await kt(ND(s,t,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kind:i.kind,name:i.name,skill_source_id:i.skillSourceId,description:i.description,version:i.version,expected_revision:r})},a);if(!o.ok)throw new Error(await nn(o,"添加会话能力失败"));return AD(await o.json())}async function KZ(e,t,n,i,r){const{app:s,ep:a}=Qr(e),o=`${ND(s,t,n)}/${encodeURIComponent(i)}?expected_revision=${r}`,l=await kt(o,{method:"DELETE"},a);if(!l.ok)throw new Error(await nn(l,"移除会话能力失败"));return AD(await l.json())}async function JZ(e,t,n=!0){const i=await kt(`/web/agent-info/${e}`,{},t);if(!i.ok)throw new Error(`agent-info failed: ${i.status}`);const r=await i.json();if(n&&!r.draft)try{const s=await kt(`/web/agent-draft/${e}`,{},t);if(s.ok){const a=await s.json();r.draft=a.draft}}catch{}return{appName:e,name:r.name??e,description:r.description??"",type:r.type,model:r.model??"",tools:r.tools??[],skillsPreviewSupported:Array.isArray(r.skills),skills:r.skills??[],subAgents:r.subAgents??[],components:r.components??[],searchSources:r.searchSources??[],graph:r.graph,draft:r.draft}}async function eK(e){const{app:t,ep:n}=Qr(e);return JZ(t,n,!1)}async function OSe(e,t,n){let i=null;for(const r of Cf(t)){const s={runtimeId:e,region:r};try{const a=jZ(e,r),o=tw.get(a);o&&o.expiresAt<=Date.now()&&tw.delete(a);const l=tw.get(a),u=n||(l==null?void 0:l.apps[0])||(await NT("","",s))[0];if(!u)throw new Error("该 Runtime 未提供可预览的 Agent。");return JZ(u,s)}catch(a){if(a instanceof O0||a instanceof na&&!a.unsupported)throw a;i=a instanceof Error?a:new Error(String(a))}}throw i??new Error("该 Runtime 未提供可预览的 Agent。")}async function AE(e,t,n={},i={}){const r=typeof n=="string"?n:void 0,s=typeof n=="string"?i:n,a=b0(e,t||"cn-beijing",r??""),o=y0(ih,a,AT);if(!s.force&&o)return o;const l=ih.get(a);if(!s.force&&(l!=null&&l.promise))return l.promise;const u=OSe(e,t,r).then(d=>TD(ih,a,d));ih.set(a,{...l,promise:u,updatedAt:(l==null?void 0:l.updatedAt)??0});try{return await u}finally{const d=ih.get(a);(d==null?void 0:d.promise)===u&&ih.set(a,{value:d.value,updatedAt:d.updatedAt})}}function tK(e,t,n=""){return y0(ih,b0(e,t||"cn-beijing",n),AT)}function nK(e,t,n=""){AE(e,t,n).catch(()=>{})}async function iK(e,t,n,i){const{app:r,ep:s}=Qr(e),a=new URLSearchParams({source:t,app_name:r,q:n,user_id:i}),o=await kt(`/web/search?${a.toString()}`,{},s);if(!o.ok)throw new Error(await nn(o,"Agent 检索失败"));return o.json()}async function rK(e,t){const{app:n}=Qr(e),i=await kt(`/web/search?source=web&app_name=${encodeURIComponent(n)}&q=${encodeURIComponent(t)}`);if(!i.ok)throw new Error(`web search failed: ${i.status}`);return i.json()}async function*GI({appName:e,userId:t,sessionId:n,text:i,attachments:r=[],invocation:s,functionResponses:a=[],signal:o,sessionCapabilities:l=!1}){const{app:u,ep:d}=Qr(e),f=r.flatMap(g=>g.status&&g.status!=="ready"?[]:g.uri?[{fileData:{mimeType:g.mimeType,fileUri:g.uri,displayName:g.name},partMetadata:{veadkMedia:{id:g.id,uri:g.uri,name:g.name,mimeType:g.mimeType,sizeBytes:g.sizeBytes}}}]:g.data?[{inlineData:{mimeType:g.mimeType,data:g.data,displayName:g.name}}]:[]),h=s&&(s.skills.length>0||s.targetAgent)?s:void 0,p=[...f,...a.map(g=>({functionResponse:{id:g.id,name:g.name,response:g.response}})),...i.trim()?[{text:i}]:[]];if(h&&p.length>0){const g=p[0],y=g.partMetadata;p[0]={...g,partMetadata:{...y,veadkInvocation:h}}}const m=await kt(l?"/harness/run_sse":"/run_sse",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({app_name:u,user_id:t,session_id:n,new_message:{role:"user",parts:p},streaming:!0,custom_metadata:h?{veadkInvocation:h}:void 0}),signal:o},d,0);if(!m.ok){const g=await nn(m,"运行会话失败");throw new Error(bS(`run_sse failed: ${m.status}:${g}`))}for await(const g of yD(m)){const y=g;typeof y.error=="string"&&(y.error=bS(y.error)),typeof y.errorMessage=="string"&&(y.errorMessage=bS(y.errorMessage)),typeof y.error_message=="string"&&(y.error_message=bS(y.error_message)),yield y}}async function sK(e,t){const n=new URLSearchParams({kind:e.kind,region:e.region});e.registry&&n.set("registry",e.registry),e.namespace&&n.set("namespace",e.namespace),e.workspaceId&&n.set("workspaceId",e.workspaceId),e.search&&n.set("search",e.search),e.pageNumber&&n.set("pageNumber",String(e.pageNumber)),e.pageSize&&n.set("pageSize",String(e.pageSize));const i=await kt(`/web/deployment-resources?${n.toString()}`,{signal:t});if(!i.ok)throw new Error(await nn(i,"加载云资源失败"));const r=await i.json();if(typeof r.serviceRegion!="string"||!Array.isArray(r.items)||typeof r.pageNumber!="number"||typeof r.pageSize!="number"||typeof r.totalCount!="number"||typeof r.hasMore!="boolean")throw new Error("云资源列表响应格式无效");const s=r.items.map(a=>{if(!a||typeof a!="object"||typeof a.id!="string"||typeof a.name!="string"||typeof a.region!="string"||typeof a.status!="string")throw new Error("云资源列表响应格式无效");return a});return{serviceRegion:r.serviceRegion,items:s,pageNumber:r.pageNumber,pageSize:r.pageSize,totalCount:r.totalCount,hasMore:r.hasMore}}async function aK(e){var r;const t=await kt("/web/system-info",{signal:e});if(!t.ok)throw new Error(await nn(t,"加载系统信息失败"));const n=await t.json();if(typeof((r=n.storage)==null?void 0:r.tosAddress)!="string"||!Array.isArray(n.sandboxTools))throw new Error("系统信息响应格式无效");const i=n.sandboxTools.map(s=>{if(!s||typeof s!="object"||typeof s.kind!="string"||typeof s.label!="string"||typeof s.toolId!="string"||typeof s.snapshot!="boolean")throw new Error("系统信息响应格式无效");return s});return{storage:{tosAddress:n.storage.tosAddress},sandboxTools:i}}async function RD(e){const t=await kt("/web/identity/user-pools",{signal:e});if(!t.ok)throw new Error(await nn(t,"加载用户池失败"));const n=await t.json();if(!Array.isArray(n.items))throw new Error("用户池列表响应格式无效");return n.items.map(i=>{if(!i||typeof i!="object"||typeof i.uid!="string"||typeof i.name!="string"||typeof i.domain!="string"||typeof i.region!="string"||typeof i.isCurrent!="boolean")throw new Error("用户池列表响应格式无效");return i})}const Nb=new Map;async function RT(e,t,n,i){var f,h,p,m,g;const r=i==null?void 0:i.taskId,s=r?new AbortController:void 0;r&&s&&Nb.set(r,s);const a=()=>{r&&Nb.get(r)===s&&Nb.delete(r)};let o;try{(f=i==null?void 0:i.onStage)==null||f.call(i,{level:"info",phase:"upload",message:"正在上传代码包",pct:0}),o=await kt("/web/deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},signal:s==null?void 0:s.signal,body:JSON.stringify({name:e,files:t,config:n,taskId:r,runtimeId:i==null?void 0:i.runtimeId,runtimeName:i==null?void 0:i.runtimeName,appName:i==null?void 0:i.appName,sessionStorage:i==null?void 0:i.sessionStorage,minInstance:i==null?void 0:i.minInstance,maxInstance:i==null?void 0:i.maxInstance,createEvaluationSets:i==null?void 0:i.createEvaluationSets,description:B1e((i==null?void 0:i.description)??""),authentication:i==null?void 0:i.authentication,im:i==null?void 0:i.im,envs:i==null?void 0:i.envs,resources:i==null?void 0:i.resources})},{},0),(h=i==null?void 0:i.onStage)==null||h.call(i,{level:"success",phase:"upload",message:"代码包上传完成",pct:100})}catch(y){throw a(),y}if(!o.ok){const y=await nn(o,"部署失败");throw a(),new Error(y)}let l=null;try{for await(const y of yD(o)){const b=y;if(b&&b.done){l=b;break}b&&b.message&&((p=i==null?void 0:i.onStage)==null||p.call(i,b))}}catch(y){throw a(),y}if(a(),!l)throw new Error("部署失败:连接中断");if(!l.success)throw new Error(l.error||"部署失败");if(!l.agentName)throw new Error("部署失败:返回缺少 Agent 名称");if(!l.runtimeId&&!l.url)throw new Error("部署失败:返回缺少 AgentKit 连接信息");const u=(m=l.runtimeName)!=null&&m.trim()?l.agentName:e,d=((g=l.runtimeName)==null?void 0:g.trim())||l.agentName;return{apikey:l.apikey??"",url:l.url??"",agentName:u,runtimeName:d,runtimeId:l.runtimeId,consoleUrl:l.consoleUrl,region:l.region,version:l.version,warnings:l.warnings,feishuChannel:l.feishuChannel}}async function oK(e){var n;const t=await kt("/web/cancel-deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e})});if(!t.ok){const i=await t.text().catch(()=>"");throw new Error(i||`取消部署失败 (${t.status})`)}(n=Nb.get(e))==null||n.abort(),Nb.delete(e)}async function bSe(e=xD){const t=await kt(`/web/my-runtimes?region=${encodeURIComponent(e)}`);if(!t.ok)throw new Error(`加载失败 (${t.status})`);return(await t.json()).runtimes??[]}const wy={title:"AgentKit Studio",logoUrl:""},WI={enabled:!1},M2={studio:!1,version:"",provider:"volcengine",branding:wy,features:{newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,agentUsage:!1,addAgentkit:!0,generatedAgentTestRun:!0},defaultView:"chat",agentsSource:"local",telemetry:WI};function ySe(e){if(!e||typeof e!="object")return WI;const t=e;if(t.enabled!==!0||!t.studio||typeof t.studio!="object")return WI;const n=t.studio;return{enabled:!0,studio:{deployId:typeof n.deployId=="string"?n.deployId:"",userPoolId:typeof n.userPoolId=="string"?n.userPoolId:"",applicationId:typeof n.applicationId=="string"?n.applicationId:"",functionId:typeof n.functionId=="string"?n.functionId:"",region:typeof n.region=="string"?n.region:"",project:typeof n.project=="string"?n.project:"",version:typeof n.version=="string"?n.version:"",accountId:typeof n.accountId=="string"?n.accountId:""}}}async function lK(){var e,t;try{const n=await kt("/web/ui-config");if(!n.ok)return M2;const i=await n.json(),r=typeof((e=i.branding)==null?void 0:e.logoUrl)=="string"?i.branding.logoUrl:wy.logoUrl,s=i.provider==="byteplus"?"byteplus":"volcengine";return MZ(s),{studio:i.studio??!1,version:typeof i.version=="string"?i.version:"",provider:s,branding:{title:typeof((t=i.branding)==null?void 0:t.title)=="string"?i.branding.title:wy.title,logoUrl:r?Xn(r):""},features:{...M2.features,...i.features??{}},defaultView:i.defaultView??"chat",agentsSource:i.agentsSource==="cloud"?"cloud":"local",telemetry:ySe(i.telemetry)}}catch{return M2}}const cK={role:"user",telemetry:{userId:"",accountId:""},capabilities:{createAgents:!1,manageAgents:!1,runtimeScope:"mine"}};async function uK(){var n,i,r,s;const e=await kt("/web/access");if(!e.ok)throw new Error(`加载权限失败 (${e.status})`);const t=await e.json();if(!["admin","developer","user"].includes(t.role)||typeof((n=t.telemetry)==null?void 0:n.userId)!="string"||t.telemetry.accountId!==void 0&&typeof t.telemetry.accountId!="string"||typeof((i=t.capabilities)==null?void 0:i.createAgents)!="boolean"||typeof((r=t.capabilities)==null?void 0:r.manageAgents)!="boolean"||!["all","mine"].includes((s=t.capabilities)==null?void 0:s.runtimeScope))throw new Error("权限服务返回了无法解析的响应");return t}async function dK(e,t){const n=new URLSearchParams;e&&n.set("targetVersion",e),t&&n.set("startedAt",String(t));const i=n.size?`?${n.toString()}`:"",r=await kt(`/web/studio-update${i}`);if(!r.ok)throw new Error(`检查 Studio 更新失败 (${r.status})`);return await r.json()}async function fK(e){const t=await kt("/web/studio-update",{method:"POST",headers:{"Content-Type":"application/json","X-VeADK-Studio-Update":"1"},body:JSON.stringify({version:e})},{},oa);if(!t.ok){let n="";try{const i=await t.json();n=typeof i.detail=="string"?i.detail:""}catch{n=""}throw new Error(n||`提交 Studio 更新失败 (${t.status})`)}return await t.json()}async function hK({runtimeId:e,region:t,appName:n,page:i=1,pageSize:r=20,signal:s}){const a=new URLSearchParams({runtimeId:e,region:t,appName:n,page:String(i),pageSize:String(r)}),o=await kt(`/web/agent-usage?${a.toString()}`,{signal:s});if(!o.ok)throw new Error(await nn(o,"加载 Agent 用量失败"));const l=o.headers.get("content-type")||"未提供",u=l.toLowerCase();if(!u.includes("application/json")&&!u.includes("+json"))throw new Error(`加载 Agent 用量失败:服务端返回非 JSON 响应(HTTP ${o.status},Content-Type: ${l})。请确认当前服务以 Studio 模式启动,并检查代理或网关配置。`);try{return await o.json()}catch{throw new Error(`加载 Agent 用量失败:服务端返回了无法解析的 JSON(HTTP ${o.status},Content-Type: ${l})。请稍后重试;若问题持续,请检查代理或网关配置。`)}}async function IT(e={}){const t=new URLSearchParams({scope:e.scope??"all",page_size:String(e.pageSize??30),region:e.region??"all"});e.nextToken&&t.set("next_token",e.nextToken);const n=await kt(`/web/runtimes?${t.toString()}`);if(!n.ok){const r=await nn(n,"加载 Runtime 失败");throw new Error(r)}const i=await n.json();return{runtimes:i.runtimes??[],nextToken:i.nextToken??""}}async function ID(e,t,n={}){try{const i={runtimeId:e,region:t};return n.retryProbe&&(i.retryProbe=!0),await NT("","",i)}catch(i){if(i instanceof O0||i instanceof na)throw i;return null}}async function pK(e,t,n={}){const i={runtimeId:e,region:t};n.retryProbe&&(i.retryProbe=!0);const r=await kt("/.well-known/agent-card.json",{},i),s=await LZ(r);if(s==="runtime_access_denied")throw new O0;if(s==="runtime_private_endpoint_unreachable")throw new na(CZ);if(["runtime_proxy_connect_error","runtime_proxy_timeout"].includes(s))throw new na(RZ);if(r.status===404)return null;if(r.status===401||r.status===403)throw new na("Runtime 服务拒绝了 A2A 探测请求,请检查 Runtime 的鉴权配置。");if(!r.ok)throw new Error(await nn(r,"读取 A2A Agent Card 失败"));const a=await r.json().catch(()=>null),o=typeof(a==null?void 0:a.url)=="string"?a.url.trim():"";return o?{name:typeof(a==null?void 0:a.name)=="string"?a.name:"",description:typeof(a==null?void 0:a.description)=="string"?a.description:"",endpoint:o}:null}async function mK(e,t){const n=new URLSearchParams({runtimeId:e,region:t}),i=await kt(`/web/runtime-api-key/reveal?${n.toString()}`,{method:"POST",cache:"no-store"});if(!i.ok)throw new Error(await nn(i,"读取 Runtime API Key 失败"));const r=await i.json();if(typeof r.apiKey!="string"||!r.apiKey)throw new Error("Runtime 未返回可用的 API Key");return r.apiKey}async function gK(e,t){const n=await kt("/web/delete-runtime",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:e,region:t})});if(!n.ok){const i=await n.text().catch(()=>"");throw new Error(i||`删除失败 (${n.status})`)}}async function OK({runtimeId:e,region:t,appName:n,signal:i}){const r=new URLSearchParams({runtimeId:e,region:t});n&&r.set("appName",n);const s=await kt(`/web/runtime-update-capability?${r.toString()}`,{signal:i});if(!s.ok)throw new Error(await xSe(s));return await s.json()}async function xSe(e){const t=await e.json().catch(()=>null),n=typeof(t==null?void 0:t.detail)=="string"?t.detail:"";return e.status===403?"当前账号没有管理该 Runtime 的权限。":e.status===404?n==="runtime_not_found"?"该 Runtime 不存在或已被删除。":"当前账号无法访问该 Runtime。":`检查 Runtime 更新能力失败(HTTP ${e.status}),请稍后重试。`}async function SSe(e,t){let n=null;for(const i of Cf(t)){const r=await kt(`/web/runtime-detail?runtimeId=${encodeURIComponent(e)}®ion=${encodeURIComponent(i)}`);if(r.ok)return r.json();n=new Error(await nn(r,"加载 Runtime 详情失败"))}throw n??new Error("加载 Runtime 详情失败")}async function PD(e,t="cn-beijing",n={}){const i=b0(e,t||"cn-beijing"),r=y0(rh,i,AT);if(!n.force&&r)return r;const s=rh.get(i);if(!n.force&&(s!=null&&s.promise))return s.promise;const a=SSe(e,t).then(o=>TD(rh,i,o));rh.set(i,{...s,promise:a,updatedAt:(s==null?void 0:s.updatedAt)??0});try{return await a}finally{const o=rh.get(i);(o==null?void 0:o.promise)===a&&rh.set(i,{value:o.value,updatedAt:o.updatedAt})}}function bK(e,t="cn-beijing"){return y0(rh,b0(e,t||"cn-beijing"),AT)}function yK(e,t="cn-beijing"){PD(e,t).catch(()=>{})}async function jD(e){const t=await kt("/web/generated-agent-projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e})});if(!t.ok)throw new Error(await nn(t,"生成项目失败"));return t.json()}const vSe=19e4;async function xK(e){const t=await kt("/web/generated-agent-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({requirement:e})},{},vSe);if(!t.ok)throw new Error(await nn(t,"生成 Agent 配置失败"));return TT(t,"生成 Agent 配置失败")}async function SK(e,t){const n=await kt("/web/generated-agent-test-runs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,runtimeId:t==null?void 0:t.runtimeId,runtimeRegion:t==null?void 0:t.region})});if(!n.ok)throw new Error(await nn(n,"创建调试运行失败"));return TT(n,"创建调试运行失败")}async function vK(e,t){const n=await kt(`/web/generated-agent-test-runs/${e}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:t})});if(!n.ok)throw new Error(await nn(n,"创建调试会话失败"));return(await TT(n,"创建调试会话失败")).id}async function wK(e,t){const n=await kt(`/web/generated-agent-test-runs/${encodeURIComponent(e)}/trace/session/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(await nn(n,"加载调试调用链路失败"));const i=await TT(n,"加载调试调用链路失败");if(!Array.isArray(i))throw new Error("加载调试调用链路失败:返回格式无效");return i}async function*EK({runId:e,userId:t,sessionId:n,text:i,signal:r}){const s=i.trim()?[{text:i}]:[],a=await kt(`/web/generated-agent-test-runs/${e}/run_sse`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user_id:t,session_id:n,new_message:{role:"user",parts:s},streaming:!0}),signal:r},{},0);if(!a.ok)throw new Error(await nn(a,"调试运行失败"));for await(const o of yD(a))yield o}async function em(e){const t=await kt(`/web/generated-agent-test-runs/${e}`,{method:"DELETE"});if(!t.ok&&t.status!==404)throw new Error(await nn(t,"清理调试运行失败"))}const wSe=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_SITE_BRANDING:wy,DEFAULT_STUDIO_ACCESS:cK,RuntimeAccessDeniedError:O0,RuntimeProbeError:na,addSessionCapability:YI,cancelAgentkitDeployment:oK,clearMessageFeedbackCache:vZ,clearRemoteApps:EZ,componentSearch:iK,createGeneratedAgentTestRun:SK,createGeneratedAgentTestSession:vK,createSession:DZ,deleteAgentFeedbackCases:VZ,deleteGeneratedAgentTestRun:em,deleteMedia:iw,deleteRuntime:gK,deleteSession:VI,deleteSessionMedia:XI,deployAgentkitProject:RT,downloadArtifact:XZ,fetchRemoteApps:NT,generateAgentDraftFromRequirement:xK,generateAgentProject:jD,getAgentFeedbackCases:CT,getAgentInfo:eK,getAgentOptimizations:BZ,getAgentUsage:hK,getAutomaticEvaluationStatuses:QZ,getCachedAgentFeedbackCases:UZ,getCachedRuntimeAgentInfo:tK,getCachedRuntimeDetail:bK,getGeneratedAgentTestTrace:wK,getMediaCapabilities:pSe,getMyRuntimes:bSe,getRuntimeAgentInfo:AE,getRuntimeDetail:PD,getRuntimeUpdateCapability:OK,getRuntimes:IT,getSession:TE,getSessionCapabilities:HI,getSessionTrace:_E,getStudioAccess:uK,getStudioUpdateStatus:dK,getSystemInfo:aK,getUiConfig:lK,listApps:NZ,listDeploymentResources:sK,listIdentityUserPools:RD,listModelApiKeys:TZ,listModelOptions:AZ,listSessionBuiltinTools:CD,listSessionSkillSpaces:mSe,listSessionSkillsInSpace:gSe,listSessions:_D,mediaContentUrl:WZ,prefetchAgentFeedbackCases:FI,prefetchRuntimeAgentInfo:nK,prefetchRuntimeDetail:yK,previewArtifact:HZ,probeRuntimeA2a:pK,probeRuntimeApps:ID,refreshAgentFeedbackCases:zZ,registerRemoteApp:wZ,removeSessionCapability:KZ,revealModelApiKey:_Z,revealRuntimeApiKey:mK,runGeneratedAgentTestSSE:EK,runSSE:GI,runtimeRegionCandidates:Cf,searchSessionPublicSkills:ZZ,setClientCloudProvider:MZ,startStudioUpdate:fK,studioFetch:kZ,submitIssueFeedback:qI,submitMessageFeedback:$Z,uploadMedia:YZ,upsertCachedAgentFeedbackCase:nw,webSearch:rK},Symbol.toStringTag,{value:"Module"})),UB=Object.freeze({totalTokenCount:0,promptTokenCount:0,candidatesTokenCount:0,thoughtsTokenCount:0,cachedContentTokenCount:0}),rw=Object.freeze({modelName:"",current:UB,cumulative:UB}),ESe={totalTokenCount:"total_token_count",promptTokenCount:"prompt_token_count",candidatesTokenCount:"candidates_token_count",thoughtsTokenCount:"thoughts_token_count",cachedContentTokenCount:"cached_content_token_count"},kSe=24,TSe=64,_Se=16;function yS(e){var o,l;const t=e.trim();if(!t)return 0;const n=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]/gu,i=((o=t.match(n))==null?void 0:o.length)??0,r=t.replace(n," "),s=(r.match(/[A-Za-z0-9_]+/g)??[]).reduce((u,d)=>u+Math.max(1,Math.ceil(d.length/4)),0),a=((l=r.match(/[^\sA-Za-z0-9_]/g))==null?void 0:l.length)??0;return i+s+a}function ASe(e){var o,l,u;const t=((o=e.instruction)==null?void 0:o.trim())??"",n=((l=e.tools)==null?void 0:l.filter(d=>d.trim()))??[],i=((u=e.skills)==null?void 0:u.filter(d=>d.name.trim()))??[],r=yS(t),s=n.reduce((d,f)=>d+TSe+yS(f),0),a=i.reduce((d,f)=>d+_Se+yS(f.name)+yS(f.description??""),0);return kSe+r+s+a}function NSe({usage:e,contextWindow:t,estimatedSystemTokens:n}){const i=Math.max(1,Math.round(t)),r=Math.max(0,e.current.promptTokenCount),s=Math.max(r,e.current.totalTokenCount),a=Math.min(i,r>0?Math.min(r,Math.max(0,n??0)):Math.max(0,n??0)),o=Math.max(0,r-a),l=r>0?Math.max(0,s-r):Math.max(0,s),u=r>0?s:a+l;return{systemTokens:a,inputTokens:o,outputTokens:l,remainingTokens:Math.max(0,i-u),usedTokens:u,contextWindow:i}}function CSe(e){const t=[{kind:"system",tokens:e.systemTokens},{kind:"input",tokens:e.inputTokens},{kind:"output",tokens:e.outputTokens},{kind:"remaining",tokens:e.remainingTokens}],n=e.contextWindow/100;let i=0;const r=t.map(s=>{const a=i;return i+=s.tokens,{...s,start:a,end:i}});return Array.from({length:100},(s,a)=>{const o=a*n,l=o+n,u=r.flatMap(d=>{const f=Math.max(0,Math.min(l,d.end)-Math.max(o,d.start));return f>0?[{kind:d.kind,share:f/n}]:[]});return{index:a,slices:u}})}function pO(e,t){const n=e,i=n[t]??n[ESe[t]];return typeof i=="number"&&Number.isFinite(i)&&i>0?Math.round(i):0}function RSe(e){const t=pO(e,"promptTokenCount"),n=pO(e,"candidatesTokenCount"),i=pO(e,"thoughtsTokenCount");return{totalTokenCount:pO(e,"totalTokenCount")||t+n+i,promptTokenCount:t,candidatesTokenCount:n,thoughtsTokenCount:i,cachedContentTokenCount:pO(e,"cachedContentTokenCount")}}function ISe(e,t){return{totalTokenCount:e.totalTokenCount+t.totalTokenCount,promptTokenCount:e.promptTokenCount+t.promptTokenCount,candidatesTokenCount:e.candidatesTokenCount+t.candidatesTokenCount,thoughtsTokenCount:e.thoughtsTokenCount+t.thoughtsTokenCount,cachedContentTokenCount:e.cachedContentTokenCount+t.cachedContentTokenCount}}function kK(e,t){if(!t)return e;const n=typeof t.modelVersion=="string"?t.modelVersion.trim():"",i=typeof t.model_version=="string"?t.model_version.trim():"",r=n||i||e.modelName,s=t.usageMetadata??t.usage_metadata;if(!s)return r===e.modelName?e:{...e,modelName:r};const a=RSe(s);return a.totalTokenCount===0?r===e.modelName?e:{...e,modelName:r}:{modelName:r,current:a,cumulative:ISe(e.cumulative,a)}}function zB(e){return e.reduce((t,n)=>kK(t,n),rw)}function FB(e){return e.blocks.flatMap(t=>t.kind==="tool"?[{name:t.name,args:t.args,response:t.response,done:t.done}]:[])}function PSe(e){const t=e.attributes;return String(t["invocation.id"]??t["gen_ai.invocation.id"]??t["gcp.vertex.agent.invocation_id"]??"")}function jSe(e,t){if(!t)return e;const n=new Set(e.filter(r=>PSe(r)===t).map(r=>r.trace_id)),i=e.filter(r=>n.has(r.trace_id));return i.length>0?i:e}function L2(e){return!!(e&&[...e.tools,...e.skills].some(t=>t.custom))}const MSe="send_a2ui_json_to_client",LSe="validated_a2ui_json",ZI="adk_request_credential",VB="transfer_to_agent";function DSe(e){var i,r,s,a;const t=e,n=((i=t==null?void 0:t.exchangedAuthCredential)==null?void 0:i.oauth2)??((r=t==null?void 0:t.exchanged_auth_credential)==null?void 0:r.oauth2)??((s=t==null?void 0:t.rawAuthCredential)==null?void 0:s.oauth2)??((a=t==null?void 0:t.raw_auth_credential)==null?void 0:a.oauth2);return(n==null?void 0:n.authUri)??(n==null?void 0:n.auth_uri)}function uu(){return{blocks:[],liveStart:0}}const XB=e=>e.functionCall??e.function_call,KI=e=>e.functionResponse??e.function_response;function $Se(e){if(!e||typeof e!="object")return"";const t=e,n=t.agentName??t.agent_name;return typeof n=="string"?n:""}function QSe(e){return e.replace(/-/g,"+").replace(/_/g,"/")}function TK(e){const t=[];for(const[n,i]of e.entries()){const r=i.partMetadata??i.part_metadata,s=r==null?void 0:r.veadkTransport;if((s==null?void 0:s.hidden)===!0)continue;const a=r==null?void 0:r.veadkMedia;if(typeof(a==null?void 0:a.uri)=="string"){t.push({id:String(a.id??a.uri),mimeType:typeof a.mimeType=="string"?a.mimeType:void 0,uri:a.uri,name:typeof a.name=="string"?a.name:void 0,sizeBytes:typeof a.sizeBytes=="number"?a.sizeBytes:void 0});continue}const o=i.inlineData??i.inline_data;if(o&&o.data){t.push({id:`inline-${n}-${o.displayName??o.display_name??"media"}`,mimeType:o.mimeType??o.mime_type,data:QSe(o.data),name:o.displayName??o.display_name});continue}const l=i.fileData??i.file_data,u=(l==null?void 0:l.fileUri)??(l==null?void 0:l.file_uri);l&&u&&t.push({id:u,mimeType:l.mimeType??l.mime_type,uri:u,name:l.displayName??l.display_name})}return t}function JI(e){const t=e.partMetadata??e.part_metadata,n=t==null?void 0:t.veadkTransport;return(n==null?void 0:n.hideText)===!0?void 0:e.text}const BSe=new Set(["llm","sequential","parallel","loop","a2a"]);function USe(e){var t;for(const n of e){const i=(t=n.partMetadata??n.part_metadata)==null?void 0:t.veadkInvocation;if(!i||typeof i!="object")continue;const r=i,s=Array.isArray(r.skills)?r.skills.flatMap(l=>{if(!l||typeof l!="object")return[];const u=l;return typeof u.name=="string"?[{name:u.name,description:typeof u.description=="string"?u.description:""}]:[]}):[];let a;const o=r.targetAgent;if(o&&typeof o=="object"){const l=o,u=l.type;typeof l.name=="string"&&typeof u=="string"&&BSe.has(u)&&Array.isArray(l.path)&&(a={name:l.name,description:typeof l.description=="string"?l.description:"",type:u,path:l.path.filter(d=>typeof d=="string")})}if(s.length>0||a)return{skills:s,targetAgent:a}}}function zSe(e,t){if(!t.length)return;const n=e[e.length-1];(n==null?void 0:n.kind)==="attachment"?n.files.push(...t):e.push({kind:"attachment",files:t})}function FSe(e,t){if(!t.length)return;const n=e[e.length-1];if((n==null?void 0:n.kind)==="artifact"){for(const i of t)n.files.some(r=>r.filename===i.filename&&r.version===i.version)||n.files.push(i);return}e.push({kind:"artifact",files:t})}function qB(e,t,n){const i=e[e.length-1];i&&i.kind===t?i.text+=n:e.push(t==="thinking"?{kind:t,text:n,done:!1}:{kind:t,text:n})}function xS(e){for(const t of e)t.kind==="thinking"&&(t.done=!0)}function NE(e,t){var o,l,u,d,f,h;const n=e.blocks.map(p=>({...p}));let i=e.liveStart;const r=((o=t.content)==null?void 0:o.parts)??[],s=r.some(p=>XB(p)||KI(p));if(t.partial&&!s){for(const p of r){const m=JI(p);typeof m=="string"&&m&&qB(n,p.thought?"thinking":"text",m)}return{blocks:n,liveStart:i}}n.length=i;for(const p of r){const m=XB(p),g=KI(p),y=TK([p]),b=JI(p);if(typeof b=="string"&&b)qB(n,p.thought?"thinking":"text",b);else if(y.length)xS(n),zSe(n,y);else if(m)if(xS(n),m.name===VB){const S=$Se(m.args)||((l=t.actions)==null?void 0:l.transferToAgent)||((u=t.actions)==null?void 0:u.transfer_to_agent)||"未知 Agent";n.push({kind:"agent-transfer",agentName:S,done:!1})}else if(m.name===ZI){const S=m.args??{},x=S.authConfig??S.auth_config??S,E=String(S.functionCallId??S.function_call_id??"").replace(/^_adk_toolset_auth_/,"")||void 0;n.push({kind:"auth",callId:m.id??"",label:E,authUri:DSe(x),authConfig:x,done:!1})}else n.push({kind:"tool",name:m.name??"",args:m.args,done:!1});else if(g){if(xS(n),g.name===VB)for(let S=n.length-1;S>=0;S--){const x=n[S];if(x.kind==="agent-transfer"&&!x.done){x.done=!0;break}}if(g.name===ZI)for(let S=n.length-1;S>=0;S--){const x=n[S];if(x.kind==="auth"&&!x.done){x.done=!0;break}}for(let S=n.length-1;S>=0;S--){const x=n[S];if(x.kind==="tool"&&!x.done&&x.name===g.name){x.done=!0,x.response=g.response;break}}if(g.name===MSe){const S=((d=g.response)==null?void 0:d[LSe])??[];if(S.length){const x=n[n.length-1];x&&x.kind==="a2ui"?x.messages.push(...S):n.push({kind:"a2ui",messages:S})}}}}const a=((f=t.actions)==null?void 0:f.artifactDelta)??((h=t.actions)==null?void 0:h.artifact_delta);return a&&FSe(n,Object.entries(a).map(([p,m])=>({filename:p,version:m}))),xS(n),i=n.length,{blocks:n,liveStart:i}}function VSe(e,t={}){var r,s;const n=[];let i=uu();for(const a of e)if(a.author==="user"){const l=((r=a.content)==null?void 0:r.parts)??[];if(l.some(p=>{var m;return((m=KI(p))==null?void 0:m.name)===ZI})){for(let p=n.length-1;p>=0;p--)if(n[p].role==="assistant"){for(let m=n[p].blocks.length-1;m>=0;m--){const g=n[p].blocks[m];if(g.kind==="auth"){g.done=!0;break}}break}}const u=l.map(JI).filter(p=>!!p).join(""),d=TK(l),f=USe(l);if(!u&&!d.length&&!f){i=uu();continue}const h=[];f&&h.push({kind:"invocation",value:f}),d.length&&h.push({kind:"attachment",files:d}),u&&h.push({kind:"text",text:u}),n.push({role:"user",blocks:h,meta:{ts:a.timestamp}}),i=uu()}else{const l=a.author??"";let u=n[n.length-1];(!u||u.role!=="assistant"||l&&((s=u.meta)==null?void 0:s.author)!==l)&&(u={role:"assistant",blocks:[],meta:{author:l||void 0}},n.push(u),i=uu()),i=NE(i,a),u.blocks=i.blocks;const d=a.usageMetadata??a.usage_metadata,f=u.meta??(u.meta={});l&&(f.author=l),d!=null&&d.totalTokenCount&&(f.tokens=d.totalTokenCount),a.timestamp&&(f.ts=a.timestamp),a.id&&(f.eventId=a.id);const h=a.invocationId??a.invocation_id;h&&(f.invocationId=h)}for(const a of n){const o=a.meta,l=o==null?void 0:o.eventId;if(!l)continue;const u=t[`veadk_feedback:${l}`];if(!u||typeof u!="object")continue;const d=u;d.rating!=="good"&&d.rating!=="bad"||(o.feedback=u)}return n}function XSe(e){var t,n;for(const i of e??[])if(i.author==="user"||((t=i.content)==null?void 0:t.role)==="user"){const r=(((n=i.content)==null?void 0:n.parts)??[]).map(s=>s.text).find(Boolean);if(r)return r}return"新会话"}const qSe=50,HB=48;function HSe(e){return(e.events??[]).flatMap(t=>{var r,s;const i=(((r=t.content)==null?void 0:r.parts)??[]).map(a=>typeof a.text=="string"?a.text:"").filter(Boolean).join("");return i?[{text:i,role:t.author??((s=t.content)==null?void 0:s.role)??"",ts:t.timestamp}]:[]})}function YSe(e){var t,n;for(const i of e.events??[])if(i.author==="user"||((t=i.content)==null?void 0:t.role)==="user"){const r=(((n=i.content)==null?void 0:n.parts)??[]).map(s=>s.text).find(Boolean);if(r)return r}return"未命名会话"}function GSe(e,t,n){const i=Math.max(0,t-HB),r=Math.min(e.length,t+n+HB);return(i>0?"…":"")+e.slice(i,r).trim()+(r{var l;if((l=o.events)!=null&&l.length)return o;try{return await TE(t,e,o.id)}catch{return o}})),a=[];for(const o of s)for(const{text:l,role:u,ts:d}of HSe(o)){const f=l.toLowerCase().indexOf(i);if(f!==-1){a.push({type:"session",appId:t,sessionId:o.id,title:YSe(o),snippet:GSe(l,f,i.length),role:u,ts:d??o.lastUpdateTime});break}}return a.sort((o,l)=>(l.ts??0)-(o.ts??0)),a.slice(0,qSe)}async function ZSe(e,t){if(!e||!t.trim())return{results:[]};let n;try{n=await rK(e,t.trim())}catch(a){const o=String(a);return{results:[],note:o.includes("404")?"网络搜索接口未就绪(后端未启用 /web/search)。":`网络搜索失败:${o}`}}const{mounted:i,results:r,error:s}=n;return i?s?{results:[],note:s}:{results:r.map((a,o)=>({type:"web",index:o,title:a.title,url:a.url,siteName:a.siteName,summary:a.summary}))}:{results:[],note:"当前 Agent 未挂载 web_search 工具。"}}async function KSe(e,t,n,i){if(!t||!i.trim())return{results:[]};const r=await iK(t,e,i.trim(),n);if(!r.mounted)return{results:[],note:e==="knowledge"?"该 Agent 未挂载知识库。":"该 Agent 未挂载长期记忆。"};if(r.error)return{results:[],note:r.error};const s=r.sourceName??(e==="knowledge"?"知识库":"长期记忆");return{results:r.results.map((a,o)=>e==="knowledge"?{type:"knowledge",index:o,content:a.content,sourceName:s,sourceType:r.sourceType}:{type:"memory",index:o,content:a.content,sourceName:s,sourceType:r.sourceType,author:a.author,ts:a.timestamp})}}async function JSe(e,t,n){return e==="session"?{results:await WSe(n.userId,n.appId,t)}:e==="web"?ZSe(n.appId,t):KSe(e,n.appId,n.userId,t)}function _K({className:e="icon"}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[c.jsx("path",{d:"M16.4 10.7a5.7 5.7 0 1 1-1.67-4.03"}),c.jsx("path",{d:"M15.25 15.25 19.6 19.6"})]})}function eve({open:e}){return c.jsx("svg",{className:`search-source-chevron ${e?"open":""}`,viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:c.jsx("path",{d:"m3.25 4.75 2.75 2.5 2.75-2.5"})})}function tve({active:e=!1,onClick:t}){return c.jsxs("button",{className:`new-chat${e?" is-active":""}`,onClick:t,"aria-label":"搜索","aria-current":e?"page":void 0,title:"搜索",children:[c.jsx(_K,{}),c.jsx("span",{className:"sidebar-nav-label",children:"搜索"})]})}function nve(e,t,n){const i=!!e,r=new Set((t==null?void 0:t.searchSources)??[]),s=a=>i?n?"正在检测 Agent 能力":`当前 Agent 未挂载${a}`:"请选择 Agent";return[{id:"session",label:"会话",ready:i,unavailableLabel:"请选择 Agent"},{id:"web",label:"网络",ready:i&&r.has("web"),description:"通过 web_search 工具检索",unavailableLabel:s(" web_search 工具")},{id:"knowledge",label:"知识库",ready:i&&r.has("knowledge"),unavailableLabel:s("知识库")},{id:"memory",label:"长期记忆",ready:i&&r.has("memory"),unavailableLabel:s("长期记忆")}]}function CE(e){return{context_search:"Context Search",local:"本地",mem0:"Mem0",milvus:"Milvus",opensearch:"OpenSearch",openviking:"OpenViking",redis:"Redis",tos_vector:"TOS Vector",viking:"VikingDB"}[e.toLowerCase()]??e}function YB(e){return e?new Date(e*1e3).toLocaleString("zh-CN",{timeZone:"Asia/Shanghai",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}function ive({userId:e,appId:t,agentInfo:n,capabilitiesLoading:i,agentLabel:r,onOpenSession:s}){var D,N;const[a,o]=O.useState("session"),[l,u]=O.useState(""),[d,f]=O.useState([]),[h,p]=O.useState(),[m,g]=O.useState(!1),[y,b]=O.useState(!1),[S,x]=O.useState(!1),v=O.useRef(0),E=O.useRef(null),w=nve(t,n,i),k=w.find(M=>M.id===a),_=a==="knowledge"?(D=n==null?void 0:n.components)==null?void 0:D.find(M=>M.source==="knowledgebase"||M.kind==="knowledgebase"):a==="memory"?(N=n==null?void 0:n.components)==null?void 0:N.find(M=>M.source==="long_term_memory"||M.kind==="memory"):void 0;O.useEffect(()=>{v.current+=1,o("session"),f([]),p(void 0),b(!1),g(!1),x(!1)},[t]),O.useEffect(()=>{if(!S)return;function M(B){var $;($=E.current)!=null&&$.contains(B.target)||x(!1)}return document.addEventListener("pointerdown",M),()=>document.removeEventListener("pointerdown",M)},[S]);async function C(M,B){var X;const $=M.trim();if(!$||!((X=w.find(U=>U.id===B))!=null&&X.ready))return;const I=++v.current;g(!0),b(!0);let G;try{G=await JSe(B,$,{userId:e,appId:t})}catch(U){const Y=U instanceof Error?U.message:String(U);G={results:[],note:`搜索失败:${Y}`}}I===v.current&&(f(G.results),p(G.note),g(!1))}function A(M){v.current+=1,u(M),f([]),p(void 0),b(!1),g(!1)}function R(M){v.current+=1,o(M),x(!1),f([]),p(void 0),b(!1),g(!1)}const j=!!(k!=null&&k.ready),Q=t?a==="web"?"在网络中检索":a==="knowledge"?`在 ${(_==null?void 0:_.name)??"当前 Agent 的知识库"} 中检索`:a==="memory"?`在 ${(_==null?void 0:_.name)??"当前用户的长期记忆"} 中检索`:"在当前 Agent 的会话中检索":"请先选择 Agent",L=_!=null&&_.backend?CE(_.backend):"";return c.jsxs("div",{className:"search",children:[c.jsxs("div",{className:"search-box",children:[c.jsxs("div",{className:"search-source-picker-wrap",ref:E,children:[c.jsxs("button",{className:"search-source-picker",type:"button","aria-label":`搜索类型:${(k==null?void 0:k.label)??"未选择"}`,"aria-haspopup":"listbox","aria-expanded":S,onClick:()=>x(M=>!M),children:[c.jsx("span",{children:(k==null?void 0:k.label)??"搜索类型"}),L&&c.jsx("small",{children:L}),c.jsx(eve,{open:S})]}),S&&c.jsx("div",{className:"search-source-menu",role:"listbox","aria-label":"选择搜索类型",children:w.map(M=>{var I,G;const B=M.id==="knowledge"?(I=n==null?void 0:n.components)==null?void 0:I.find(X=>X.source==="knowledgebase"||X.kind==="knowledgebase"):M.id==="memory"?(G=n==null?void 0:n.components)==null?void 0:G.find(X=>X.source==="long_term_memory"||X.kind==="memory"):void 0,$=B?[B.name,B.backend?CE(B.backend):""].filter(Boolean).join(" · "):M.ready?M.description:M.unavailableLabel;return c.jsxs("button",{type:"button",role:"option","aria-selected":a===M.id,disabled:!M.ready,onClick:()=>R(M.id),children:[c.jsx("span",{children:M.label}),$&&c.jsx("small",{children:$})]},M.id)})})]}),c.jsx("span",{className:"search-box-divider","aria-hidden":!0}),c.jsx("input",{className:"search-input",value:l,onChange:M=>A(M.target.value),onKeyDown:M=>{M.key==="Enter"&&(M.preventDefault(),C(l,a))},placeholder:Q,disabled:!j,autoFocus:!0}),c.jsx("button",{className:"search-go",onClick:()=>void C(l,a),disabled:!l.trim()||m,"aria-label":"搜索",children:m?c.jsx(qn,{className:"icon spin"}):c.jsx(_K,{className:"icon"})})]}),c.jsx("div",{className:"search-results",children:j?y?m?null:h?c.jsx("div",{className:"search-empty",children:h}):d.length===0&&y?c.jsxs("div",{className:"search-empty",children:["未找到匹配「",l.trim(),"」的结果。"]}):d.map((M,B)=>c.jsx(rve,{result:M,agentLabel:r,onOpen:s},B)):c.jsx("div",{className:"search-empty",children:a==="web"?"输入关键词后回车或点击按钮,通过 web_search 工具检索。":a==="knowledge"?"输入问题,检索当前 Agent 挂载的知识库。":a==="memory"?"输入线索,检索当前用户跨会话保存的长期记忆。":"输入关键词后回车或点击按钮,搜索当前 Agent 的会话。"}):c.jsx("div",{className:"search-empty",children:t?i?"正在读取当前 Agent 的检索能力…":(k==null?void 0:k.unavailableLabel)??"当前 Agent 未挂载该数据源":"选择一个 Agent 后,即可检索会话、网络及其挂载的数据源。"})})]})}function rve({result:e,agentLabel:t,onOpen:n}){switch(e.type){case"session":return c.jsxs("button",{className:"search-result",onClick:()=>n(e.appId,e.sessionId),children:[c.jsx(gZ,{className:"search-result-icon"}),c.jsxs("div",{className:"search-result-body",children:[c.jsxs("div",{className:"search-result-head",children:[c.jsx("span",{className:"search-result-title",children:e.title}),c.jsxs("span",{className:"search-result-meta",children:[t(e.appId),e.ts?` · ${YB(e.ts)}`:""]})]}),c.jsx("div",{className:"search-result-snippet",children:e.snippet})]})]});case"web":return c.jsxs("a",{className:"search-result",href:e.url||void 0,target:"_blank",rel:"noreferrer noopener",children:[c.jsx(kT,{className:"search-result-icon"}),c.jsxs("div",{className:"search-result-body",children:[c.jsxs("div",{className:"search-result-head",children:[c.jsx("span",{className:"search-result-title",children:e.title||e.url}),c.jsxs("span",{className:"search-result-meta",children:[e.siteName,e.url&&c.jsx(Ng,{className:"search-result-ext"})]})]}),e.summary&&c.jsx("div",{className:"search-result-snippet",children:e.summary})]})]});case"knowledge":return c.jsxs("div",{className:"search-result search-result-static",children:[c.jsx(GB,{source:"knowledge"}),c.jsxs("div",{className:"search-result-body",children:[c.jsxs("div",{className:"search-result-head",children:[c.jsxs("span",{className:"search-result-title",children:["知识片段 ",e.index+1]}),c.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${CE(e.sourceType)}`:""]})]}),c.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});case"memory":return c.jsxs("div",{className:"search-result search-result-static",children:[c.jsx(GB,{source:"memory"}),c.jsxs("div",{className:"search-result-body",children:[c.jsxs("div",{className:"search-result-head",children:[c.jsxs("span",{className:"search-result-title",children:["记忆片段 ",e.index+1]}),c.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${CE(e.sourceType)}`:"",e.ts?` · ${YB(e.ts)}`:""]})]}),c.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});default:return null}}function GB({source:e,className:t="search-result-icon"}){return e==="knowledge"?c.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[c.jsx("path",{d:"M5 5.5h10.5A3.5 3.5 0 0 1 19 9v9.5H8.5A3.5 3.5 0 0 1 5 15V5.5Z"}),c.jsx("path",{d:"M8.25 9h7.5M8.25 12.25h6"})]}):c.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[c.jsx("path",{d:"M12 4.5a7.5 7.5 0 1 0 7.5 7.5"}),c.jsx("path",{d:"M12 8a4 4 0 1 0 4 4M12 11.3a.7.7 0 1 0 0 1.4.7.7 0 0 0 0-1.4Z"})]})}function hf({className:e="icon"}){return c.jsxs("svg",{className:`${e} sidebar-agent-face`,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("rect",{x:"4.25",y:"5.25",width:"15.5",height:"13.5",rx:"4.75"}),c.jsx("path",{className:"sidebar-agent-face__eye",d:"M8.5 10.7v2"}),c.jsx("path",{className:"sidebar-agent-face__eye",d:"M15.5 10.7v2"})]})}function sve({filled:e=!1,...t}){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:e?"currentColor":"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[c.jsx("rect",{x:"3.5",y:"9.3",width:"4.5",height:"10.2",rx:"1.5"}),c.jsx("path",{d:"M8 10.2 11.3 4.8c.5-.8 1.7-.45 1.7.5v3.8h4.2a2.1 2.1 0 0 1 2.04 2.6l-1.4 5.75A2.1 2.1 0 0 1 15.8 19H8"})]})}function ave({filled:e=!1,...t}){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:e?"currentColor":"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[c.jsx("rect",{x:"3.5",y:"4.5",width:"4.5",height:"10.2",rx:"1.5"}),c.jsx("path",{d:"M8 13.8 11.3 19.2c.5.8 1.7.45 1.7-.5v-3.8h4.2a2.1 2.1 0 0 0 2.04-2.6l-1.4-5.75A2.1 2.1 0 0 0 15.8 5H8"})]})}function AK(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M5.25 4.25h9.5a2.5 2.5 0 0 1 2.5 2.5v3.5"}),c.jsx("path",{d:"M13.25 17.75h-8a2.5 2.5 0 0 1-2.5-2.5v-8a3 3 0 0 1 3-3"}),c.jsx("path",{d:"M7 8.25h5.5M7 11.75h3.25"}),c.jsx("path",{d:"m13.35 16.65.42-2.16 4.76-4.76a1.35 1.35 0 0 1 1.91 1.91l-4.76 4.76-2.33.25Z"}),c.jsx("path",{d:"m17.65 10.6 1.9 1.9"})]})}const MD="/assets/logo-DCsNZy-k.svg",LD="data:image/svg+xml,%3csvg%20width='28'%20height='23'%20viewBox='0%200%2028%2023'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17.1957%209.44218C17.0253%209.58161%2016.7774%209.47317%2016.7774%209.24079V8.01696V0.611967C16.7774%200.395085%2016.514%200.271152%2016.3591%200.410576L6.04172%209.16334C5.87132%209.30276%205.62345%209.19432%205.62345%208.96194V2.98218C5.62345%202.81178%205.48403%202.67235%205.31362%202.67235H0.309832C0.139424%202.67235%200%202.81178%200%202.98218V21.7115C0%2021.9284%200.263357%2022.0524%200.418273%2021.9129L10.7202%2013.1602C10.8906%2013.0207%2011.1385%2013.1292%2011.1385%2013.3616V22.0059C11.1385%2022.2228%2011.4018%2022.3467%2011.5567%2022.2073L21.8586%2013.4545C22.0291%2013.3151%2022.2769%2013.4235%2022.2769%2013.6559V19.6357C22.2769%2019.8061%2022.4163%2019.9455%2022.5868%2019.9455H27.5905C27.7609%2019.9455%2027.9004%2019.8061%2027.9004%2019.6357V0.890816C27.9004%200.673934%2027.637%200.550001%2027.4821%200.689425L17.1957%209.44218Z'%20fill='%230066FC'/%3e%3c/svg%3e",WB="(max-width: 860px)";function ove(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"7",cy:"7",r:"2.25"}),c.jsx("circle",{cx:"17",cy:"7",r:"2.25"}),c.jsx("circle",{cx:"7",cy:"17",r:"2.25"}),c.jsx("circle",{cx:"17",cy:"17",r:"2.25"})]})}function lve(e){let t=2166136261;for(const i of e)t^=i.charCodeAt(0),t=Math.imul(t,16777619);const n=t>>>0;return{"--avatar-hue-a":194+n%22,"--avatar-hue-b":214+(n>>>6)%25,"--avatar-hue-c":176+(n>>>12)%25,"--avatar-x":`${22+(n>>>18)%55}%`,"--avatar-y":`${18+(n>>>24)%58}%`}}const cve={admin:"管理员",developer:"开发者",user:"普通用户"};function ZB({role:e}){const t=cve[e];return c.jsx("span",{className:`studio-role-badge studio-role-badge--${e}`,title:t,children:t})}function uve({access:e,userInfo:t,onSystemInfo:n,onLogout:i}){const[r,s]=O.useState(!1),[a,o]=O.useState("");if(!t)return null;const l=A1e(t),u=typeof t.email=="string"?t.email:"",d=(l||"U").slice(0,1).toUpperCase(),f=lve(l||u||d),h=N1e(t),p=h===a?"":h;return c.jsxs("div",{className:"sidebar-user",children:[c.jsxs("button",{className:"sidebar-user-btn",onClick:()=>s(m=>!m),title:u?`${l} +${u}`:l,children:[c.jsxs("span",{className:`account-avatar${p?" has-image":""}`,style:f,children:[d,p?c.jsx("img",{className:"account-avatar-image",src:p,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>o(p)}):null]}),c.jsxs("span",{className:"sidebar-user-identity",children:[c.jsxs("span",{className:"sidebar-user-primary",children:[c.jsx("span",{className:"sidebar-user-name",children:l}),c.jsx(ZB,{role:e.role})]}),u&&u!==l&&c.jsx("span",{className:"sidebar-user-email",children:u})]})]}),r&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>s(!1)}),c.jsxs("div",{className:"account-pop sidebar-user-pop",children:[c.jsxs("div",{className:"account-head",children:[c.jsxs("span",{className:`account-avatar account-avatar--lg${p?" has-image":""}`,style:f,children:[d,p?c.jsx("img",{className:"account-avatar-image",src:p,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>o(p)}):null]}),c.jsxs("div",{className:"account-id",children:[c.jsxs("div",{className:"account-name-row",children:[c.jsx("div",{className:"account-name",children:l}),c.jsx(ZB,{role:e.role})]}),u&&u!==l&&c.jsx("div",{className:"account-sub",children:u})]})]}),c.jsxs("button",{type:"button",className:"account-action",onClick:()=>{s(!1),n()},children:[c.jsx(zu,{className:"icon"})," 系统信息"]}),c.jsxs("button",{type:"button",className:"account-action",onClick:()=>{s(!1),i()},children:[c.jsx(a1e,{className:"icon"})," 退出登录"]})]})]})]})}function dve({branding:e,cloudProvider:t,sessions:n,currentSessionId:i,activePage:r,features:s,access:a,streamingSids:o,evaluatingSids:l,sandboxHistory:u,onNewChat:d,onSearch:f,onQuickCreate:h,onSkillCenter:p,onAddAgent:m,onMyAgents:g,onApplications:y,onSystemInfo:b,onIssueFeedback:S,onPickSession:x,onDeleteSession:v,userInfo:E,onLogout:w}){const k=N=>(s==null?void 0:s[N])!==!1,[_,C]=O.useState(null),A=O.useRef(typeof window<"u"&&window.matchMedia(WB).matches),[R,j]=O.useState(A.current),Q=[...n].sort((N,M)=>(M.lastUpdateTime??0)-(N.lastUpdateTime??0)),L=()=>{A.current=!1,j(N=>!N),C(null)};O.useEffect(()=>{const N=window.matchMedia(WB),M=B=>{B.matches?j($=>$||(A.current=!0,!0)):A.current&&(A.current=!1,j(!1))};return N.addEventListener("change",M),()=>N.removeEventListener("change",M)},[]);const D=t==="byteplus"?LD:MD;return c.jsxs("aside",{className:`sidebar ${R?"is-collapsed":""}`,children:[c.jsxs("div",{className:"sidebar-top",children:[c.jsxs("div",{className:"sidebar-brand-row",children:[c.jsxs("button",{type:"button",className:"brand",onClick:d,"aria-label":"返回首页",title:"返回首页",children:[c.jsx("img",{className:"brand-logo",src:e.logoUrl||D,width:20,height:20,alt:"","aria-hidden":!0}),c.jsx("span",{className:"brand-title",children:e.title})]}),c.jsx("button",{type:"button",className:"sidebar-collapse-toggle",onClick:L,"aria-label":R?"展开侧边栏":"收起侧边栏",title:R?"展开侧边栏":"收起侧边栏",children:R?c.jsx(d1e,{className:"icon"}):c.jsx(u1e,{className:"icon"})})]}),k("newChat")&&c.jsxs("button",{className:`new-chat new-chat--conversation${r==="new-chat"?" is-active":""}`,onClick:d,"aria-label":"新会话","aria-current":r==="new-chat"?"page":void 0,title:"新会话",children:[c.jsx(Ls,{className:"icon"}),c.jsx("span",{className:"sidebar-nav-label",children:"新会话"})]}),c.jsxs("button",{className:`new-chat new-chat--agents${r==="agents"?" is-active":""}`,onClick:g,"aria-label":"智能体","aria-current":r==="agents"?"page":void 0,title:"智能体",children:[c.jsx(hf,{}),c.jsx("span",{className:"sidebar-nav-label",children:"智能体"})]}),k("skillCenter")?c.jsxs("button",{className:`new-chat new-chat--skills${r==="skills"?" is-active":""}`,onClick:p,"aria-label":"技能","aria-current":r==="skills"?"page":void 0,title:"技能",children:[c.jsx(Kv,{className:"icon","aria-hidden":"true"}),c.jsx("span",{className:"sidebar-nav-label",children:"技能"})]}):null,k("search")&&c.jsx(tve,{active:r==="search",onClick:f}),c.jsxs("button",{className:`new-chat new-chat--applications${r==="applications"?" is-active":""}`,onClick:y,"aria-label":"自动化","aria-current":r==="applications"?"page":void 0,title:"自动化",children:[c.jsx(ove,{className:"icon"}),c.jsx("span",{className:"sidebar-nav-label",children:"自动化"}),c.jsx("span",{className:"sidebar-beta-badge",children:"Beta"})]})]}),k("history")&&c.jsxs("div",{className:"sidebar-history",children:[c.jsxs("div",{className:"history-head",children:[c.jsx("span",{children:"历史会话"}),k("newChat")&&c.jsx("button",{type:"button",className:"history-new-chat",onClick:(u==null?void 0:u.onNew)??d,disabled:u==null?void 0:u.newDisabled,"aria-label":"新建会话",title:"新建会话",children:c.jsx(Ls,{className:"icon"})})]}),c.jsx("div",{className:"history-list",children:u?c.jsxs(c.Fragment,{children:[u.loading&&u.threads.length===0?c.jsx("div",{className:"history-empty",role:"status",children:"正在加载历史会话…"}):null,u.error?c.jsx("div",{className:"history-error",role:"alert",children:u.error}):null,!u.loading&&!u.error&&u.threads.length===0?c.jsx("div",{className:"history-empty",children:"暂无会话"}):null,u.threads.map(N=>{const M=N.id===u.currentThreadId,B=N.name||N.preview||`Thread ${N.id.slice(0,8)}`,$=N.id===u.busyThreadId;return c.jsxs("div",{className:`history-item ${M?"active":""}`,children:[c.jsxs("button",{type:"button",className:"history-item-btn",onClick:()=>u.onSelect(N.id),"aria-current":M?"page":void 0,title:B,disabled:$,children:[c.jsx("span",{className:"history-title",children:B}),M?c.jsx("span",{className:"history-current-badge",children:"当前"}):null]}),c.jsx("button",{type:"button",className:"history-more","aria-label":`管理历史会话:${B}`,title:"更多",disabled:$,onClick:()=>C(I=>I===N.id?null:N.id),children:c.jsx(IB,{className:"icon"})}),_===N.id?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>C(null)}),c.jsx("div",{className:"history-menu",children:c.jsxs("button",{type:"button",className:"menu-item menu-item--danger",onClick:()=>{C(null),u.onDelete(N)},children:[c.jsx(df,{className:"icon"})," 删除"]})})]}):null]},N.id)}),u.hasMore?c.jsx("button",{type:"button",className:"history-load-more",disabled:u.loading,onClick:u.onLoadMore,children:u.loading?"加载中…":"加载更多"}):null]}):c.jsxs(c.Fragment,{children:[Q.length===0&&c.jsx("div",{className:"history-empty",children:"暂无会话"}),Q.map(N=>{const M=XSe(N.events),B=(o==null?void 0:o.has(N.id))===!0,$=!B&&(l==null?void 0:l.has(N.id))===!0;return c.jsxs("div",{className:`history-item ${N.id===i?"active":""}`,children:[c.jsxs("button",{className:"history-item-btn",onClick:()=>x(N.id),"aria-current":N.id===i?"page":void 0,title:M,children:[B&&c.jsx("span",{className:"history-streaming",title:"正在生成…","aria-label":"正在生成"}),c.jsx("span",{className:"history-title",children:M}),$&&c.jsxs("span",{className:"history-evaluating-status",title:"正在自动评测",children:[c.jsx("span",{className:"history-evaluating","aria-hidden":"true"}),"评测中"]})]}),c.jsx("button",{type:"button",className:"history-more","aria-label":`管理历史会话:${M}`,title:"更多",onClick:()=>C(I=>I===N.id?null:N.id),children:c.jsx(IB,{className:"icon"})}),_===N.id&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>C(null)}),c.jsx("div",{className:"history-menu",children:c.jsxs("button",{className:"menu-item menu-item--danger",onClick:()=>{C(null),v(N.id)},children:[c.jsx(df,{className:"icon"})," 删除"]})})]})]},N.id)})]})})]}),c.jsxs("div",{className:"sidebar-footer",children:[c.jsxs("button",{type:"button",className:`sidebar-feedback${r==="feedback"?" is-active":""}`,onClick:S,"aria-label":"问题反馈","aria-current":r==="feedback"?"page":void 0,title:"问题反馈",children:[c.jsx(AK,{className:"icon"}),c.jsx("span",{className:"sidebar-nav-label",children:"问题反馈"})]}),c.jsx(uve,{access:a,userInfo:E,onSystemInfo:b,onLogout:w})]})]})}function Br(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,i;n{}};function PT(){for(var e=0,t=arguments.length,n={},i;e=0&&(i=n.slice(r+1),n=n.slice(0,r)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}sw.prototype=PT.prototype={constructor:sw,on:function(e,t){var n=this._,i=hve(e+"",n),r,s=-1,a=i.length;if(arguments.length<2){for(;++s0)for(var n=new Array(r),i=0,r,s;i=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),JB.hasOwnProperty(t)?{space:JB[t],local:e}:e}function mve(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===eP&&t.documentElement.namespaceURI===eP?t.createElement(e):t.createElementNS(n,e)}}function gve(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function NK(e){var t=jT(e);return(t.local?gve:mve)(t)}function Ove(){}function DD(e){return e==null?Ove:function(){return this.querySelector(e)}}function bve(e){typeof e!="function"&&(e=DD(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r=x&&(x=S+1);!(E=y[x])&&++x=0;)(a=i[r])&&(s&&a.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(a,s),s=a);return this}function Fve(e){e||(e=Vve);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,i=n.length,r=new Array(i),s=0;st?1:e>=t?0:NaN}function Xve(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function qve(){return Array.from(this)}function Hve(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?rwe:typeof t=="function"?awe:swe)(e,t,n??"")):Cg(this.node(),e)}function Cg(e,t){return e.style.getPropertyValue(t)||jK(e).getComputedStyle(e,null).getPropertyValue(t)}function lwe(e){return function(){delete this[e]}}function cwe(e,t){return function(){this[e]=t}}function uwe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function dwe(e,t){return arguments.length>1?this.each((t==null?lwe:typeof t=="function"?uwe:cwe)(e,t)):this.node()[e]}function MK(e){return e.trim().split(/^|\s+/)}function $D(e){return e.classList||new LK(e)}function LK(e){this._node=e,this._names=MK(e.getAttribute("class")||"")}LK.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function DK(e,t){for(var n=$D(e),i=-1,r=t.length;++i=0&&(n=t.slice(i+1),t=t.slice(0,i)),{type:t,name:n}})}function Qwe(e){return function(){var t=this.__on;if(t){for(var n=0,i=-1,r=t.length,s;n()=>e;function tP(e,{sourceEvent:t,subject:n,target:i,identifier:r,active:s,x:a,y:o,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:o,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}tP.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Gwe(e){return!e.ctrlKey&&!e.button}function Wwe(){return this.parentNode}function Zwe(e,t){return t??{x:e.x,y:e.y}}function Kwe(){return navigator.maxTouchPoints||"ontouchstart"in this}function FK(){var e=Gwe,t=Wwe,n=Zwe,i=Kwe,r={},s=PT("start","drag","end"),a=0,o,l,u,d,f=0;function h(v){v.on("mousedown.drag",p).filter(i).on("touchstart.drag",y).on("touchmove.drag",b,Ywe).on("touchend.drag touchcancel.drag",S).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(v,E){if(!(d||!e.call(this,v,E))){var w=x(this,t.call(this,v,E),v,E,"mouse");w&&(Ja(v.view).on("mousemove.drag",m,Ey).on("mouseup.drag",g,Ey),UK(v.view),D2(v),u=!1,o=v.clientX,l=v.clientY,w("start",v))}}function m(v){if(Hm(v),!u){var E=v.clientX-o,w=v.clientY-l;u=E*E+w*w>f}r.mouse("drag",v)}function g(v){Ja(v.view).on("mousemove.drag mouseup.drag",null),zK(v.view,u),Hm(v),r.mouse("end",v)}function y(v,E){if(e.call(this,v,E)){var w=v.changedTouches,k=t.call(this,v,E),_=w.length,C,A;for(C=0;C<_;++C)(A=x(this,k,v,E,w[C].identifier,w[C]))&&(D2(v),A("start",v,w[C]))}}function b(v){var E=v.changedTouches,w=E.length,k,_;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?vS(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?vS(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=eEe.exec(e))?new Ea(t[1],t[2],t[3],1):(t=tEe.exec(e))?new Ea(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=nEe.exec(e))?vS(t[1],t[2],t[3],t[4]):(t=iEe.exec(e))?vS(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=rEe.exec(e))?a8(t[1],t[2]/100,t[3]/100,1):(t=sEe.exec(e))?a8(t[1],t[2]/100,t[3]/100,t[4]):e8.hasOwnProperty(e)?i8(e8[e]):e==="transparent"?new Ea(NaN,NaN,NaN,0):null}function i8(e){return new Ea(e>>16&255,e>>8&255,e&255,1)}function vS(e,t,n,i){return i<=0&&(e=t=n=NaN),new Ea(e,t,n,i)}function lEe(e){return e instanceof zx||(e=Xh(e)),e?(e=e.rgb(),new Ea(e.r,e.g,e.b,e.opacity)):new Ea}function nP(e,t,n,i){return arguments.length===1?lEe(e):new Ea(e,t,n,i??1)}function Ea(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}QD(Ea,nP,VK(zx,{brighter(e){return e=e==null?IE:Math.pow(IE,e),new Ea(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ky:Math.pow(ky,e),new Ea(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ea(Ph(this.r),Ph(this.g),Ph(this.b),PE(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:r8,formatHex:r8,formatHex8:cEe,formatRgb:s8,toString:s8}));function r8(){return`#${Oh(this.r)}${Oh(this.g)}${Oh(this.b)}`}function cEe(){return`#${Oh(this.r)}${Oh(this.g)}${Oh(this.b)}${Oh((isNaN(this.opacity)?1:this.opacity)*255)}`}function s8(){const e=PE(this.opacity);return`${e===1?"rgb(":"rgba("}${Ph(this.r)}, ${Ph(this.g)}, ${Ph(this.b)}${e===1?")":`, ${e})`}`}function PE(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ph(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Oh(e){return e=Ph(e),(e<16?"0":"")+e.toString(16)}function a8(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hl(e,t,n,i)}function XK(e){if(e instanceof hl)return new hl(e.h,e.s,e.l,e.opacity);if(e instanceof zx||(e=Xh(e)),!e)return new hl;if(e instanceof hl)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),s=Math.max(t,n,i),a=NaN,o=s-r,l=(s+r)/2;return o?(t===s?a=(n-i)/o+(n0&&l<1?0:a,new hl(a,o,l,e.opacity)}function uEe(e,t,n,i){return arguments.length===1?XK(e):new hl(e,t,n,i??1)}function hl(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}QD(hl,uEe,VK(zx,{brighter(e){return e=e==null?IE:Math.pow(IE,e),new hl(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ky:Math.pow(ky,e),new hl(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new Ea($2(e>=240?e-240:e+120,r,i),$2(e,r,i),$2(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new hl(o8(this.h),wS(this.s),wS(this.l),PE(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=PE(this.opacity);return`${e===1?"hsl(":"hsla("}${o8(this.h)}, ${wS(this.s)*100}%, ${wS(this.l)*100}%${e===1?")":`, ${e})`}`}}));function o8(e){return e=(e||0)%360,e<0?e+360:e}function wS(e){return Math.max(0,Math.min(1,e||0))}function $2(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const BD=e=>()=>e;function dEe(e,t){return function(n){return e+n*t}}function fEe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}function hEe(e){return(e=+e)==1?qK:function(t,n){return n-t?fEe(t,n,e):BD(isNaN(t)?n:t)}}function qK(e,t){var n=t-e;return n?dEe(e,n):BD(isNaN(e)?t:e)}const jE=function e(t){var n=hEe(t);function i(r,s){var a=n((r=nP(r)).r,(s=nP(s)).r),o=n(r.g,s.g),l=n(r.b,s.b),u=qK(r.opacity,s.opacity);return function(d){return r.r=a(d),r.g=o(d),r.b=l(d),r.opacity=u(d),r+""}}return i.gamma=e,i}(1);function pEe(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,i=t.slice(),r;return function(s){for(r=0;rn&&(s=t.slice(n,s),o[a]?o[a]+=s:o[++a]=s),(i=i[0])===(r=r[0])?o[a]?o[a]+=r:o[++a]=r:(o[++a]=null,l.push({i:a,x:Wl(i,r)})),n=Q2.lastIndex;return n180?d+=360:d-u>180&&(u+=360),h.push({i:f.push(r(f)+"rotate(",null,i)-2,x:Wl(u,d)})):d&&f.push(r(f)+"rotate("+d+i)}function o(u,d,f,h){u!==d?h.push({i:f.push(r(f)+"skewX(",null,i)-2,x:Wl(u,d)}):d&&f.push(r(f)+"skewX("+d+i)}function l(u,d,f,h,p,m){if(u!==f||d!==h){var g=p.push(r(p)+"scale(",null,",",null,")");m.push({i:g-4,x:Wl(u,f)},{i:g-2,x:Wl(d,h)})}else(f!==1||h!==1)&&p.push(r(p)+"scale("+f+","+h+")")}return function(u,d){var f=[],h=[];return u=e(u),d=e(d),s(u.translateX,u.translateY,d.translateX,d.translateY,f,h),a(u.rotate,d.rotate,f,h),o(u.skewX,d.skewX,f,h),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,h),u=d=null,function(p){for(var m=-1,g=h.length,y;++m=0&&e._call.call(void 0,t),e=e._next;--Rg}function u8(){qh=(LE=_y.now())+MT,Rg=GO=0;try{NEe()}finally{Rg=0,REe(),qh=0}}function CEe(){var e=_y.now(),t=e-LE;t>WK&&(MT-=t,LE=e)}function REe(){for(var e,t=ME,n,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:ME=n);WO=e,sP(i)}function sP(e){if(!Rg){GO&&(GO=clearTimeout(GO));var t=e-qh;t>24?(e<1/0&&(GO=setTimeout(u8,e-_y.now()-MT)),mO&&(mO=clearInterval(mO))):(mO||(LE=_y.now(),mO=setInterval(CEe,WK)),Rg=1,ZK(u8))}}function d8(e,t,n){var i=new DE;return t=t==null?0:+t,i.restart(r=>{i.stop(),e(r+t)},t,n),i}var IEe=PT("start","end","cancel","interrupt"),PEe=[],JK=0,f8=1,aP=2,ow=3,h8=4,oP=5,lw=6;function LT(e,t,n,i,r,s){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;jEe(e,n,{name:t,index:i,group:r,on:IEe,tween:PEe,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:JK})}function zD(e,t){var n=_l(e,t);if(n.state>JK)throw new Error("too late; already scheduled");return n}function Tc(e,t){var n=_l(e,t);if(n.state>ow)throw new Error("too late; already running");return n}function _l(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function jEe(e,t,n){var i=e.__transition,r;i[t]=n,n.timer=KK(s,0,n.time);function s(u){n.state=f8,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var d,f,h,p;if(n.state!==f8)return l();for(d in i)if(p=i[d],p.name===n.name){if(p.state===ow)return d8(a);p.state===h8?(p.state=lw,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[d]):+daP&&i.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function uke(e,t,n){var i,r,s=cke(t)?zD:Tc;return function(){var a=s(this,e),o=a.on;o!==i&&(r=(i=o).copy()).on(t,n),a.on=r}}function dke(e,t){var n=this._id;return arguments.length<2?_l(this.node(),n).on.on(e):this.each(uke(n,e,t))}function fke(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function hke(){return this.on("end.remove",fke(this._id))}function pke(e){var t=this._name,n=this._id;typeof e!="function"&&(e=DD(e));for(var i=this._groups,r=i.length,s=new Array(r),a=0;a()=>e;function Qke(e,{sourceEvent:t,target:n,transform:i,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:r}})}function du(e,t,n){this.k=e,this.x=t,this.y=n}du.prototype={constructor:du,scale:function(e){return e===1?this:new du(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new du(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var DT=new du(1,0,0);iJ.prototype=du.prototype;function iJ(e){for(;!e.__zoom;)if(!(e=e.parentNode))return DT;return e.__zoom}function B2(e){e.stopImmediatePropagation()}function gO(e){e.preventDefault(),e.stopImmediatePropagation()}function Bke(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Uke(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function p8(){return this.__zoom||DT}function zke(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Fke(){return navigator.maxTouchPoints||"ontouchstart"in this}function Vke(e,t,n){var i=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],s=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(r>i?(i+r)/2:Math.min(0,i)||Math.max(0,r),a>s?(s+a)/2:Math.min(0,s)||Math.max(0,a))}function rJ(){var e=Bke,t=Uke,n=Vke,i=zke,r=Fke,s=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],o=250,l=aw,u=PT("start","zoom","end"),d,f,h,p=500,m=150,g=0,y=10;function b(L){L.property("__zoom",p8).on("wheel.zoom",_,{passive:!1}).on("mousedown.zoom",C).on("dblclick.zoom",A).filter(r).on("touchstart.zoom",R).on("touchmove.zoom",j).on("touchend.zoom touchcancel.zoom",Q).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(L,D,N,M){var B=L.selection?L.selection():L;B.property("__zoom",p8),L!==B?E(L,D,N,M):B.interrupt().each(function(){w(this,arguments).event(M).start().zoom(null,typeof D=="function"?D.apply(this,arguments):D).end()})},b.scaleBy=function(L,D,N,M){b.scaleTo(L,function(){var B=this.__zoom.k,$=typeof D=="function"?D.apply(this,arguments):D;return B*$},N,M)},b.scaleTo=function(L,D,N,M){b.transform(L,function(){var B=t.apply(this,arguments),$=this.__zoom,I=N==null?v(B):typeof N=="function"?N.apply(this,arguments):N,G=$.invert(I),X=typeof D=="function"?D.apply(this,arguments):D;return n(x(S($,X),I,G),B,a)},N,M)},b.translateBy=function(L,D,N,M){b.transform(L,function(){return n(this.__zoom.translate(typeof D=="function"?D.apply(this,arguments):D,typeof N=="function"?N.apply(this,arguments):N),t.apply(this,arguments),a)},null,M)},b.translateTo=function(L,D,N,M,B){b.transform(L,function(){var $=t.apply(this,arguments),I=this.__zoom,G=M==null?v($):typeof M=="function"?M.apply(this,arguments):M;return n(DT.translate(G[0],G[1]).scale(I.k).translate(typeof D=="function"?-D.apply(this,arguments):-D,typeof N=="function"?-N.apply(this,arguments):-N),$,a)},M,B)};function S(L,D){return D=Math.max(s[0],Math.min(s[1],D)),D===L.k?L:new du(D,L.x,L.y)}function x(L,D,N){var M=D[0]-N[0]*L.k,B=D[1]-N[1]*L.k;return M===L.x&&B===L.y?L:new du(L.k,M,B)}function v(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function E(L,D,N,M){L.on("start.zoom",function(){w(this,arguments).event(M).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(M).end()}).tween("zoom",function(){var B=this,$=arguments,I=w(B,$).event(M),G=t.apply(B,$),X=N==null?v(G):typeof N=="function"?N.apply(B,$):N,U=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),Y=B.__zoom,ae=typeof D=="function"?D.apply(B,$):D,fe=l(Y.invert(X).concat(U/Y.k),ae.invert(X).concat(U/ae.k));return function(ke){if(ke===1)ke=ae;else{var K=fe(ke),ie=U/K[2];ke=new du(ie,X[0]-K[0]*ie,X[1]-K[1]*ie)}I.zoom(null,ke)}})}function w(L,D,N){return!N&&L.__zooming||new k(L,D)}function k(L,D){this.that=L,this.args=D,this.active=0,this.sourceEvent=null,this.extent=t.apply(L,D),this.taps=0}k.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,D){return this.mouse&&L!=="mouse"&&(this.mouse[1]=D.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=D.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=D.invert(this.touch1[0])),this.that.__zoom=D,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var D=Ja(this.that).datum();u.call(L,this.that,new Qke(L,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),D)}};function _(L,...D){if(!e.apply(this,arguments))return;var N=w(this,D).event(L),M=this.__zoom,B=Math.max(s[0],Math.min(s[1],M.k*Math.pow(2,i.apply(this,arguments)))),$=ul(L);if(N.wheel)(N.mouse[0][0]!==$[0]||N.mouse[0][1]!==$[1])&&(N.mouse[1]=M.invert(N.mouse[0]=$)),clearTimeout(N.wheel);else{if(M.k===B)return;N.mouse=[$,M.invert($)],cw(this),N.start()}gO(L),N.wheel=setTimeout(I,m),N.zoom("mouse",n(x(S(M,B),N.mouse[0],N.mouse[1]),N.extent,a));function I(){N.wheel=null,N.end()}}function C(L,...D){if(h||!e.apply(this,arguments))return;var N=L.currentTarget,M=w(this,D,!0).event(L),B=Ja(L.view).on("mousemove.zoom",X,!0).on("mouseup.zoom",U,!0),$=ul(L,N),I=L.clientX,G=L.clientY;UK(L.view),B2(L),M.mouse=[$,this.__zoom.invert($)],cw(this),M.start();function X(Y){if(gO(Y),!M.moved){var ae=Y.clientX-I,fe=Y.clientY-G;M.moved=ae*ae+fe*fe>g}M.event(Y).zoom("mouse",n(x(M.that.__zoom,M.mouse[0]=ul(Y,N),M.mouse[1]),M.extent,a))}function U(Y){B.on("mousemove.zoom mouseup.zoom",null),zK(Y.view,M.moved),gO(Y),M.event(Y).end()}}function A(L,...D){if(e.apply(this,arguments)){var N=this.__zoom,M=ul(L.changedTouches?L.changedTouches[0]:L,this),B=N.invert(M),$=N.k*(L.shiftKey?.5:2),I=n(x(S(N,$),M,B),t.apply(this,D),a);gO(L),o>0?Ja(this).transition().duration(o).call(E,I,M,L):Ja(this).call(b.transform,I,M,L)}}function R(L,...D){if(e.apply(this,arguments)){var N=L.touches,M=N.length,B=w(this,D,L.changedTouches.length===M).event(L),$,I,G,X;for(B2(L),I=0;I`Seems like you have not used zustand provider as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:i})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:i}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Ay=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],sJ=["Enter"," ","Escape"],aJ={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Ig;(function(e){e.Strict="strict",e.Loose="loose"})(Ig||(Ig={}));var jh;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(jh||(jh={}));var Ny;(function(e){e.Partial="partial",e.Full="full"})(Ny||(Ny={}));const oJ={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Cd;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Cd||(Cd={}));var Cy;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Cy||(Cy={}));var mt;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(mt||(mt={}));const m8={[mt.Left]:mt.Right,[mt.Right]:mt.Left,[mt.Top]:mt.Bottom,[mt.Bottom]:mt.Top};function lJ(e){return e===null?null:e?"valid":"invalid"}const cJ=e=>"id"in e&&"source"in e&&"target"in e,Xke=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),VD=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Fx=(e,t=[0,0])=>{const{width:n,height:i}=Fu(e),r=e.origin??t,s=n*r[0],a=i*r[1];return{x:e.position.x-s,y:e.position.y-a}},qke=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((i,r)=>{const s=typeof r=="string";let a=!t.nodeLookup&&!s?r:void 0;t.nodeLookup&&(a=s?t.nodeLookup.get(r):VD(r)?r:t.nodeLookup.get(r.id));const o=a?$E(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return $T(i,o)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return QT(n)},Vx=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},i=!1;return e.forEach(r=>{(t.filter===void 0||t.filter(r))&&(n=$T(n,$E(r)),i=!0)}),i?QT(n):{x:0,y:0,width:0,height:0}},XD=(e,t,[n,i,r]=[0,0,1],s=!1,a=!1)=>{const o={...x0(t,[n,i,r]),width:t.width/r,height:t.height/r},l=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:h=!1}=u;if(a&&!f||h)continue;const p=d.width??u.width??u.initialWidth??null,m=d.height??u.height??u.initialHeight??null,g=Ry(o,jg(u)),y=(p??0)*(m??0),b=s&&g>0;(!u.internals.handleBounds||b||g>=y||u.dragging)&&l.push(u)}return l},Hke=(e,t)=>{const n=new Set;return e.forEach(i=>{n.add(i.id)}),t.filter(i=>n.has(i.source)||n.has(i.target))};function Yke(e,t){const n=new Map,i=t!=null&&t.nodes?new Set(t.nodes.map(r=>r.id)):null;return e.forEach(r=>{r.measured.width&&r.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!r.hidden)&&(!i||i.has(r.id))&&n.set(r.id,r)}),n}async function Gke({nodes:e,width:t,height:n,panZoom:i,minZoom:r,maxZoom:s},a){if(e.size===0)return!0;const o=Yke(e,a),l=Vx(o),u=HD(l,t,n,(a==null?void 0:a.minZoom)??r,(a==null?void 0:a.maxZoom)??s,(a==null?void 0:a.padding)??.1);return await i.setViewport(u,{duration:a==null?void 0:a.duration,ease:a==null?void 0:a.ease,interpolate:a==null?void 0:a.interpolate}),!0}function uJ({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:i=[0,0],nodeExtent:r,onError:s}){const a=n.get(e),o=a.parentId?n.get(a.parentId):void 0,{x:l,y:u}=o?o.internals.positionAbsolute:{x:0,y:0},d=a.origin??i;let f=a.extent||r;if(a.extent==="parent"&&!a.expandParent)if(!o)s==null||s("005",vl.error005());else{const p=o.measured.width,m=o.measured.height;p&&m&&(f=[[l,u],[l+p,u+m]])}else o&&Yh(a.extent)&&(f=[[a.extent[0][0]+l,a.extent[0][1]+u],[a.extent[1][0]+l,a.extent[1][1]+u]]);const h=Yh(f)?Hh(t,f,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&(s==null||s("015",vl.error015())),{position:{x:h.x-l+(a.measured.width??0)*d[0],y:h.y-u+(a.measured.height??0)*d[1]},positionAbsolute:h}}async function Wke({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:i,onBeforeDelete:r}){const s=new Set(e.map(h=>h.id)),a=[];for(const h of n){if(h.deletable===!1)continue;const p=s.has(h.id),m=!p&&h.parentId&&a.find(g=>g.id===h.parentId);(p||m)&&a.push(h)}const o=new Set(t.map(h=>h.id)),l=i.filter(h=>h.deletable!==!1),d=Hke(a,l);for(const h of l)o.has(h.id)&&!d.find(m=>m.id===h.id)&&d.push(h);if(!r)return{edges:d,nodes:a};const f=await r({nodes:a,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:a}:{edges:[],nodes:[]}:f}const Pg=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Hh=(e={x:0,y:0},t,n)=>({x:Pg(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:Pg(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function dJ(e,t,n){const{width:i,height:r}=Fu(n),{x:s,y:a}=n.internals.positionAbsolute;return Hh(e,[[s,a],[s+i,a+r]],t)}const g8=(e,t,n)=>en?-Pg(Math.abs(e-n),1,t)/t:0,qD=(e,t,n=15,i=40)=>{const r=g8(e.x,i,t.width-i)*n,s=g8(e.y,i,t.height-i)*n;return[r,s]},$T=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),lP=({x:e,y:t,width:n,height:i})=>({x:e,y:t,x2:e+n,y2:t+i}),QT=({x:e,y:t,x2:n,y2:i})=>({x:e,y:t,width:n-e,height:i-t}),jg=(e,t=[0,0])=>{var r,s;const{x:n,y:i}=VD(e)?e.internals.positionAbsolute:Fx(e,t);return{x:n,y:i,width:((r=e.measured)==null?void 0:r.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},$E=(e,t=[0,0])=>{var r,s;const{x:n,y:i}=VD(e)?e.internals.positionAbsolute:Fx(e,t);return{x:n,y:i,x2:n+(((r=e.measured)==null?void 0:r.width)??e.width??e.initialWidth??0),y2:i+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},fJ=(e,t)=>QT($T(lP(e),lP(t))),Ry=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),i=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*i)},O8=e=>ml(e.width)&&ml(e.height)&&ml(e.x)&&ml(e.y),ml=e=>!isNaN(e)&&isFinite(e),hJ=(e,t)=>(n,i)=>{},Xx=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),x0=({x:e,y:t},[n,i,r],s=!1,a=[1,1])=>{const o={x:(e-n)/r,y:(t-i)/r};return s?Xx(o,a):o},Mg=({x:e,y:t},[n,i,r])=>({x:e*r+n,y:t*r+i});function Ip(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Zke(e,t,n){if(typeof e=="string"||typeof e=="number"){const i=Ip(e,n),r=Ip(e,t);return{top:i,right:r,bottom:i,left:r,x:r*2,y:i*2}}if(typeof e=="object"){const i=Ip(e.top??e.y??0,n),r=Ip(e.bottom??e.y??0,n),s=Ip(e.left??e.x??0,t),a=Ip(e.right??e.x??0,t);return{top:i,right:a,bottom:r,left:s,x:s+a,y:i+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Kke(e,t,n,i,r,s){const{x:a,y:o}=Mg(e,[t,n,i]),{x:l,y:u}=Mg({x:e.x+e.width,y:e.y+e.height},[t,n,i]),d=r-l,f=s-u;return{left:Math.floor(a),top:Math.floor(o),right:Math.floor(d),bottom:Math.floor(f)}}const HD=(e,t,n,i,r,s)=>{const a=Zke(s,t,n),o=(t-a.x)/e.width,l=(n-a.y)/e.height,u=Math.min(o,l),d=Pg(u,i,r),f=e.x+e.width/2,h=e.y+e.height/2,p=t/2-f*d,m=n/2-h*d,g=Kke(e,p,m,d,t,n),y={left:Math.min(g.left-a.left,0),top:Math.min(g.top-a.top,0),right:Math.min(g.right-a.right,0),bottom:Math.min(g.bottom-a.bottom,0)};return{x:p-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},Iy=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Yh(e){return e!=null&&e!=="parent"}function Fu(e){var t,n;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight??0}}function YD(e){var t,n;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight)!==void 0}function pJ(e,t={width:0,height:0},n,i,r){const s={...e},a=i.get(n);if(a){const o=a.origin||r;s.x+=a.internals.positionAbsolute.x-(t.width??0)*o[0],s.y+=a.internals.positionAbsolute.y-(t.height??0)*o[1]}return s}function b8(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Jke(){let e,t;return{promise:new Promise((i,r)=>{e=i,t=r}),resolve:e,reject:t}}function eTe(e){return{...aJ,...e||{}}}function Rb(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:i,containerBounds:r}){const{x:s,y:a}=gl(e),o=x0({x:s-((r==null?void 0:r.left)??0),y:a-((r==null?void 0:r.top)??0)},i),{x:l,y:u}=n?Xx(o,t):o;return{xSnapped:l,ySnapped:u,...o}}const GD=e=>({width:e.offsetWidth,height:e.offsetHeight}),mJ=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},tTe=["INPUT","SELECT","TEXTAREA"];function gJ(e){var i,r;const t=((r=(i=e.composedPath)==null?void 0:i.call(e))==null?void 0:r[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:tTe.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const OJ=e=>"clientX"in e,gl=(e,t)=>{var s,a;const n=OJ(e),i=n?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,r=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:i-((t==null?void 0:t.left)??0),y:r-((t==null?void 0:t.top)??0)}},y8=(e,t,n,i,r)=>{const s=t.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(a=>{const o=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:r,position:a.getAttribute("data-handlepos"),x:(o.left-n.left)/i,y:(o.top-n.top)/i,...GD(a)}})};function bJ({sourceX:e,sourceY:t,targetX:n,targetY:i,sourceControlX:r,sourceControlY:s,targetControlX:a,targetControlY:o}){const l=e*.125+r*.375+a*.375+n*.125,u=t*.125+s*.375+o*.375+i*.125,d=Math.abs(l-e),f=Math.abs(u-t);return[l,u,d,f]}function TS(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function x8({pos:e,x1:t,y1:n,x2:i,y2:r,c:s}){switch(e){case mt.Left:return[t-TS(t-i,s),n];case mt.Right:return[t+TS(i-t,s),n];case mt.Top:return[t,n-TS(n-r,s)];case mt.Bottom:return[t,n+TS(r-n,s)]}}function yJ({sourceX:e,sourceY:t,sourcePosition:n=mt.Bottom,targetX:i,targetY:r,targetPosition:s=mt.Top,curvature:a=.25}){const[o,l]=x8({pos:n,x1:e,y1:t,x2:i,y2:r,c:a}),[u,d]=x8({pos:s,x1:i,y1:r,x2:e,y2:t,c:a}),[f,h,p,m]=bJ({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:o,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${o},${l} ${u},${d} ${i},${r}`,f,h,p,m]}function xJ({sourceX:e,sourceY:t,targetX:n,targetY:i}){const r=Math.abs(n-e)/2,s=n0}const rTe=({source:e,sourceHandle:t,target:n,targetHandle:i})=>`xy-edge__${e}${t||""}-${n}${i||""}`,sTe=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),aTe=(e,t,n={})=>{var s;if(!e.source||!e.target)return(s=n.onError)==null||s.call(n,"006",vl.error006()),t;const i=n.getEdgeId||rTe;let r;return cJ(e)?r={...e}:r={...e,id:i(e)},sTe(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function SJ({sourceX:e,sourceY:t,targetX:n,targetY:i}){const[r,s,a,o]=xJ({sourceX:e,sourceY:t,targetX:n,targetY:i});return[`M ${e},${t}L ${n},${i}`,r,s,a,o]}const S8={[mt.Left]:{x:-1,y:0},[mt.Right]:{x:1,y:0},[mt.Top]:{x:0,y:-1},[mt.Bottom]:{x:0,y:1}},oTe=({source:e,sourcePosition:t=mt.Bottom,target:n})=>t===mt.Left||t===mt.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function lTe({source:e,sourcePosition:t=mt.Bottom,target:n,targetPosition:i=mt.Top,center:r,offset:s,stepPosition:a}){const o=S8[t],l=S8[i],u={x:e.x+o.x*s,y:e.y+o.y*s},d={x:n.x+l.x*s,y:n.y+l.y*s},f=oTe({source:u,sourcePosition:t,target:d}),h=f.x!==0?"x":"y",p=f[h];let m=[],g,y;const b={x:0,y:0},S={x:0,y:0},[,,x,v]=xJ({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(o[h]*l[h]===-1){h==="x"?(g=r.x??u.x+(d.x-u.x)*a,y=r.y??(u.y+d.y)/2):(g=r.x??(u.x+d.x)/2,y=r.y??u.y+(d.y-u.y)*a);const _=[{x:g,y:u.y},{x:g,y:d.y}],C=[{x:u.x,y},{x:d.x,y}];o[h]===p?m=h==="x"?_:C:m=h==="x"?C:_}else{const _=[{x:u.x,y:d.y}],C=[{x:d.x,y:u.y}];if(h==="x"?m=o.x===p?C:_:m=o.y===p?_:C,t===i){const L=Math.abs(e[h]-n[h]);if(L<=s){const D=Math.min(s-1,s-L);o[h]===p?b[h]=(u[h]>e[h]?-1:1)*D:S[h]=(d[h]>n[h]?-1:1)*D}}if(t!==i){const L=h==="x"?"y":"x",D=o[h]===l[L],N=u[L]>d[L],M=u[L]=Q?(g=(A.x+R.x)/2,y=m[0].y):(g=m[0].x,y=(A.y+R.y)/2)}const E={x:u.x+b.x,y:u.y+b.y},w={x:d.x+S.x,y:d.y+S.y};return[[e,...E.x!==m[0].x||E.y!==m[0].y?[E]:[],...m,...w.x!==m[m.length-1].x||w.y!==m[m.length-1].y?[w]:[],n],g,y,x,v]}function cTe(e,t,n,i){const r=Math.min(v8(e,t)/2,v8(t,n)/2,i),{x:s,y:a}=t;if(e.x===s&&s===n.x||e.y===a&&a===n.y)return`L${s} ${a}`;if(e.y===a){const u=e.xn.id===t):e[0])||null}function cP(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(i=>`${i}=${e[i]}`).join("&")}`:""}function dTe(e,{id:t,defaultColor:n,defaultMarkerStart:i,defaultMarkerEnd:r}){const s=new Set;return e.reduce((a,o)=>([o.markerStart||i,o.markerEnd||r].forEach(l=>{if(l&&typeof l=="object"){const u=cP(l,t);s.has(u)||(a.push({id:u,color:l.color||n,...l}),s.add(u))}}),a),[]).sort((a,o)=>a.id.localeCompare(o.id))}const vJ=1e3,fTe=10,WD={nodeOrigin:[0,0],nodeExtent:Ay,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},hTe={...WD,checkEquality:!0};function ZD(e,t){const n={...e};for(const i in t)t[i]!==void 0&&(n[i]=t[i]);return n}function pTe(e,t,n){const i=ZD(WD,n);for(const r of e.values())if(r.parentId)JD(r,e,t,i);else{const s=Fx(r,i.nodeOrigin),a=Yh(r.extent)?r.extent:i.nodeExtent,o=Hh(s,a,Fu(r));r.internals.positionAbsolute=o}}function mTe(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],i=[];for(const r of e.handles){const s={id:r.id,width:r.width??1,height:r.height??1,nodeId:e.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?n.push(s):r.type==="target"&&i.push(s)}return{source:n,target:i}}function KD(e){return e==="manual"}function uP(e,t,n,i={}){var d,f;const r=ZD(hTe,i),s={i:0},a=new Map(t),o=r!=null&&r.elevateNodesOnSelect&&!KD(r.zIndexMode)?vJ:0;let l=e.length>0,u=!1;t.clear(),n.clear();for(const h of e){let p=a.get(h.id);if(r.checkEquality&&h===(p==null?void 0:p.internals.userNode))t.set(h.id,p);else{const m=Fx(h,r.nodeOrigin),g=Yh(h.extent)?h.extent:r.nodeExtent,y=Hh(m,g,Fu(h));p={...r.defaults,...h,measured:{width:(d=h.measured)==null?void 0:d.width,height:(f=h.measured)==null?void 0:f.height},internals:{positionAbsolute:y,handleBounds:mTe(h,p),z:wJ(h,o,r.zIndexMode),userNode:h}},t.set(h.id,p)}(p.measured===void 0||p.measured.width===void 0||p.measured.height===void 0)&&!p.hidden&&(l=!1),h.parentId&&JD(p,t,n,i,s),u||(u=h.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:u}}function gTe(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function JD(e,t,n,i,r){const{elevateNodesOnSelect:s,nodeOrigin:a,nodeExtent:o,zIndexMode:l}=ZD(WD,i),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}gTe(e,n),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*fTe),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);const f=s&&!KD(l)?vJ:0,{x:h,y:p,z:m}=OTe(e,d,a,o,f,l),{positionAbsolute:g}=e.internals,y=h!==g.x||p!==g.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:h,y:p}:g,z:m}})}function wJ(e,t,n){const i=ml(e.zIndex)?e.zIndex:0;return KD(n)?i:i+(e.selected?t:0)}function OTe(e,t,n,i,r,s){const{x:a,y:o}=t.internals.positionAbsolute,l=Fu(e),u=Fx(e,n),d=Yh(e.extent)?Hh(u,e.extent,l):u;let f=Hh({x:a+d.x,y:o+d.y},i,l);e.extent==="parent"&&(f=dJ(f,l,t));const h=wJ(e,r,s),p=t.internals.z??0;return{x:f.x,y:f.y,z:p>=h?p+1:h}}function e5(e,t,n,i=[0,0]){var a;const r=[],s=new Map;for(const o of e){const l=t.get(o.parentId);if(!l)continue;const u=((a=s.get(o.parentId))==null?void 0:a.expandedRect)??jg(l),d=fJ(u,o.rect);s.set(o.parentId,{expandedRect:d,parent:l})}return s.size>0&&s.forEach(({expandedRect:o,parent:l},u)=>{var x;const d=l.internals.positionAbsolute,f=Fu(l),h=l.origin??i,p=o.x0||m>0||b||S)&&(r.push({id:u,type:"position",position:{x:l.position.x-p+b,y:l.position.y-m+S}}),(x=n.get(u))==null||x.forEach(v=>{e.some(E=>E.id===v.id)||r.push({id:v.id,type:"position",position:{x:v.position.x+p,y:v.position.y+m}})})),(f.width0){const p=e5(h,t,n,r);u.push(...p)}return{changes:u,updatedInternals:l}}async function yTe({delta:e,panZoom:t,transform:n,translateExtent:i,width:r,height:s}){if(!t||!e.x&&!e.y)return!1;const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,s]],i);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])}function T8(e,t,n,i,r,s){let a=r;const o=i.get(a)||new Map;i.set(a,o.set(n,t)),a=`${r}-${e}`;const l=i.get(a)||new Map;if(i.set(a,l.set(n,t)),s){a=`${r}-${e}-${s}`;const u=i.get(a)||new Map;i.set(a,u.set(n,t))}}function EJ(e,t,n){e.clear(),t.clear();for(const i of n){const{source:r,target:s,sourceHandle:a=null,targetHandle:o=null}=i,l={edgeId:i.id,source:r,target:s,sourceHandle:a,targetHandle:o},u=`${r}-${a}--${s}-${o}`,d=`${s}-${o}--${r}-${a}`;T8("source",l,d,e,r,a),T8("target",l,u,e,s,o),t.set(i.id,i)}}function kJ(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:kJ(n,t):!1}function _8(e,t,n){var r;let i=e;do{if((r=i==null?void 0:i.matches)!=null&&r.call(i,t))return!0;if(i===n)return!1;i=i==null?void 0:i.parentElement}while(i);return!1}function xTe(e,t,n,i){const r=new Map;for(const[s,a]of e)if((a.selected||a.id===i)&&(!a.parentId||!kJ(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const o=e.get(s);o&&r.set(s,{id:s,position:o.position||{x:0,y:0},distance:{x:n.x-o.internals.positionAbsolute.x,y:n.y-o.internals.positionAbsolute.y},extent:o.extent,parentId:o.parentId,origin:o.origin,expandParent:o.expandParent,internals:{positionAbsolute:o.internals.positionAbsolute||{x:0,y:0}},measured:{width:o.measured.width??0,height:o.measured.height??0}})}return r}function U2({nodeId:e,dragItems:t,nodeLookup:n,dragging:i=!0}){var a,o,l;const r=[];for(const[u,d]of t){const f=(a=n.get(u))==null?void 0:a.internals.userNode;f&&r.push({...f,position:d.position,dragging:i})}if(!e)return[r[0],r];const s=(o=n.get(e))==null?void 0:o.internals.userNode;return[s?{...s,position:((l=t.get(e))==null?void 0:l.position)||s.position,dragging:i}:r[0],r]}function STe({dragItems:e,snapGrid:t,x:n,y:i}){const r=e.values().next().value;if(!r)return null;const s={x:n-r.distance.x,y:i-r.distance.y},a=Xx(s,t);return{x:a.x-s.x,y:a.y-s.y}}function vTe({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:i,onDragStop:r}){let s={x:null,y:null},a=0,o=new Map,l=!1,u={x:0,y:0},d=null,f=!1,h=null,p=!1,m=!1,g=null;function y({noDragClassName:S,handleSelector:x,domNode:v,isSelectable:E,nodeId:w,nodeClickDistance:k=0}){h=Ja(v);function _({x:j,y:Q}){const{nodeLookup:L,nodeExtent:D,snapGrid:N,snapToGrid:M,nodeOrigin:B,onNodeDrag:$,onSelectionDrag:I,onError:G,updateNodePositions:X}=t();s={x:j,y:Q};let U=!1;const Y=o.size>1,ae=Y&&D?lP(Vx(o)):null,fe=Y&&M?STe({dragItems:o,snapGrid:N,x:j,y:Q}):null;for(const[ke,K]of o){if(!L.has(ke))continue;let ie={x:j-K.distance.x,y:Q-K.distance.y};M&&(ie=fe?{x:Math.round(ie.x+fe.x),y:Math.round(ie.y+fe.y)}:Xx(ie,N));let le=null;if(Y&&D&&!K.extent&&ae){const{positionAbsolute:Ce}=K.internals,_e=Ce.x-ae.x+D[0][0],he=Ce.x+K.measured.width-ae.x2+D[1][0],te=Ce.y-ae.y+D[0][1],Te=Ce.y+K.measured.height-ae.y2+D[1][1];le=[[_e,te],[he,Te]]}const{position:ge,positionAbsolute:Ee}=uJ({nodeId:ke,nextPosition:ie,nodeLookup:L,nodeExtent:le||D,nodeOrigin:B,onError:G});U=U||K.position.x!==ge.x||K.position.y!==ge.y,K.position=ge,K.internals.positionAbsolute=Ee}if(m=m||U,!!U&&(X(o,!0),g&&(i||$||!w&&I))){const[ke,K]=U2({nodeId:w,dragItems:o,nodeLookup:L});i==null||i(g,o,ke,K),$==null||$(g,ke,K),w||I==null||I(g,K)}}async function C(){if(!d)return;const{transform:j,panBy:Q,autoPanSpeed:L,autoPanOnNodeDrag:D}=t();if(!D){l=!1,cancelAnimationFrame(a);return}const[N,M]=qD(u,d,L);(N!==0||M!==0)&&(s.x=(s.x??0)-N/j[2],s.y=(s.y??0)-M/j[2],await Q({x:N,y:M})&&_(s)),a=requestAnimationFrame(C)}function A(j){var Y;const{nodeLookup:Q,multiSelectionActive:L,nodesDraggable:D,transform:N,snapGrid:M,snapToGrid:B,selectNodesOnDrag:$,onNodeDragStart:I,onSelectionDragStart:G,unselectNodesAndEdges:X}=t();f=!0,(!$||!E)&&!L&&w&&((Y=Q.get(w))!=null&&Y.selected||X()),E&&$&&w&&(e==null||e(w));const U=Rb(j.sourceEvent,{transform:N,snapGrid:M,snapToGrid:B,containerBounds:d});if(s=U,o=xTe(Q,D,U,w),o.size>0&&(n||I||!w&&G)){const[ae,fe]=U2({nodeId:w,dragItems:o,nodeLookup:Q});n==null||n(j.sourceEvent,o,ae,fe),I==null||I(j.sourceEvent,ae,fe),w||G==null||G(j.sourceEvent,fe)}}const R=FK().clickDistance(k).on("start",j=>{const{domNode:Q,nodeDragThreshold:L,transform:D,snapGrid:N,snapToGrid:M}=t();d=(Q==null?void 0:Q.getBoundingClientRect())||null,p=!1,m=!1,g=j.sourceEvent,L===0&&A(j),s=Rb(j.sourceEvent,{transform:D,snapGrid:N,snapToGrid:M,containerBounds:d}),u=gl(j.sourceEvent,d)}).on("drag",j=>{const{autoPanOnNodeDrag:Q,transform:L,snapGrid:D,snapToGrid:N,nodeDragThreshold:M,nodeLookup:B}=t(),$=Rb(j.sourceEvent,{transform:L,snapGrid:D,snapToGrid:N,containerBounds:d});if(g=j.sourceEvent,(j.sourceEvent.type==="touchmove"&&j.sourceEvent.touches.length>1||w&&!B.has(w))&&(p=!0),!p){if(!l&&Q&&f&&(l=!0,C()),!f){const I=gl(j.sourceEvent,d),G=I.x-u.x,X=I.y-u.y;Math.sqrt(G*G+X*X)>M&&A(j)}(s.x!==$.xSnapped||s.y!==$.ySnapped)&&o&&f&&(u=gl(j.sourceEvent,d),_($))}}).on("end",j=>{if(!f||p){p&&o.size>0&&t().updateNodePositions(o,!1);return}if(l=!1,f=!1,cancelAnimationFrame(a),o.size>0){const{nodeLookup:Q,updateNodePositions:L,onNodeDragStop:D,onSelectionDragStop:N}=t();if(m&&(L(o,!1),m=!1),r||D||!w&&N){const[M,B]=U2({nodeId:w,dragItems:o,nodeLookup:Q,dragging:!1});r==null||r(j.sourceEvent,o,M,B),D==null||D(j.sourceEvent,M,B),w||N==null||N(j.sourceEvent,B)}}}).filter(j=>{const Q=j.target;return!j.button&&(!S||!_8(Q,`.${S}`,v))&&(!x||_8(Q,x,v))});h.call(R)}function b(){h==null||h.on(".drag",null)}return{update:y,destroy:b}}function wTe(e,t,n){const i=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const s of t.values())Ry(r,jg(s))>0&&i.push(s);return i}const ETe=250;function kTe(e,t,n,i){var o,l;let r=[],s=1/0;const a=wTe(e,n,t+ETe);for(const u of a){const d=[...((o=u.internals.handleBounds)==null?void 0:o.source)??[],...((l=u.internals.handleBounds)==null?void 0:l.target)??[]];for(const f of d){if(i.nodeId===f.nodeId&&i.type===f.type&&i.id===f.id)continue;const{x:h,y:p}=Gh(u,f,f.position,!0),m=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(p-e.y,2));m>t||(m1){const u=i.type==="source"?"target":"source";return r.find(d=>d.type===u)??r[0]}return r[0]}function TJ(e,t,n,i,r,s=!1){var u,d,f;const a=i.get(e);if(!a)return null;const o=r==="strict"?(u=a.internals.handleBounds)==null?void 0:u[t]:[...((d=a.internals.handleBounds)==null?void 0:d.source)??[],...((f=a.internals.handleBounds)==null?void 0:f.target)??[]],l=(n?o==null?void 0:o.find(h=>h.id===n):o==null?void 0:o[0])??null;return l&&s?{...l,...Gh(a,l,l.position,!0)}:l}function _J(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function TTe(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const AJ=()=>!0;function _Te(e,{connectionMode:t,connectionRadius:n,handleId:i,nodeId:r,edgeUpdaterType:s,isTarget:a,domNode:o,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:f,panBy:h,cancelConnection:p,onConnectStart:m,onConnect:g,onConnectEnd:y,isValidConnection:b=AJ,onReconnectEnd:S,updateConnection:x,getTransform:v,getFromHandle:E,autoPanSpeed:w,dragThreshold:k=1,handleDomNode:_}){const C=mJ(e.target);let A=0,R;const{x:j,y:Q}=gl(e),L=_J(s,_),D=o==null?void 0:o.getBoundingClientRect();let N=!1;if(!D||!L)return;const M=TJ(r,L,i,l,t);if(!M)return;let B=gl(e,D),$=!1,I=null,G=!1,X=null;function U(){if(!d||!D)return;const[ge,Ee]=qD(B,D,w);h({x:ge,y:Ee}),A=requestAnimationFrame(U)}const Y={...M,nodeId:r,type:L,position:M.position},ae=l.get(r);let ke={inProgress:!0,isValid:null,from:Gh(ae,Y,mt.Left,!0),fromHandle:Y,fromPosition:Y.position,fromNode:ae,to:B,toHandle:null,toPosition:m8[Y.position],toNode:null,pointer:B};function K(){N=!0,x(ke),m==null||m(e,{nodeId:r,handleId:i,handleType:L})}k===0&&K();function ie(ge){if(!N){const{x:Te,y:me}=gl(ge),Be=Te-j,je=me-Q;if(!(Be*Be+je*je>k*k))return;K()}if(!E()||!Y){le(ge);return}const Ee=v();B=gl(ge,D),R=kTe(x0(B,Ee,!1,[1,1]),n,l,Y),$||(U(),$=!0);const Ce=NJ(ge,{handle:R,connectionMode:t,fromNodeId:r,fromHandleId:i,fromType:a?"target":"source",isValidConnection:b,doc:C,lib:u,flowId:f,nodeLookup:l});X=Ce.handleDomNode,I=Ce.connection,G=TTe(!!R,Ce.isValid);const _e=l.get(r),he=_e?Gh(_e,Y,mt.Left,!0):ke.from,te={...ke,from:he,isValid:G,to:Ce.toHandle&&G?Mg({x:Ce.toHandle.x,y:Ce.toHandle.y},Ee):B,toHandle:Ce.toHandle,toPosition:G&&Ce.toHandle?Ce.toHandle.position:m8[Y.position],toNode:Ce.toHandle?l.get(Ce.toHandle.nodeId):null,pointer:B};x(te),ke=te}function le(ge){if(!("touches"in ge&&ge.touches.length>0)){if(N){(R||X)&&I&&G&&(g==null||g(I));const{inProgress:Ee,...Ce}=ke,_e={...Ce,toPosition:ke.toHandle?ke.toPosition:null};y==null||y(ge,_e),s&&(S==null||S(ge,_e))}p(),cancelAnimationFrame(A),$=!1,G=!1,I=null,X=null,C.removeEventListener("mousemove",ie),C.removeEventListener("mouseup",le),C.removeEventListener("touchmove",ie),C.removeEventListener("touchend",le)}}C.addEventListener("mousemove",ie),C.addEventListener("mouseup",le),C.addEventListener("touchmove",ie),C.addEventListener("touchend",le)}function NJ(e,{handle:t,connectionMode:n,fromNodeId:i,fromHandleId:r,fromType:s,doc:a,lib:o,flowId:l,isValidConnection:u=AJ,nodeLookup:d}){const f=s==="target",h=t?a.querySelector(`.${o}-flow__handle[data-id="${l}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:p,y:m}=gl(e),g=a.elementFromPoint(p,m),y=g!=null&&g.classList.contains(`${o}-flow__handle`)?g:h,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const S=_J(void 0,y),x=y.getAttribute("data-nodeid"),v=y.getAttribute("data-handleid"),E=y.classList.contains("connectable"),w=y.classList.contains("connectableend");if(!x||!S)return b;const k={source:f?x:i,sourceHandle:f?v:r,target:f?i:x,targetHandle:f?r:v};b.connection=k;const C=E&&w&&(n===Ig.Strict?f&&S==="source"||!f&&S==="target":x!==i||v!==r);b.isValid=C&&u(k),b.toHandle=TJ(x,S,v,d,n,!0)}return b}const dP={onPointerDown:_Te,isValid:NJ};function ATe({domNode:e,panZoom:t,getTransform:n,getViewScale:i}){const r=Ja(e);function s({translateExtent:o,width:l,height:u,zoomStep:d=1,pannable:f=!0,zoomable:h=!0,inversePan:p=!1}){const m=x=>{if(x.sourceEvent.type!=="wheel"||!t)return;const v=n(),E=x.sourceEvent.ctrlKey&&Iy()?10:1,w=-x.sourceEvent.deltaY*(x.sourceEvent.deltaMode===1?.05:x.sourceEvent.deltaMode?1:.002)*d,k=v[2]*Math.pow(2,w*E);t.scaleTo(k)};let g=[0,0];const y=x=>{(x.sourceEvent.type==="mousedown"||x.sourceEvent.type==="touchstart")&&(g=[x.sourceEvent.clientX??x.sourceEvent.touches[0].clientX,x.sourceEvent.clientY??x.sourceEvent.touches[0].clientY])},b=x=>{const v=n();if(x.sourceEvent.type!=="mousemove"&&x.sourceEvent.type!=="touchmove"||!t)return;const E=[x.sourceEvent.clientX??x.sourceEvent.touches[0].clientX,x.sourceEvent.clientY??x.sourceEvent.touches[0].clientY],w=[E[0]-g[0],E[1]-g[1]];g=E;const k=i()*Math.max(v[2],Math.log(v[2]))*(p?-1:1),_={x:v[0]-w[0]*k,y:v[1]-w[1]*k},C=[[0,0],[l,u]];t.setViewportConstrained({x:_.x,y:_.y,zoom:v[2]},C,o)},S=rJ().on("start",y).on("zoom",f?b:null).on("zoom.wheel",h?m:null);r.call(S,{})}function a(){r.on("zoom",null)}return{update:s,destroy:a,pointer:ul}}const BT=e=>({x:e.x,y:e.y,zoom:e.k}),z2=({x:e,y:t,zoom:n})=>DT.translate(e,t).scale(n),_m=(e,t)=>e.target.closest(`.${t}`),CJ=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),NTe=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,F2=(e,t=0,n=NTe,i=()=>{})=>{const r=typeof t=="number"&&t>0;return r||i(),r?e.transition().duration(t).ease(n).on("end",i):e},RJ=e=>{const t=e.ctrlKey&&Iy()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function CTe({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:i,panOnScrollMode:r,panOnScrollSpeed:s,zoomOnPinch:a,onPanZoomStart:o,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(_m(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&a){const y=ul(d),b=RJ(d),S=f*Math.pow(2,b);i.scaleTo(n,S,y,d);return}const h=d.deltaMode===1?20:1;let p=r===jh.Vertical?0:d.deltaX*h,m=r===jh.Horizontal?0:d.deltaY*h;!Iy()&&d.shiftKey&&r!==jh.Vertical&&(p=d.deltaY*h,m=0),i.translateBy(n,-(p/f)*s,-(m/f)*s,{internal:!0});const g=BT(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l==null||l(d,g),e.panScrollTimeout=setTimeout(()=>{u==null||u(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,o==null||o(d,g))}}function RTe({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(i,r){const s=i.type==="wheel",a=!t&&s&&!i.ctrlKey,o=_m(i,e);if(i.ctrlKey&&s&&o&&i.preventDefault(),a||o)return null;i.preventDefault(),n.call(this,i,r)}}function ITe({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return i=>{var s,a,o;if((s=i.sourceEvent)!=null&&s.internal)return;const r=BT(i.transform);e.mouseButton=((a=i.sourceEvent)==null?void 0:a.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=r,((o=i.sourceEvent)==null?void 0:o.type)==="mousedown"&&t(!0),n&&(n==null||n(i.sourceEvent,r))}}function PTe({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:i,onPanZoom:r}){return s=>{var a,o;e.usedRightMouseButton=!!(n&&CJ(t,e.mouseButton??0)),(a=s.sourceEvent)!=null&&a.sync||i([s.transform.x,s.transform.y,s.transform.k]),r&&!((o=s.sourceEvent)!=null&&o.internal)&&(r==null||r(s.sourceEvent,BT(s.transform)))}}function jTe({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:i,onPanZoomEnd:r,onPaneContextMenu:s}){return a=>{var o;if(!((o=a.sourceEvent)!=null&&o.internal)&&(e.isZoomingOrPanning=!1,s&&CJ(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&s(a.sourceEvent),e.usedRightMouseButton=!1,i(!1),r)){const l=BT(a.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r==null||r(a.sourceEvent,l)},n?150:0)}}}function MTe({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:i,panOnScroll:r,zoomOnDoubleClick:s,userSelectionActive:a,noWheelClassName:o,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{var y;const h=e||t,p=n&&f.ctrlKey,m=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(_m(f,`${u}-flow__node`)||_m(f,`${u}-flow__edge`)))return!0;if(!i&&!h&&!r&&!s&&!n||a||d&&!m||_m(f,o)&&m||_m(f,l)&&(!m||r&&m&&!e)||!n&&f.ctrlKey&&m)return!1;if(!n&&f.type==="touchstart"&&((y=f.touches)==null?void 0:y.length)>1)return f.preventDefault(),!1;if(!h&&!r&&!p&&m||!i&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(i)&&!i.includes(f.button)&&f.type==="mousedown")return!1;const g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&g}}function LTe({domNode:e,minZoom:t,maxZoom:n,translateExtent:i,viewport:r,onPanZoom:s,onPanZoomStart:a,onPanZoomEnd:o,onDraggingChange:l}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=rJ().scaleExtent([t,n]).translateExtent(i),h=Ja(e).call(f);S({x:r.x,y:r.y,zoom:Pg(r.zoom,t,n)},[[0,0],[d.width,d.height]],i);const p=h.on("wheel.zoom"),m=h.on("dblclick.zoom");f.wheelDelta(RJ);async function g(R,j){return h?new Promise(Q=>{f==null||f.interpolate((j==null?void 0:j.interpolate)==="linear"?Cb:aw).transform(F2(h,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>Q(!0)),R)}):!1}function y({noWheelClassName:R,noPanClassName:j,onPaneContextMenu:Q,userSelectionActive:L,panOnScroll:D,panOnDrag:N,panOnScrollMode:M,panOnScrollSpeed:B,preventScrolling:$,zoomOnPinch:I,zoomOnScroll:G,zoomOnDoubleClick:X,zoomActivationKeyPressed:U,lib:Y,onTransformChange:ae,connectionInProgress:fe,paneClickDistance:ke,selectionOnDrag:K}){L&&!u.isZoomingOrPanning&&b();const ie=D&&!U&&!L;f.clickDistance(K?1/0:!ml(ke)||ke<0?0:ke);const le=ie?CTe({zoomPanValues:u,noWheelClassName:R,d3Selection:h,d3Zoom:f,panOnScrollMode:M,panOnScrollSpeed:B,zoomOnPinch:I,onPanZoomStart:a,onPanZoom:s,onPanZoomEnd:o}):RTe({noWheelClassName:R,preventScrolling:$,d3ZoomHandler:p});h.on("wheel.zoom",le,{passive:!1});const ge=ITe({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:a});f.on("start",ge);const Ee=PTe({zoomPanValues:u,panOnDrag:N,onPaneContextMenu:!!Q,onPanZoom:s,onTransformChange:ae});f.on("zoom",Ee);const Ce=jTe({zoomPanValues:u,panOnDrag:N,panOnScroll:D,onPaneContextMenu:Q,onPanZoomEnd:o,onDraggingChange:l});f.on("end",Ce);const _e=MTe({zoomActivationKeyPressed:U,panOnDrag:N,zoomOnScroll:G,panOnScroll:D,zoomOnDoubleClick:X,zoomOnPinch:I,userSelectionActive:L,noPanClassName:j,noWheelClassName:R,lib:Y,connectionInProgress:fe});f.filter(_e),X?h.on("dblclick.zoom",m):h.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function S(R,j,Q){const L=z2(R),D=f==null?void 0:f.constrain()(L,j,Q);return D&&await g(D),D}async function x(R,j){const Q=z2(R);return await g(Q,j),Q}function v(R){if(h){const j=z2(R),Q=h.property("__zoom");(Q.k!==R.zoom||Q.x!==R.x||Q.y!==R.y)&&(f==null||f.transform(h,j,null,{sync:!0}))}}function E(){const R=h?iJ(h.node()):{x:0,y:0,k:1};return{x:R.x,y:R.y,zoom:R.k}}async function w(R,j){return h?new Promise(Q=>{f==null||f.interpolate((j==null?void 0:j.interpolate)==="linear"?Cb:aw).scaleTo(F2(h,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>Q(!0)),R)}):!1}async function k(R,j){return h?new Promise(Q=>{f==null||f.interpolate((j==null?void 0:j.interpolate)==="linear"?Cb:aw).scaleBy(F2(h,j==null?void 0:j.duration,j==null?void 0:j.ease,()=>Q(!0)),R)}):!1}function _(R){f==null||f.scaleExtent(R)}function C(R){f==null||f.translateExtent(R)}function A(R){const j=!ml(R)||R<0?0:R;f==null||f.clickDistance(j)}return{update:y,destroy:b,setViewport:x,setViewportConstrained:S,getViewport:E,scaleTo:w,scaleBy:k,setScaleExtent:_,setTranslateExtent:C,syncViewport:v,setClickDistance:A}}var Lg;(function(e){e.Line="line",e.Handle="handle"})(Lg||(Lg={}));function DTe({width:e,prevWidth:t,height:n,prevHeight:i,affectsX:r,affectsY:s}){const a=e-t,o=n-i,l=[a>0?1:a<0?-1:0,o>0?1:o<0?-1:0];return a&&r&&(l[0]=l[0]*-1),o&&s&&(l[1]=l[1]*-1),l}function A8(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),i=e.includes("left"),r=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:i,affectsY:r}}function ud(e,t){return Math.max(0,t-e)}function dd(e,t){return Math.max(0,e-t)}function _S(e,t,n){return Math.max(0,t-e,e-n)}function N8(e,t){return e?!t:t}function $Te(e,t,n,i,r,s,a,o){let{affectsX:l,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,h=d&&f,{xSnapped:p,ySnapped:m}=n,{minWidth:g,maxWidth:y,minHeight:b,maxHeight:S}=i,{x,y:v,width:E,height:w,aspectRatio:k}=e;let _=Math.floor(d?p-e.pointerX:0),C=Math.floor(f?m-e.pointerY:0);const A=E+(l?-_:_),R=w+(u?-C:C),j=-s[0]*E,Q=-s[1]*w;let L=_S(A,g,y),D=_S(R,b,S);if(a){let B=0,$=0;l&&_<0?B=ud(x+_+j,a[0][0]):!l&&_>0&&(B=dd(x+A+j,a[1][0])),u&&C<0?$=ud(v+C+Q,a[0][1]):!u&&C>0&&($=dd(v+R+Q,a[1][1])),L=Math.max(L,B),D=Math.max(D,$)}if(o){let B=0,$=0;l&&_>0?B=dd(x+_,o[0][0]):!l&&_<0&&(B=ud(x+A,o[1][0])),u&&C>0?$=dd(v+C,o[0][1]):!u&&C<0&&($=ud(v+R,o[1][1])),L=Math.max(L,B),D=Math.max(D,$)}if(r){if(d){const B=_S(A/k,b,S)*k;if(L=Math.max(L,B),a){let $=0;!l&&!u||l&&!u&&h?$=dd(v+Q+A/k,a[1][1])*k:$=ud(v+Q+(l?_:-_)/k,a[0][1])*k,L=Math.max(L,$)}if(o){let $=0;!l&&!u||l&&!u&&h?$=ud(v+A/k,o[1][1])*k:$=dd(v+(l?_:-_)/k,o[0][1])*k,L=Math.max(L,$)}}if(f){const B=_S(R*k,g,y)/k;if(D=Math.max(D,B),a){let $=0;!l&&!u||u&&!l&&h?$=dd(x+R*k+j,a[1][0])/k:$=ud(x+(u?C:-C)*k+j,a[0][0])/k,D=Math.max(D,$)}if(o){let $=0;!l&&!u||u&&!l&&h?$=ud(x+R*k,o[1][0])/k:$=dd(x+(u?C:-C)*k,o[0][0])/k,D=Math.max(D,$)}}}C=C+(C<0?D:-D),_=_+(_<0?L:-L),r&&(h?A>R*k?C=(N8(l,u)?-_:_)/k:_=(N8(l,u)?-C:C)*k:d?(C=_/k,u=l):(_=C*k,l=u));const N=l?x+_:x,M=u?v+C:v;return{width:E+(l?-_:_),height:w+(u?-C:C),x:s[0]*_*(l?-1:1)+N,y:s[1]*C*(u?-1:1)+M}}const IJ={width:0,height:0,x:0,y:0},QTe={...IJ,pointerX:0,pointerY:0,aspectRatio:1};function BTe(e,t,n){const i=t.position.x+e.position.x,r=t.position.y+e.position.y,s=e.measured.width??0,a=e.measured.height??0,o=n[0]*s,l=n[1]*a;return[[i-o,r-l],[i+s-o,r+a-l]]}function UTe({domNode:e,nodeId:t,getStoreItems:n,onChange:i,onEnd:r}){const s=Ja(e);let a={controlDirection:A8("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function o({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:h,onResizeStart:p,onResize:m,onResizeEnd:g,shouldResize:y}){let b={...IJ},S={...QTe};a={boundaries:d,resizeDirection:h,keepAspectRatio:f,controlDirection:A8(u)};let x,v=null,E=[],w,k,_,C=!1;const A=FK().on("start",R=>{const{nodeLookup:j,transform:Q,snapGrid:L,snapToGrid:D,nodeOrigin:N,paneDomNode:M}=n();if(x=j.get(t),!x)return;v=(M==null?void 0:M.getBoundingClientRect())??null;const{xSnapped:B,ySnapped:$}=Rb(R.sourceEvent,{transform:Q,snapGrid:L,snapToGrid:D,containerBounds:v});b={width:x.measured.width??0,height:x.measured.height??0,x:x.position.x??0,y:x.position.y??0},S={...b,pointerX:B,pointerY:$,aspectRatio:b.width/b.height},w=void 0,k=Yh(x.extent)?x.extent:void 0,x.parentId&&(x.extent==="parent"||x.expandParent)&&(w=j.get(x.parentId)),w&&x.extent==="parent"&&(k=[[0,0],[w.measured.width,w.measured.height]]),E=[],_=void 0;for(const[I,G]of j)if(G.parentId===t&&(E.push({id:I,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const X=BTe(G,x,G.origin??N);_?_=[[Math.min(X[0][0],_[0][0]),Math.min(X[0][1],_[0][1])],[Math.max(X[1][0],_[1][0]),Math.max(X[1][1],_[1][1])]]:_=X}p==null||p(R,{...b})}).on("drag",R=>{const{transform:j,snapGrid:Q,snapToGrid:L,nodeOrigin:D}=n(),N=Rb(R.sourceEvent,{transform:j,snapGrid:Q,snapToGrid:L,containerBounds:v}),M=[];if(!x)return;const{x:B,y:$,width:I,height:G}=b,X={},U=x.origin??D,{width:Y,height:ae,x:fe,y:ke}=$Te(S,a.controlDirection,N,a.boundaries,a.keepAspectRatio,U,k,_),K=Y!==I,ie=ae!==G,le=fe!==B&&K,ge=ke!==$&&ie;if(!le&&!ge&&!K&&!ie)return;if((le||ge||U[0]===1||U[1]===1)&&(X.x=le?fe:b.x,X.y=ge?ke:b.y,b.x=X.x,b.y=X.y,E.length>0)){const he=fe-B,te=ke-$;for(const Te of E)Te.position={x:Te.position.x-he+U[0]*(Y-I),y:Te.position.y-te+U[1]*(ae-G)},M.push(Te)}if((K||ie)&&(X.width=K&&(!a.resizeDirection||a.resizeDirection==="horizontal")?Y:b.width,X.height=ie&&(!a.resizeDirection||a.resizeDirection==="vertical")?ae:b.height,b.width=X.width,b.height=X.height),w&&x.expandParent){const he=U[0]*(X.width??0);X.x&&X.x{C&&(g==null||g(R,{...b}),r==null||r({...b}),C=!1)});s.call(A)}function l(){s.on(".drag",null)}return{update:o,destroy:l}}var PJ={exports:{}},jJ={},MJ={exports:{}},LJ={};/** * @license React * use-sync-external-store-shim.production.js * @@ -430,7 +430,7 @@ ${u}`:l,children:[c.jsxs("span",{className:`account-avatar${p?" has-image":""}`, * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Lg=O;function BTe(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var UTe=typeof Object.is=="function"?Object.is:BTe,zTe=Lg.useState,FTe=Lg.useEffect,VTe=Lg.useLayoutEffect,XTe=Lg.useDebugValue;function qTe(e,t){var n=t(),i=zTe({inst:{value:n,getSnapshot:t}}),r=i[0].inst,s=i[1];return VTe(function(){r.value=n,r.getSnapshot=t,VN(r)&&s({inst:r})},[e,n,t]),FTe(function(){return VN(r)&&s({inst:r}),e(function(){VN(r)&&s({inst:r})})},[e]),XTe(n),n}function VN(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!UTe(e,n)}catch{return!0}}function HTe(e,t){return t()}var YTe=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?HTe:qTe;jJ.useSyncExternalStore=Lg.useSyncExternalStore!==void 0?Lg.useSyncExternalStore:YTe;PJ.exports=jJ;var GTe=PJ.exports;/** + */var Dg=O;function zTe(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var FTe=typeof Object.is=="function"?Object.is:zTe,VTe=Dg.useState,XTe=Dg.useEffect,qTe=Dg.useLayoutEffect,HTe=Dg.useDebugValue;function YTe(e,t){var n=t(),i=VTe({inst:{value:n,getSnapshot:t}}),r=i[0].inst,s=i[1];return qTe(function(){r.value=n,r.getSnapshot=t,V2(r)&&s({inst:r})},[e,n,t]),XTe(function(){return V2(r)&&s({inst:r}),e(function(){V2(r)&&s({inst:r})})},[e]),HTe(n),n}function V2(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!FTe(e,n)}catch{return!0}}function GTe(e,t){return t()}var WTe=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?GTe:YTe;LJ.useSyncExternalStore=Dg.useSyncExternalStore!==void 0?Dg.useSyncExternalStore:WTe;MJ.exports=LJ;var ZTe=MJ.exports;/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -438,83 +438,83 @@ ${u}`:l,children:[c.jsxs("span",{className:`account-avatar${p?" has-image":""}`, * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var UT=O,WTe=GTe;function ZTe(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var KTe=typeof Object.is=="function"?Object.is:ZTe,JTe=WTe.useSyncExternalStore,e_e=UT.useRef,t_e=UT.useEffect,n_e=UT.useMemo,i_e=UT.useDebugValue;IJ.useSyncExternalStoreWithSelector=function(e,t,n,i,r){var s=e_e(null);if(s.current===null){var a={hasValue:!1,value:null};s.current=a}else a=s.current;s=n_e(function(){function l(p){if(!u){if(u=!0,d=p,p=i(p),r!==void 0&&a.hasValue){var m=a.value;if(r(m,p))return f=m}return f=p}if(m=f,KTe(d,p))return m;var g=i(p);return r!==void 0&&r(m,g)?(d=p,m):(d=p,f=g)}var u=!1,d,f,h=n===void 0?null:n;return[function(){return l(t())},h===null?void 0:function(){return l(h())}]},[t,n,i,r]);var o=JTe(e,s[0],s[1]);return t_e(function(){a.hasValue=!0,a.value=o},[o]),i_e(o),o};RJ.exports=IJ;var r_e=RJ.exports;const s_e=n0(r_e),a_e={},C8=e=>{let t;const n=new Set,i=(d,f)=>{const h=typeof d=="function"?d(t):d;if(!Object.is(h,t)){const p=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(m=>m(t,p))}},r=()=>t,l={setState:i,getState:r,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(a_e?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(i,r,l);return l},o_e=e=>e?C8(e):C8,{useDebugValue:l_e}=un,{useSyncExternalStoreWithSelector:c_e}=s_e,u_e=e=>e;function MJ(e,t=u_e,n){const i=c_e(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return l_e(i),i}const R8=(e,t)=>{const n=o_e(e),i=(r,s=t)=>MJ(n,r,s);return Object.assign(i,n),i},d_e=(e,t)=>e?R8(e,t):R8;function Ki(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[i,r]of e)if(!Object.is(r,t.get(i)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const i of n)if(!Object.prototype.hasOwnProperty.call(t,i)||!Object.is(e[i],t[i]))return!1;return!0}const zT=O.createContext(null),f_e=zT.Provider,LJ=vl.error001("react");function Rn(e,t){const n=O.useContext(zT);if(n===null)throw new Error(LJ);return MJ(n,e,t)}function Ji(){const e=O.useContext(zT);if(e===null)throw new Error(LJ);return O.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const I8={display:"none"},h_e={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},DJ="react-flow__node-desc",$J="react-flow__edge-desc",p_e="react-flow__aria-live",m_e=e=>e.ariaLiveMessage,g_e=e=>e.ariaLabelConfig;function O_e({rfId:e}){const t=Rn(m_e);return c.jsx("div",{id:`${p_e}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:h_e,children:t})}function b_e({rfId:e,disableKeyboardA11y:t}){const n=Rn(g_e);return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:`${DJ}-${e}`,style:I8,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),c.jsx("div",{id:`${$J}-${e}`,style:I8,children:n["edge.a11yDescription.default"]}),!t&&c.jsx(O_e,{rfId:e})]})}const FT=O.forwardRef(({position:e="top-left",children:t,className:n,style:i,...r},s)=>{const a=`${e}`.split("-");return c.jsx("div",{className:Br(["react-flow__panel",n,...a]),style:i,ref:s,...r,children:t})});FT.displayName="Panel";function y_e({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:c.jsx(FT,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:c.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const x_e=e=>{const t=[],n=[];for(const[,i]of e.nodeLookup)i.selected&&t.push(i.internals.userNode);for(const[,i]of e.edgeLookup)i.selected&&n.push(i);return{selectedNodes:t,selectedEdges:n}},AS=e=>e.id;function S_e(e,t){return Ki(e.selectedNodes.map(AS),t.selectedNodes.map(AS))&&Ki(e.selectedEdges.map(AS),t.selectedEdges.map(AS))}function v_e({onSelectionChange:e}){const t=Ji(),{selectedNodes:n,selectedEdges:i}=Rn(x_e,S_e);return O.useEffect(()=>{const r={nodes:n,edges:i};e==null||e(r),t.getState().onSelectionChangeHandlers.forEach(s=>s(r))},[n,i,e]),null}const w_e=e=>!!e.onSelectionChangeHandlers;function E_e({onSelectionChange:e}){const t=Rn(w_e);return e||t?c.jsx(v_e,{onSelectionChange:e}):null}const QJ=[0,0],k_e={x:0,y:0,zoom:1},T_e=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],P8=[...T_e,"rfId"],__e=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),j8={translateExtent:Ay,nodeOrigin:QJ,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function A_e(e){const{setNodes:t,setEdges:n,setMinZoom:i,setMaxZoom:r,setTranslateExtent:s,setNodeExtent:a,reset:o,setDefaultNodesAndEdges:l}=Rn(__e,Ki),u=Ji();O.useEffect(()=>(l(e.defaultNodes,e.defaultEdges),()=>{d.current=j8,o()}),[]);const d=O.useRef(j8);return O.useEffect(()=>{for(const f of P8){const h=e[f],p=d.current[f];h!==p&&(typeof e[f]>"u"||(f==="nodes"?t(h):f==="edges"?n(h):f==="minZoom"?i(h):f==="maxZoom"?r(h):f==="translateExtent"?s(h):f==="nodeExtent"?a(h):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:Kke(h)}):f==="fitView"?u.setState({fitViewQueued:h}):f==="fitViewOptions"?u.setState({fitViewOptions:h}):u.setState({[f]:h})))}d.current=e},P8.map(f=>e[f])),null}function M8(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function N_e(e){var i;const[t,n]=O.useState(e==="system"?null:e);return O.useEffect(()=>{if(e!=="system"){n(e);return}const r=M8(),s=()=>n(r!=null&&r.matches?"dark":"light");return s(),r==null||r.addEventListener("change",s),()=>{r==null||r.removeEventListener("change",s)}},[e]),t!==null?t:(i=M8())!=null&&i.matches?"dark":"light"}const L8=typeof document<"u"?document:null;function Py(e=null,t={target:L8,actInsideInputWithModifier:!0}){const[n,i]=O.useState(!1),r=O.useRef(!1),s=O.useRef(new Set([])),[a,o]=O.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",` + */var UT=O,KTe=ZTe;function JTe(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var e_e=typeof Object.is=="function"?Object.is:JTe,t_e=KTe.useSyncExternalStore,n_e=UT.useRef,i_e=UT.useEffect,r_e=UT.useMemo,s_e=UT.useDebugValue;jJ.useSyncExternalStoreWithSelector=function(e,t,n,i,r){var s=n_e(null);if(s.current===null){var a={hasValue:!1,value:null};s.current=a}else a=s.current;s=r_e(function(){function l(p){if(!u){if(u=!0,d=p,p=i(p),r!==void 0&&a.hasValue){var m=a.value;if(r(m,p))return f=m}return f=p}if(m=f,e_e(d,p))return m;var g=i(p);return r!==void 0&&r(m,g)?(d=p,m):(d=p,f=g)}var u=!1,d,f,h=n===void 0?null:n;return[function(){return l(t())},h===null?void 0:function(){return l(h())}]},[t,n,i,r]);var o=t_e(e,s[0],s[1]);return i_e(function(){a.hasValue=!0,a.value=o},[o]),s_e(o),o};PJ.exports=jJ;var a_e=PJ.exports;const o_e=i0(a_e),l_e={},C8=e=>{let t;const n=new Set,i=(d,f)=>{const h=typeof d=="function"?d(t):d;if(!Object.is(h,t)){const p=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(m=>m(t,p))}},r=()=>t,l={setState:i,getState:r,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(l_e?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(i,r,l);return l},c_e=e=>e?C8(e):C8,{useDebugValue:u_e}=un,{useSyncExternalStoreWithSelector:d_e}=o_e,f_e=e=>e;function DJ(e,t=f_e,n){const i=d_e(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return u_e(i),i}const R8=(e,t)=>{const n=c_e(e),i=(r,s=t)=>DJ(n,r,s);return Object.assign(i,n),i},h_e=(e,t)=>e?R8(e,t):R8;function Ki(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[i,r]of e)if(!Object.is(r,t.get(i)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const i of n)if(!Object.prototype.hasOwnProperty.call(t,i)||!Object.is(e[i],t[i]))return!1;return!0}const zT=O.createContext(null),p_e=zT.Provider,$J=vl.error001("react");function Rn(e,t){const n=O.useContext(zT);if(n===null)throw new Error($J);return DJ(n,e,t)}function Ji(){const e=O.useContext(zT);if(e===null)throw new Error($J);return O.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const I8={display:"none"},m_e={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},QJ="react-flow__node-desc",BJ="react-flow__edge-desc",g_e="react-flow__aria-live",O_e=e=>e.ariaLiveMessage,b_e=e=>e.ariaLabelConfig;function y_e({rfId:e}){const t=Rn(O_e);return c.jsx("div",{id:`${g_e}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:m_e,children:t})}function x_e({rfId:e,disableKeyboardA11y:t}){const n=Rn(b_e);return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:`${QJ}-${e}`,style:I8,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),c.jsx("div",{id:`${BJ}-${e}`,style:I8,children:n["edge.a11yDescription.default"]}),!t&&c.jsx(y_e,{rfId:e})]})}const FT=O.forwardRef(({position:e="top-left",children:t,className:n,style:i,...r},s)=>{const a=`${e}`.split("-");return c.jsx("div",{className:Br(["react-flow__panel",n,...a]),style:i,ref:s,...r,children:t})});FT.displayName="Panel";function S_e({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:c.jsx(FT,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:c.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const v_e=e=>{const t=[],n=[];for(const[,i]of e.nodeLookup)i.selected&&t.push(i.internals.userNode);for(const[,i]of e.edgeLookup)i.selected&&n.push(i);return{selectedNodes:t,selectedEdges:n}},AS=e=>e.id;function w_e(e,t){return Ki(e.selectedNodes.map(AS),t.selectedNodes.map(AS))&&Ki(e.selectedEdges.map(AS),t.selectedEdges.map(AS))}function E_e({onSelectionChange:e}){const t=Ji(),{selectedNodes:n,selectedEdges:i}=Rn(v_e,w_e);return O.useEffect(()=>{const r={nodes:n,edges:i};e==null||e(r),t.getState().onSelectionChangeHandlers.forEach(s=>s(r))},[n,i,e]),null}const k_e=e=>!!e.onSelectionChangeHandlers;function T_e({onSelectionChange:e}){const t=Rn(k_e);return e||t?c.jsx(E_e,{onSelectionChange:e}):null}const UJ=[0,0],__e={x:0,y:0,zoom:1},A_e=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],P8=[...A_e,"rfId"],N_e=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),j8={translateExtent:Ay,nodeOrigin:UJ,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function C_e(e){const{setNodes:t,setEdges:n,setMinZoom:i,setMaxZoom:r,setTranslateExtent:s,setNodeExtent:a,reset:o,setDefaultNodesAndEdges:l}=Rn(N_e,Ki),u=Ji();O.useEffect(()=>(l(e.defaultNodes,e.defaultEdges),()=>{d.current=j8,o()}),[]);const d=O.useRef(j8);return O.useEffect(()=>{for(const f of P8){const h=e[f],p=d.current[f];h!==p&&(typeof e[f]>"u"||(f==="nodes"?t(h):f==="edges"?n(h):f==="minZoom"?i(h):f==="maxZoom"?r(h):f==="translateExtent"?s(h):f==="nodeExtent"?a(h):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:eTe(h)}):f==="fitView"?u.setState({fitViewQueued:h}):f==="fitViewOptions"?u.setState({fitViewOptions:h}):u.setState({[f]:h})))}d.current=e},P8.map(f=>e[f])),null}function M8(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function R_e(e){var i;const[t,n]=O.useState(e==="system"?null:e);return O.useEffect(()=>{if(e!=="system"){n(e);return}const r=M8(),s=()=>n(r!=null&&r.matches?"dark":"light");return s(),r==null||r.addEventListener("change",s),()=>{r==null||r.removeEventListener("change",s)}},[e]),t!==null?t:(i=M8())!=null&&i.matches?"dark":"light"}const L8=typeof document<"u"?document:null;function Py(e=null,t={target:L8,actInsideInputWithModifier:!0}){const[n,i]=O.useState(!1),r=O.useRef(!1),s=O.useRef(new Set([])),[a,o]=O.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",` `).replace(` `,` +`).split(` -`)),d=u.reduce((f,h)=>f.concat(...h),[]);return[u,d]}return[[],[]]},[e]);return O.useEffect(()=>{const l=(t==null?void 0:t.target)??L8,u=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const d=p=>{var y,b;if(r.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!r.current||r.current&&!u)&&pJ(p))return!1;const g=$8(p.code,o);if(s.current.add(p[g]),D8(a,s.current,!1)){const S=((b=(y=p.composedPath)==null?void 0:y.call(p))==null?void 0:b[0])||p.target,x=(S==null?void 0:S.nodeName)==="BUTTON"||(S==null?void 0:S.nodeName)==="A";t.preventDefault!==!1&&(r.current||!x)&&p.preventDefault(),i(!0)}},f=p=>{const m=$8(p.code,o);D8(a,s.current,!0)?(i(!1),s.current.clear()):s.current.delete(p[m]),p.key==="Meta"&&s.current.clear(),r.current=!1},h=()=>{s.current.clear(),i(!1)};return l==null||l.addEventListener("keydown",d),l==null||l.addEventListener("keyup",f),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{l==null||l.removeEventListener("keydown",d),l==null||l.removeEventListener("keyup",f),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,i]),n}function D8(e,t,n){return e.filter(i=>n||i.length===t.size).some(i=>i.every(r=>t.has(r)))}function $8(e,t){return t.includes(e)?"code":"key"}const C_e=()=>{const e=Ji();return O.useMemo(()=>({zoomIn:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{const{panZoom:i}=e.getState();return i?i.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[i,r,s],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??i,y:t.y??r,zoom:t.zoom??s},n),!0):!1},getViewport:()=>{const[t,n,i]=e.getState().transform;return{x:t,y:n,zoom:i}},setCenter:async(t,n,i)=>e.getState().setCenter(t,n,i),fitBounds:async(t,n)=>{const{width:i,height:r,minZoom:s,maxZoom:a,panZoom:o}=e.getState(),l=HD(t,i,r,s,a,(n==null?void 0:n.padding)??.1);return o?(await o.setViewport(l,{duration:n==null?void 0:n.duration,ease:n==null?void 0:n.ease,interpolate:n==null?void 0:n.interpolate}),!0):!1},screenToFlowPosition:(t,n={})=>{const{transform:i,snapGrid:r,snapToGrid:s,domNode:a}=e.getState();if(!a)return t;const{x:o,y:l}=a.getBoundingClientRect(),u={x:t.x-o,y:t.y-l},d=n.snapGrid??r,f=n.snapToGrid??s;return y0(u,i,f,d)},flowToScreenPosition:t=>{const{transform:n,domNode:i}=e.getState();if(!i)return t;const{x:r,y:s}=i.getBoundingClientRect(),a=jg(t,n);return{x:a.x+r,y:a.y+s}}}),[])};function BJ(e,t){const n=[],i=new Map,r=[];for(const s of e)if(s.type==="add"){r.push(s);continue}else if(s.type==="remove"||s.type==="replace")i.set(s.id,[s]);else{const a=i.get(s.id);a?a.push(s):i.set(s.id,[s])}for(const s of t){const a=i.get(s.id);if(!a){n.push(s);continue}if(a[0].type==="remove")continue;if(a[0].type==="replace"){n.push({...a[0].item});continue}const o={...s};for(const l of a)R_e(l,o);n.push(o)}return r.length&&r.forEach(s=>{s.index!==void 0?n.splice(s.index,0,{...s.item}):n.push({...s.item})}),n}function R_e(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function UJ(e,t){return BJ(e,t)}function zJ(e,t){return BJ(e,t)}function sh(e,t){return{id:e,type:"select",selected:t}}function _m(e,t=new Set,n=!1){const i=[];for(const[r,s]of e){const a=t.has(r);!(s.selected===void 0&&!a)&&s.selected!==a&&(n&&(s.selected=a),i.push(sh(s.id,a)))}return i}function Q8({items:e=[],lookup:t}){var r;const n=[],i=new Map(e.map(s=>[s.id,s]));for(const[s,a]of e.entries()){const o=t.get(a.id),l=((r=o==null?void 0:o.internals)==null?void 0:r.userNode)??o;l!==void 0&&l!==a&&n.push({id:a.id,item:a,type:"replace"}),l===void 0&&n.push({item:a,type:"add",index:s})}for(const[s]of t)i.get(s)===void 0&&n.push({id:s,type:"remove"});return n}function B8(e){return{id:e.id,type:"remove"}}const I_e=dJ();function P_e(e,t,n={}){return rTe(e,t,{...n,onError:n.onError??I_e})}const U8=e=>Fke(e),j_e=e=>oJ(e);function FJ(e){return O.forwardRef(e)}const M_e=typeof window<"u"?O.useLayoutEffect:O.useEffect;function z8(e){const[t,n]=O.useState(BigInt(0)),[i]=O.useState(()=>L_e(()=>n(r=>r+BigInt(1))));return M_e(()=>{const r=i.get();r.length&&(e(r),i.reset())},[t]),i}function L_e(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const VJ=O.createContext(null);function D_e({children:e}){const t=Ji(),n=O.useCallback(o=>{const{nodes:l=[],setNodes:u,hasDefaultNodes:d,onNodesChange:f,nodeLookup:h,fitViewQueued:p,onNodesChangeMiddlewareMap:m}=t.getState();let g=l;for(const b of o)g=typeof b=="function"?b(g):b;let y=Q8({items:g,lookup:h});for(const b of m.values())y=b(y);d&&u(g),y.length>0?f==null||f(y):p&&window.requestAnimationFrame(()=>{const{fitViewQueued:b,nodes:S,setNodes:x}=t.getState();b&&x(S)})},[]),i=z8(n),r=O.useCallback(o=>{const{edges:l=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:h}=t.getState();let p=l;for(const m of o)p=typeof m=="function"?m(p):m;d?u(p):f&&f(Q8({items:p,lookup:h}))},[]),s=z8(r),a=O.useMemo(()=>({nodeQueue:i,edgeQueue:s}),[]);return c.jsx(VJ.Provider,{value:a,children:e})}function $_e(){const e=O.useContext(VJ);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Q_e=e=>!!e.panZoom;function VT(){const e=C_e(),t=Ji(),n=$_e(),i=Rn(Q_e),r=O.useMemo(()=>{const s=f=>t.getState().nodeLookup.get(f),a=f=>{n.nodeQueue.push(f)},o=f=>{n.edgeQueue.push(f)},l=f=>{var b,S;const{nodeLookup:h,nodeOrigin:p}=t.getState(),m=U8(f)?f:h.get(f.id),g=m.parentId?fJ(m.position,m.measured,m.parentId,h,p):m.position,y={...m,position:g,width:((b=m.measured)==null?void 0:b.width)??m.width,height:((S=m.measured)==null?void 0:S.height)??m.height};return Pg(y)},u=(f,h,p={replace:!1})=>{a(m=>m.map(g=>{if(g.id===f){const y=typeof h=="function"?h(g):h;return p.replace&&U8(y)?y:{...g,...y}}return g}))},d=(f,h,p={replace:!1})=>{o(m=>m.map(g=>{if(g.id===f){const y=typeof h=="function"?h(g):h;return p.replace&&j_e(y)?y:{...g,...y}}return g}))};return{getNodes:()=>t.getState().nodes.map(f=>({...f})),getNode:f=>{var h;return(h=s(f))==null?void 0:h.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:f=[]}=t.getState();return f.map(h=>({...h}))},getEdge:f=>t.getState().edgeLookup.get(f),setNodes:a,setEdges:o,addNodes:f=>{const h=Array.isArray(f)?f:[f];n.nodeQueue.push(p=>[...p,...h])},addEdges:f=>{const h=Array.isArray(f)?f:[f];n.edgeQueue.push(p=>[...p,...h])},toObject:()=>{const{nodes:f=[],edges:h=[],transform:p}=t.getState(),[m,g,y]=p;return{nodes:f.map(b=>({...b})),edges:h.map(b=>({...b})),viewport:{x:m,y:g,zoom:y}}},deleteElements:async({nodes:f=[],edges:h=[]})=>{const{nodes:p,edges:m,onNodesDelete:g,onEdgesDelete:y,triggerNodeChanges:b,triggerEdgeChanges:S,onDelete:x,onBeforeDelete:v}=t.getState(),{nodes:E,edges:w}=await Yke({nodesToRemove:f,edgesToRemove:h,nodes:p,edges:m,onBeforeDelete:v}),k=w.length>0,_=E.length>0;if(k){const C=w.map(B8);y==null||y(w),S(C)}if(_){const C=E.map(B8);g==null||g(E),b(C)}return(_||k)&&(x==null||x({nodes:E,edges:w})),{deletedNodes:E,deletedEdges:w}},getIntersectingNodes:(f,h=!0,p)=>{const m=O8(f),g=m?f:l(f),y=p!==void 0;return g?(p||t.getState().nodes).filter(b=>{const S=t.getState().nodeLookup.get(b.id);if(S&&!m&&(b.id===f.id||!S.internals.positionAbsolute))return!1;const x=Pg(y?b:S),v=Ry(x,g);return h&&v>0||v>=x.width*x.height||v>=g.width*g.height}):[]},isNodeIntersecting:(f,h,p=!0)=>{const g=O8(f)?f:l(f);if(!g)return!1;const y=Ry(g,h);return p&&y>0||y>=h.width*h.height||y>=g.width*g.height},updateNode:u,updateNodeData:(f,h,p={replace:!1})=>{u(f,m=>{const g=typeof h=="function"?h(m):h;return p.replace?{...m,data:g}:{...m,data:{...m.data,...g}}},p)},updateEdge:d,updateEdgeData:(f,h,p={replace:!1})=>{d(f,m=>{const g=typeof h=="function"?h(m):h;return p.replace?{...m,data:g}:{...m,data:{...m.data,...g}}},p)},getNodesBounds:f=>{const{nodeLookup:h,nodeOrigin:p}=t.getState();return Vke(f,{nodeLookup:h,nodeOrigin:p})},getHandleConnections:({type:f,id:h,nodeId:p})=>{var m;return Array.from(((m=t.getState().connectionLookup.get(`${p}-${f}${h?`-${h}`:""}`))==null?void 0:m.values())??[])},getNodeConnections:({type:f,handleId:h,nodeId:p})=>{var m;return Array.from(((m=t.getState().connectionLookup.get(`${p}${f?h?`-${f}-${h}`:`-${f}`:""}`))==null?void 0:m.values())??[])},fitView:async f=>{const h=t.getState().fitViewResolver??Zke();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:h}),n.nodeQueue.push(p=>[...p]),h.promise}}},[]);return O.useMemo(()=>({...r,...e,viewportInitialized:i}),[i])}const F8=e=>e.selected,B_e=typeof window<"u"?window:void 0;function U_e({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=Ji(),{deleteElements:i}=VT(),r=Py(e,{actInsideInputWithModifier:!1}),s=Py(t,{target:B_e});O.useEffect(()=>{if(r){const{edges:a,nodes:o}=n.getState();i({nodes:o.filter(F8),edges:a.filter(F8)}),n.setState({nodesSelectionActive:!1})}},[r]),O.useEffect(()=>{n.setState({multiSelectionActive:s})},[s])}function z_e(e){const t=Ji();O.useEffect(()=>{const n=()=>{var r,s,a,o;if(!e.current||!(((s=(r=e.current).checkVisibility)==null?void 0:s.call(r))??!0))return!1;const i=GD(e.current);(i.height===0||i.width===0)&&((o=(a=t.getState()).onError)==null||o.call(a,"004",vl.error004())),t.setState({width:i.width||500,height:i.height||500})};if(e.current){n(),window.addEventListener("resize",n);const i=new ResizeObserver(()=>n());return i.observe(e.current),()=>{window.removeEventListener("resize",n),i&&e.current&&i.unobserve(e.current)}}},[])}const XT={position:"absolute",width:"100%",height:"100%",top:0,left:0},F_e=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function V_e({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:i=!1,panOnScrollSpeed:r=.5,panOnScrollMode:s=jh.Free,zoomOnDoubleClick:a=!0,panOnDrag:o=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:h,preventScrolling:p=!0,children:m,noWheelClassName:g,noPanClassName:y,onViewportChange:b,isControlledViewport:S,paneClickDistance:x,selectionOnDrag:v}){const E=Ji(),w=O.useRef(null),{userSelectionActive:k,lib:_,connectionInProgress:C}=Rn(F_e,Ki),A=Py(h),R=O.useRef();z_e(w);const j=O.useCallback(Q=>{b==null||b({x:Q[0],y:Q[1],zoom:Q[2]}),S||E.setState({transform:Q})},[b,S]);return O.useEffect(()=>{if(w.current){R.current=jTe({domNode:w.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:l,onDraggingChange:N=>E.setState(M=>M.paneDragging===N?M:{paneDragging:N}),onPanZoomStart:(N,M)=>{const{onViewportChangeStart:B,onMoveStart:$}=E.getState();$==null||$(N,M),B==null||B(M)},onPanZoom:(N,M)=>{const{onViewportChange:B,onMove:$}=E.getState();$==null||$(N,M),B==null||B(M)},onPanZoomEnd:(N,M)=>{const{onViewportChangeEnd:B,onMoveEnd:$}=E.getState();$==null||$(N,M),B==null||B(M)}});const{x:Q,y:L,zoom:D}=R.current.getViewport();return E.setState({panZoom:R.current,transform:[Q,L,D],domNode:w.current.closest(".react-flow")}),()=>{var N;(N=R.current)==null||N.destroy()}}},[]),O.useEffect(()=>{var Q;(Q=R.current)==null||Q.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:i,panOnScrollSpeed:r,panOnScrollMode:s,zoomOnDoubleClick:a,panOnDrag:o,zoomActivationKeyPressed:A,preventScrolling:p,noPanClassName:y,userSelectionActive:k,noWheelClassName:g,lib:_,onTransformChange:j,connectionInProgress:C,selectionOnDrag:v,paneClickDistance:x})},[e,t,n,i,r,s,a,o,A,p,y,k,g,_,j,C,v,x]),c.jsx("div",{className:"react-flow__renderer",ref:w,style:XT,children:m})}const X_e=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function q_e(){const{userSelectionActive:e,userSelectionRect:t}=Rn(X_e,Ki);return e&&t?c.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const XN=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},H_e=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Y_e({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Ny.Full,panOnDrag:i,autoPanOnSelection:r,paneClickDistance:s,selectionOnDrag:a,onSelectionStart:o,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:h,onPaneMouseMove:p,onPaneMouseLeave:m,children:g}){const y=O.useRef(0),b=Ji(),{userSelectionActive:S,elementsSelectable:x,dragging:v,connectionInProgress:E,panBy:w,autoPanSpeed:k}=Rn(H_e,Ki),_=x&&(e||S),C=O.useRef(null),A=O.useRef(),R=O.useRef(new Set),j=O.useRef(new Set),Q=O.useRef(!1),L=O.useRef({x:0,y:0}),D=O.useRef(!1),N=K=>{if(Q.current||E){Q.current=!1;return}u==null||u(K),b.getState().resetSelectedElements(),b.setState({nodesSelectionActive:!1})},M=K=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){K.preventDefault();return}d==null||d(K)},B=f?K=>f(K):void 0,$=K=>{Q.current&&(K.stopPropagation(),Q.current=!1)},I=K=>{var Te,me;const{domNode:ie,transform:le}=b.getState();if(A.current=ie==null?void 0:ie.getBoundingClientRect(),!A.current)return;const ge=K.target===C.current;if(!ge&&!!K.target.closest(".nokey")||!e||!(a&&ge||t)||K.button!==0||!K.isPrimary)return;(me=(Te=K.target)==null?void 0:Te.setPointerCapture)==null||me.call(Te,K.pointerId),Q.current=!1;const{x:_e,y:he}=gl(K.nativeEvent,A.current),te=y0({x:_e,y:he},le);b.setState({userSelectionRect:{width:0,height:0,startX:te.x,startY:te.y,x:_e,y:he}}),ge||(K.stopPropagation(),K.preventDefault())};function G(K,ie){const{userSelectionRect:le}=b.getState();if(!le)return;const{transform:ge,nodeLookup:Ee,edgeLookup:Ce,connectionLookup:_e,triggerNodeChanges:he,triggerEdgeChanges:te,defaultEdgeOptions:Te}=b.getState(),me={x:le.startX,y:le.startY},{x:Be,y:je}=jg(me,ge),Ue={startX:me.x,startY:me.y,x:Kat.id)),j.current=new Set;const Tt=(Te==null?void 0:Te.selectable)??!0;for(const at of R.current){const q=_e.get(at);if(q)for(const{edgeId:oe}of q.values()){const de=Ce.get(oe);de&&(de.selectable??Tt)&&j.current.add(oe)}}if(!b8(st,R.current)){const at=_m(Ee,R.current,!0);he(at)}if(!b8(ct,j.current)){const at=_m(Ce,j.current);te(at)}b.setState({userSelectionRect:Ue,userSelectionActive:!0,nodesSelectionActive:!1})}function X(){if(!r||!A.current)return;const[K,ie]=qD(L.current,A.current,k);w({x:K,y:ie}).then(le=>{if(!Q.current||!le){y.current=requestAnimationFrame(X);return}const{x:ge,y:Ee}=L.current;G(ge,Ee),y.current=requestAnimationFrame(X)})}const U=()=>{cancelAnimationFrame(y.current),y.current=0,D.current=!1};O.useEffect(()=>()=>U(),[]);const Y=K=>{const{userSelectionRect:ie,transform:le,resetSelectedElements:ge}=b.getState();if(!A.current||!ie)return;const{x:Ee,y:Ce}=gl(K.nativeEvent,A.current);L.current={x:Ee,y:Ce};const _e=jg({x:ie.startX,y:ie.startY},le);if(!Q.current){const he=t?0:s;if(Math.hypot(Ee-_e.x,Ce-_e.y)<=he)return;ge(),o==null||o(K)}Q.current=!0,D.current||(X(),D.current=!0),G(Ee,Ce)},ae=K=>{var ie,le;K.button===0&&((le=(ie=K.target)==null?void 0:ie.releasePointerCapture)==null||le.call(ie,K.pointerId),!S&&K.target===C.current&&b.getState().userSelectionRect&&(N==null||N(K)),b.setState({userSelectionActive:!1,userSelectionRect:null}),Q.current&&(l==null||l(K),b.setState({nodesSelectionActive:R.current.size>0})),U())},fe=K=>{var ie,le;(le=(ie=K.target)==null?void 0:ie.releasePointerCapture)==null||le.call(ie,K.pointerId),U()},ke=i===!0||Array.isArray(i)&&i.includes(0);return c.jsxs("div",{className:Br(["react-flow__pane",{draggable:ke,dragging:v,selection:e}]),onClick:_?void 0:XN(N,C),onContextMenu:XN(M,C),onWheel:XN(B,C),onPointerEnter:_?void 0:h,onPointerMove:_?Y:p,onPointerUp:_?ae:void 0,onPointerCancel:_?fe:void 0,onPointerDownCapture:_?I:void 0,onClickCapture:_?$:void 0,onPointerLeave:m,ref:C,style:XT,children:[g,c.jsx(q_e,{})]})}function fP({id:e,store:t,unselect:n=!1,nodeRef:i}){const{addSelectedNodes:r,unselectNodesAndEdges:s,multiSelectionActive:a,nodeLookup:o,onError:l}=t.getState(),u=o.get(e);if(!u){l==null||l("012",vl.error012(e));return}t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&a)&&(s({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var d;return(d=i==null?void 0:i.current)==null?void 0:d.blur()})):r([e])}function XJ({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:i,nodeId:r,isSelectable:s,nodeClickDistance:a}){const o=Ji(),[l,u]=O.useState(!1),d=O.useRef();return O.useEffect(()=>{d.current=xTe({getStoreItems:()=>o.getState(),onNodeMouseDown:f=>{fP({id:f,store:o,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),O.useEffect(()=>{if(!(t||!e.current||!d.current))return d.current.update({noDragClassName:n,handleSelector:i,domNode:e.current,isSelectable:s,nodeId:r,nodeClickDistance:a}),()=>{var f;(f=d.current)==null||f.destroy()}},[n,i,t,s,e,r,a]),l}const G_e=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function qJ(){const e=Ji();return O.useCallback(n=>{const{nodeExtent:i,snapToGrid:r,snapGrid:s,nodesDraggable:a,onError:o,updateNodePositions:l,nodeLookup:u,nodeOrigin:d}=e.getState(),f=new Map,h=G_e(a),p=r?s[0]:5,m=r?s[1]:5,g=n.direction.x*p*n.factor,y=n.direction.y*m*n.factor;for(const[,b]of u){if(!h(b))continue;let S={x:b.internals.positionAbsolute.x+g,y:b.internals.positionAbsolute.y+y};r&&(S=Xx(S,s));const{position:x,positionAbsolute:v}=lJ({nodeId:b.id,nextPosition:S,nodeLookup:u,nodeExtent:i,nodeOrigin:d,onError:o});b.position=x,b.internals.positionAbsolute=v,f.set(b.id,b)}l(f)},[])}const t$=O.createContext(null),W_e=t$.Provider;t$.Consumer;const HJ=()=>O.useContext(t$),Z_e=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),K_e=(e,t,n)=>i=>{const{connectionClickStartHandle:r,connectionMode:s,connection:a}=i,{fromHandle:o,toHandle:l,isValid:u}=a,d=(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.id)===t&&(l==null?void 0:l.type)===n;return{connectingFrom:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===t&&(o==null?void 0:o.type)===n,connectingTo:d,clickConnecting:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===t&&(r==null?void 0:r.type)===n,isPossibleEndHandle:s===Rg.Strict?(o==null?void 0:o.type)!==n:e!==(o==null?void 0:o.nodeId)||t!==(o==null?void 0:o.id),connectionInProcess:!!o,clickConnectionInProcess:!!r,valid:d&&u}};function J_e({type:e="source",position:t=mt.Top,isValidConnection:n,isConnectable:i=!0,isConnectableStart:r=!0,isConnectableEnd:s=!0,id:a,onConnect:o,children:l,className:u,onMouseDown:d,onTouchStart:f,...h},p){var D,N;const m=a||null,g=e==="target",y=Ji(),b=HJ(),{connectOnClick:S,noPanClassName:x,rfId:v}=Rn(Z_e,Ki),{connectingFrom:E,connectingTo:w,clickConnecting:k,isPossibleEndHandle:_,connectionInProcess:C,clickConnectionInProcess:A,valid:R}=Rn(K_e(b,m,e),Ki);b||(N=(D=y.getState()).onError)==null||N.call(D,"010",vl.error010());const j=M=>{const{defaultEdgeOptions:B,onConnect:$,hasDefaultEdges:I}=y.getState(),G={...B,...M};if(I){const{edges:X,setEdges:U,onError:Y}=y.getState();U(P_e(G,X,{onError:Y}))}$==null||$(G),o==null||o(G)},Q=M=>{if(!b)return;const B=mJ(M.nativeEvent);if(r&&(B&&M.button===0||!B)){const $=y.getState();dP.onPointerDown(M.nativeEvent,{handleDomNode:M.currentTarget,autoPanOnConnect:$.autoPanOnConnect,connectionMode:$.connectionMode,connectionRadius:$.connectionRadius,domNode:$.domNode,nodeLookup:$.nodeLookup,lib:$.lib,isTarget:g,handleId:m,nodeId:b,flowId:$.rfId,panBy:$.panBy,cancelConnection:$.cancelConnection,onConnectStart:$.onConnectStart,onConnectEnd:(...I)=>{var G,X;return(X=(G=y.getState()).onConnectEnd)==null?void 0:X.call(G,...I)},updateConnection:$.updateConnection,onConnect:j,isValidConnection:n||((...I)=>{var G,X;return((X=(G=y.getState()).isValidConnection)==null?void 0:X.call(G,...I))??!0}),getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,autoPanSpeed:$.autoPanSpeed,dragThreshold:$.connectionDragThreshold})}B?d==null||d(M):f==null||f(M)},L=M=>{const{onClickConnectStart:B,onClickConnectEnd:$,connectionClickStartHandle:I,connectionMode:G,isValidConnection:X,lib:U,rfId:Y,nodeLookup:ae,connection:fe}=y.getState();if(!b||!I&&!r)return;if(!I){B==null||B(M.nativeEvent,{nodeId:b,handleId:m,handleType:e}),y.setState({connectionClickStartHandle:{nodeId:b,type:e,id:m}});return}const ke=hJ(M.target),K=n||X,{connection:ie,isValid:le}=dP.isValid(M.nativeEvent,{handle:{nodeId:b,id:m,type:e},connectionMode:G,fromNodeId:I.nodeId,fromHandleId:I.id||null,fromType:I.type,isValidConnection:K,flowId:Y,doc:ke,lib:U,nodeLookup:ae});le&&ie&&j(ie);const ge=structuredClone(fe);delete ge.inProgress,ge.toPosition=ge.toHandle?ge.toHandle.position:null,$==null||$(M,ge),y.setState({connectionClickStartHandle:null})};return c.jsx("div",{"data-handleid":m,"data-nodeid":b,"data-handlepos":t,"data-id":`${v}-${b}-${m}-${e}`,className:Br(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",x,u,{source:!g,target:g,connectable:i,connectablestart:r,connectableend:s,clickconnecting:k,connectingfrom:E,connectingto:w,valid:R,connectionindicator:i&&(!C||_)&&(C||A?s:r)}]),onMouseDown:Q,onTouchStart:Q,onClick:S?L:void 0,ref:p,...h,children:l})}const Ea=O.memo(FJ(J_e));function eAe({data:e,isConnectable:t,sourcePosition:n=mt.Bottom}){return c.jsxs(c.Fragment,{children:[e==null?void 0:e.label,c.jsx(Ea,{type:"source",position:n,isConnectable:t})]})}function tAe({data:e,isConnectable:t,targetPosition:n=mt.Top,sourcePosition:i=mt.Bottom}){return c.jsxs(c.Fragment,{children:[c.jsx(Ea,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,c.jsx(Ea,{type:"source",position:i,isConnectable:t})]})}function nAe(){return null}function iAe({data:e,isConnectable:t,targetPosition:n=mt.Top}){return c.jsxs(c.Fragment,{children:[c.jsx(Ea,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const BE={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},V8={input:eAe,default:tAe,output:iAe,group:nAe};function rAe(e){var t,n,i,r;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((i=e.style)==null?void 0:i.width),height:e.height??((r=e.style)==null?void 0:r.height)}}const sAe=e=>{const{width:t,height:n,x:i,y:r}=Vx(e.nodeLookup,{filter:s=>!!s.selected});return{width:ml(t)?t:null,height:ml(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${i}px,${r}px)`}};function aAe({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const i=Ji(),{width:r,height:s,transformString:a,userSelectionActive:o}=Rn(sAe,Ki),l=qJ(),u=O.useRef(null);O.useEffect(()=>{var p;n||(p=u.current)==null||p.focus({preventScroll:!0})},[n]);const d=!o&&r!==null&&s!==null;if(XJ({nodeRef:u,disabled:!d}),!d)return null;const f=e?p=>{const m=i.getState().nodes.filter(g=>g.selected);e(p,m)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(BE,p.key)&&(p.preventDefault(),l({direction:BE[p.key],factor:p.shiftKey?4:1}))};return c.jsx("div",{className:Br(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:c.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:r,height:s}})})}const X8=typeof window<"u"?window:void 0,oAe=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function YJ({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:s,onPaneScroll:a,paneClickDistance:o,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:h,onSelectionEnd:p,multiSelectionKeyCode:m,panActivationKeyCode:g,zoomActivationKeyCode:y,elementsSelectable:b,zoomOnScroll:S,zoomOnPinch:x,panOnScroll:v,panOnScrollSpeed:E,panOnScrollMode:w,zoomOnDoubleClick:k,panOnDrag:_,autoPanOnSelection:C,defaultViewport:A,translateExtent:R,minZoom:j,maxZoom:Q,preventScrolling:L,onSelectionContextMenu:D,noWheelClassName:N,noPanClassName:M,disableKeyboardA11y:B,onViewportChange:$,isControlledViewport:I}){const{nodesSelectionActive:G,userSelectionActive:X}=Rn(oAe,Ki),U=Py(u,{target:X8}),Y=Py(g,{target:X8}),ae=Y||_,fe=Y||v,ke=d&&ae!==!0,K=U||X||ke;return U_e({deleteKeyCode:l,multiSelectionKeyCode:m}),c.jsx(V_e,{onPaneContextMenu:s,elementsSelectable:b,zoomOnScroll:S,zoomOnPinch:x,panOnScroll:fe,panOnScrollSpeed:E,panOnScrollMode:w,zoomOnDoubleClick:k,panOnDrag:!U&&ae,defaultViewport:A,translateExtent:R,minZoom:j,maxZoom:Q,zoomActivationKeyCode:y,preventScrolling:L,noWheelClassName:N,noPanClassName:M,onViewportChange:$,isControlledViewport:I,paneClickDistance:o,selectionOnDrag:ke,children:c.jsxs(Y_e,{onSelectionStart:h,onSelectionEnd:p,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:s,onPaneScroll:a,panOnDrag:ae,autoPanOnSelection:C,isSelecting:!!K,selectionMode:f,selectionKeyPressed:U,paneClickDistance:o,selectionOnDrag:ke,children:[e,G&&c.jsx(aAe,{onSelectionContextMenu:D,noPanClassName:M,disableKeyboardA11y:B})]})})}YJ.displayName="FlowRenderer";const lAe=O.memo(YJ),cAe=e=>t=>e?XD(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function uAe(e){return Rn(O.useCallback(cAe(e),[e]),Ki)}const dAe=e=>e.updateNodeInternals;function fAe(){const e=Rn(dAe),[t]=O.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const i=new Map;n.forEach(r=>{const s=r.target.getAttribute("data-id");i.set(s,{id:s,nodeElement:r.target,force:!0})}),e(i)}));return O.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function hAe({node:e,nodeType:t,hasDimensions:n,resizeObserver:i}){const r=Ji(),s=O.useRef(null),a=O.useRef(null),o=O.useRef(e.sourcePosition),l=O.useRef(e.targetPosition),u=O.useRef(t),d=n&&!!e.internals.handleBounds;return O.useEffect(()=>{s.current&&!e.hidden&&(!d||a.current!==s.current)&&(a.current&&(i==null||i.unobserve(a.current)),i==null||i.observe(s.current),a.current=s.current)},[d,e.hidden]),O.useEffect(()=>()=>{a.current&&(i==null||i.unobserve(a.current),a.current=null)},[]),O.useEffect(()=>{if(s.current){const f=u.current!==t,h=o.current!==e.sourcePosition,p=l.current!==e.targetPosition;(f||h||p)&&(u.current=t,o.current=e.sourcePosition,l.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),s}function pAe({id:e,onClick:t,onMouseEnter:n,onMouseMove:i,onMouseLeave:r,onContextMenu:s,onDoubleClick:a,nodesDraggable:o,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:h,noPanClassName:p,disableKeyboardA11y:m,rfId:g,nodeTypes:y,nodeClickDistance:b,onError:S}){const{node:x,internals:v,isParent:E}=Rn(K=>{const ie=K.nodeLookup.get(e),le=K.parentLookup.has(e);return{node:ie,internals:ie.internals,isParent:le}},Ki);let w=x.type||"default",k=(y==null?void 0:y[w])||V8[w];k===void 0&&(S==null||S("003",vl.error003(w)),w="default",k=(y==null?void 0:y.default)||V8.default);const _=!!(x.draggable||o&&typeof x.draggable>"u"),C=!!(x.selectable||l&&typeof x.selectable>"u"),A=!!(x.connectable||u&&typeof x.connectable>"u"),R=!!(x.focusable||d&&typeof x.focusable>"u"),j=Ji(),Q=YD(x),L=hAe({node:x,nodeType:w,hasDimensions:Q,resizeObserver:f}),D=XJ({nodeRef:L,disabled:x.hidden||!_,noDragClassName:h,handleSelector:x.dragHandle,nodeId:e,isSelectable:C,nodeClickDistance:b}),N=qJ();if(x.hidden)return null;const M=zu(x),B=rAe(x),$=C||_||t||n||i||r,I=n?K=>n(K,{...v.userNode}):void 0,G=i?K=>i(K,{...v.userNode}):void 0,X=r?K=>r(K,{...v.userNode}):void 0,U=s?K=>s(K,{...v.userNode}):void 0,Y=a?K=>a(K,{...v.userNode}):void 0,ae=K=>{const{selectNodesOnDrag:ie,nodeDragThreshold:le}=j.getState();C&&(!ie||!_||le>0)&&fP({id:e,store:j,nodeRef:L}),t&&t(K,{...v.userNode})},fe=K=>{if(!(pJ(K.nativeEvent)||m)){if(iJ.includes(K.key)&&C){const ie=K.key==="Escape";fP({id:e,store:j,unselect:ie,nodeRef:L})}else if(_&&x.selected&&Object.prototype.hasOwnProperty.call(BE,K.key)){K.preventDefault();const{ariaLabelConfig:ie}=j.getState();j.setState({ariaLiveMessage:ie["node.a11yDescription.ariaLiveMessage"]({direction:K.key.replace("Arrow","").toLowerCase(),x:~~v.positionAbsolute.x,y:~~v.positionAbsolute.y})}),N({direction:BE[K.key],factor:K.shiftKey?4:1})}}},ke=()=>{var _e;if(m||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:K,width:ie,height:le,autoPanOnNodeFocus:ge,setCenter:Ee}=j.getState();if(!ge)return;XD(new Map([[e,x]]),{x:0,y:0,width:ie,height:le},K,!0).length>0||Ee(x.position.x+M.width/2,x.position.y+M.height/2,{zoom:K[2]})};return c.jsx("div",{className:Br(["react-flow__node",`react-flow__node-${w}`,{[p]:_},x.className,{selected:x.selected,selectable:C,parent:E,draggable:_,dragging:D}]),ref:L,style:{zIndex:v.z,transform:`translate(${v.positionAbsolute.x}px,${v.positionAbsolute.y}px)`,pointerEvents:$?"all":"none",visibility:Q?"visible":"hidden",...x.style,...B},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:I,onMouseMove:G,onMouseLeave:X,onContextMenu:U,onClick:ae,onDoubleClick:Y,onKeyDown:R?fe:void 0,tabIndex:R?0:void 0,onFocus:R?ke:void 0,role:x.ariaRole??(R?"group":void 0),"aria-roledescription":"node","aria-describedby":m?void 0:`${DJ}-${g}`,"aria-label":x.ariaLabel,...x.domAttributes,children:c.jsx(W_e,{value:e,children:c.jsx(k,{id:e,data:x.data,type:w,positionAbsoluteX:v.positionAbsolute.x,positionAbsoluteY:v.positionAbsolute.y,selected:x.selected??!1,selectable:C,draggable:_,deletable:x.deletable??!0,isConnectable:A,sourcePosition:x.sourcePosition,targetPosition:x.targetPosition,dragging:D,dragHandle:x.dragHandle,zIndex:v.z,parentId:x.parentId,...M})})})}var mAe=O.memo(pAe);const gAe=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function GJ(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,onError:s}=Rn(gAe,Ki),a=uAe(e.onlyRenderVisibleElements),o=fAe();return c.jsx("div",{className:"react-flow__nodes",style:XT,children:a.map(l=>c.jsx(mAe,{id:l,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:o,nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:s},l))})}GJ.displayName="NodeRenderer";const OAe=O.memo(GJ);function bAe(e){return Rn(O.useCallback(n=>{if(!e)return n.edges.map(r=>r.id);const i=[];if(n.width&&n.height)for(const r of n.edges){const s=n.nodeLookup.get(r.source),a=n.nodeLookup.get(r.target);s&&a&&tTe({sourceNode:s,targetNode:a,width:n.width,height:n.height,transform:n.transform})&&i.push(r.id)}return i},[e]),Ki)}const yAe=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return c.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},xAe=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return c.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},q8={[Cy.Arrow]:yAe,[Cy.ArrowClosed]:xAe};function SAe(e){const t=Ji();return O.useMemo(()=>{var r,s;return Object.prototype.hasOwnProperty.call(q8,e)?q8[e]:((s=(r=t.getState()).onError)==null||s.call(r,"009",vl.error009(e)),null)},[e])}const vAe=({id:e,type:t,color:n,width:i=12.5,height:r=12.5,markerUnits:s="strokeWidth",strokeWidth:a,orient:o="auto-start-reverse"})=>{const l=SAe(t);return l?c.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${i}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:o,refX:"0",refY:"0",children:c.jsx(l,{color:n,strokeWidth:a})}):null},WJ=({defaultColor:e,rfId:t})=>{const n=Rn(s=>s.edges),i=Rn(s=>s.defaultEdgeOptions),r=O.useMemo(()=>cTe(n,{id:t,defaultColor:e,defaultMarkerStart:i==null?void 0:i.markerStart,defaultMarkerEnd:i==null?void 0:i.markerEnd}),[n,i,t,e]);return r.length?c.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:c.jsx("defs",{children:r.map(s=>c.jsx(vAe,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};WJ.displayName="MarkerDefinitions";var wAe=O.memo(WJ);function ZJ({x:e,y:t,label:n,labelStyle:i,labelShowBg:r=!0,labelBgStyle:s,labelBgPadding:a=[2,4],labelBgBorderRadius:o=2,children:l,className:u,...d}){const[f,h]=O.useState({x:1,y:0,width:0,height:0}),p=Br(["react-flow__edge-textwrapper",u]),m=O.useRef(null);return O.useEffect(()=>{if(m.current){const g=m.current.getBBox();h({x:g.x,y:g.y,width:g.width,height:g.height})}},[n]),n?c.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...d,children:[r&&c.jsx("rect",{width:f.width+2*a[0],x:-a[0],y:-a[1],height:f.height+2*a[1],className:"react-flow__edge-textbg",style:s,rx:o,ry:o}),c.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:m,style:i,children:n}),l]}):null}ZJ.displayName="EdgeText";const EAe=O.memo(ZJ);function qx({path:e,labelX:t,labelY:n,label:i,labelStyle:r,labelShowBg:s,labelBgStyle:a,labelBgPadding:o,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return c.jsxs(c.Fragment,{children:[c.jsx("path",{...d,d:e,fill:"none",className:Br(["react-flow__edge-path",d.className])}),u?c.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,i&&ml(t)&&ml(n)?c.jsx(EAe,{x:t,y:n,label:i,labelStyle:r,labelShowBg:s,labelBgStyle:a,labelBgPadding:o,labelBgBorderRadius:l}):null]})}function H8({pos:e,x1:t,y1:n,x2:i,y2:r}){return e===mt.Left||e===mt.Right?[.5*(t+i),n]:[t,.5*(n+r)]}function KJ({sourceX:e,sourceY:t,sourcePosition:n=mt.Bottom,targetX:i,targetY:r,targetPosition:s=mt.Top}){const[a,o]=H8({pos:n,x1:e,y1:t,x2:i,y2:r}),[l,u]=H8({pos:s,x1:i,y1:r,x2:e,y2:t}),[d,f,h,p]=gJ({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:a,sourceControlY:o,targetControlX:l,targetControlY:u});return[`M${e},${t} C${a},${o} ${l},${u} ${i},${r}`,d,f,h,p]}function JJ(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,sourcePosition:a,targetPosition:o,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:g,markerStart:y,interactionWidth:b})=>{const[S,x,v]=KJ({sourceX:n,sourceY:i,sourcePosition:a,targetX:r,targetY:s,targetPosition:o}),E=e.isInternal?void 0:t;return c.jsx(qx,{id:E,path:S,labelX:x,labelY:v,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:g,markerStart:y,interactionWidth:b})})}const kAe=JJ({isInternal:!1}),eee=JJ({isInternal:!0});kAe.displayName="SimpleBezierEdge";eee.displayName="SimpleBezierEdgeInternal";function tee(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,label:a,labelStyle:o,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,sourcePosition:p=mt.Bottom,targetPosition:m=mt.Top,markerEnd:g,markerStart:y,pathOptions:b,interactionWidth:S})=>{const[x,v,E]=QE({sourceX:n,sourceY:i,sourcePosition:p,targetX:r,targetY:s,targetPosition:m,borderRadius:b==null?void 0:b.borderRadius,offset:b==null?void 0:b.offset,stepPosition:b==null?void 0:b.stepPosition}),w=e.isInternal?void 0:t;return c.jsx(qx,{id:w,path:x,labelX:v,labelY:E,label:a,labelStyle:o,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:y,interactionWidth:S})})}const nee=tee({isInternal:!1}),iee=tee({isInternal:!0});nee.displayName="SmoothStepEdge";iee.displayName="SmoothStepEdgeInternal";function ree(e){return O.memo(({id:t,...n})=>{var r;const i=e.isInternal?void 0:t;return c.jsx(nee,{...n,id:i,pathOptions:O.useMemo(()=>{var s;return{borderRadius:0,offset:(s=n.pathOptions)==null?void 0:s.offset}},[(r=n.pathOptions)==null?void 0:r.offset])})})}const TAe=ree({isInternal:!1}),see=ree({isInternal:!0});TAe.displayName="StepEdge";see.displayName="StepEdgeInternal";function aee(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,label:a,labelStyle:o,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:m,interactionWidth:g})=>{const[y,b,S]=yJ({sourceX:n,sourceY:i,targetX:r,targetY:s}),x=e.isInternal?void 0:t;return c.jsx(qx,{id:x,path:y,labelX:b,labelY:S,label:a,labelStyle:o,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:m,interactionWidth:g})})}const _Ae=aee({isInternal:!1}),oee=aee({isInternal:!0});_Ae.displayName="StraightEdge";oee.displayName="StraightEdgeInternal";function lee(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,sourcePosition:a=mt.Bottom,targetPosition:o=mt.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:g,markerStart:y,pathOptions:b,interactionWidth:S})=>{const[x,v,E]=OJ({sourceX:n,sourceY:i,sourcePosition:a,targetX:r,targetY:s,targetPosition:o,curvature:b==null?void 0:b.curvature}),w=e.isInternal?void 0:t;return c.jsx(qx,{id:w,path:x,labelX:v,labelY:E,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:g,markerStart:y,interactionWidth:S})})}const AAe=lee({isInternal:!1}),cee=lee({isInternal:!0});AAe.displayName="BezierEdge";cee.displayName="BezierEdgeInternal";const Y8={default:cee,straight:oee,step:see,smoothstep:iee,simplebezier:eee},G8={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},NAe=(e,t,n)=>n===mt.Left?e-t:n===mt.Right?e+t:e,CAe=(e,t,n)=>n===mt.Top?e-t:n===mt.Bottom?e+t:e,W8="react-flow__edgeupdater";function Z8({position:e,centerX:t,centerY:n,radius:i=10,onMouseDown:r,onMouseEnter:s,onMouseOut:a,type:o}){return c.jsx("circle",{onMouseDown:r,onMouseEnter:s,onMouseOut:a,className:Br([W8,`${W8}-${o}`]),cx:NAe(t,i,e),cy:CAe(n,i,e),r:i,stroke:"transparent",fill:"transparent"})}function RAe({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:i,sourceY:r,targetX:s,targetY:a,sourcePosition:o,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:h,setUpdateHover:p}){const m=Ji(),g=(v,E)=>{if(v.button!==0)return;const{autoPanOnConnect:w,domNode:k,connectionMode:_,connectionRadius:C,lib:A,onConnectStart:R,cancelConnection:j,nodeLookup:Q,rfId:L,panBy:D,updateConnection:N}=m.getState(),M=E.type==="target",B=(G,X)=>{h(!1),f==null||f(G,n,E.type,X)},$=G=>u==null?void 0:u(n,G),I=(G,X)=>{h(!0),d==null||d(v,n,E.type),R==null||R(G,X)};dP.onPointerDown(v.nativeEvent,{autoPanOnConnect:w,connectionMode:_,connectionRadius:C,domNode:k,handleId:E.id,nodeId:E.nodeId,nodeLookup:Q,isTarget:M,edgeUpdaterType:E.type,lib:A,flowId:L,cancelConnection:j,panBy:D,isValidConnection:(...G)=>{var X,U;return((U=(X=m.getState()).isValidConnection)==null?void 0:U.call(X,...G))??!0},onConnect:$,onConnectStart:I,onConnectEnd:(...G)=>{var X,U;return(U=(X=m.getState()).onConnectEnd)==null?void 0:U.call(X,...G)},onReconnectEnd:B,updateConnection:N,getTransform:()=>m.getState().transform,getFromHandle:()=>m.getState().connection.fromHandle,dragThreshold:m.getState().connectionDragThreshold,handleDomNode:v.currentTarget})},y=v=>g(v,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),b=v=>g(v,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),S=()=>p(!0),x=()=>p(!1);return c.jsxs(c.Fragment,{children:[(e===!0||e==="source")&&c.jsx(Z8,{position:o,centerX:i,centerY:r,radius:t,onMouseDown:y,onMouseEnter:S,onMouseOut:x,type:"source"}),(e===!0||e==="target")&&c.jsx(Z8,{position:l,centerX:s,centerY:a,radius:t,onMouseDown:b,onMouseEnter:S,onMouseOut:x,type:"target"})]})}function IAe({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:i,onClick:r,onDoubleClick:s,onContextMenu:a,onMouseEnter:o,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:p,rfId:m,edgeTypes:g,noPanClassName:y,onError:b,disableKeyboardA11y:S}){let x=Rn(Ee=>Ee.edgeLookup.get(e));const v=Rn(Ee=>Ee.defaultEdgeOptions);x=v?{...v,...x}:x;let E=x.type||"default",w=(g==null?void 0:g[E])||Y8[E];w===void 0&&(b==null||b("011",vl.error011(E)),E="default",w=(g==null?void 0:g.default)||Y8.default);const k=!!(x.focusable||t&&typeof x.focusable>"u"),_=typeof f<"u"&&(x.reconnectable||n&&typeof x.reconnectable>"u"),C=!!(x.selectable||i&&typeof x.selectable>"u"),A=O.useRef(null),[R,j]=O.useState(!1),[Q,L]=O.useState(!1),D=Ji(),{zIndex:N,sourceX:M,sourceY:B,targetX:$,targetY:I,sourcePosition:G,targetPosition:X}=Rn(O.useCallback(Ee=>{const Ce=Ee.nodeLookup.get(x.source),_e=Ee.nodeLookup.get(x.target);if(!Ce||!_e)return{zIndex:x.zIndex,...G8};const he=lTe({id:e,sourceNode:Ce,targetNode:_e,sourceHandle:x.sourceHandle||null,targetHandle:x.targetHandle||null,connectionMode:Ee.connectionMode,onError:b});return{zIndex:eTe({selected:x.selected,zIndex:x.zIndex,sourceNode:Ce,targetNode:_e,elevateOnSelect:Ee.elevateEdgesOnSelect,zIndexMode:Ee.zIndexMode}),...he||G8}},[x.source,x.target,x.sourceHandle,x.targetHandle,x.selected,x.zIndex]),Ki),U=O.useMemo(()=>x.markerStart?`url('#${cP(x.markerStart,m)}')`:void 0,[x.markerStart,m]),Y=O.useMemo(()=>x.markerEnd?`url('#${cP(x.markerEnd,m)}')`:void 0,[x.markerEnd,m]);if(x.hidden||M===null||B===null||$===null||I===null)return null;const ae=Ee=>{var te;const{addSelectedEdges:Ce,unselectNodesAndEdges:_e,multiSelectionActive:he}=D.getState();C&&(D.setState({nodesSelectionActive:!1}),x.selected&&he?(_e({nodes:[],edges:[x]}),(te=A.current)==null||te.blur()):Ce([e])),r&&r(Ee,x)},fe=s?Ee=>{s(Ee,{...x})}:void 0,ke=a?Ee=>{a(Ee,{...x})}:void 0,K=o?Ee=>{o(Ee,{...x})}:void 0,ie=l?Ee=>{l(Ee,{...x})}:void 0,le=u?Ee=>{u(Ee,{...x})}:void 0,ge=Ee=>{var Ce;if(!S&&iJ.includes(Ee.key)&&C){const{unselectNodesAndEdges:_e,addSelectedEdges:he}=D.getState();Ee.key==="Escape"?((Ce=A.current)==null||Ce.blur(),_e({edges:[x]})):he([e])}};return c.jsx("svg",{style:{zIndex:N},children:c.jsxs("g",{className:Br(["react-flow__edge",`react-flow__edge-${E}`,x.className,y,{selected:x.selected,animated:x.animated,inactive:!C&&!r,updating:R,selectable:C}]),onClick:ae,onDoubleClick:fe,onContextMenu:ke,onMouseEnter:K,onMouseMove:ie,onMouseLeave:le,onKeyDown:k?ge:void 0,tabIndex:k?0:void 0,role:x.ariaRole??(k?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":x.ariaLabel===null?void 0:x.ariaLabel||`Edge from ${x.source} to ${x.target}`,"aria-describedby":k?`${$J}-${m}`:void 0,ref:A,...x.domAttributes,children:[!Q&&c.jsx(w,{id:e,source:x.source,target:x.target,type:x.type,selected:x.selected,animated:x.animated,selectable:C,deletable:x.deletable??!0,label:x.label,labelStyle:x.labelStyle,labelShowBg:x.labelShowBg,labelBgStyle:x.labelBgStyle,labelBgPadding:x.labelBgPadding,labelBgBorderRadius:x.labelBgBorderRadius,sourceX:M,sourceY:B,targetX:$,targetY:I,sourcePosition:G,targetPosition:X,data:x.data,style:x.style,sourceHandleId:x.sourceHandle,targetHandleId:x.targetHandle,markerStart:U,markerEnd:Y,pathOptions:"pathOptions"in x?x.pathOptions:void 0,interactionWidth:x.interactionWidth}),_&&c.jsx(RAe,{edge:x,isReconnectable:_,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:p,sourceX:M,sourceY:B,targetX:$,targetY:I,sourcePosition:G,targetPosition:X,setUpdateHover:j,setReconnecting:L})]})})}var PAe=O.memo(IAe);const jAe=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function uee({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:i,noPanClassName:r,onReconnect:s,onEdgeContextMenu:a,onEdgeMouseEnter:o,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:h,onReconnectStart:p,onReconnectEnd:m,disableKeyboardA11y:g}){const{edgesFocusable:y,edgesReconnectable:b,elementsSelectable:S,onError:x}=Rn(jAe,Ki),v=bAe(t);return c.jsxs("div",{className:"react-flow__edges",children:[c.jsx(wAe,{defaultColor:e,rfId:n}),v.map(E=>c.jsx(PAe,{id:E,edgesFocusable:y,edgesReconnectable:b,elementsSelectable:S,noPanClassName:r,onReconnect:s,onContextMenu:a,onMouseEnter:o,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:h,onReconnectStart:p,onReconnectEnd:m,rfId:n,onError:x,edgeTypes:i,disableKeyboardA11y:g},E))]})}uee.displayName="EdgeRenderer";const MAe=O.memo(uee),LAe=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function DAe({children:e}){const t=Rn(LAe);return c.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function $Ae(e){const t=VT(),n=O.useRef(!1);O.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const QAe=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function BAe(e){const t=Rn(QAe),n=Ji();return O.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function UAe(e){return e.connection.inProgress?{...e.connection,to:y0(e.connection.to,e.transform)}:{...e.connection}}function zAe(e){return UAe}function FAe(e){const t=zAe();return Rn(t,Ki)}const VAe=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function XAe({containerStyle:e,style:t,type:n,component:i}){const{nodesConnectable:r,width:s,height:a,isValid:o,inProgress:l}=Rn(VAe,Ki);return!(s&&r&&l)?null:c.jsx("svg",{style:e,width:s,height:a,className:"react-flow__connectionline react-flow__container",children:c.jsx("g",{className:Br(["react-flow__connection",aJ(o)]),children:c.jsx(dee,{style:t,type:n,CustomComponent:i,isValid:o})})})}const dee=({style:e,type:t=Cd.Bezier,CustomComponent:n,isValid:i})=>{const{inProgress:r,from:s,fromNode:a,fromHandle:o,fromPosition:l,to:u,toNode:d,toHandle:f,toPosition:h,pointer:p}=FAe();if(!r)return;if(n)return c.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:o,fromX:s.x,fromY:s.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:h,connectionStatus:aJ(i),toNode:d,toHandle:f,pointer:p});let m="";const g={sourceX:s.x,sourceY:s.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:h};switch(t){case Cd.Bezier:[m]=OJ(g);break;case Cd.SimpleBezier:[m]=KJ(g);break;case Cd.Step:[m]=QE({...g,borderRadius:0});break;case Cd.SmoothStep:[m]=QE(g);break;default:[m]=yJ(g)}return c.jsx("path",{d:m,fill:"none",className:"react-flow__connection-path",style:e})};dee.displayName="ConnectionLine";const qAe={};function K8(e=qAe){O.useRef(e),Ji(),O.useEffect(()=>{},[e])}function HAe(){Ji(),O.useRef(!1),O.useEffect(()=>{},[])}function fee({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:i,onEdgeClick:r,onNodeDoubleClick:s,onEdgeDoubleClick:a,onNodeMouseEnter:o,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:h,onSelectionEnd:p,connectionLineType:m,connectionLineStyle:g,connectionLineComponent:y,connectionLineContainerStyle:b,selectionKeyCode:S,selectionOnDrag:x,selectionMode:v,multiSelectionKeyCode:E,panActivationKeyCode:w,zoomActivationKeyCode:k,deleteKeyCode:_,onlyRenderVisibleElements:C,elementsSelectable:A,defaultViewport:R,translateExtent:j,minZoom:Q,maxZoom:L,preventScrolling:D,defaultMarkerColor:N,zoomOnScroll:M,zoomOnPinch:B,panOnScroll:$,panOnScrollSpeed:I,panOnScrollMode:G,zoomOnDoubleClick:X,panOnDrag:U,autoPanOnSelection:Y,onPaneClick:ae,onPaneMouseEnter:fe,onPaneMouseMove:ke,onPaneMouseLeave:K,onPaneScroll:ie,onPaneContextMenu:le,paneClickDistance:ge,nodeClickDistance:Ee,onEdgeContextMenu:Ce,onEdgeMouseEnter:_e,onEdgeMouseMove:he,onEdgeMouseLeave:te,reconnectRadius:Te,onReconnect:me,onReconnectStart:Be,onReconnectEnd:je,noDragClassName:Ue,noWheelClassName:st,noPanClassName:ct,disableKeyboardA11y:Tt,nodeExtent:at,rfId:q,viewport:oe,onViewportChange:de}){return K8(e),K8(t),HAe(),$Ae(n),BAe(oe),c.jsx(lAe,{onPaneClick:ae,onPaneMouseEnter:fe,onPaneMouseMove:ke,onPaneMouseLeave:K,onPaneContextMenu:le,onPaneScroll:ie,paneClickDistance:ge,deleteKeyCode:_,selectionKeyCode:S,selectionOnDrag:x,selectionMode:v,onSelectionStart:h,onSelectionEnd:p,multiSelectionKeyCode:E,panActivationKeyCode:w,zoomActivationKeyCode:k,elementsSelectable:A,zoomOnScroll:M,zoomOnPinch:B,zoomOnDoubleClick:X,panOnScroll:$,panOnScrollSpeed:I,panOnScrollMode:G,panOnDrag:U,autoPanOnSelection:Y,defaultViewport:R,translateExtent:j,minZoom:Q,maxZoom:L,onSelectionContextMenu:f,preventScrolling:D,noDragClassName:Ue,noWheelClassName:st,noPanClassName:ct,disableKeyboardA11y:Tt,onViewportChange:de,isControlledViewport:!!oe,children:c.jsxs(DAe,{children:[c.jsx(MAe,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:a,onReconnect:me,onReconnectStart:Be,onReconnectEnd:je,onlyRenderVisibleElements:C,onEdgeContextMenu:Ce,onEdgeMouseEnter:_e,onEdgeMouseMove:he,onEdgeMouseLeave:te,reconnectRadius:Te,defaultMarkerColor:N,noPanClassName:ct,disableKeyboardA11y:Tt,rfId:q}),c.jsx(XAe,{style:g,type:m,component:y,containerStyle:b}),c.jsx("div",{className:"react-flow__edgelabel-renderer"}),c.jsx(OAe,{nodeTypes:e,onNodeClick:i,onNodeDoubleClick:s,onNodeMouseEnter:o,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:Ee,onlyRenderVisibleElements:C,noPanClassName:ct,noDragClassName:Ue,disableKeyboardA11y:Tt,nodeExtent:at,rfId:q}),c.jsx("div",{className:"react-flow__viewport-portal"})]})})}fee.displayName="GraphView";const YAe=O.memo(fee),GAe=dJ(),J8=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:h="basic"}={})=>{const p=new Map,m=new Map,g=new Map,y=new Map,b=i??t??[],S=n??e??[],x=d??[0,0],v=f??Ay;vJ(g,y,b);const{nodesInitialized:E}=uP(S,p,m,{nodeOrigin:x,nodeExtent:v,zIndexMode:h});let w=[0,0,1];if(a&&r&&s){const k=Vx(p,{filter:R=>!!((R.width||R.initialWidth)&&(R.height||R.initialHeight))}),{x:_,y:C,zoom:A}=HD(k,r,s,l,u,(o==null?void 0:o.padding)??.1);w=[_,C,A]}return{rfId:"1",width:r??0,height:s??0,transform:w,nodes:S,nodesInitialized:E,nodeLookup:p,parentLookup:m,edges:b,edgeLookup:y,connectionLookup:g,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:i!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:Ay,nodeExtent:v,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Rg.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:x,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:o,fitViewResolver:null,connection:{...sJ},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:GAe,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:rJ,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},WAe=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h})=>d_e((p,m)=>{async function g(){const{nodeLookup:y,panZoom:b,fitViewOptions:S,fitViewResolver:x,width:v,height:E,minZoom:w,maxZoom:k}=m();b&&(await Hke({nodes:y,width:v,height:E,panZoom:b,minZoom:w,maxZoom:k},S),x==null||x.resolve(!0),p({fitViewResolver:null}))}return{...J8({nodes:e,edges:t,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:n,defaultEdges:i,zIndexMode:h}),setNodes:y=>{const{nodeLookup:b,parentLookup:S,nodeOrigin:x,elevateNodesOnSelect:v,fitViewQueued:E,zIndexMode:w,nodesSelectionActive:k}=m(),{nodesInitialized:_,hasSelectedNodes:C}=uP(y,b,S,{nodeOrigin:x,nodeExtent:f,elevateNodesOnSelect:v,checkEquality:!0,zIndexMode:w}),A=k&&C;E&&_?(g(),p({nodes:y,nodesInitialized:_,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:A})):p({nodes:y,nodesInitialized:_,nodesSelectionActive:A})},setEdges:y=>{const{connectionLookup:b,edgeLookup:S}=m();vJ(b,S,y),p({edges:y})},setDefaultNodesAndEdges:(y,b)=>{if(y){const{setNodes:S}=m();S(y),p({hasDefaultNodes:!0})}if(b){const{setEdges:S}=m();S(b),p({hasDefaultEdges:!0})}},updateNodeInternals:y=>{const{triggerNodeChanges:b,nodeLookup:S,parentLookup:x,domNode:v,nodeOrigin:E,nodeExtent:w,debug:k,fitViewQueued:_,zIndexMode:C}=m(),{changes:A,updatedInternals:R}=gTe(y,S,x,v,E,w,C);R&&(fTe(S,x,{nodeOrigin:E,nodeExtent:w,zIndexMode:C}),_?(g(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),(A==null?void 0:A.length)>0&&(k&&console.log("React Flow: trigger node changes",A),b==null||b(A)))},updateNodePositions:(y,b=!1)=>{const S=[];let x=[];const{nodeLookup:v,triggerNodeChanges:E,connection:w,updateConnection:k,onNodesChangeMiddlewareMap:_}=m();for(const[C,A]of y){const R=v.get(C),j=!!(R!=null&&R.expandParent&&(R!=null&&R.parentId)&&(A!=null&&A.position)),Q={id:C,type:"position",position:j?{x:Math.max(0,A.position.x),y:Math.max(0,A.position.y)}:A.position,dragging:b};if(R&&w.inProgress&&w.fromNode.id===R.id){const L=Gh(R,w.fromHandle,mt.Left,!0);k({...w,from:L})}j&&R.parentId&&S.push({id:C,parentId:R.parentId,rect:{...A.internals.positionAbsolute,width:A.measured.width??0,height:A.measured.height??0}}),x.push(Q)}if(S.length>0){const{parentLookup:C,nodeOrigin:A}=m(),R=e$(S,v,C,A);x.push(...R)}for(const C of _.values())x=C(x);E(x)},triggerNodeChanges:y=>{const{onNodesChange:b,setNodes:S,nodes:x,hasDefaultNodes:v,debug:E}=m();if(y!=null&&y.length){if(v){const w=UJ(y,x);S(w)}E&&console.log("React Flow: trigger node changes",y),b==null||b(y)}},triggerEdgeChanges:y=>{const{onEdgesChange:b,setEdges:S,edges:x,hasDefaultEdges:v,debug:E}=m();if(y!=null&&y.length){if(v){const w=zJ(y,x);S(w)}E&&console.log("React Flow: trigger edge changes",y),b==null||b(y)}},addSelectedNodes:y=>{const{multiSelectionActive:b,edgeLookup:S,nodeLookup:x,triggerNodeChanges:v,triggerEdgeChanges:E}=m();if(b){const w=y.map(k=>sh(k,!0));v(w);return}v(_m(x,new Set([...y]),!0)),E(_m(S))},addSelectedEdges:y=>{const{multiSelectionActive:b,edgeLookup:S,nodeLookup:x,triggerNodeChanges:v,triggerEdgeChanges:E}=m();if(b){const w=y.map(k=>sh(k,!0));E(w);return}E(_m(S,new Set([...y]))),v(_m(x,new Set,!0))},unselectNodesAndEdges:({nodes:y,edges:b}={})=>{const{edges:S,nodes:x,nodeLookup:v,triggerNodeChanges:E,triggerEdgeChanges:w}=m(),k=y||x,_=b||S,C=[];for(const R of k){if(!R.selected)continue;const j=v.get(R.id);j&&(j.selected=!1),C.push(sh(R.id,!1))}const A=[];for(const R of _)R.selected&&A.push(sh(R.id,!1));E(C),w(A)},setMinZoom:y=>{const{panZoom:b,maxZoom:S}=m();b==null||b.setScaleExtent([y,S]),p({minZoom:y})},setMaxZoom:y=>{const{panZoom:b,minZoom:S}=m();b==null||b.setScaleExtent([S,y]),p({maxZoom:y})},setTranslateExtent:y=>{var b;(b=m().panZoom)==null||b.setTranslateExtent(y),p({translateExtent:y})},resetSelectedElements:()=>{const{edges:y,nodes:b,triggerNodeChanges:S,triggerEdgeChanges:x,elementsSelectable:v}=m();if(!v)return;const E=b.reduce((k,_)=>_.selected?[...k,sh(_.id,!1)]:k,[]),w=y.reduce((k,_)=>_.selected?[...k,sh(_.id,!1)]:k,[]);S(E),x(w)},setNodeExtent:y=>{const{nodes:b,nodeLookup:S,parentLookup:x,nodeOrigin:v,elevateNodesOnSelect:E,nodeExtent:w,zIndexMode:k}=m();y[0][0]===w[0][0]&&y[0][1]===w[0][1]&&y[1][0]===w[1][0]&&y[1][1]===w[1][1]||(uP(b,S,x,{nodeOrigin:v,nodeExtent:y,elevateNodesOnSelect:E,checkEquality:!1,zIndexMode:k}),p({nodeExtent:y}))},panBy:y=>{const{transform:b,width:S,height:x,panZoom:v,translateExtent:E}=m();return OTe({delta:y,panZoom:v,transform:b,translateExtent:E,width:S,height:x})},setCenter:async(y,b,S)=>{const{width:x,height:v,maxZoom:E,panZoom:w}=m();if(!w)return!1;const k=typeof(S==null?void 0:S.zoom)<"u"?S.zoom:E;return await w.setViewport({x:x/2-y*k,y:v/2-b*k,zoom:k},{duration:S==null?void 0:S.duration,ease:S==null?void 0:S.ease,interpolate:S==null?void 0:S.interpolate}),!0},cancelConnection:()=>{p({connection:{...sJ}})},updateConnection:y=>{p({connection:y})},reset:()=>p({...J8()})}},Object.is);function hee({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:i,initialWidth:r,initialHeight:s,initialMinZoom:a,initialMaxZoom:o,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h,children:p}){const[m]=O.useState(()=>WAe({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:u,minZoom:a,maxZoom:o,fitViewOptions:l,nodeOrigin:d,nodeExtent:f,zIndexMode:h}));return c.jsx(f_e,{value:m,children:c.jsx(D_e,{children:p})})}function ZAe({children:e,nodes:t,edges:n,defaultNodes:i,defaultEdges:r,width:s,height:a,fitView:o,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:p}){return O.useContext(zT)?c.jsx(c.Fragment,{children:e}):c.jsx(hee,{initialNodes:t,initialEdges:n,defaultNodes:i,defaultEdges:r,initialWidth:s,initialHeight:a,fitView:o,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:p,children:e})}const KAe={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function JAe({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,className:r,nodeTypes:s,edgeTypes:a,onNodeClick:o,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:h,onConnect:p,onConnectStart:m,onConnectEnd:g,onClickConnectStart:y,onClickConnectEnd:b,onNodeMouseEnter:S,onNodeMouseMove:x,onNodeMouseLeave:v,onNodeContextMenu:E,onNodeDoubleClick:w,onNodeDragStart:k,onNodeDrag:_,onNodeDragStop:C,onNodesDelete:A,onEdgesDelete:R,onDelete:j,onSelectionChange:Q,onSelectionDragStart:L,onSelectionDrag:D,onSelectionDragStop:N,onSelectionContextMenu:M,onSelectionStart:B,onSelectionEnd:$,onBeforeDelete:I,connectionMode:G,connectionLineType:X=Cd.Bezier,connectionLineStyle:U,connectionLineComponent:Y,connectionLineContainerStyle:ae,deleteKeyCode:fe="Backspace",selectionKeyCode:ke="Shift",selectionOnDrag:K=!1,selectionMode:ie=Ny.Full,panActivationKeyCode:le="Space",multiSelectionKeyCode:ge=Iy()?"Meta":"Control",zoomActivationKeyCode:Ee=Iy()?"Meta":"Control",snapToGrid:Ce,snapGrid:_e,onlyRenderVisibleElements:he=!1,selectNodesOnDrag:te,nodesDraggable:Te,autoPanOnNodeFocus:me,nodesConnectable:Be,nodesFocusable:je,nodeOrigin:Ue=QJ,edgesFocusable:st,edgesReconnectable:ct,elementsSelectable:Tt=!0,defaultViewport:at=k_e,minZoom:q=.5,maxZoom:oe=2,translateExtent:de=Ay,preventScrolling:Ie=!0,nodeExtent:ce,defaultMarkerColor:Me="#b1b1b7",zoomOnScroll:Ye=!0,zoomOnPinch:dt=!0,panOnScroll:Gt=!1,panOnScrollSpeed:Ct=.5,panOnScrollMode:Dt=jh.Free,zoomOnDoubleClick:vt=!0,panOnDrag:Wt=!0,onPaneClick:gt,onPaneMouseEnter:ft,onPaneMouseMove:Rt,onPaneMouseLeave:rn,onPaneScroll:ln,onPaneContextMenu:Ae,paneClickDistance:qe=1,nodeClickDistance:$e=0,children:pn,onReconnect:bn,onReconnectStart:It,onReconnectEnd:pe,onEdgeContextMenu:Qe,onEdgeDoubleClick:yt,onEdgeMouseEnter:mn,onEdgeMouseMove:wn,onEdgeMouseLeave:Jt,reconnectRadius:ui=10,onNodesChange:zn,onEdgesChange:xe,noDragClassName:Ge="nodrag",noWheelClassName:Nt="nowheel",noPanClassName:Kt="nopan",fitView:sn,fitViewOptions:Fn,connectOnClick:xi,attributionPosition:di,proOptions:Hn,defaultEdgeOptions:En,elevateNodesOnSelect:Zn=!0,elevateEdgesOnSelect:Si=!1,disableKeyboardA11y:Zt=!1,autoPanOnConnect:Yn,autoPanOnNodeDrag:mr,autoPanOnSelection:er=!0,autoPanSpeed:gn,connectionRadius:Li,isValidConnection:kn,onError:fn,style:Di,id:Ft,nodeDragThreshold:vi,connectionDragThreshold:Kn,viewport:$i,onViewportChange:Vt,width:Ai,height:ms,colorMode:Fs="light",debug:Kr,onScroll:gr,ariaLabelConfig:Ur,zIndexMode:or="basic",...Qi},Jr){const zr=Ft||"1",tr=N_e(Fs),Fr=O.useCallback(Vs=>{Vs.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),gr==null||gr(Vs)},[gr]);return c.jsx("div",{"data-testid":"rf__wrapper",...Qi,onScroll:Fr,style:{...Di,...KAe},ref:Jr,className:Br(["react-flow",r,tr]),id:Ft,role:"application",children:c.jsxs(ZAe,{nodes:e,edges:t,width:Ai,height:ms,fitView:sn,fitViewOptions:Fn,minZoom:q,maxZoom:oe,nodeOrigin:Ue,nodeExtent:ce,zIndexMode:or,children:[c.jsx(A_e,{nodes:e,edges:t,defaultNodes:n,defaultEdges:i,onConnect:p,onConnectStart:m,onConnectEnd:g,onClickConnectStart:y,onClickConnectEnd:b,nodesDraggable:Te,autoPanOnNodeFocus:me,nodesConnectable:Be,nodesFocusable:je,edgesFocusable:st,edgesReconnectable:ct,elementsSelectable:Tt,elevateNodesOnSelect:Zn,elevateEdgesOnSelect:Si,minZoom:q,maxZoom:oe,nodeExtent:ce,onNodesChange:zn,onEdgesChange:xe,snapToGrid:Ce,snapGrid:_e,connectionMode:G,translateExtent:de,connectOnClick:xi,defaultEdgeOptions:En,fitView:sn,fitViewOptions:Fn,onNodesDelete:A,onEdgesDelete:R,onDelete:j,onNodeDragStart:k,onNodeDrag:_,onNodeDragStop:C,onSelectionDrag:D,onSelectionDragStart:L,onSelectionDragStop:N,onMove:d,onMoveStart:f,onMoveEnd:h,noPanClassName:Kt,nodeOrigin:Ue,rfId:zr,autoPanOnConnect:Yn,autoPanOnNodeDrag:mr,autoPanSpeed:gn,onError:fn,connectionRadius:Li,isValidConnection:kn,selectNodesOnDrag:te,nodeDragThreshold:vi,connectionDragThreshold:Kn,onBeforeDelete:I,debug:Kr,ariaLabelConfig:Ur,zIndexMode:or}),c.jsx(YAe,{onInit:u,onNodeClick:o,onEdgeClick:l,onNodeMouseEnter:S,onNodeMouseMove:x,onNodeMouseLeave:v,onNodeContextMenu:E,onNodeDoubleClick:w,nodeTypes:s,edgeTypes:a,connectionLineType:X,connectionLineStyle:U,connectionLineComponent:Y,connectionLineContainerStyle:ae,selectionKeyCode:ke,selectionOnDrag:K,selectionMode:ie,deleteKeyCode:fe,multiSelectionKeyCode:ge,panActivationKeyCode:le,zoomActivationKeyCode:Ee,onlyRenderVisibleElements:he,defaultViewport:at,translateExtent:de,minZoom:q,maxZoom:oe,preventScrolling:Ie,zoomOnScroll:Ye,zoomOnPinch:dt,zoomOnDoubleClick:vt,panOnScroll:Gt,panOnScrollSpeed:Ct,panOnScrollMode:Dt,panOnDrag:Wt,autoPanOnSelection:er,onPaneClick:gt,onPaneMouseEnter:ft,onPaneMouseMove:Rt,onPaneMouseLeave:rn,onPaneScroll:ln,onPaneContextMenu:Ae,paneClickDistance:qe,nodeClickDistance:$e,onSelectionContextMenu:M,onSelectionStart:B,onSelectionEnd:$,onReconnect:bn,onReconnectStart:It,onReconnectEnd:pe,onEdgeContextMenu:Qe,onEdgeDoubleClick:yt,onEdgeMouseEnter:mn,onEdgeMouseMove:wn,onEdgeMouseLeave:Jt,reconnectRadius:ui,defaultMarkerColor:Me,noDragClassName:Ge,noWheelClassName:Nt,noPanClassName:Kt,rfId:zr,disableKeyboardA11y:Zt,nodeExtent:ce,viewport:$i,onViewportChange:Vt}),c.jsx(E_e,{onSelectionChange:Q}),pn,c.jsx(y_e,{proOptions:Hn,position:di}),c.jsx(b_e,{rfId:zr,disableKeyboardA11y:Zt})]})})}var eNe=FJ(JAe);const tNe=e=>{var t;return(t=e.domNode)==null?void 0:t.querySelector(".react-flow__edgelabel-renderer")};function nNe({children:e}){const t=Rn(tNe);return t?ar.createPortal(e,t):null}function iNe(e){const[t,n]=O.useState(e),i=O.useCallback(r=>n(s=>UJ(r,s)),[]);return[t,n,i]}function rNe(e){const[t,n]=O.useState(e),i=O.useCallback(r=>n(s=>zJ(r,s)),[]);return[t,n,i]}const sNe=e=>t=>{if(!e.includeHiddenNodes)return t.nodesInitialized;if(t.nodeLookup.size===0)return!1;for(const[,{internals:n}]of t.nodeLookup)if(n.handleBounds===void 0||!YD(n.userNode))return!1;return!0};function aNe(e={includeHiddenNodes:!1}){return Rn(sNe(e))}function oNe({dimensions:e,lineWidth:t,variant:n,className:i}){return c.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Br(["react-flow__background-pattern",n,i])})}function lNe({radius:e,className:t}){return c.jsx("circle",{cx:e,cy:e,r:e,className:Br(["react-flow__background-pattern","dots",t])})}var Kd;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Kd||(Kd={}));const cNe={[Kd.Dots]:1,[Kd.Lines]:1,[Kd.Cross]:6},uNe=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function pee({id:e,variant:t=Kd.Dots,gap:n=20,size:i,lineWidth:r=1,offset:s=0,color:a,bgColor:o,style:l,className:u,patternClassName:d}){const f=O.useRef(null),{transform:h,patternId:p}=Rn(uNe,Ki),m=i||cNe[t],g=t===Kd.Dots,y=t===Kd.Cross,b=Array.isArray(n)?n:[n,n],S=[b[0]*h[2]||1,b[1]*h[2]||1],x=m*h[2],v=Array.isArray(s)?s:[s,s],E=y?[x,x]:S,w=[v[0]*h[2]||1+E[0]/2,v[1]*h[2]||1+E[1]/2],k=`${p}${e||""}`;return c.jsxs("svg",{className:Br(["react-flow__background",u]),style:{...l,...XT,"--xy-background-color-props":o,"--xy-background-pattern-color-props":a},ref:f,"data-testid":"rf__background",children:[c.jsx("pattern",{id:k,x:h[0]%S[0],y:h[1]%S[1],width:S[0],height:S[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${w[0]},-${w[1]})`,children:g?c.jsx(lNe,{radius:x/2,className:d}):c.jsx(oNe,{dimensions:E,lineWidth:r,variant:t,className:d})}),c.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k})`})]})}pee.displayName="Background";const dNe=O.memo(pee);function fNe(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:c.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function hNe(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:c.jsx("path",{d:"M0 0h32v4.2H0z"})})}function pNe(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:c.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function mNe(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function gNe(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function NS({children:e,className:t,...n}){return c.jsx("button",{type:"button",className:Br(["react-flow__controls-button",t]),...n,children:e})}const ONe=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function mee({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:i=!0,fitViewOptions:r,onZoomIn:s,onZoomOut:a,onFitView:o,onInteractiveChange:l,className:u,children:d,position:f="bottom-left",orientation:h="vertical","aria-label":p}){const m=Ji(),{isInteractive:g,minZoomReached:y,maxZoomReached:b,ariaLabelConfig:S}=Rn(ONe,Ki),{zoomIn:x,zoomOut:v,fitView:E}=VT(),w=()=>{x(),s==null||s()},k=()=>{v(),a==null||a()},_=()=>{E(r),o==null||o()},C=()=>{m.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l==null||l(!g)},A=h==="horizontal"?"horizontal":"vertical";return c.jsxs(FT,{className:Br(["react-flow__controls",A,u]),position:f,style:e,"data-testid":"rf__controls","aria-label":p??S["controls.ariaLabel"],children:[t&&c.jsxs(c.Fragment,{children:[c.jsx(NS,{onClick:w,className:"react-flow__controls-zoomin",title:S["controls.zoomIn.ariaLabel"],"aria-label":S["controls.zoomIn.ariaLabel"],disabled:b,children:c.jsx(fNe,{})}),c.jsx(NS,{onClick:k,className:"react-flow__controls-zoomout",title:S["controls.zoomOut.ariaLabel"],"aria-label":S["controls.zoomOut.ariaLabel"],disabled:y,children:c.jsx(hNe,{})})]}),n&&c.jsx(NS,{className:"react-flow__controls-fitview",onClick:_,title:S["controls.fitView.ariaLabel"],"aria-label":S["controls.fitView.ariaLabel"],children:c.jsx(pNe,{})}),i&&c.jsx(NS,{className:"react-flow__controls-interactive",onClick:C,title:S["controls.interactive.ariaLabel"],"aria-label":S["controls.interactive.ariaLabel"],children:g?c.jsx(gNe,{}):c.jsx(mNe,{})}),d]})}mee.displayName="Controls";const bNe=O.memo(mee);function yNe({id:e,x:t,y:n,width:i,height:r,style:s,color:a,strokeColor:o,strokeWidth:l,className:u,borderRadius:d,shapeRendering:f,selected:h,onClick:p}){const{background:m,backgroundColor:g}=s||{},y=a||m||g;return c.jsx("rect",{className:Br(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:d,ry:d,width:i,height:r,style:{fill:y,stroke:o,strokeWidth:l},shapeRendering:f,onClick:p?b=>p(b,e):void 0})}const xNe=O.memo(yNe),SNe=e=>e.nodes.map(t=>t.id),qN=e=>e instanceof Function?e:()=>e;function vNe({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:i=5,nodeStrokeWidth:r,nodeComponent:s=xNe,onClick:a}){const o=Rn(SNe,Ki),l=qN(t),u=qN(e),d=qN(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return c.jsx(c.Fragment,{children:o.map(h=>c.jsx(ENe,{id:h,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:i,nodeStrokeWidth:r,NodeComponent:s,onClick:a,shapeRendering:f},h))})}function wNe({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:i,nodeBorderRadius:r,nodeStrokeWidth:s,shapeRendering:a,NodeComponent:o,onClick:l}){const{node:u,x:d,y:f,width:h,height:p}=Rn(m=>{const g=m.nodeLookup.get(e);if(!g)return{node:void 0,x:0,y:0,width:0,height:0};const y=g.internals.userNode,{x:b,y:S}=g.internals.positionAbsolute,{width:x,height:v}=zu(y);return{node:y,x:b,y:S,width:x,height:v}},Ki);return!u||u.hidden||!YD(u)?null:c.jsx(o,{x:d,y:f,width:h,height:p,style:u.style,selected:!!u.selected,className:i(u),color:t(u),borderRadius:r,strokeColor:n(u),strokeWidth:s,shapeRendering:a,onClick:l,id:u.id})}const ENe=O.memo(wNe);var kNe=O.memo(vNe);const TNe=200,_Ne=150,ANe=e=>!e.hidden,NNe=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?uJ(Vx(e.nodeLookup,{filter:ANe}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},CNe="react-flow__minimap-desc";function gee({style:e,className:t,nodeStrokeColor:n,nodeColor:i,nodeClassName:r="",nodeBorderRadius:s=5,nodeStrokeWidth:a,nodeComponent:o,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:f,position:h="bottom-right",onClick:p,onNodeClick:m,pannable:g=!1,zoomable:y=!1,ariaLabel:b,inversePan:S,zoomStep:x=1,offsetScale:v=5}){const E=Ji(),w=O.useRef(null),{boundingRect:k,viewBB:_,rfId:C,panZoom:A,translateExtent:R,flowWidth:j,flowHeight:Q,ariaLabelConfig:L}=Rn(NNe,Ki),D=(e==null?void 0:e.width)??TNe,N=(e==null?void 0:e.height)??_Ne,M=k.width/D,B=k.height/N,$=Math.max(M,B),I=$*D,G=$*N,X=v*$,U=k.x-(I-k.width)/2-X,Y=k.y-(G-k.height)/2-X,ae=I+X*2,fe=G+X*2,ke=`${CNe}-${C}`,K=O.useRef(0),ie=O.useRef();K.current=$,O.useEffect(()=>{if(w.current&&A)return ie.current=TTe({domNode:w.current,panZoom:A,getTransform:()=>E.getState().transform,getViewScale:()=>K.current}),()=>{var Ce;(Ce=ie.current)==null||Ce.destroy()}},[A]),O.useEffect(()=>{var Ce;(Ce=ie.current)==null||Ce.update({translateExtent:R,width:j,height:Q,inversePan:S,pannable:g,zoomStep:x,zoomable:y})},[g,y,S,x,R,j,Q]);const le=p?Ce=>{var te;const[_e,he]=((te=ie.current)==null?void 0:te.pointer(Ce))||[0,0];p(Ce,{x:_e,y:he})}:void 0,ge=m?O.useCallback((Ce,_e)=>{const he=E.getState().nodeLookup.get(_e).internals.userNode;m(Ce,he)},[]):void 0,Ee=b??L["minimap.ariaLabel"];return c.jsx(FT,{position:h,style:{...e,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof f=="number"?f*$:void 0,"--xy-minimap-node-background-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof a=="number"?a:void 0},className:Br(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:c.jsxs("svg",{width:D,height:N,viewBox:`${U} ${Y} ${ae} ${fe}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ke,ref:w,onClick:le,children:[Ee&&c.jsx("title",{id:ke,children:Ee}),c.jsx(kNe,{onClick:ge,nodeColor:i,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:r,nodeStrokeWidth:a,nodeComponent:o}),c.jsx("path",{className:"react-flow__minimap-mask",d:`M${U-X},${Y-X}h${ae+X*2}v${fe+X*2}h${-ae-X*2}z - M${_.x},${_.y}h${_.width}v${_.height}h${-_.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}gee.displayName="MiniMap";O.memo(gee);const RNe=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,INe={[Mg.Line]:"right",[Mg.Handle]:"bottom-right"};function PNe({nodeId:e,position:t,variant:n=Mg.Handle,className:i,style:r=void 0,children:s,color:a,minWidth:o=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:h,autoScale:p=!0,shouldResize:m,onResizeStart:g,onResize:y,onResizeEnd:b}){const S=HJ(),x=typeof e=="string"?e:S,v=Ji(),E=O.useRef(null),w=n===Mg.Handle,k=Rn(O.useCallback(RNe(w&&p),[w,p]),Ki),_=O.useRef(null),C=t??INe[n];O.useEffect(()=>{if(!(!E.current||!x))return _.current||(_.current=QTe({domNode:E.current,nodeId:x,getStoreItems:()=>{const{nodeLookup:R,transform:j,snapGrid:Q,snapToGrid:L,nodeOrigin:D,domNode:N}=v.getState();return{nodeLookup:R,transform:j,snapGrid:Q,snapToGrid:L,nodeOrigin:D,paneDomNode:N}},onChange:(R,j)=>{const{triggerNodeChanges:Q,nodeLookup:L,parentLookup:D,nodeOrigin:N}=v.getState(),M=[],B={x:R.x,y:R.y},$=L.get(x);if($&&$.expandParent&&$.parentId){const I=$.origin??N,G=R.width??$.measured.width??0,X=R.height??$.measured.height??0,U={id:$.id,parentId:$.parentId,rect:{width:G,height:X,...fJ({x:R.x??$.position.x,y:R.y??$.position.y},{width:G,height:X},$.parentId,L,I)}},Y=e$([U],L,D,N);M.push(...Y),B.x=R.x?Math.max(I[0]*G,R.x):void 0,B.y=R.y?Math.max(I[1]*X,R.y):void 0}if(B.x!==void 0&&B.y!==void 0){const I={id:x,type:"position",position:{...B}};M.push(I)}if(R.width!==void 0&&R.height!==void 0){const G={id:x,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:R.width,height:R.height}};M.push(G)}for(const I of j){const G={...I,type:"position"};M.push(G)}Q(M)},onEnd:({width:R,height:j})=>{const Q={id:x,type:"dimensions",resizing:!1,dimensions:{width:R,height:j}};v.getState().triggerNodeChanges([Q])}})),_.current.update({controlPosition:C,boundaries:{minWidth:o,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:f,resizeDirection:h,onResizeStart:g,onResize:y,onResizeEnd:b,shouldResize:m}),()=>{var R;(R=_.current)==null||R.destroy()}},[C,o,l,u,d,f,g,y,b,m]);const A=C.split("-");return c.jsx("div",{className:Br(["react-flow__resize-control","nodrag",...A,n,i]),ref:E,style:{...r,scale:k,...a&&{[w?"backgroundColor":"borderColor"]:a}},children:s})}O.memo(PNe);var Oee=Object.defineProperty,jNe=(e,t,n)=>t in e?Oee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,MNe=(e,t)=>{for(var n in t)Oee(e,n,{get:t[n],enumerable:!0})},LNe=(e,t,n)=>jNe(e,t+"",n),bee={};MNe(bee,{Graph:()=>Xo,alg:()=>n$,json:()=>xee,version:()=>QNe});var DNe=Object.defineProperty,yee=(e,t)=>{for(var n in t)DNe(e,n,{get:t[n],enumerable:!0})},Xo=class{constructor(t){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},t&&(this._isDirected="directed"in t?t.directed:!0,this._isMultigraph="multigraph"in t?t.multigraph:!1,this._isCompound="compound"in t?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return typeof t!="function"?this._defaultNodeLabelFn=()=>t:this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(t=>Object.keys(this._in[t]).length===0)}sinks(){return this.nodes().filter(t=>Object.keys(this._out[t]).length===0)}setNodes(t,n){return t.forEach(i=>{n!==void 0?this.setNode(i,n):this.setNode(i)}),this}setNode(t,n){return t in this._nodes?(arguments.length>1&&(this._nodes[t]=n),this):(this._nodes[t]=arguments.length>1?n:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return t in this._nodes}removeNode(t){if(t in this._nodes){let n=i=>this.removeEdge(this._edgeObjs[i]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(i=>{this.setParent(i)}),delete this._children[t]),Object.keys(this._in[t]).forEach(n),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,n){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(n===void 0)n="\0";else{n+="";for(let i=n;i!==void 0;i=this.parent(i))if(i===t)throw new Error("Setting "+n+" as parent of "+t+" would create a cycle");this.setNode(n)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=n,this._children[n][t]=!0,this}parent(t){if(this._isCompound){let n=this._parent[t];if(n!=="\0")return n}}children(t="\0"){if(this._isCompound){let n=this._children[t];if(n)return Object.keys(n)}else{if(t==="\0")return this.nodes();if(this.hasNode(t))return[]}return[]}predecessors(t){let n=this._preds[t];if(n)return Object.keys(n)}successors(t){let n=this._sucs[t];if(n)return Object.keys(n)}neighbors(t){let n=this.predecessors(t);if(n){let i=new Set(n);for(let r of this.successors(t))i.add(r);return Array.from(i.values())}}isLeaf(t){let n;return this.isDirected()?n=this.successors(t):n=this.neighbors(t),n.length===0}filterNodes(t){let n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),Object.entries(this._nodes).forEach(([s,a])=>{t(s)&&n.setNode(s,a)}),Object.values(this._edgeObjs).forEach(s=>{n.hasNode(s.v)&&n.hasNode(s.w)&&n.setEdge(s,this.edge(s))});let i={},r=s=>{let a=this.parent(s);return!a||n.hasNode(a)?(i[s]=a??void 0,a??void 0):a in i?i[a]:r(a)};return this._isCompound&&n.nodes().forEach(s=>n.setParent(s,r(s))),n}setDefaultEdgeLabel(t){return typeof t!="function"?this._defaultEdgeLabelFn=()=>t:this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,n){return t.reduce((i,r)=>(n!==void 0?this.setEdge(i,r,n):this.setEdge(i,r),r)),this}setEdge(t,n,i,r){let s,a,o,l,u=!1;typeof t=="object"&&t!==null&&"v"in t?(s=t.v,a=t.w,o=t.name,arguments.length===2&&(l=n,u=!0)):(s=t,a=n,o=r,arguments.length>2&&(l=i,u=!0)),s=""+s,a=""+a,o!==void 0&&(o=""+o);let d=ZO(this._isDirected,s,a,o);if(d in this._edgeLabels)return u&&(this._edgeLabels[d]=l),this;if(o!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(s),this.setNode(a),this._edgeLabels[d]=u?l:this._defaultEdgeLabelFn(s,a,o);let f=$Ne(this._isDirected,s,a,o);return s=f.v,a=f.w,Object.freeze(f),this._edgeObjs[d]=f,e9(this._preds[a],s),e9(this._sucs[s],a),this._in[a][d]=f,this._out[s][d]=f,this._edgeCount++,this}edge(t,n,i){let r=arguments.length===1?HN(this._isDirected,t):ZO(this._isDirected,t,n,i);return this._edgeLabels[r]}edgeAsObj(t,n,i){let r=arguments.length===1?this.edge(t):this.edge(t,n,i);return typeof r!="object"?{label:r}:r}hasEdge(t,n,i){return(arguments.length===1?HN(this._isDirected,t):ZO(this._isDirected,t,n,i))in this._edgeLabels}removeEdge(t,n,i){let r=arguments.length===1?HN(this._isDirected,t):ZO(this._isDirected,t,n,i),s=this._edgeObjs[r];if(s){let a=s.v,o=s.w;delete this._edgeLabels[r],delete this._edgeObjs[r],t9(this._preds[o],a),t9(this._sucs[a],o),delete this._in[o][r],delete this._out[a][r],this._edgeCount--}return this}inEdges(t,n){return this.isDirected()?this.filterEdges(this._in[t],t,n):this.nodeEdges(t,n)}outEdges(t,n){return this.isDirected()?this.filterEdges(this._out[t],t,n):this.nodeEdges(t,n)}nodeEdges(t,n){if(t in this._nodes)return this.filterEdges({...this._in[t],...this._out[t]},t,n)}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}filterEdges(t,n,i){if(!t)return;let r=Object.values(t);return i?r.filter(s=>s.v===n&&s.w===i||s.v===i&&s.w===n):r}};function e9(e,t){e[t]?e[t]++:e[t]=1}function t9(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function ZO(e,t,n,i){let r=""+t,s=""+n;if(!e&&r>s){let a=r;r=s,s=a}return r+""+s+""+(i===void 0?"\0":i)}function $Ne(e,t,n,i){let r=""+t,s=""+n;if(!e&&r>s){let o=r;r=s,s=o}let a={v:r,w:s};return i&&(a.name=i),a}function HN(e,t){return ZO(e,t.v,t.w,t.name)}var QNe="4.0.1",xee={};yee(xee,{read:()=>FNe,write:()=>BNe});function BNe(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:UNe(e),edges:zNe(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function UNe(e){return e.nodes().map(t=>{let n=e.node(t),i=e.parent(t),r={v:t};return n!==void 0&&(r.value=n),i!==void 0&&(r.parent=i),r})}function zNe(e){return e.edges().map(t=>{let n=e.edge(t),i={v:t.v,w:t.w};return t.name!==void 0&&(i.name=t.name),n!==void 0&&(i.value=n),i})}function FNe(e){let t=new Xo(e.options);return e.value!==void 0&&t.setGraph(e.value),e.nodes.forEach(n=>{t.setNode(n.v,n.value),n.parent&&t.setParent(n.v,n.parent)}),e.edges.forEach(n=>{t.setEdge({v:n.v,w:n.w,name:n.name},n.value)}),t}var n$={};yee(n$,{CycleException:()=>zE,bellmanFord:()=>See,components:()=>qNe,dijkstra:()=>UE,dijkstraAll:()=>GNe,findCycles:()=>WNe,floydWarshall:()=>KNe,isAcyclic:()=>e2e,postorder:()=>n2e,preorder:()=>i2e,prim:()=>r2e,shortestPaths:()=>s2e,tarjan:()=>wee,topsort:()=>Eee});var VNe=()=>1;function See(e,t,n,i){return XNe(e,String(t),n||VNe,i||function(r){return e.outEdges(r)})}function XNe(e,t,n,i){let r={},s,a=0,o=e.nodes(),l=function(f){let h=n(f);r[f.v].distance+he.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(e,t){let n=this._keyIndices,i=String(e);if(!(i in n)){let r=this._arr,s=r.length;return n[i]=s,r.push({key:i,priority:t}),this._decrease(s),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let n=this._keyIndices[e];if(n===void 0)throw new Error(`Key not found: ${e}`);let i=this._arr[n].priority;if(t>i)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${i} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,i=n+1,r=e;n>1,!(t[i].priority1;function UE(e,t,n,i){let r=function(s){return e.outEdges(s)};return YNe(e,String(t),n||HNe,i||r)}function YNe(e,t,n,i){let r={},s=new vee,a,o,l=function(u){let d=u.v!==a?u.v:u.w,f=r[d],h=n(u),p=o.distance+h;if(h<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+h);p0&&(a=s.removeMin(),o=r[a],o.distance!==Number.POSITIVE_INFINITY);)i(a).forEach(l);return r}function GNe(e,t,n){return e.nodes().reduce(function(i,r){return i[r]=UE(e,r,t,n),i},{})}function wee(e){let t=0,n=[],i={},r=[];function s(a){let o=i[a]={onStack:!0,lowlink:t,index:t++};if(n.push(a),e.successors(a).forEach(function(l){l in i?i[l].onStack&&(o.lowlink=Math.min(o.lowlink,i[l].index)):(s(l),o.lowlink=Math.min(o.lowlink,i[l].lowlink))}),o.lowlink===o.index){let l=[],u;do u=n.pop(),i[u].onStack=!1,l.push(u);while(a!==u);r.push(l)}}return e.nodes().forEach(function(a){a in i||s(a)}),r}function WNe(e){return wee(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}var ZNe=()=>1;function KNe(e,t,n){return JNe(e,t||ZNe,n||function(i){return e.outEdges(i)})}function JNe(e,t,n){let i={},r=e.nodes();return r.forEach(function(s){i[s]={},i[s][s]={distance:0,predecessor:""},r.forEach(function(a){s!==a&&(i[s][a]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),n(s).forEach(function(a){let o=a.v===s?a.w:a.v,l=t(a);i[s][o]={distance:l,predecessor:s}})}),r.forEach(function(s){let a=i[s];r.forEach(function(o){let l=i[o];r.forEach(function(u){let d=l[s],f=a[u],h=l[u],p=d.distance+f.distance;p{var l;return(l=e.isDirected()?e.successors(o):e.neighbors(o))!=null?l:[]},a={};return t.forEach(function(o){if(!e.hasNode(o))throw new Error("Graph does not have node: "+o);r=kee(e,o,n==="post",a,s,i,r)}),r}function kee(e,t,n,i,r,s,a){return t in i||(i[t]=!0,n||(a=s(a,t)),r(t).forEach(function(o){a=kee(e,o,n,i,r,s,a)}),n&&(a=s(a,t))),a}function Tee(e,t,n){return t2e(e,t,n,function(i,r){return i.push(r),i},[])}function n2e(e,t){return Tee(e,t,"post")}function i2e(e,t){return Tee(e,t,"pre")}function r2e(e,t){let n=new Xo,i={},r=new vee,s;function a(l){let u=l.v===s?l.w:l.v,d=r.priority(u);if(d!==void 0){let f=t(l);f0;){if(s=r.removeMin(),s in i)n.setEdge(s,i[s]);else{if(o)throw new Error("Input graph is not connected: "+e);o=!0}e.nodeEdges(s).forEach(a)}return n}function s2e(e,t,n,i){return a2e(e,t,n,i??(r=>{let s=e.outEdges(r);return s??[]}))}function a2e(e,t,n,i){if(n===void 0)return UE(e,t,n,i);let r=!1,s=e.nodes();for(let a=0;at.setNode(n,e.node(n))),e.edges().forEach(n=>{let i=t.edge(n.v,n.w)||{weight:0,minlen:1},r=e.edge(n);t.setEdge(n.v,n.w,{weight:i.weight+r.weight,minlen:Math.max(i.minlen,r.minlen)})}),t}function _ee(e){let t=new Xo({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function n9(e,t){let n=e.x,i=e.y,r=t.x-n,s=t.y-i,a=e.width/2,o=e.height/2;if(!r&&!s)throw new Error("Not possible to find intersection inside of the rectangle");let l,u;return Math.abs(s)*a>Math.abs(r)*o?(s<0&&(o=-o),l=o*r/s,u=o):(r<0&&(a=-a),l=a,u=a*s/r),{x:n+l,y:i+u}}function Hx(e){let t=jy(Nee(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let i=e.node(n),r=i.rank;r!==void 0&&(t[r]||(t[r]=[]),t[r][i.order]=n)}),t}function l2e(e){let t=e.nodes().map(i=>{let r=e.node(i).rank;return r===void 0?Number.MAX_VALUE:r}),n=ac(Math.min,t);e.nodes().forEach(i=>{let r=e.node(i);Object.hasOwn(r,"rank")&&(r.rank-=n)})}function c2e(e){let t=e.nodes().map(a=>e.node(a).rank).filter(a=>a!==void 0),n=ac(Math.min,t),i=[];e.nodes().forEach(a=>{let o=e.node(a).rank-n;i[o]||(i[o]=[]),i[o].push(a)});let r=0,s=e.graph().nodeRankFactor;Array.from(i).forEach((a,o)=>{a===void 0&&o%s!==0?--r:a!==void 0&&r&&a.forEach(l=>e.node(l).rank+=r)})}function i9(e,t,n,i){let r={width:0,height:0};return arguments.length>=4&&(r.rank=n,r.order=i),x0(e,"border",r,t)}function u2e(e,t=Aee){let n=[];for(let i=0;iAee){let n=u2e(t);return e(...n.map(i=>e(...i)))}else return e(...t)}function Nee(e){let t=e.nodes().map(n=>{let i=e.node(n).rank;return i===void 0?Number.MIN_VALUE:i});return ac(Math.max,t)}function d2e(e,t){let n={lhs:[],rhs:[]};return e.forEach(i=>{t(i)?n.lhs.push(i):n.rhs.push(i)}),n}function Cee(e,t){let n=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-n)+"ms")}}function Ree(e,t){return t()}var f2e=0;function i$(e){let t=++f2e;return e+(""+t)}function jy(e,t,n=1){t==null&&(t=e,e=0);let i=s=>sti[t]:n=t,Object.entries(e).reduce((i,[r,s])=>(i[r]=n(s,r),i),{})}function h2e(e,t){return e.reduce((n,i,r)=>(n[i]=t[r],n),{})}var HT="\0",p2e="3.0.0",m2e=class{constructor(){LNe(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return r9(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&r9(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,g2e)),n=n._prev;return"["+e.join(", ")+"]"}};function r9(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function g2e(e,t){if(e!=="_next"&&e!=="_prev")return t}var O2e=m2e,b2e=()=>1;function y2e(e,t){if(e.nodeCount()<=1)return[];let n=S2e(e,t||b2e);return x2e(n.graph,n.buckets,n.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w)||[])}function x2e(e,t,n){var i;let r=[],s=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)YN(e,t,n,o);for(;o=s.dequeue();)YN(e,t,n,o);if(e.nodeCount()){for(let l=t.length-2;l>0;--l)if(o=(i=t[l])==null?void 0:i.dequeue(),o){r=r.concat(YN(e,t,n,o,!0)||[]);break}}}return r}function YN(e,t,n,i,r){let s=[],a=r?s:void 0;return(e.inEdges(i.v)||[]).forEach(o=>{let l=e.edge(o),u=e.node(o.v);r&&s.push({v:o.v,w:o.w}),u.out-=l,hP(t,n,u)}),(e.outEdges(i.v)||[]).forEach(o=>{let l=e.edge(o),u=o.w,d=e.node(u);d.in-=l,hP(t,n,d)}),e.removeNode(i.v),a}function S2e(e,t){let n=new Xo,i=0,r=0;e.nodes().forEach(o=>{n.setNode(o,{v:o,in:0,out:0})}),e.edges().forEach(o=>{let l=n.edge(o.v,o.w)||0,u=t(o),d=l+u;n.setEdge(o.v,o.w,d);let f=n.node(o.v),h=n.node(o.w);r=Math.max(r,f.out+=u),i=Math.max(i,h.in+=u)});let s=v2e(r+i+3).map(()=>new O2e),a=i+1;return n.nodes().forEach(o=>{hP(s,a,n.node(o))}),{graph:n,buckets:s,zeroIdx:a}}function hP(e,t,n){var i,r,s;n.out?n.in?(s=e[n.out-n.in+t])==null||s.enqueue(n):(r=e[e.length-1])==null||r.enqueue(n):(i=e[0])==null||i.enqueue(n)}function v2e(e){let t=[];for(let n=0;n{let i=e.edge(n);e.removeEdge(n),i.forwardName=n.name,i.reversed=!0,e.setEdge(n.w,n.v,i,i$("rev"))});function t(n){return i=>n.edge(i).weight}}function E2e(e){let t=[],n={},i={};function r(s){Object.hasOwn(i,s)||(i[s]=!0,n[s]=!0,e.outEdges(s).forEach(a=>{Object.hasOwn(n,a.w)?t.push(a):r(a.w)}),delete n[s])}return e.nodes().forEach(r),t}function k2e(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let i=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,i)}})}function T2e(e){e.graph().dummyChains=[],e.edges().forEach(t=>_2e(e,t))}function _2e(e,t){let n=t.v,i=e.node(n).rank,r=t.w,s=e.node(r).rank,a=t.name,o=e.edge(t),l=o.labelRank;if(s===i+1)return;e.removeEdge(t);let u,d,f;for(f=0,++i;i{let n=e.node(t),i=n.edgeLabel,r;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}function r$(e){let t={};function n(i){let r=e.node(i);if(Object.hasOwn(t,i))return r.rank;t[i]=!0;let s=e.outEdges(i),a=s?s.map(l=>l==null?Number.POSITIVE_INFINITY:n(l.w)-e.edge(l).minlen):[],o=ac(Math.min,a);return o===Number.POSITIVE_INFINITY&&(o=0),r.rank=o}e.sources().forEach(n)}function Dg(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var Iee=N2e;function N2e(e){let t=new Xo({directed:!1}),n=e.nodes();if(n.length===0)throw new Error("Graph must have at least one node");let i=n[0],r=e.nodeCount();t.setNode(i,{});let s,a;for(;C2e(t,e){let a=s.v,o=i===a?s.w:a;!e.hasNode(o)&&!Dg(t,s)&&(e.setNode(o,{}),e.setEdge(i,o,{}),n(o))})}return e.nodes().forEach(n),e.nodeCount()}function R2e(e,t){return t.edges().reduce((n,i)=>{let r=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(r=Dg(t,i)),rt.node(i).rank+=n)}var{preorder:P2e,postorder:j2e}=n$,M2e=fp;fp.initLowLimValues=a$;fp.initCutValues=s$;fp.calcCutValue=Pee;fp.leaveEdge=Mee;fp.enterEdge=Lee;fp.exchangeEdges=Dee;function fp(e){e=o2e(e),r$(e);let t=Iee(e);a$(t),s$(t,e);let n,i;for(;n=Mee(t);)i=Lee(t,e,n),Dee(t,e,n,i)}function s$(e,t){let n=j2e(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(i=>L2e(e,t,i))}function L2e(e,t,n){let i=e.node(n).parent,r=e.edge(n,i);r.cutvalue=Pee(e,t,n)}function Pee(e,t,n){let i=e.node(n).parent,r=!0,s=t.edge(n,i),a=0;s||(r=!1,s=t.edge(i,n)),a=s.weight;let o=t.nodeEdges(n);return o&&o.forEach(l=>{let u=l.v===n,d=u?l.w:l.v;if(d!==i){let f=u===r,h=t.edge(l).weight;if(a+=f?h:-h,$2e(e,n,d)){let p=e.edge(n,d).cutvalue;a+=f?-p:p}}}),a}function a$(e,t){arguments.length<2&&(t=e.nodes()[0]),jee(e,{},1,t)}function jee(e,t,n,i,r){let s=n,a=e.node(i);t[i]=!0;let o=e.neighbors(i);return o&&o.forEach(l=>{Object.hasOwn(t,l)||(n=jee(e,t,n,l,i))}),a.low=s,a.lim=n++,r?a.parent=r:delete a.parent,n}function Mee(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function Lee(e,t,n){let i=n.v,r=n.w;t.hasEdge(i,r)||(i=n.w,r=n.v);let s=e.node(i),a=e.node(r),o=s,l=!1;return s.lim>a.lim&&(o=a,l=!0),t.edges().filter(u=>l===s9(e,e.node(u.v),o)&&l!==s9(e,e.node(u.w),o)).reduce((u,d)=>Dg(t,d)!e.node(r).parent);if(!n)return;let i=P2e(e,[n]);i=i.slice(1),i.forEach(r=>{let s=e.node(r).parent,a=t.edge(r,s),o=!1;a||(a=t.edge(s,r),o=!0),t.node(r).rank=t.node(s).rank+(o?a.minlen:-a.minlen)})}function $2e(e,t,n){return e.hasEdge(t,n)}function s9(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var Q2e=B2e;function B2e(e){let t=e.graph().ranker;if(typeof t=="function")return t(e);switch(t){case"network-simplex":a9(e);break;case"tight-tree":z2e(e);break;case"longest-path":U2e(e);break;case"none":break;default:a9(e)}}var U2e=r$;function z2e(e){r$(e),Iee(e)}function a9(e){M2e(e)}var F2e=V2e;function V2e(e){let t=q2e(e);e.graph().dummyChains.forEach(n=>{let i=e.node(n),r=i.edgeObj,s=X2e(e,t,r.v,r.w),a=s.path,o=s.lca,l=0,u=a[l],d=!0;for(;n!==r.w;){if(i=e.node(n),d){for(;(u=a[l])!==o&&e.node(u).maxRanka||o>t[l].lim));let u=l,d=i;for(;(d=e.parent(d))!==u;)s.push(d);return{path:r.concat(s.reverse()),lca:u}}function q2e(e){let t={},n=0;function i(r){let s=n;e.children(r).forEach(i),t[r]={low:s,lim:n++}}return e.children(HT).forEach(i),t}function H2e(e){let t=x0(e,"root",{},"_root"),n=Y2e(e),i=Object.values(n),r=ac(Math.max,i)-1,s=2*r+1;e.graph().nestingRoot=t,e.edges().forEach(o=>e.edge(o).minlen*=s);let a=G2e(e)+1;e.children(HT).forEach(o=>$ee(e,t,s,a,r,n,o)),e.graph().nodeRankFactor=s}function $ee(e,t,n,i,r,s,a){var o;let l=e.children(a);if(!l.length){a!==t&&e.setEdge(t,a,{weight:0,minlen:n});return}let u=i9(e,"_bt"),d=i9(e,"_bb"),f=e.node(a);e.setParent(u,a),f.borderTop=u,e.setParent(d,a),f.borderBottom=d,l.forEach(h=>{var p;$ee(e,t,n,i,r,s,h);let m=e.node(h),g=m.borderTop?m.borderTop:h,y=m.borderBottom?m.borderBottom:h,b=m.borderTop?i:2*i,S=g!==y?1:r-((p=s[a])!=null?p:0)+1;e.setEdge(u,g,{weight:b,minlen:S,nestingEdge:!0}),e.setEdge(y,d,{weight:b,minlen:S,nestingEdge:!0})}),e.parent(a)||e.setEdge(t,u,{weight:0,minlen:r+((o=s[a])!=null?o:0)})}function Y2e(e){let t={};function n(i,r){let s=e.children(i);s&&s.length&&s.forEach(a=>n(a,r+1)),t[i]=r}return e.children(HT).forEach(i=>n(i,1)),t}function G2e(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function W2e(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(n=>{e.edge(n).nestingEdge&&e.removeEdge(n)})}var Z2e=K2e;function K2e(e){function t(n){let i=e.children(n),r=e.node(n);if(i.length&&i.forEach(t),Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let s=r.minRank,a=r.maxRank+1;sl9(e.node(t))),e.edges().forEach(t=>l9(e.edge(t)))}function l9(e){let t=e.width;e.width=e.height,e.height=t}function tCe(e){e.nodes().forEach(t=>GN(e.node(t))),e.edges().forEach(t=>{var n;let i=e.edge(t);(n=i.points)==null||n.forEach(GN),Object.hasOwn(i,"y")&&GN(i)})}function GN(e){e.y=-e.y}function nCe(e){e.nodes().forEach(t=>WN(e.node(t))),e.edges().forEach(t=>{var n;let i=e.edge(t);(n=i.points)==null||n.forEach(WN),Object.hasOwn(i,"x")&&WN(i)})}function WN(e){let t=e.x;e.x=e.y,e.y=t}function iCe(e){let t={},n=e.nodes().filter(o=>!e.children(o).length),i=n.map(o=>e.node(o).rank),r=ac(Math.max,i),s=jy(r+1).map(()=>[]);function a(o){if(t[o])return;t[o]=!0;let l=e.node(o);s[l.rank].push(o);let u=e.successors(o);u&&u.forEach(a)}return n.sort((o,l)=>e.node(o).rank-e.node(l).rank).forEach(a),s}function rCe(e,t){let n=0;for(let i=1;id)),r=t.flatMap(u=>{let d=e.outEdges(u);return d?d.map(f=>({pos:i[f.w],weight:e.edge(f).weight})).sort((f,h)=>f.pos-h.pos):[]}),s=1;for(;s{let d=u.pos+s;o[d]+=u.weight;let f=0;for(;d>0;)d%2&&(f+=o[d+1]),d=d-1>>1,o[d]+=u.weight;l+=u.weight*f}),l}function aCe(e,t=[]){return t.map(n=>{let i=e.inEdges(n);if(!i||!i.length)return{v:n};{let r=i.reduce((s,a)=>{let o=e.edge(a),l=e.node(a.v);return{sum:s.sum+o.weight*l.order,weight:s.weight+o.weight}},{sum:0,weight:0});return{v:n,barycenter:r.sum/r.weight,weight:r.weight}}})}function oCe(e,t){let n={};e.forEach((r,s)=>{let a={indegree:0,in:[],out:[],vs:[r.v],i:s};r.barycenter!==void 0&&(a.barycenter=r.barycenter,a.weight=r.weight),n[r.v]=a}),t.edges().forEach(r=>{let s=n[r.v],a=n[r.w];s!==void 0&&a!==void 0&&(a.indegree++,s.out.push(a))});let i=Object.values(n).filter(r=>!r.indegree);return lCe(i)}function lCe(e){let t=[];function n(r){return s=>{s.merged||(s.barycenter===void 0||r.barycenter===void 0||s.barycenter>=r.barycenter)&&cCe(r,s)}}function i(r){return s=>{s.in.push(r),--s.indegree===0&&e.push(s)}}for(;e.length;){let r=e.pop();t.push(r),r.in.reverse().forEach(n(r)),r.out.forEach(i(r))}return t.filter(r=>!r.merged).map(r=>FE(r,["vs","i","barycenter","weight"]))}function cCe(e,t){let n=0,i=0;e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),t.weight&&(n+=t.barycenter*t.weight,i+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/i,e.weight=i,e.i=Math.min(t.i,e.i),t.merged=!0}function uCe(e,t){let n=d2e(e,d=>Object.hasOwn(d,"barycenter")),i=n.lhs,r=n.rhs.sort((d,f)=>f.i-d.i),s=[],a=0,o=0,l=0;i.sort(dCe(!!t)),l=c9(s,r,l),i.forEach(d=>{l+=d.vs.length,s.push(d.vs),a+=d.barycenter*d.weight,o+=d.weight,l=c9(s,r,l)});let u={vs:s.flat(1)};return o&&(u.barycenter=a/o,u.weight=o),u}function c9(e,t,n){let i;for(;t.length&&(i=t[t.length-1]).i<=n;)t.pop(),e.push(i.vs),n++;return n}function dCe(e){return(t,n)=>t.barycentern.barycenter?1:e?n.i-t.i:t.i-n.i}function Bee(e,t,n,i){let r=e.children(t),s=e.node(t),a=s?s.borderLeft:void 0,o=s?s.borderRight:void 0,l={};a&&(r=r.filter(h=>h!==a&&h!==o));let u=aCe(e,r);u.forEach(h=>{if(e.children(h.v).length){let p=Bee(e,h.v,n,i);l[h.v]=p,Object.hasOwn(p,"barycenter")&&hCe(h,p)}});let d=oCe(u,n);fCe(d,l);let f=uCe(d,i);if(a&&o){f.vs=[a,f.vs,o].flat(1);let h=e.predecessors(a);if(h&&h.length){let p=e.node(h[0]),m=e.predecessors(o),g=e.node(m[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+p.order+g.order)/(f.weight+2),f.weight+=2}}return f}function fCe(e,t){e.forEach(n=>{n.vs=n.vs.flatMap(i=>t[i]?t[i].vs:i)})}function hCe(e,t){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight):(e.barycenter=t.barycenter,e.weight=t.weight)}function pCe(e,t,n,i){i||(i=e.nodes());let r=mCe(e),s=new Xo({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return i.forEach(a=>{let o=e.node(a),l=e.parent(a);if(o.rank===t||o.minRank<=t&&t<=o.maxRank){s.setNode(a),s.setParent(a,l||r);let u=e[n](a);u&&u.forEach(d=>{let f=d.v===a?d.w:d.v,h=s.edge(f,a),p=h!==void 0?h.weight:0;s.setEdge(f,a,{weight:e.edge(d).weight+p})}),Object.hasOwn(o,"minRank")&&s.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]})}}),s}function mCe(e){let t;for(;e.hasNode(t=i$("_root")););return t}function gCe(e,t,n){let i={},r;n.forEach(s=>{let a=e.parent(s),o,l;for(;a;){if(o=e.parent(a),o?(l=i[o],i[o]=a):(l=r,r=a),l&&l!==a){t.setEdge(l,a);return}a=o}})}function Uee(e,t={}){if(typeof t.customOrder=="function"){t.customOrder(e,Uee);return}let n=Nee(e),i=u9(e,jy(1,n+1),"inEdges"),r=u9(e,jy(n-1,-1,-1),"outEdges"),s=iCe(e);if(d9(e,s),t.disableOptimalOrderHeuristic)return;let a=Number.POSITIVE_INFINITY,o,l=t.constraints||[];for(let u=0,d=0;d<4;++u,++d){OCe(u%2?i:r,u%4>=2,l),s=Hx(e);let f=rCe(e,s);f{i.has(s)||i.set(s,[]),i.get(s).push(a)};for(let s of e.nodes()){let a=e.node(s);if(typeof a.rank=="number"&&r(a.rank,s),typeof a.minRank=="number"&&typeof a.maxRank=="number")for(let o=a.minRank;o<=a.maxRank;o++)o!==a.rank&&r(o,s)}return t.map(function(s){return pCe(e,s,n,i.get(s)||[])})}function OCe(e,t,n){let i=new Xo;e.forEach(function(r){n.forEach(o=>i.setEdge(o.left,o.right));let s=r.graph().root,a=Bee(r,s,i,t);a.vs.forEach((o,l)=>r.node(o).order=l),gCe(r,i,a.vs)})}function d9(e,t){Object.values(t).forEach(n=>n.forEach((i,r)=>e.node(i).order=r))}function bCe(e,t){let n={};function i(r,s){let a=0,o=0,l=r.length,u=s[s.length-1];return s.forEach((d,f)=>{let h=xCe(e,d),p=h?e.node(h).order:l;(h||d===u)&&(s.slice(o,f+1).forEach(m=>{let g=e.predecessors(m);g&&g.forEach(y=>{let b=e.node(y),S=b.order;(S{let f=s[d];if(f!==void 0&&e.node(f).dummy){let h=e.predecessors(f);h&&h.forEach(p=>{if(p===void 0)return;let m=e.node(p);m.dummy&&(m.orderu)&&zee(n,p,f)})}})}function r(s,a){let o=-1,l=-1,u=0;return a.forEach((d,f)=>{if(e.node(d).dummy==="border"){let h=e.predecessors(d);if(h&&h.length){let p=h[0];if(p===void 0)return;l=e.node(p).order,i(a,u,f,o,l),u=f,o=l}}i(a,u,a.length,l,s.length)}),a}return t.length&&t.reduce(r),n}function xCe(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(i=>e.node(i).dummy)}}function zee(e,t,n){if(t>n){let r=t;t=n,n=r}let i=e[t];i||(e[t]=i={}),i[n]=!0}function SCe(e,t,n){if(t>n){let r=t;t=n,n=r}let i=e[t];return i!==void 0&&Object.hasOwn(i,n)}function vCe(e,t,n,i){let r={},s={},a={};return t.forEach(o=>{o.forEach((l,u)=>{r[l]=l,s[l]=l,a[l]=u})}),t.forEach(o=>{let l=-1;o.forEach(u=>{let d=i(u);if(d&&d.length){let f=d.sort((p,m)=>{let g=a[p],y=a[m];return(g!==void 0?g:0)-(y!==void 0?y:0)}),h=(f.length-1)/2;for(let p=Math.floor(h),m=Math.ceil(h);p<=m;++p){let g=f[p];if(g===void 0)continue;let y=a[g];if(y!==void 0&&s[u]===u&&l{var b;let S=(b=s[y.v])!=null?b:0,x=a.edge(y);return Math.max(g,S+(x!==void 0?x:0))},0):s[p]=0}function d(p){let m=a.outEdges(p),g=Number.POSITIVE_INFINITY;m&&(g=m.reduce((b,S)=>{let x=s[S.w],v=a.edge(S);return Math.min(b,(x!==void 0?x:0)-(v!==void 0?v:0))},Number.POSITIVE_INFINITY));let y=e.node(p);g!==Number.POSITIVE_INFINITY&&y.borderType!==o&&(s[p]=Math.max(s[p]!==void 0?s[p]:0,g))}function f(p){return a.predecessors(p)||[]}function h(p){return a.successors(p)||[]}return l(u,f),l(d,h),Object.keys(i).forEach(p=>{var m;let g=n[p];g!==void 0&&(s[p]=(m=s[g])!=null?m:0)}),s}function ECe(e,t,n,i){let r=new Xo,s=e.graph(),a=NCe(s.nodesep,s.edgesep,i);return t.forEach(o=>{let l;o.forEach(u=>{let d=n[u];if(d!==void 0){if(r.setNode(d),l!==void 0){let f=n[l];if(f!==void 0){let h=r.edge(f,d);r.setEdge(f,d,Math.max(a(e,u,l),h||0))}}l=u}})}),r}function kCe(e,t){return Object.values(t).reduce((n,i)=>{let r=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY;Object.entries(i).forEach(([o,l])=>{let u=CCe(e,o)/2;r=Math.max(l+u,r),s=Math.min(l-u,s)});let a=r-s;return a{["l","r"].forEach(a=>{let o=s+a,l=e[o];if(!l||l===t)return;let u=Object.values(l),d=i-ac(Math.min,u);a!=="l"&&(d=r-ac(Math.max,u)),d&&(e[o]=qT(l,f=>f+d))})})}function _Ce(e,t=void 0){let n=e.ul;return n?qT(n,(i,r)=>{var s,a;if(t){let l=t.toLowerCase(),u=e[l];if(u&&u[r]!==void 0)return u[r]}let o=Object.values(e).map(l=>{let u=l[r];return u!==void 0?u:0}).sort((l,u)=>l-u);return(((s=o[1])!=null?s:0)+((a=o[2])!=null?a:0))/2}):{}}function ACe(e){let t=Hx(e),n=Object.assign(bCe(e,t),yCe(e,t)),i={},r;["u","d"].forEach(a=>{r=a==="u"?t:Object.values(t).reverse(),["l","r"].forEach(o=>{o==="r"&&(r=r.map(d=>Object.values(d).reverse()));let l=vCe(e,r,n,d=>(a==="u"?e.predecessors(d):e.successors(d))||[]),u=wCe(e,r,l.root,l.align,o==="r");o==="r"&&(u=qT(u,d=>-d)),i[a+o]=u})});let s=kCe(e,i);return TCe(i,s),_Ce(i,e.graph().align)}function NCe(e,t,n){return(i,r,s)=>{let a=i.node(r),o=i.node(s),l=0,u;if(l+=a.width/2,Object.hasOwn(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":u=-a.width/2;break;case"r":u=a.width/2;break}if(u&&(l+=n?u:-u),u=void 0,l+=(a.dummy?t:e)/2,l+=(o.dummy?t:e)/2,l+=o.width/2,Object.hasOwn(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":u=o.width/2;break;case"r":u=-o.width/2;break}return u&&(l+=n?u:-u),l}}function CCe(e,t){return e.node(t).width}function RCe(e){e=_ee(e),ICe(e),Object.entries(ACe(e)).forEach(([t,n])=>e.node(t).x=n)}function ICe(e){let t=Hx(e),n=e.graph(),i=n.ranksep,r=n.rankalign,s=0;t.forEach(a=>{let o=a.reduce((l,u)=>{var d;let f=(d=e.node(u).height)!=null?d:0;return l>f?l:f},0);a.forEach(l=>{let u=e.node(l);r==="top"?u.y=s+u.height/2:r==="bottom"?u.y=s+o-u.height/2:u.y=s+o/2}),s+=o+i})}function PCe(e,t={}){let n=t.debugTiming?Cee:Ree;return n("layout",()=>{let i=n(" buildLayoutGraph",()=>FCe(e));return n(" runLayout",()=>jCe(i,n,t)),n(" updateInputGraph",()=>MCe(e,i)),i})}function jCe(e,t,n){t(" makeSpaceForEdgeLabels",()=>VCe(e)),t(" removeSelfEdges",()=>JCe(e)),t(" acyclic",()=>w2e(e)),t(" nestingGraph.run",()=>H2e(e)),t(" rank",()=>Q2e(_ee(e))),t(" injectEdgeLabelProxies",()=>XCe(e)),t(" removeEmptyRanks",()=>c2e(e)),t(" nestingGraph.cleanup",()=>W2e(e)),t(" normalizeRanks",()=>l2e(e)),t(" assignRankMinMax",()=>qCe(e)),t(" removeEdgeLabelProxies",()=>HCe(e)),t(" normalize.run",()=>T2e(e)),t(" parentDummyChains",()=>F2e(e)),t(" addBorderSegments",()=>Z2e(e)),t(" order",()=>Uee(e,n)),t(" insertSelfEdges",()=>eRe(e)),t(" adjustCoordinateSystem",()=>J2e(e)),t(" position",()=>RCe(e)),t(" positionSelfEdges",()=>tRe(e)),t(" removeBorderNodes",()=>KCe(e)),t(" normalize.undo",()=>A2e(e)),t(" fixupEdgeLabelCoords",()=>WCe(e)),t(" undoCoordinateSystem",()=>eCe(e)),t(" translateGraph",()=>YCe(e)),t(" assignNodeIntersects",()=>GCe(e)),t(" reversePoints",()=>ZCe(e)),t(" acyclic.undo",()=>k2e(e))}function MCe(e,t){e.nodes().forEach(n=>{let i=e.node(n),r=t.node(n);i&&(i.x=r.x,i.y=r.y,i.order=r.order,i.rank=r.rank,t.children(n).length&&(i.width=r.width,i.height=r.height))}),e.edges().forEach(n=>{let i=e.edge(n),r=t.edge(n);i.points=r.points,Object.hasOwn(r,"x")&&(i.x=r.x,i.y=r.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var LCe=["nodesep","edgesep","ranksep","marginx","marginy"],DCe={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},$Ce=["acyclicer","ranker","rankdir","align","rankalign"],QCe=["width","height","rank"],f9={width:0,height:0},BCe=["minlen","weight","width","height","labeloffset"],UCe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},zCe=["labelpos"];function FCe(e){let t=new Xo({multigraph:!0,compound:!0}),n=KN(e.graph());return t.setGraph(Object.assign({},DCe,ZN(n,LCe),FE(n,$Ce))),e.nodes().forEach(i=>{let r=KN(e.node(i)),s=ZN(r,QCe);Object.keys(f9).forEach(o=>{s[o]===void 0&&(s[o]=f9[o])}),t.setNode(i,s);let a=e.parent(i);a!==void 0&&t.setParent(i,a)}),e.edges().forEach(i=>{let r=KN(e.edge(i));t.setEdge(i,Object.assign({},UCe,ZN(r,BCe),FE(r,zCe)))}),t}function VCe(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let i=e.edge(n);i.minlen*=2,i.labelpos.toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?i.width+=i.labeloffset:i.height+=i.labeloffset)})}function XCe(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let i=e.node(t.v),r={rank:(e.node(t.w).rank-i.rank)/2+i.rank,e:t};x0(e,"edge-proxy",r,"_ep")}})}function qCe(e){let t=0;e.nodes().forEach(n=>{let i=e.node(n);i.borderTop&&(i.minRank=e.node(i.borderTop).rank,i.maxRank=e.node(i.borderBottom).rank,t=Math.max(t,i.maxRank))}),e.graph().maxRank=t}function HCe(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="edge-proxy"){let i=n;e.edge(i.e).labelRank=n.rank,e.removeNode(t)}})}function YCe(e){let t=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,r=0,s=e.graph(),a=s.marginx||0,o=s.marginy||0;function l(u){let d=u.x,f=u.y,h=u.width,p=u.height;t=Math.min(t,d-h/2),n=Math.max(n,d+h/2),i=Math.min(i,f-p/2),r=Math.max(r,f+p/2)}e.nodes().forEach(u=>l(e.node(u))),e.edges().forEach(u=>{let d=e.edge(u);Object.hasOwn(d,"x")&&l(d)}),t-=a,i-=o,e.nodes().forEach(u=>{let d=e.node(u);d.x-=t,d.y-=i}),e.edges().forEach(u=>{let d=e.edge(u);d.points.forEach(f=>{f.x-=t,f.y-=i}),Object.hasOwn(d,"x")&&(d.x-=t),Object.hasOwn(d,"y")&&(d.y-=i)}),s.width=n-t+a,s.height=r-i+o}function GCe(e){e.edges().forEach(t=>{let n=e.edge(t),i=e.node(t.v),r=e.node(t.w),s,a;n.points?(s=n.points[0],a=n.points[n.points.length-1]):(n.points=[],s=r,a=i),n.points.unshift(n9(i,s)),n.points.push(n9(r,a))})}function WCe(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,"x"))switch((n.labelpos==="l"||n.labelpos==="r")&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}})}function ZCe(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function KCe(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),i=e.node(n.borderTop),r=e.node(n.borderBottom),s=e.node(n.borderLeft[n.borderLeft.length-1]),a=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(a.x-s.x),n.height=Math.abs(r.y-i.y),n.x=s.x+n.width/2,n.y=i.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy==="border"&&e.removeNode(t)})}function JCe(e){e.edges().forEach(t=>{if(t.v===t.w){let n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function eRe(e){Hx(e).forEach(t=>{let n=0;t.forEach((i,r)=>{let s=e.node(i);s.order=r+n,(s.selfEdges||[]).forEach(a=>{x0(e,"selfedge",{width:a.label.width,height:a.label.height,rank:s.rank,order:r+ ++n,e:a.e,label:a.label},"_se")}),delete s.selfEdges})})}function tRe(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="selfedge"){let i=n,r=e.node(i.e.v),s=r.x+r.width/2,a=r.y,o=n.x-s,l=r.height/2;e.setEdge(i.e,i.label),e.removeNode(t),i.label.points=[{x:s+2*o/3,y:a-l},{x:s+5*o/6,y:a-l},{x:s+o,y:a},{x:s+5*o/6,y:a+l},{x:s+2*o/3,y:a+l}],i.label.x=n.x,i.label.y=n.y}})}function ZN(e,t){return qT(FE(e,t),Number)}function KN(e){let t={};return e&&Object.entries(e).forEach(([n,i])=>{typeof n=="string"&&(n=n.toLowerCase()),t[n]=i}),t}function nRe(e){let t=Hx(e),n=new Xo({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(i=>{n.setNode(i,{label:i}),n.setParent(i,"layer"+e.node(i).rank)}),e.edges().forEach(i=>n.setEdge(i.v,i.w,{},i.name)),t.forEach((i,r)=>{let s="layer"+r;n.setNode(s,{rank:"same"}),i.reduce((a,o)=>(n.setEdge(a,o,{style:"invis"}),o))}),n}var iRe={graphlib:bee,version:p2e,layout:PCe,debug:nRe,util:{time:Cee,notime:Ree}},h9=iRe;/*! For license information please see dagre.esm.js.LEGAL.txt */const KO={llm:{label:"智能体",description:"理解任务并直接完成一个具体工作",icon:lZ},sequential:{label:"分步协作",description:"内部步骤按照顺序依次执行",icon:n1e},parallel:{label:"同时处理",description:"内部步骤同时工作,完成后统一汇总",icon:Bxe},loop:{label:"循环执行",description:"重复执行内部步骤,直到满足停止条件",icon:mZ},a2a:{label:"远程智能体",description:"调用已经存在的远程 Agent",icon:kT}},pP=220,mP=88,p9=96,m9=34,Ib=64,JN=310,Am=24,Fee=56,gP=40,g9=40,rRe=18,sRe=58,aRe=!1,oRe=e=>e==="sequential"||e==="parallel"||e==="loop";function OP(e,t){const n=e.agentType??"llm";return oRe(n)||n==="llm"&&(t.length===0||e.subAgents.length>0)}function bP(e,t=[],n="horizontal",i=!1){const r=e.agentType??"llm";if(!OP(e,t))return{width:pP,height:mP};if(i&&e.subAgents.length===0)return{width:JN,height:Ib};const s=e.subAgents.map((f,h)=>bP(f,[...t,h],n,i)),a=s.length?Math.max(...s.map(f=>f.width)):0,o=s.length?Math.max(...s.map(f=>f.height)):0,l=s.length&&r!=="parallel"?Fee:Am,u=n==="horizontal"?r!=="parallel":r==="parallel",d=s.length?r==="parallel"?rRe+g9:r==="loop"?sRe:0:g9;return u?{width:Math.max(JN,s.reduce((f,h)=>f+h.width,0)+gP*Math.max(0,s.length-1)+l*2),height:Ib+Am+o+d+Am}:{width:Math.max(JN,a+Am*2),height:Ib+l+s.reduce((f,h)=>f+h.height,0)+gP*Math.max(0,s.length-1)+d+l}}function gO(e){return e.length===0?"agent-root":`agent-${e.join("-")}`}function lRe(e,t){return e.length===t.length&&e.every((n,i)=>n===t[i])}function O9(e){const t=n=>[n.agentType??"llm",n.subAgents.map(t)];return JSON.stringify(t(e))}function OO(e,t,n,i){const r=(i==null?void 0:i.tone)==="sequential"?"hsl(213 40% 40%)":(i==null?void 0:i.tone)==="loop"?"hsl(151 34% 34%)":"hsl(220 9% 38%)";return{id:`${e}-${t}${i!=null&&i.loop?"-loop":""}`,source:e,target:t,sourceHandle:i!=null&&i.loop?"loop-source":void 0,targetHandle:i!=null&&i.loop?"loop-target":void 0,label:n,type:"insertStep",data:i?{insert:i.insert,loop:i.loop,tone:i.tone}:void 0,animated:i==null?void 0:i.loop,markerEnd:{type:Cy.ArrowClosed,width:16,height:16,color:r},style:{stroke:r,strokeWidth:1.5},labelStyle:{fill:"hsl(215 14% 42%)",fontSize:10,fontWeight:600},labelBgStyle:{fill:"hsl(var(--background))",fillOpacity:.92}}}function b9(e,t,n=!1){const i=[{id:"terminal-input",type:"terminal",position:{x:0,y:0},data:{kind:"terminal",title:"用户请求"},selectable:!1,draggable:!1},{id:"terminal-output",type:"terminal",position:{x:0,y:0},data:{kind:"terminal",title:"最终回复"},selectable:!1,draggable:!1}],r=[];function s(d,f,h,p,m){const g=d.agentType??"llm",y=gO(f);return OP(d,f)?(a(d,f,h,p,m),y):(i.push({id:y,type:"agent",parentId:h,extent:"parent",position:p,data:{kind:"agent",path:f,agent:d,title:g==="a2a"?"远程智能体":d.name.trim()||(f.length===0?"主 Agent":"未命名步骤"),pattern:g,description:d.description.trim()||KO[g].description,childCount:d.subAgents.length,containedIn:m}}),y)}function a(d,f,h,p={x:0,y:0},m){const g=d.agentType??"sequential",y=gO(f),b=bP(d,f,t,n);i.push({id:y,type:"group",parentId:h,extent:h?"parent":void 0,position:p,style:{width:b.width,height:b.height},data:{kind:"agent",path:f,agent:d,title:d.name.trim()||(f.length===0?"主 Agent":KO[g].label),pattern:g,description:d.description.trim()||KO[g].description,childCount:d.subAgents.length,containedIn:m,layoutWidth:b.width,layoutHeight:b.height,compactEmptyGroup:n&&d.subAgents.length===0}});const S=d.subAgents.map((k,_)=>bP(k,[...f,_],t,n)),x=S.length&&g!=="parallel"?Fee:Am,v=t==="horizontal"?g!=="parallel":g==="parallel";let E=x;const w=d.subAgents.map((k,_)=>{const C=S[_],A=v?{x:E,y:Ib+Am}:{x:(b.width-C.width)/2,y:Ib+E};return E+=(v?C.width:C.height)+gP,s(k,[...f,_],y,A,g)});if(g==="sequential"||g==="loop"){for(let k=0;k1&&r.push(OO(w[w.length-1],w[0],"继续循环",{loop:!0,tone:"loop"}))}return y}const o=(d,f)=>{const h=d.agentType??"llm",p=gO(f);if(OP(d,f))return a(d,f),[p];if(i.push({id:p,type:"agent",position:{x:0,y:0},data:{kind:"agent",path:f,agent:d,title:h==="a2a"?"远程智能体":d.name.trim()||(f.length===0?"主 Agent":"未命名步骤"),pattern:h,description:d.description.trim()||KO[h].description,childCount:d.subAgents.length}}),d.subAgents.length===0)return[p];const m=[];return d.subAgents.forEach((g,y)=>{const b=[...f,y],S=gO(b);r.push(OO(p,S,"调用",{insert:{parentPath:f,index:y}})),m.push(...o(g,b))}),m},l=gO([]),u=o(e,[]);return r.push(OO("terminal-input",l)),u.forEach(d=>r.push(OO(d,"terminal-output"))),cRe(i,r,t)}function cRe(e,t,n){const i=new h9.graphlib.Graph().setDefaultEdgeLabel(()=>({}));i.setGraph({rankdir:n==="vertical"?"TB":"LR",ranksep:50,nodesep:34,edgesep:14,marginx:24,marginy:24});const r=new Set(e.filter(s=>!s.parentId).map(s=>s.id));return e.filter(s=>!s.parentId).forEach(s=>{const a=s.data.kind==="terminal";i.setNode(s.id,{width:a?p9:s.data.layoutWidth??pP,height:a?m9:s.data.layoutHeight??mP})}),t.filter(s=>r.has(s.source)&&r.has(s.target)).forEach(s=>i.setEdge(s.source,s.target)),h9.layout(i),{nodes:e.map(s=>{if(s.parentId)return s;const a=i.node(s.id),o=s.data.kind==="terminal",l=o?p9:s.data.layoutWidth??pP,u=o?m9:s.data.layoutHeight??mP;return{...s,position:{x:a.x-l/2,y:a.y-u/2}}}),edges:t}}const YT=O.createContext(null),GT=O.createContext("horizontal");function uRe({id:e,sourceX:t,sourceY:n,targetX:i,targetY:r,sourcePosition:s,targetPosition:a,markerEnd:o,style:l,label:u,data:d}){const f=O.useContext(YT),[h,p]=O.useState(!1),[m,g,y]=QE({sourceX:t,sourceY:n,targetX:i,targetY:r,sourcePosition:s,targetPosition:a,offset:d!=null&&d.loop?28:20});return c.jsxs(c.Fragment,{children:[c.jsx(qx,{id:e,path:m,markerEnd:o,style:l}),f&&(d==null?void 0:d.insert)&&c.jsx("path",{d:m,className:"abc-edge-hover-path",onPointerEnter:()=>p(!0),onPointerLeave:()=>p(!1)}),(u||f&&(d==null?void 0:d.insert))&&c.jsx(nNe,{children:c.jsxs("div",{className:`abc-edge-tools${f&&(d!=null&&d.insert)?" can-insert":""}${h?" is-visible":""}`,style:{transform:`translate(-50%, -50%) translate(${g}px, ${y}px)`},onPointerEnter:()=>p(!0),onPointerLeave:()=>p(!1),children:[u&&c.jsx("span",{className:"abc-edge-label",children:u}),f&&(d==null?void 0:d.insert)&&c.jsx("button",{type:"button",className:"abc-edge-add nodrag nopan","aria-label":"在这里插入步骤",title:"在这里插入步骤",onClick:b=>{b.stopPropagation(),f==null||f.onInsert(d.insert.parentPath,d.insert.index)},children:c.jsx(Ls,{})})]})})]})}function dRe({data:e,selected:t}){const n=O.useContext(YT),i=O.useContext(GT),r=i==="vertical"?mt.Top:mt.Left,s=i==="vertical"?mt.Bottom:mt.Right,a=i==="vertical"?mt.Right:mt.Bottom,o=e.pattern??"llm",l=KO[o],u=l.icon;return c.jsxs("div",{className:`abc-node is-${o}${e.containedIn?` is-contained-in-${e.containedIn}`:""}${t?" is-selected":""}`,children:[c.jsx(Ea,{type:"target",position:r,className:"abc-handle"}),o!=="llm"&&c.jsx("span",{className:"abc-node-icon",children:c.jsx(u,{})}),c.jsxs("span",{className:"abc-node-copy",children:[c.jsx("span",{className:"abc-node-meta",children:c.jsx("span",{children:l.label})}),c.jsx("strong",{children:e.title}),c.jsx("small",{children:e.description})]}),n&&e.path!==void 0&&e.path.length>0&&c.jsx("button",{type:"button",className:"abc-node-delete nodrag nopan","aria-label":`删除 ${e.title}`,title:"删除节点",onClick:d=>{d.stopPropagation(),n==null||n.onDelete(e.path)},children:c.jsx(df,{})}),c.jsx(Ea,{type:"source",position:s,className:"abc-handle"}),e.containedIn==="loop"&&c.jsxs(c.Fragment,{children:[c.jsx(Ea,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),c.jsx(Ea,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function fRe({data:e,selected:t}){const n=O.useContext(YT),i=O.useContext(GT),r=i==="vertical"?mt.Top:mt.Left,s=i==="vertical"?mt.Bottom:mt.Right,a=i==="vertical"?mt.Right:mt.Bottom,o=e.pattern??"sequential",l=e.childCount??0,u=o==="llm"?"添加子 Agent":o==="parallel"?"添加一个同时处理的步骤":o==="loop"?"添加循环步骤":"添加下一个步骤";return c.jsxs("div",{className:`abc-group is-${o}${e.compactEmptyGroup?" is-compact-empty":""}${t?" is-selected":""}`,children:[c.jsx(Ea,{type:"target",position:r,className:"abc-handle"}),c.jsx("header",{className:"abc-group-head",children:c.jsxs("span",{children:[c.jsx("strong",{title:e.title,children:e.title}),c.jsx("small",{children:e.description})]})}),n&&e.path!==void 0&&l>0&&o!=="parallel"&&c.jsxs("div",{className:"abc-group-boundary-actions",children:[c.jsx("button",{type:"button",className:"abc-group-boundary-add is-start nodrag nopan","aria-label":"添加到最前",title:"添加到最前",onClick:d=>{d.stopPropagation(),n.onInsert(e.path,0)},children:c.jsx(Ls,{})}),c.jsx("button",{type:"button",className:"abc-group-boundary-add is-end nodrag nopan","aria-label":"添加到最后",title:"添加到最后",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:c.jsx(Ls,{})})]}),n&&e.path!==void 0&&l>0&&o==="parallel"&&c.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-bottom nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[c.jsx(Ls,{}),c.jsx("span",{children:u})]}),n&&e.path!==void 0&&l===0&&c.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-empty nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[c.jsx(Ls,{}),c.jsx("span",{children:u})]}),n&&e.path!==void 0&&e.path.length>0&&c.jsx("button",{type:"button",className:"abc-node-delete nodrag nopan","aria-label":`删除 ${e.title}`,title:"删除节点",onClick:d=>{d.stopPropagation(),n==null||n.onDelete(e.path)},children:c.jsx(df,{})}),c.jsx(Ea,{type:"source",position:s,className:"abc-handle"}),e.containedIn==="loop"&&c.jsxs(c.Fragment,{children:[c.jsx(Ea,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),c.jsx(Ea,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function hRe({data:e}){const t=O.useContext(GT);return c.jsxs("div",{className:"abc-terminal",children:[c.jsx(Ea,{type:"target",position:t==="vertical"?mt.Top:mt.Left,className:"abc-handle"}),c.jsx("span",{children:e.title}),c.jsx(Ea,{type:"source",position:t==="vertical"?mt.Bottom:mt.Right,className:"abc-handle"})]})}const pRe={agent:dRe,group:fRe,terminal:hRe},mRe={insertStep:uRe};function gRe({draft:e,selectedPath:t,onSelect:n,onAdd:i,onInsert:r,onDelete:s,readOnly:a=!1,interactivePreview:o=!1,direction:l="horizontal"}){const u=O.useMemo(()=>b9(e,l,a),[]),[d,f,h]=iNe(u.nodes),[p,m,g]=rNe(u.edges),y=aNe(),b=O.useRef(`${l}:${a?"readonly":"editable"}:${O9(e)}`),S=O.useRef(null),{fitView:x}=VT(),v=O.useMemo(()=>b9(e,l,a),[l,e,a]),[E,w]=O.useState(()=>window.matchMedia("(max-width: 860px)").matches),k=O.useMemo(()=>a?{padding:.16,minZoom:.05,maxZoom:.9}:E?{padding:.08,minZoom:.35,maxZoom:.9}:{padding:.14,minZoom:.42,maxZoom:1.1},[E,a]),_=O.useCallback((A=0)=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{const R=S.current;if(R&&(R.clientWidth===0||R.clientHeight===0)&&A<8){_(A+1);return}x(k)})})},[k,x]);O.useEffect(()=>{const A=window.matchMedia("(max-width: 860px)"),R=j=>w(j.matches);return A.addEventListener("change",R),()=>A.removeEventListener("change",R)},[]),O.useEffect(()=>{const A=`${l}:${a?"readonly":"editable"}:${O9(e)}`,R=A!==b.current;b.current=A,m(v.edges),f(j=>{const Q=new Map(j.map(L=>[L.id,L]));return v.nodes.map(L=>{const D=Q.get(L.id);return{...L,measured:!R&&D&&D.type===L.type?D.measured:void 0,position:!R&&D?D.position:L.position,selected:L.data.kind==="agent"&&!!L.data.path&&lRe(L.data.path,t)}})}),R&&_()},[v,e,_,t,m,f]),O.useEffect(()=>{_()},[E,_]),O.useEffect(()=>{y&&_()},[v,_,y]),O.useEffect(()=>{if(!a||!S.current)return;const A=new ResizeObserver(()=>_());return A.observe(S.current),_(),()=>A.disconnect()},[_,a]);const C=O.useMemo(()=>a?null:{onAdd:i,onInsert:r,onDelete:s},[i,s,r,a]);return c.jsx(GT.Provider,{value:l,children:c.jsx(YT.Provider,{value:C,children:c.jsx("section",{className:`abc-root is-${l}${a?" is-readonly":""}`,"aria-label":a?"只读 Agent 执行画布":"Agent 执行画布",children:c.jsx("div",{ref:S,className:"abc-canvas",children:c.jsxs(eNe,{nodes:d,edges:p,nodeTypes:pRe,edgeTypes:mRe,onNodesChange:h,onEdgesChange:g,onNodeClick:(A,R)=>{!a&&R.data.kind==="agent"&&R.data.path&&n(R.data.path)},nodesDraggable:!a,nodesConnectable:!1,nodesFocusable:!a,elementsSelectable:!a,edgesFocusable:!1,edgesReconnectable:!1,panOnDrag:!a||o,zoomOnDoubleClick:o,zoomOnPinch:!a||o,zoomOnScroll:!a||o,fitView:!0,fitViewOptions:k,onInit:()=>_(),minZoom:a?.05:.35,maxZoom:1.6,proOptions:{hideAttribution:!0},children:[c.jsx(dNe,{gap:20,size:1.2,color:"hsl(34 20% 82%)"}),(!a||o)&&c.jsx(bNe,{showInteractive:!1}),aRe]})})})})})}function My(e){return c.jsx(hee,{children:c.jsx(gRe,{...e})})}const ORe="https://ark.cn-beijing.volces.com/api/v3/",uw=[{key:"MODEL_EMBEDDING_NAME",required:!1,placeholder:"doubao-embedding-vision-250615",comment:"向量化模型(记忆/知识库需要)"},{key:"MODEL_EMBEDDING_DIM",required:!1,placeholder:"2048"},{key:"MODEL_EMBEDDING_API_BASE",required:!1,placeholder:ORe}],Ly=[],VE={label:"控制台",url:"https://console.volcengine.com/vikingdb/openviking"},bRe={label:"文档",url:"https://github.com/volcengine/OpenViking/blob/main/docs/zh/api/05-sessions.md"},Vee="https://api.vikingdb.cn-beijing.volces.com/openviking",yRe=`{ +`)),d=u.reduce((f,h)=>f.concat(...h),[]);return[u,d]}return[[],[]]},[e]);return O.useEffect(()=>{const l=(t==null?void 0:t.target)??L8,u=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const d=p=>{var y,b;if(r.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!r.current||r.current&&!u)&&gJ(p))return!1;const g=$8(p.code,o);if(s.current.add(p[g]),D8(a,s.current,!1)){const S=((b=(y=p.composedPath)==null?void 0:y.call(p))==null?void 0:b[0])||p.target,x=(S==null?void 0:S.nodeName)==="BUTTON"||(S==null?void 0:S.nodeName)==="A";t.preventDefault!==!1&&(r.current||!x)&&p.preventDefault(),i(!0)}},f=p=>{const m=$8(p.code,o);D8(a,s.current,!0)?(i(!1),s.current.clear()):s.current.delete(p[m]),p.key==="Meta"&&s.current.clear(),r.current=!1},h=()=>{s.current.clear(),i(!1)};return l==null||l.addEventListener("keydown",d),l==null||l.addEventListener("keyup",f),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{l==null||l.removeEventListener("keydown",d),l==null||l.removeEventListener("keyup",f),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,i]),n}function D8(e,t,n){return e.filter(i=>n||i.length===t.size).some(i=>i.every(r=>t.has(r)))}function $8(e,t){return t.includes(e)?"code":"key"}const I_e=()=>{const e=Ji();return O.useMemo(()=>({zoomIn:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{const{panZoom:i}=e.getState();return i?i.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[i,r,s],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??i,y:t.y??r,zoom:t.zoom??s},n),!0):!1},getViewport:()=>{const[t,n,i]=e.getState().transform;return{x:t,y:n,zoom:i}},setCenter:async(t,n,i)=>e.getState().setCenter(t,n,i),fitBounds:async(t,n)=>{const{width:i,height:r,minZoom:s,maxZoom:a,panZoom:o}=e.getState(),l=HD(t,i,r,s,a,(n==null?void 0:n.padding)??.1);return o?(await o.setViewport(l,{duration:n==null?void 0:n.duration,ease:n==null?void 0:n.ease,interpolate:n==null?void 0:n.interpolate}),!0):!1},screenToFlowPosition:(t,n={})=>{const{transform:i,snapGrid:r,snapToGrid:s,domNode:a}=e.getState();if(!a)return t;const{x:o,y:l}=a.getBoundingClientRect(),u={x:t.x-o,y:t.y-l},d=n.snapGrid??r,f=n.snapToGrid??s;return x0(u,i,f,d)},flowToScreenPosition:t=>{const{transform:n,domNode:i}=e.getState();if(!i)return t;const{x:r,y:s}=i.getBoundingClientRect(),a=Mg(t,n);return{x:a.x+r,y:a.y+s}}}),[])};function zJ(e,t){const n=[],i=new Map,r=[];for(const s of e)if(s.type==="add"){r.push(s);continue}else if(s.type==="remove"||s.type==="replace")i.set(s.id,[s]);else{const a=i.get(s.id);a?a.push(s):i.set(s.id,[s])}for(const s of t){const a=i.get(s.id);if(!a){n.push(s);continue}if(a[0].type==="remove")continue;if(a[0].type==="replace"){n.push({...a[0].item});continue}const o={...s};for(const l of a)P_e(l,o);n.push(o)}return r.length&&r.forEach(s=>{s.index!==void 0?n.splice(s.index,0,{...s.item}):n.push({...s.item})}),n}function P_e(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function FJ(e,t){return zJ(e,t)}function VJ(e,t){return zJ(e,t)}function sh(e,t){return{id:e,type:"select",selected:t}}function Am(e,t=new Set,n=!1){const i=[];for(const[r,s]of e){const a=t.has(r);!(s.selected===void 0&&!a)&&s.selected!==a&&(n&&(s.selected=a),i.push(sh(s.id,a)))}return i}function Q8({items:e=[],lookup:t}){var r;const n=[],i=new Map(e.map(s=>[s.id,s]));for(const[s,a]of e.entries()){const o=t.get(a.id),l=((r=o==null?void 0:o.internals)==null?void 0:r.userNode)??o;l!==void 0&&l!==a&&n.push({id:a.id,item:a,type:"replace"}),l===void 0&&n.push({item:a,type:"add",index:s})}for(const[s]of t)i.get(s)===void 0&&n.push({id:s,type:"remove"});return n}function B8(e){return{id:e.id,type:"remove"}}const j_e=hJ();function M_e(e,t,n={}){return aTe(e,t,{...n,onError:n.onError??j_e})}const U8=e=>Xke(e),L_e=e=>cJ(e);function XJ(e){return O.forwardRef(e)}const D_e=typeof window<"u"?O.useLayoutEffect:O.useEffect;function z8(e){const[t,n]=O.useState(BigInt(0)),[i]=O.useState(()=>$_e(()=>n(r=>r+BigInt(1))));return D_e(()=>{const r=i.get();r.length&&(e(r),i.reset())},[t]),i}function $_e(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const qJ=O.createContext(null);function Q_e({children:e}){const t=Ji(),n=O.useCallback(o=>{const{nodes:l=[],setNodes:u,hasDefaultNodes:d,onNodesChange:f,nodeLookup:h,fitViewQueued:p,onNodesChangeMiddlewareMap:m}=t.getState();let g=l;for(const b of o)g=typeof b=="function"?b(g):b;let y=Q8({items:g,lookup:h});for(const b of m.values())y=b(y);d&&u(g),y.length>0?f==null||f(y):p&&window.requestAnimationFrame(()=>{const{fitViewQueued:b,nodes:S,setNodes:x}=t.getState();b&&x(S)})},[]),i=z8(n),r=O.useCallback(o=>{const{edges:l=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:h}=t.getState();let p=l;for(const m of o)p=typeof m=="function"?m(p):m;d?u(p):f&&f(Q8({items:p,lookup:h}))},[]),s=z8(r),a=O.useMemo(()=>({nodeQueue:i,edgeQueue:s}),[]);return c.jsx(qJ.Provider,{value:a,children:e})}function B_e(){const e=O.useContext(qJ);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const U_e=e=>!!e.panZoom;function VT(){const e=I_e(),t=Ji(),n=B_e(),i=Rn(U_e),r=O.useMemo(()=>{const s=f=>t.getState().nodeLookup.get(f),a=f=>{n.nodeQueue.push(f)},o=f=>{n.edgeQueue.push(f)},l=f=>{var b,S;const{nodeLookup:h,nodeOrigin:p}=t.getState(),m=U8(f)?f:h.get(f.id),g=m.parentId?pJ(m.position,m.measured,m.parentId,h,p):m.position,y={...m,position:g,width:((b=m.measured)==null?void 0:b.width)??m.width,height:((S=m.measured)==null?void 0:S.height)??m.height};return jg(y)},u=(f,h,p={replace:!1})=>{a(m=>m.map(g=>{if(g.id===f){const y=typeof h=="function"?h(g):h;return p.replace&&U8(y)?y:{...g,...y}}return g}))},d=(f,h,p={replace:!1})=>{o(m=>m.map(g=>{if(g.id===f){const y=typeof h=="function"?h(g):h;return p.replace&&L_e(y)?y:{...g,...y}}return g}))};return{getNodes:()=>t.getState().nodes.map(f=>({...f})),getNode:f=>{var h;return(h=s(f))==null?void 0:h.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:f=[]}=t.getState();return f.map(h=>({...h}))},getEdge:f=>t.getState().edgeLookup.get(f),setNodes:a,setEdges:o,addNodes:f=>{const h=Array.isArray(f)?f:[f];n.nodeQueue.push(p=>[...p,...h])},addEdges:f=>{const h=Array.isArray(f)?f:[f];n.edgeQueue.push(p=>[...p,...h])},toObject:()=>{const{nodes:f=[],edges:h=[],transform:p}=t.getState(),[m,g,y]=p;return{nodes:f.map(b=>({...b})),edges:h.map(b=>({...b})),viewport:{x:m,y:g,zoom:y}}},deleteElements:async({nodes:f=[],edges:h=[]})=>{const{nodes:p,edges:m,onNodesDelete:g,onEdgesDelete:y,triggerNodeChanges:b,triggerEdgeChanges:S,onDelete:x,onBeforeDelete:v}=t.getState(),{nodes:E,edges:w}=await Wke({nodesToRemove:f,edgesToRemove:h,nodes:p,edges:m,onBeforeDelete:v}),k=w.length>0,_=E.length>0;if(k){const C=w.map(B8);y==null||y(w),S(C)}if(_){const C=E.map(B8);g==null||g(E),b(C)}return(_||k)&&(x==null||x({nodes:E,edges:w})),{deletedNodes:E,deletedEdges:w}},getIntersectingNodes:(f,h=!0,p)=>{const m=O8(f),g=m?f:l(f),y=p!==void 0;return g?(p||t.getState().nodes).filter(b=>{const S=t.getState().nodeLookup.get(b.id);if(S&&!m&&(b.id===f.id||!S.internals.positionAbsolute))return!1;const x=jg(y?b:S),v=Ry(x,g);return h&&v>0||v>=x.width*x.height||v>=g.width*g.height}):[]},isNodeIntersecting:(f,h,p=!0)=>{const g=O8(f)?f:l(f);if(!g)return!1;const y=Ry(g,h);return p&&y>0||y>=h.width*h.height||y>=g.width*g.height},updateNode:u,updateNodeData:(f,h,p={replace:!1})=>{u(f,m=>{const g=typeof h=="function"?h(m):h;return p.replace?{...m,data:g}:{...m,data:{...m.data,...g}}},p)},updateEdge:d,updateEdgeData:(f,h,p={replace:!1})=>{d(f,m=>{const g=typeof h=="function"?h(m):h;return p.replace?{...m,data:g}:{...m,data:{...m.data,...g}}},p)},getNodesBounds:f=>{const{nodeLookup:h,nodeOrigin:p}=t.getState();return qke(f,{nodeLookup:h,nodeOrigin:p})},getHandleConnections:({type:f,id:h,nodeId:p})=>{var m;return Array.from(((m=t.getState().connectionLookup.get(`${p}-${f}${h?`-${h}`:""}`))==null?void 0:m.values())??[])},getNodeConnections:({type:f,handleId:h,nodeId:p})=>{var m;return Array.from(((m=t.getState().connectionLookup.get(`${p}${f?h?`-${f}-${h}`:`-${f}`:""}`))==null?void 0:m.values())??[])},fitView:async f=>{const h=t.getState().fitViewResolver??Jke();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:h}),n.nodeQueue.push(p=>[...p]),h.promise}}},[]);return O.useMemo(()=>({...r,...e,viewportInitialized:i}),[i])}const F8=e=>e.selected,z_e=typeof window<"u"?window:void 0;function F_e({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=Ji(),{deleteElements:i}=VT(),r=Py(e,{actInsideInputWithModifier:!1}),s=Py(t,{target:z_e});O.useEffect(()=>{if(r){const{edges:a,nodes:o}=n.getState();i({nodes:o.filter(F8),edges:a.filter(F8)}),n.setState({nodesSelectionActive:!1})}},[r]),O.useEffect(()=>{n.setState({multiSelectionActive:s})},[s])}function V_e(e){const t=Ji();O.useEffect(()=>{const n=()=>{var r,s,a,o;if(!e.current||!(((s=(r=e.current).checkVisibility)==null?void 0:s.call(r))??!0))return!1;const i=GD(e.current);(i.height===0||i.width===0)&&((o=(a=t.getState()).onError)==null||o.call(a,"004",vl.error004())),t.setState({width:i.width||500,height:i.height||500})};if(e.current){n(),window.addEventListener("resize",n);const i=new ResizeObserver(()=>n());return i.observe(e.current),()=>{window.removeEventListener("resize",n),i&&e.current&&i.unobserve(e.current)}}},[])}const XT={position:"absolute",width:"100%",height:"100%",top:0,left:0},X_e=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function q_e({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:i=!1,panOnScrollSpeed:r=.5,panOnScrollMode:s=jh.Free,zoomOnDoubleClick:a=!0,panOnDrag:o=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:h,preventScrolling:p=!0,children:m,noWheelClassName:g,noPanClassName:y,onViewportChange:b,isControlledViewport:S,paneClickDistance:x,selectionOnDrag:v}){const E=Ji(),w=O.useRef(null),{userSelectionActive:k,lib:_,connectionInProgress:C}=Rn(X_e,Ki),A=Py(h),R=O.useRef();V_e(w);const j=O.useCallback(Q=>{b==null||b({x:Q[0],y:Q[1],zoom:Q[2]}),S||E.setState({transform:Q})},[b,S]);return O.useEffect(()=>{if(w.current){R.current=LTe({domNode:w.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:l,onDraggingChange:N=>E.setState(M=>M.paneDragging===N?M:{paneDragging:N}),onPanZoomStart:(N,M)=>{const{onViewportChangeStart:B,onMoveStart:$}=E.getState();$==null||$(N,M),B==null||B(M)},onPanZoom:(N,M)=>{const{onViewportChange:B,onMove:$}=E.getState();$==null||$(N,M),B==null||B(M)},onPanZoomEnd:(N,M)=>{const{onViewportChangeEnd:B,onMoveEnd:$}=E.getState();$==null||$(N,M),B==null||B(M)}});const{x:Q,y:L,zoom:D}=R.current.getViewport();return E.setState({panZoom:R.current,transform:[Q,L,D],domNode:w.current.closest(".react-flow")}),()=>{var N;(N=R.current)==null||N.destroy()}}},[]),O.useEffect(()=>{var Q;(Q=R.current)==null||Q.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:i,panOnScrollSpeed:r,panOnScrollMode:s,zoomOnDoubleClick:a,panOnDrag:o,zoomActivationKeyPressed:A,preventScrolling:p,noPanClassName:y,userSelectionActive:k,noWheelClassName:g,lib:_,onTransformChange:j,connectionInProgress:C,selectionOnDrag:v,paneClickDistance:x})},[e,t,n,i,r,s,a,o,A,p,y,k,g,_,j,C,v,x]),c.jsx("div",{className:"react-flow__renderer",ref:w,style:XT,children:m})}const H_e=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Y_e(){const{userSelectionActive:e,userSelectionRect:t}=Rn(H_e,Ki);return e&&t?c.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const X2=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},G_e=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function W_e({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Ny.Full,panOnDrag:i,autoPanOnSelection:r,paneClickDistance:s,selectionOnDrag:a,onSelectionStart:o,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:h,onPaneMouseMove:p,onPaneMouseLeave:m,children:g}){const y=O.useRef(0),b=Ji(),{userSelectionActive:S,elementsSelectable:x,dragging:v,connectionInProgress:E,panBy:w,autoPanSpeed:k}=Rn(G_e,Ki),_=x&&(e||S),C=O.useRef(null),A=O.useRef(),R=O.useRef(new Set),j=O.useRef(new Set),Q=O.useRef(!1),L=O.useRef({x:0,y:0}),D=O.useRef(!1),N=K=>{if(Q.current||E){Q.current=!1;return}u==null||u(K),b.getState().resetSelectedElements(),b.setState({nodesSelectionActive:!1})},M=K=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){K.preventDefault();return}d==null||d(K)},B=f?K=>f(K):void 0,$=K=>{Q.current&&(K.stopPropagation(),Q.current=!1)},I=K=>{var Te,me;const{domNode:ie,transform:le}=b.getState();if(A.current=ie==null?void 0:ie.getBoundingClientRect(),!A.current)return;const ge=K.target===C.current;if(!ge&&!!K.target.closest(".nokey")||!e||!(a&&ge||t)||K.button!==0||!K.isPrimary)return;(me=(Te=K.target)==null?void 0:Te.setPointerCapture)==null||me.call(Te,K.pointerId),Q.current=!1;const{x:_e,y:he}=gl(K.nativeEvent,A.current),te=x0({x:_e,y:he},le);b.setState({userSelectionRect:{width:0,height:0,startX:te.x,startY:te.y,x:_e,y:he}}),ge||(K.stopPropagation(),K.preventDefault())};function G(K,ie){const{userSelectionRect:le}=b.getState();if(!le)return;const{transform:ge,nodeLookup:Ee,edgeLookup:Ce,connectionLookup:_e,triggerNodeChanges:he,triggerEdgeChanges:te,defaultEdgeOptions:Te}=b.getState(),me={x:le.startX,y:le.startY},{x:Be,y:je}=Mg(me,ge),Ue={startX:me.x,startY:me.y,x:Kat.id)),j.current=new Set;const Tt=(Te==null?void 0:Te.selectable)??!0;for(const at of R.current){const q=_e.get(at);if(q)for(const{edgeId:oe}of q.values()){const de=Ce.get(oe);de&&(de.selectable??Tt)&&j.current.add(oe)}}if(!b8(st,R.current)){const at=Am(Ee,R.current,!0);he(at)}if(!b8(ct,j.current)){const at=Am(Ce,j.current);te(at)}b.setState({userSelectionRect:Ue,userSelectionActive:!0,nodesSelectionActive:!1})}function X(){if(!r||!A.current)return;const[K,ie]=qD(L.current,A.current,k);w({x:K,y:ie}).then(le=>{if(!Q.current||!le){y.current=requestAnimationFrame(X);return}const{x:ge,y:Ee}=L.current;G(ge,Ee),y.current=requestAnimationFrame(X)})}const U=()=>{cancelAnimationFrame(y.current),y.current=0,D.current=!1};O.useEffect(()=>()=>U(),[]);const Y=K=>{const{userSelectionRect:ie,transform:le,resetSelectedElements:ge}=b.getState();if(!A.current||!ie)return;const{x:Ee,y:Ce}=gl(K.nativeEvent,A.current);L.current={x:Ee,y:Ce};const _e=Mg({x:ie.startX,y:ie.startY},le);if(!Q.current){const he=t?0:s;if(Math.hypot(Ee-_e.x,Ce-_e.y)<=he)return;ge(),o==null||o(K)}Q.current=!0,D.current||(X(),D.current=!0),G(Ee,Ce)},ae=K=>{var ie,le;K.button===0&&((le=(ie=K.target)==null?void 0:ie.releasePointerCapture)==null||le.call(ie,K.pointerId),!S&&K.target===C.current&&b.getState().userSelectionRect&&(N==null||N(K)),b.setState({userSelectionActive:!1,userSelectionRect:null}),Q.current&&(l==null||l(K),b.setState({nodesSelectionActive:R.current.size>0})),U())},fe=K=>{var ie,le;(le=(ie=K.target)==null?void 0:ie.releasePointerCapture)==null||le.call(ie,K.pointerId),U()},ke=i===!0||Array.isArray(i)&&i.includes(0);return c.jsxs("div",{className:Br(["react-flow__pane",{draggable:ke,dragging:v,selection:e}]),onClick:_?void 0:X2(N,C),onContextMenu:X2(M,C),onWheel:X2(B,C),onPointerEnter:_?void 0:h,onPointerMove:_?Y:p,onPointerUp:_?ae:void 0,onPointerCancel:_?fe:void 0,onPointerDownCapture:_?I:void 0,onClickCapture:_?$:void 0,onPointerLeave:m,ref:C,style:XT,children:[g,c.jsx(Y_e,{})]})}function fP({id:e,store:t,unselect:n=!1,nodeRef:i}){const{addSelectedNodes:r,unselectNodesAndEdges:s,multiSelectionActive:a,nodeLookup:o,onError:l}=t.getState(),u=o.get(e);if(!u){l==null||l("012",vl.error012(e));return}t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&a)&&(s({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var d;return(d=i==null?void 0:i.current)==null?void 0:d.blur()})):r([e])}function HJ({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:i,nodeId:r,isSelectable:s,nodeClickDistance:a}){const o=Ji(),[l,u]=O.useState(!1),d=O.useRef();return O.useEffect(()=>{d.current=vTe({getStoreItems:()=>o.getState(),onNodeMouseDown:f=>{fP({id:f,store:o,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),O.useEffect(()=>{if(!(t||!e.current||!d.current))return d.current.update({noDragClassName:n,handleSelector:i,domNode:e.current,isSelectable:s,nodeId:r,nodeClickDistance:a}),()=>{var f;(f=d.current)==null||f.destroy()}},[n,i,t,s,e,r,a]),l}const Z_e=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function YJ(){const e=Ji();return O.useCallback(n=>{const{nodeExtent:i,snapToGrid:r,snapGrid:s,nodesDraggable:a,onError:o,updateNodePositions:l,nodeLookup:u,nodeOrigin:d}=e.getState(),f=new Map,h=Z_e(a),p=r?s[0]:5,m=r?s[1]:5,g=n.direction.x*p*n.factor,y=n.direction.y*m*n.factor;for(const[,b]of u){if(!h(b))continue;let S={x:b.internals.positionAbsolute.x+g,y:b.internals.positionAbsolute.y+y};r&&(S=Xx(S,s));const{position:x,positionAbsolute:v}=uJ({nodeId:b.id,nextPosition:S,nodeLookup:u,nodeExtent:i,nodeOrigin:d,onError:o});b.position=x,b.internals.positionAbsolute=v,f.set(b.id,b)}l(f)},[])}const t5=O.createContext(null),K_e=t5.Provider;t5.Consumer;const GJ=()=>O.useContext(t5),J_e=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),eAe=(e,t,n)=>i=>{const{connectionClickStartHandle:r,connectionMode:s,connection:a}=i,{fromHandle:o,toHandle:l,isValid:u}=a,d=(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.id)===t&&(l==null?void 0:l.type)===n;return{connectingFrom:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===t&&(o==null?void 0:o.type)===n,connectingTo:d,clickConnecting:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===t&&(r==null?void 0:r.type)===n,isPossibleEndHandle:s===Ig.Strict?(o==null?void 0:o.type)!==n:e!==(o==null?void 0:o.nodeId)||t!==(o==null?void 0:o.id),connectionInProcess:!!o,clickConnectionInProcess:!!r,valid:d&&u}};function tAe({type:e="source",position:t=mt.Top,isValidConnection:n,isConnectable:i=!0,isConnectableStart:r=!0,isConnectableEnd:s=!0,id:a,onConnect:o,children:l,className:u,onMouseDown:d,onTouchStart:f,...h},p){var D,N;const m=a||null,g=e==="target",y=Ji(),b=GJ(),{connectOnClick:S,noPanClassName:x,rfId:v}=Rn(J_e,Ki),{connectingFrom:E,connectingTo:w,clickConnecting:k,isPossibleEndHandle:_,connectionInProcess:C,clickConnectionInProcess:A,valid:R}=Rn(eAe(b,m,e),Ki);b||(N=(D=y.getState()).onError)==null||N.call(D,"010",vl.error010());const j=M=>{const{defaultEdgeOptions:B,onConnect:$,hasDefaultEdges:I}=y.getState(),G={...B,...M};if(I){const{edges:X,setEdges:U,onError:Y}=y.getState();U(M_e(G,X,{onError:Y}))}$==null||$(G),o==null||o(G)},Q=M=>{if(!b)return;const B=OJ(M.nativeEvent);if(r&&(B&&M.button===0||!B)){const $=y.getState();dP.onPointerDown(M.nativeEvent,{handleDomNode:M.currentTarget,autoPanOnConnect:$.autoPanOnConnect,connectionMode:$.connectionMode,connectionRadius:$.connectionRadius,domNode:$.domNode,nodeLookup:$.nodeLookup,lib:$.lib,isTarget:g,handleId:m,nodeId:b,flowId:$.rfId,panBy:$.panBy,cancelConnection:$.cancelConnection,onConnectStart:$.onConnectStart,onConnectEnd:(...I)=>{var G,X;return(X=(G=y.getState()).onConnectEnd)==null?void 0:X.call(G,...I)},updateConnection:$.updateConnection,onConnect:j,isValidConnection:n||((...I)=>{var G,X;return((X=(G=y.getState()).isValidConnection)==null?void 0:X.call(G,...I))??!0}),getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,autoPanSpeed:$.autoPanSpeed,dragThreshold:$.connectionDragThreshold})}B?d==null||d(M):f==null||f(M)},L=M=>{const{onClickConnectStart:B,onClickConnectEnd:$,connectionClickStartHandle:I,connectionMode:G,isValidConnection:X,lib:U,rfId:Y,nodeLookup:ae,connection:fe}=y.getState();if(!b||!I&&!r)return;if(!I){B==null||B(M.nativeEvent,{nodeId:b,handleId:m,handleType:e}),y.setState({connectionClickStartHandle:{nodeId:b,type:e,id:m}});return}const ke=mJ(M.target),K=n||X,{connection:ie,isValid:le}=dP.isValid(M.nativeEvent,{handle:{nodeId:b,id:m,type:e},connectionMode:G,fromNodeId:I.nodeId,fromHandleId:I.id||null,fromType:I.type,isValidConnection:K,flowId:Y,doc:ke,lib:U,nodeLookup:ae});le&&ie&&j(ie);const ge=structuredClone(fe);delete ge.inProgress,ge.toPosition=ge.toHandle?ge.toHandle.position:null,$==null||$(M,ge),y.setState({connectionClickStartHandle:null})};return c.jsx("div",{"data-handleid":m,"data-nodeid":b,"data-handlepos":t,"data-id":`${v}-${b}-${m}-${e}`,className:Br(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",x,u,{source:!g,target:g,connectable:i,connectablestart:r,connectableend:s,clickconnecting:k,connectingfrom:E,connectingto:w,valid:R,connectionindicator:i&&(!C||_)&&(C||A?s:r)}]),onMouseDown:Q,onTouchStart:Q,onClick:S?L:void 0,ref:p,...h,children:l})}const ka=O.memo(XJ(tAe));function nAe({data:e,isConnectable:t,sourcePosition:n=mt.Bottom}){return c.jsxs(c.Fragment,{children:[e==null?void 0:e.label,c.jsx(ka,{type:"source",position:n,isConnectable:t})]})}function iAe({data:e,isConnectable:t,targetPosition:n=mt.Top,sourcePosition:i=mt.Bottom}){return c.jsxs(c.Fragment,{children:[c.jsx(ka,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,c.jsx(ka,{type:"source",position:i,isConnectable:t})]})}function rAe(){return null}function sAe({data:e,isConnectable:t,targetPosition:n=mt.Top}){return c.jsxs(c.Fragment,{children:[c.jsx(ka,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const BE={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},V8={input:nAe,default:iAe,output:sAe,group:rAe};function aAe(e){var t,n,i,r;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((i=e.style)==null?void 0:i.width),height:e.height??((r=e.style)==null?void 0:r.height)}}const oAe=e=>{const{width:t,height:n,x:i,y:r}=Vx(e.nodeLookup,{filter:s=>!!s.selected});return{width:ml(t)?t:null,height:ml(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${i}px,${r}px)`}};function lAe({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const i=Ji(),{width:r,height:s,transformString:a,userSelectionActive:o}=Rn(oAe,Ki),l=YJ(),u=O.useRef(null);O.useEffect(()=>{var p;n||(p=u.current)==null||p.focus({preventScroll:!0})},[n]);const d=!o&&r!==null&&s!==null;if(HJ({nodeRef:u,disabled:!d}),!d)return null;const f=e?p=>{const m=i.getState().nodes.filter(g=>g.selected);e(p,m)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(BE,p.key)&&(p.preventDefault(),l({direction:BE[p.key],factor:p.shiftKey?4:1}))};return c.jsx("div",{className:Br(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:c.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:r,height:s}})})}const X8=typeof window<"u"?window:void 0,cAe=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function WJ({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:s,onPaneScroll:a,paneClickDistance:o,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:h,onSelectionEnd:p,multiSelectionKeyCode:m,panActivationKeyCode:g,zoomActivationKeyCode:y,elementsSelectable:b,zoomOnScroll:S,zoomOnPinch:x,panOnScroll:v,panOnScrollSpeed:E,panOnScrollMode:w,zoomOnDoubleClick:k,panOnDrag:_,autoPanOnSelection:C,defaultViewport:A,translateExtent:R,minZoom:j,maxZoom:Q,preventScrolling:L,onSelectionContextMenu:D,noWheelClassName:N,noPanClassName:M,disableKeyboardA11y:B,onViewportChange:$,isControlledViewport:I}){const{nodesSelectionActive:G,userSelectionActive:X}=Rn(cAe,Ki),U=Py(u,{target:X8}),Y=Py(g,{target:X8}),ae=Y||_,fe=Y||v,ke=d&&ae!==!0,K=U||X||ke;return F_e({deleteKeyCode:l,multiSelectionKeyCode:m}),c.jsx(q_e,{onPaneContextMenu:s,elementsSelectable:b,zoomOnScroll:S,zoomOnPinch:x,panOnScroll:fe,panOnScrollSpeed:E,panOnScrollMode:w,zoomOnDoubleClick:k,panOnDrag:!U&&ae,defaultViewport:A,translateExtent:R,minZoom:j,maxZoom:Q,zoomActivationKeyCode:y,preventScrolling:L,noWheelClassName:N,noPanClassName:M,onViewportChange:$,isControlledViewport:I,paneClickDistance:o,selectionOnDrag:ke,children:c.jsxs(W_e,{onSelectionStart:h,onSelectionEnd:p,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:s,onPaneScroll:a,panOnDrag:ae,autoPanOnSelection:C,isSelecting:!!K,selectionMode:f,selectionKeyPressed:U,paneClickDistance:o,selectionOnDrag:ke,children:[e,G&&c.jsx(lAe,{onSelectionContextMenu:D,noPanClassName:M,disableKeyboardA11y:B})]})})}WJ.displayName="FlowRenderer";const uAe=O.memo(WJ),dAe=e=>t=>e?XD(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function fAe(e){return Rn(O.useCallback(dAe(e),[e]),Ki)}const hAe=e=>e.updateNodeInternals;function pAe(){const e=Rn(hAe),[t]=O.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const i=new Map;n.forEach(r=>{const s=r.target.getAttribute("data-id");i.set(s,{id:s,nodeElement:r.target,force:!0})}),e(i)}));return O.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function mAe({node:e,nodeType:t,hasDimensions:n,resizeObserver:i}){const r=Ji(),s=O.useRef(null),a=O.useRef(null),o=O.useRef(e.sourcePosition),l=O.useRef(e.targetPosition),u=O.useRef(t),d=n&&!!e.internals.handleBounds;return O.useEffect(()=>{s.current&&!e.hidden&&(!d||a.current!==s.current)&&(a.current&&(i==null||i.unobserve(a.current)),i==null||i.observe(s.current),a.current=s.current)},[d,e.hidden]),O.useEffect(()=>()=>{a.current&&(i==null||i.unobserve(a.current),a.current=null)},[]),O.useEffect(()=>{if(s.current){const f=u.current!==t,h=o.current!==e.sourcePosition,p=l.current!==e.targetPosition;(f||h||p)&&(u.current=t,o.current=e.sourcePosition,l.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),s}function gAe({id:e,onClick:t,onMouseEnter:n,onMouseMove:i,onMouseLeave:r,onContextMenu:s,onDoubleClick:a,nodesDraggable:o,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:h,noPanClassName:p,disableKeyboardA11y:m,rfId:g,nodeTypes:y,nodeClickDistance:b,onError:S}){const{node:x,internals:v,isParent:E}=Rn(K=>{const ie=K.nodeLookup.get(e),le=K.parentLookup.has(e);return{node:ie,internals:ie.internals,isParent:le}},Ki);let w=x.type||"default",k=(y==null?void 0:y[w])||V8[w];k===void 0&&(S==null||S("003",vl.error003(w)),w="default",k=(y==null?void 0:y.default)||V8.default);const _=!!(x.draggable||o&&typeof x.draggable>"u"),C=!!(x.selectable||l&&typeof x.selectable>"u"),A=!!(x.connectable||u&&typeof x.connectable>"u"),R=!!(x.focusable||d&&typeof x.focusable>"u"),j=Ji(),Q=YD(x),L=mAe({node:x,nodeType:w,hasDimensions:Q,resizeObserver:f}),D=HJ({nodeRef:L,disabled:x.hidden||!_,noDragClassName:h,handleSelector:x.dragHandle,nodeId:e,isSelectable:C,nodeClickDistance:b}),N=YJ();if(x.hidden)return null;const M=Fu(x),B=aAe(x),$=C||_||t||n||i||r,I=n?K=>n(K,{...v.userNode}):void 0,G=i?K=>i(K,{...v.userNode}):void 0,X=r?K=>r(K,{...v.userNode}):void 0,U=s?K=>s(K,{...v.userNode}):void 0,Y=a?K=>a(K,{...v.userNode}):void 0,ae=K=>{const{selectNodesOnDrag:ie,nodeDragThreshold:le}=j.getState();C&&(!ie||!_||le>0)&&fP({id:e,store:j,nodeRef:L}),t&&t(K,{...v.userNode})},fe=K=>{if(!(gJ(K.nativeEvent)||m)){if(sJ.includes(K.key)&&C){const ie=K.key==="Escape";fP({id:e,store:j,unselect:ie,nodeRef:L})}else if(_&&x.selected&&Object.prototype.hasOwnProperty.call(BE,K.key)){K.preventDefault();const{ariaLabelConfig:ie}=j.getState();j.setState({ariaLiveMessage:ie["node.a11yDescription.ariaLiveMessage"]({direction:K.key.replace("Arrow","").toLowerCase(),x:~~v.positionAbsolute.x,y:~~v.positionAbsolute.y})}),N({direction:BE[K.key],factor:K.shiftKey?4:1})}}},ke=()=>{var _e;if(m||!((_e=L.current)!=null&&_e.matches(":focus-visible")))return;const{transform:K,width:ie,height:le,autoPanOnNodeFocus:ge,setCenter:Ee}=j.getState();if(!ge)return;XD(new Map([[e,x]]),{x:0,y:0,width:ie,height:le},K,!0).length>0||Ee(x.position.x+M.width/2,x.position.y+M.height/2,{zoom:K[2]})};return c.jsx("div",{className:Br(["react-flow__node",`react-flow__node-${w}`,{[p]:_},x.className,{selected:x.selected,selectable:C,parent:E,draggable:_,dragging:D}]),ref:L,style:{zIndex:v.z,transform:`translate(${v.positionAbsolute.x}px,${v.positionAbsolute.y}px)`,pointerEvents:$?"all":"none",visibility:Q?"visible":"hidden",...x.style,...B},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:I,onMouseMove:G,onMouseLeave:X,onContextMenu:U,onClick:ae,onDoubleClick:Y,onKeyDown:R?fe:void 0,tabIndex:R?0:void 0,onFocus:R?ke:void 0,role:x.ariaRole??(R?"group":void 0),"aria-roledescription":"node","aria-describedby":m?void 0:`${QJ}-${g}`,"aria-label":x.ariaLabel,...x.domAttributes,children:c.jsx(K_e,{value:e,children:c.jsx(k,{id:e,data:x.data,type:w,positionAbsoluteX:v.positionAbsolute.x,positionAbsoluteY:v.positionAbsolute.y,selected:x.selected??!1,selectable:C,draggable:_,deletable:x.deletable??!0,isConnectable:A,sourcePosition:x.sourcePosition,targetPosition:x.targetPosition,dragging:D,dragHandle:x.dragHandle,zIndex:v.z,parentId:x.parentId,...M})})})}var OAe=O.memo(gAe);const bAe=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function ZJ(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,onError:s}=Rn(bAe,Ki),a=fAe(e.onlyRenderVisibleElements),o=pAe();return c.jsx("div",{className:"react-flow__nodes",style:XT,children:a.map(l=>c.jsx(OAe,{id:l,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:o,nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:s},l))})}ZJ.displayName="NodeRenderer";const yAe=O.memo(ZJ);function xAe(e){return Rn(O.useCallback(n=>{if(!e)return n.edges.map(r=>r.id);const i=[];if(n.width&&n.height)for(const r of n.edges){const s=n.nodeLookup.get(r.source),a=n.nodeLookup.get(r.target);s&&a&&iTe({sourceNode:s,targetNode:a,width:n.width,height:n.height,transform:n.transform})&&i.push(r.id)}return i},[e]),Ki)}const SAe=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return c.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},vAe=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return c.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},q8={[Cy.Arrow]:SAe,[Cy.ArrowClosed]:vAe};function wAe(e){const t=Ji();return O.useMemo(()=>{var r,s;return Object.prototype.hasOwnProperty.call(q8,e)?q8[e]:((s=(r=t.getState()).onError)==null||s.call(r,"009",vl.error009(e)),null)},[e])}const EAe=({id:e,type:t,color:n,width:i=12.5,height:r=12.5,markerUnits:s="strokeWidth",strokeWidth:a,orient:o="auto-start-reverse"})=>{const l=wAe(t);return l?c.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${i}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:o,refX:"0",refY:"0",children:c.jsx(l,{color:n,strokeWidth:a})}):null},KJ=({defaultColor:e,rfId:t})=>{const n=Rn(s=>s.edges),i=Rn(s=>s.defaultEdgeOptions),r=O.useMemo(()=>dTe(n,{id:t,defaultColor:e,defaultMarkerStart:i==null?void 0:i.markerStart,defaultMarkerEnd:i==null?void 0:i.markerEnd}),[n,i,t,e]);return r.length?c.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:c.jsx("defs",{children:r.map(s=>c.jsx(EAe,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};KJ.displayName="MarkerDefinitions";var kAe=O.memo(KJ);function JJ({x:e,y:t,label:n,labelStyle:i,labelShowBg:r=!0,labelBgStyle:s,labelBgPadding:a=[2,4],labelBgBorderRadius:o=2,children:l,className:u,...d}){const[f,h]=O.useState({x:1,y:0,width:0,height:0}),p=Br(["react-flow__edge-textwrapper",u]),m=O.useRef(null);return O.useEffect(()=>{if(m.current){const g=m.current.getBBox();h({x:g.x,y:g.y,width:g.width,height:g.height})}},[n]),n?c.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...d,children:[r&&c.jsx("rect",{width:f.width+2*a[0],x:-a[0],y:-a[1],height:f.height+2*a[1],className:"react-flow__edge-textbg",style:s,rx:o,ry:o}),c.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:m,style:i,children:n}),l]}):null}JJ.displayName="EdgeText";const TAe=O.memo(JJ);function qx({path:e,labelX:t,labelY:n,label:i,labelStyle:r,labelShowBg:s,labelBgStyle:a,labelBgPadding:o,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return c.jsxs(c.Fragment,{children:[c.jsx("path",{...d,d:e,fill:"none",className:Br(["react-flow__edge-path",d.className])}),u?c.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,i&&ml(t)&&ml(n)?c.jsx(TAe,{x:t,y:n,label:i,labelStyle:r,labelShowBg:s,labelBgStyle:a,labelBgPadding:o,labelBgBorderRadius:l}):null]})}function H8({pos:e,x1:t,y1:n,x2:i,y2:r}){return e===mt.Left||e===mt.Right?[.5*(t+i),n]:[t,.5*(n+r)]}function eee({sourceX:e,sourceY:t,sourcePosition:n=mt.Bottom,targetX:i,targetY:r,targetPosition:s=mt.Top}){const[a,o]=H8({pos:n,x1:e,y1:t,x2:i,y2:r}),[l,u]=H8({pos:s,x1:i,y1:r,x2:e,y2:t}),[d,f,h,p]=bJ({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:a,sourceControlY:o,targetControlX:l,targetControlY:u});return[`M${e},${t} C${a},${o} ${l},${u} ${i},${r}`,d,f,h,p]}function tee(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,sourcePosition:a,targetPosition:o,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:g,markerStart:y,interactionWidth:b})=>{const[S,x,v]=eee({sourceX:n,sourceY:i,sourcePosition:a,targetX:r,targetY:s,targetPosition:o}),E=e.isInternal?void 0:t;return c.jsx(qx,{id:E,path:S,labelX:x,labelY:v,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:g,markerStart:y,interactionWidth:b})})}const _Ae=tee({isInternal:!1}),nee=tee({isInternal:!0});_Ae.displayName="SimpleBezierEdge";nee.displayName="SimpleBezierEdgeInternal";function iee(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,label:a,labelStyle:o,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,sourcePosition:p=mt.Bottom,targetPosition:m=mt.Top,markerEnd:g,markerStart:y,pathOptions:b,interactionWidth:S})=>{const[x,v,E]=QE({sourceX:n,sourceY:i,sourcePosition:p,targetX:r,targetY:s,targetPosition:m,borderRadius:b==null?void 0:b.borderRadius,offset:b==null?void 0:b.offset,stepPosition:b==null?void 0:b.stepPosition}),w=e.isInternal?void 0:t;return c.jsx(qx,{id:w,path:x,labelX:v,labelY:E,label:a,labelStyle:o,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:y,interactionWidth:S})})}const ree=iee({isInternal:!1}),see=iee({isInternal:!0});ree.displayName="SmoothStepEdge";see.displayName="SmoothStepEdgeInternal";function aee(e){return O.memo(({id:t,...n})=>{var r;const i=e.isInternal?void 0:t;return c.jsx(ree,{...n,id:i,pathOptions:O.useMemo(()=>{var s;return{borderRadius:0,offset:(s=n.pathOptions)==null?void 0:s.offset}},[(r=n.pathOptions)==null?void 0:r.offset])})})}const AAe=aee({isInternal:!1}),oee=aee({isInternal:!0});AAe.displayName="StepEdge";oee.displayName="StepEdgeInternal";function lee(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,label:a,labelStyle:o,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:m,interactionWidth:g})=>{const[y,b,S]=SJ({sourceX:n,sourceY:i,targetX:r,targetY:s}),x=e.isInternal?void 0:t;return c.jsx(qx,{id:x,path:y,labelX:b,labelY:S,label:a,labelStyle:o,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:m,interactionWidth:g})})}const NAe=lee({isInternal:!1}),cee=lee({isInternal:!0});NAe.displayName="StraightEdge";cee.displayName="StraightEdgeInternal";function uee(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,sourcePosition:a=mt.Bottom,targetPosition:o=mt.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:g,markerStart:y,pathOptions:b,interactionWidth:S})=>{const[x,v,E]=yJ({sourceX:n,sourceY:i,sourcePosition:a,targetX:r,targetY:s,targetPosition:o,curvature:b==null?void 0:b.curvature}),w=e.isInternal?void 0:t;return c.jsx(qx,{id:w,path:x,labelX:v,labelY:E,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:g,markerStart:y,interactionWidth:S})})}const CAe=uee({isInternal:!1}),dee=uee({isInternal:!0});CAe.displayName="BezierEdge";dee.displayName="BezierEdgeInternal";const Y8={default:dee,straight:cee,step:oee,smoothstep:see,simplebezier:nee},G8={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},RAe=(e,t,n)=>n===mt.Left?e-t:n===mt.Right?e+t:e,IAe=(e,t,n)=>n===mt.Top?e-t:n===mt.Bottom?e+t:e,W8="react-flow__edgeupdater";function Z8({position:e,centerX:t,centerY:n,radius:i=10,onMouseDown:r,onMouseEnter:s,onMouseOut:a,type:o}){return c.jsx("circle",{onMouseDown:r,onMouseEnter:s,onMouseOut:a,className:Br([W8,`${W8}-${o}`]),cx:RAe(t,i,e),cy:IAe(n,i,e),r:i,stroke:"transparent",fill:"transparent"})}function PAe({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:i,sourceY:r,targetX:s,targetY:a,sourcePosition:o,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:h,setUpdateHover:p}){const m=Ji(),g=(v,E)=>{if(v.button!==0)return;const{autoPanOnConnect:w,domNode:k,connectionMode:_,connectionRadius:C,lib:A,onConnectStart:R,cancelConnection:j,nodeLookup:Q,rfId:L,panBy:D,updateConnection:N}=m.getState(),M=E.type==="target",B=(G,X)=>{h(!1),f==null||f(G,n,E.type,X)},$=G=>u==null?void 0:u(n,G),I=(G,X)=>{h(!0),d==null||d(v,n,E.type),R==null||R(G,X)};dP.onPointerDown(v.nativeEvent,{autoPanOnConnect:w,connectionMode:_,connectionRadius:C,domNode:k,handleId:E.id,nodeId:E.nodeId,nodeLookup:Q,isTarget:M,edgeUpdaterType:E.type,lib:A,flowId:L,cancelConnection:j,panBy:D,isValidConnection:(...G)=>{var X,U;return((U=(X=m.getState()).isValidConnection)==null?void 0:U.call(X,...G))??!0},onConnect:$,onConnectStart:I,onConnectEnd:(...G)=>{var X,U;return(U=(X=m.getState()).onConnectEnd)==null?void 0:U.call(X,...G)},onReconnectEnd:B,updateConnection:N,getTransform:()=>m.getState().transform,getFromHandle:()=>m.getState().connection.fromHandle,dragThreshold:m.getState().connectionDragThreshold,handleDomNode:v.currentTarget})},y=v=>g(v,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),b=v=>g(v,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),S=()=>p(!0),x=()=>p(!1);return c.jsxs(c.Fragment,{children:[(e===!0||e==="source")&&c.jsx(Z8,{position:o,centerX:i,centerY:r,radius:t,onMouseDown:y,onMouseEnter:S,onMouseOut:x,type:"source"}),(e===!0||e==="target")&&c.jsx(Z8,{position:l,centerX:s,centerY:a,radius:t,onMouseDown:b,onMouseEnter:S,onMouseOut:x,type:"target"})]})}function jAe({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:i,onClick:r,onDoubleClick:s,onContextMenu:a,onMouseEnter:o,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:p,rfId:m,edgeTypes:g,noPanClassName:y,onError:b,disableKeyboardA11y:S}){let x=Rn(Ee=>Ee.edgeLookup.get(e));const v=Rn(Ee=>Ee.defaultEdgeOptions);x=v?{...v,...x}:x;let E=x.type||"default",w=(g==null?void 0:g[E])||Y8[E];w===void 0&&(b==null||b("011",vl.error011(E)),E="default",w=(g==null?void 0:g.default)||Y8.default);const k=!!(x.focusable||t&&typeof x.focusable>"u"),_=typeof f<"u"&&(x.reconnectable||n&&typeof x.reconnectable>"u"),C=!!(x.selectable||i&&typeof x.selectable>"u"),A=O.useRef(null),[R,j]=O.useState(!1),[Q,L]=O.useState(!1),D=Ji(),{zIndex:N,sourceX:M,sourceY:B,targetX:$,targetY:I,sourcePosition:G,targetPosition:X}=Rn(O.useCallback(Ee=>{const Ce=Ee.nodeLookup.get(x.source),_e=Ee.nodeLookup.get(x.target);if(!Ce||!_e)return{zIndex:x.zIndex,...G8};const he=uTe({id:e,sourceNode:Ce,targetNode:_e,sourceHandle:x.sourceHandle||null,targetHandle:x.targetHandle||null,connectionMode:Ee.connectionMode,onError:b});return{zIndex:nTe({selected:x.selected,zIndex:x.zIndex,sourceNode:Ce,targetNode:_e,elevateOnSelect:Ee.elevateEdgesOnSelect,zIndexMode:Ee.zIndexMode}),...he||G8}},[x.source,x.target,x.sourceHandle,x.targetHandle,x.selected,x.zIndex]),Ki),U=O.useMemo(()=>x.markerStart?`url('#${cP(x.markerStart,m)}')`:void 0,[x.markerStart,m]),Y=O.useMemo(()=>x.markerEnd?`url('#${cP(x.markerEnd,m)}')`:void 0,[x.markerEnd,m]);if(x.hidden||M===null||B===null||$===null||I===null)return null;const ae=Ee=>{var te;const{addSelectedEdges:Ce,unselectNodesAndEdges:_e,multiSelectionActive:he}=D.getState();C&&(D.setState({nodesSelectionActive:!1}),x.selected&&he?(_e({nodes:[],edges:[x]}),(te=A.current)==null||te.blur()):Ce([e])),r&&r(Ee,x)},fe=s?Ee=>{s(Ee,{...x})}:void 0,ke=a?Ee=>{a(Ee,{...x})}:void 0,K=o?Ee=>{o(Ee,{...x})}:void 0,ie=l?Ee=>{l(Ee,{...x})}:void 0,le=u?Ee=>{u(Ee,{...x})}:void 0,ge=Ee=>{var Ce;if(!S&&sJ.includes(Ee.key)&&C){const{unselectNodesAndEdges:_e,addSelectedEdges:he}=D.getState();Ee.key==="Escape"?((Ce=A.current)==null||Ce.blur(),_e({edges:[x]})):he([e])}};return c.jsx("svg",{style:{zIndex:N},children:c.jsxs("g",{className:Br(["react-flow__edge",`react-flow__edge-${E}`,x.className,y,{selected:x.selected,animated:x.animated,inactive:!C&&!r,updating:R,selectable:C}]),onClick:ae,onDoubleClick:fe,onContextMenu:ke,onMouseEnter:K,onMouseMove:ie,onMouseLeave:le,onKeyDown:k?ge:void 0,tabIndex:k?0:void 0,role:x.ariaRole??(k?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":x.ariaLabel===null?void 0:x.ariaLabel||`Edge from ${x.source} to ${x.target}`,"aria-describedby":k?`${BJ}-${m}`:void 0,ref:A,...x.domAttributes,children:[!Q&&c.jsx(w,{id:e,source:x.source,target:x.target,type:x.type,selected:x.selected,animated:x.animated,selectable:C,deletable:x.deletable??!0,label:x.label,labelStyle:x.labelStyle,labelShowBg:x.labelShowBg,labelBgStyle:x.labelBgStyle,labelBgPadding:x.labelBgPadding,labelBgBorderRadius:x.labelBgBorderRadius,sourceX:M,sourceY:B,targetX:$,targetY:I,sourcePosition:G,targetPosition:X,data:x.data,style:x.style,sourceHandleId:x.sourceHandle,targetHandleId:x.targetHandle,markerStart:U,markerEnd:Y,pathOptions:"pathOptions"in x?x.pathOptions:void 0,interactionWidth:x.interactionWidth}),_&&c.jsx(PAe,{edge:x,isReconnectable:_,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:p,sourceX:M,sourceY:B,targetX:$,targetY:I,sourcePosition:G,targetPosition:X,setUpdateHover:j,setReconnecting:L})]})})}var MAe=O.memo(jAe);const LAe=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function fee({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:i,noPanClassName:r,onReconnect:s,onEdgeContextMenu:a,onEdgeMouseEnter:o,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:h,onReconnectStart:p,onReconnectEnd:m,disableKeyboardA11y:g}){const{edgesFocusable:y,edgesReconnectable:b,elementsSelectable:S,onError:x}=Rn(LAe,Ki),v=xAe(t);return c.jsxs("div",{className:"react-flow__edges",children:[c.jsx(kAe,{defaultColor:e,rfId:n}),v.map(E=>c.jsx(MAe,{id:E,edgesFocusable:y,edgesReconnectable:b,elementsSelectable:S,noPanClassName:r,onReconnect:s,onContextMenu:a,onMouseEnter:o,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:h,onReconnectStart:p,onReconnectEnd:m,rfId:n,onError:x,edgeTypes:i,disableKeyboardA11y:g},E))]})}fee.displayName="EdgeRenderer";const DAe=O.memo(fee),$Ae=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function QAe({children:e}){const t=Rn($Ae);return c.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function BAe(e){const t=VT(),n=O.useRef(!1);O.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const UAe=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function zAe(e){const t=Rn(UAe),n=Ji();return O.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function FAe(e){return e.connection.inProgress?{...e.connection,to:x0(e.connection.to,e.transform)}:{...e.connection}}function VAe(e){return FAe}function XAe(e){const t=VAe();return Rn(t,Ki)}const qAe=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function HAe({containerStyle:e,style:t,type:n,component:i}){const{nodesConnectable:r,width:s,height:a,isValid:o,inProgress:l}=Rn(qAe,Ki);return!(s&&r&&l)?null:c.jsx("svg",{style:e,width:s,height:a,className:"react-flow__connectionline react-flow__container",children:c.jsx("g",{className:Br(["react-flow__connection",lJ(o)]),children:c.jsx(hee,{style:t,type:n,CustomComponent:i,isValid:o})})})}const hee=({style:e,type:t=Cd.Bezier,CustomComponent:n,isValid:i})=>{const{inProgress:r,from:s,fromNode:a,fromHandle:o,fromPosition:l,to:u,toNode:d,toHandle:f,toPosition:h,pointer:p}=XAe();if(!r)return;if(n)return c.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:o,fromX:s.x,fromY:s.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:h,connectionStatus:lJ(i),toNode:d,toHandle:f,pointer:p});let m="";const g={sourceX:s.x,sourceY:s.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:h};switch(t){case Cd.Bezier:[m]=yJ(g);break;case Cd.SimpleBezier:[m]=eee(g);break;case Cd.Step:[m]=QE({...g,borderRadius:0});break;case Cd.SmoothStep:[m]=QE(g);break;default:[m]=SJ(g)}return c.jsx("path",{d:m,fill:"none",className:"react-flow__connection-path",style:e})};hee.displayName="ConnectionLine";const YAe={};function K8(e=YAe){O.useRef(e),Ji(),O.useEffect(()=>{},[e])}function GAe(){Ji(),O.useRef(!1),O.useEffect(()=>{},[])}function pee({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:i,onEdgeClick:r,onNodeDoubleClick:s,onEdgeDoubleClick:a,onNodeMouseEnter:o,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:h,onSelectionEnd:p,connectionLineType:m,connectionLineStyle:g,connectionLineComponent:y,connectionLineContainerStyle:b,selectionKeyCode:S,selectionOnDrag:x,selectionMode:v,multiSelectionKeyCode:E,panActivationKeyCode:w,zoomActivationKeyCode:k,deleteKeyCode:_,onlyRenderVisibleElements:C,elementsSelectable:A,defaultViewport:R,translateExtent:j,minZoom:Q,maxZoom:L,preventScrolling:D,defaultMarkerColor:N,zoomOnScroll:M,zoomOnPinch:B,panOnScroll:$,panOnScrollSpeed:I,panOnScrollMode:G,zoomOnDoubleClick:X,panOnDrag:U,autoPanOnSelection:Y,onPaneClick:ae,onPaneMouseEnter:fe,onPaneMouseMove:ke,onPaneMouseLeave:K,onPaneScroll:ie,onPaneContextMenu:le,paneClickDistance:ge,nodeClickDistance:Ee,onEdgeContextMenu:Ce,onEdgeMouseEnter:_e,onEdgeMouseMove:he,onEdgeMouseLeave:te,reconnectRadius:Te,onReconnect:me,onReconnectStart:Be,onReconnectEnd:je,noDragClassName:Ue,noWheelClassName:st,noPanClassName:ct,disableKeyboardA11y:Tt,nodeExtent:at,rfId:q,viewport:oe,onViewportChange:de}){return K8(e),K8(t),GAe(),BAe(n),zAe(oe),c.jsx(uAe,{onPaneClick:ae,onPaneMouseEnter:fe,onPaneMouseMove:ke,onPaneMouseLeave:K,onPaneContextMenu:le,onPaneScroll:ie,paneClickDistance:ge,deleteKeyCode:_,selectionKeyCode:S,selectionOnDrag:x,selectionMode:v,onSelectionStart:h,onSelectionEnd:p,multiSelectionKeyCode:E,panActivationKeyCode:w,zoomActivationKeyCode:k,elementsSelectable:A,zoomOnScroll:M,zoomOnPinch:B,zoomOnDoubleClick:X,panOnScroll:$,panOnScrollSpeed:I,panOnScrollMode:G,panOnDrag:U,autoPanOnSelection:Y,defaultViewport:R,translateExtent:j,minZoom:Q,maxZoom:L,onSelectionContextMenu:f,preventScrolling:D,noDragClassName:Ue,noWheelClassName:st,noPanClassName:ct,disableKeyboardA11y:Tt,onViewportChange:de,isControlledViewport:!!oe,children:c.jsxs(QAe,{children:[c.jsx(DAe,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:a,onReconnect:me,onReconnectStart:Be,onReconnectEnd:je,onlyRenderVisibleElements:C,onEdgeContextMenu:Ce,onEdgeMouseEnter:_e,onEdgeMouseMove:he,onEdgeMouseLeave:te,reconnectRadius:Te,defaultMarkerColor:N,noPanClassName:ct,disableKeyboardA11y:Tt,rfId:q}),c.jsx(HAe,{style:g,type:m,component:y,containerStyle:b}),c.jsx("div",{className:"react-flow__edgelabel-renderer"}),c.jsx(yAe,{nodeTypes:e,onNodeClick:i,onNodeDoubleClick:s,onNodeMouseEnter:o,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:Ee,onlyRenderVisibleElements:C,noPanClassName:ct,noDragClassName:Ue,disableKeyboardA11y:Tt,nodeExtent:at,rfId:q}),c.jsx("div",{className:"react-flow__viewport-portal"})]})})}pee.displayName="GraphView";const WAe=O.memo(pee),ZAe=hJ(),J8=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:h="basic"}={})=>{const p=new Map,m=new Map,g=new Map,y=new Map,b=i??t??[],S=n??e??[],x=d??[0,0],v=f??Ay;EJ(g,y,b);const{nodesInitialized:E}=uP(S,p,m,{nodeOrigin:x,nodeExtent:v,zIndexMode:h});let w=[0,0,1];if(a&&r&&s){const k=Vx(p,{filter:R=>!!((R.width||R.initialWidth)&&(R.height||R.initialHeight))}),{x:_,y:C,zoom:A}=HD(k,r,s,l,u,(o==null?void 0:o.padding)??.1);w=[_,C,A]}return{rfId:"1",width:r??0,height:s??0,transform:w,nodes:S,nodesInitialized:E,nodeLookup:p,parentLookup:m,edges:b,edgeLookup:y,connectionLookup:g,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:i!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:Ay,nodeExtent:v,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Ig.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:x,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:o,fitViewResolver:null,connection:{...oJ},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:ZAe,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:aJ,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},KAe=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h})=>h_e((p,m)=>{async function g(){const{nodeLookup:y,panZoom:b,fitViewOptions:S,fitViewResolver:x,width:v,height:E,minZoom:w,maxZoom:k}=m();b&&(await Gke({nodes:y,width:v,height:E,panZoom:b,minZoom:w,maxZoom:k},S),x==null||x.resolve(!0),p({fitViewResolver:null}))}return{...J8({nodes:e,edges:t,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:n,defaultEdges:i,zIndexMode:h}),setNodes:y=>{const{nodeLookup:b,parentLookup:S,nodeOrigin:x,elevateNodesOnSelect:v,fitViewQueued:E,zIndexMode:w,nodesSelectionActive:k}=m(),{nodesInitialized:_,hasSelectedNodes:C}=uP(y,b,S,{nodeOrigin:x,nodeExtent:f,elevateNodesOnSelect:v,checkEquality:!0,zIndexMode:w}),A=k&&C;E&&_?(g(),p({nodes:y,nodesInitialized:_,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:A})):p({nodes:y,nodesInitialized:_,nodesSelectionActive:A})},setEdges:y=>{const{connectionLookup:b,edgeLookup:S}=m();EJ(b,S,y),p({edges:y})},setDefaultNodesAndEdges:(y,b)=>{if(y){const{setNodes:S}=m();S(y),p({hasDefaultNodes:!0})}if(b){const{setEdges:S}=m();S(b),p({hasDefaultEdges:!0})}},updateNodeInternals:y=>{const{triggerNodeChanges:b,nodeLookup:S,parentLookup:x,domNode:v,nodeOrigin:E,nodeExtent:w,debug:k,fitViewQueued:_,zIndexMode:C}=m(),{changes:A,updatedInternals:R}=bTe(y,S,x,v,E,w,C);R&&(pTe(S,x,{nodeOrigin:E,nodeExtent:w,zIndexMode:C}),_?(g(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),(A==null?void 0:A.length)>0&&(k&&console.log("React Flow: trigger node changes",A),b==null||b(A)))},updateNodePositions:(y,b=!1)=>{const S=[];let x=[];const{nodeLookup:v,triggerNodeChanges:E,connection:w,updateConnection:k,onNodesChangeMiddlewareMap:_}=m();for(const[C,A]of y){const R=v.get(C),j=!!(R!=null&&R.expandParent&&(R!=null&&R.parentId)&&(A!=null&&A.position)),Q={id:C,type:"position",position:j?{x:Math.max(0,A.position.x),y:Math.max(0,A.position.y)}:A.position,dragging:b};if(R&&w.inProgress&&w.fromNode.id===R.id){const L=Gh(R,w.fromHandle,mt.Left,!0);k({...w,from:L})}j&&R.parentId&&S.push({id:C,parentId:R.parentId,rect:{...A.internals.positionAbsolute,width:A.measured.width??0,height:A.measured.height??0}}),x.push(Q)}if(S.length>0){const{parentLookup:C,nodeOrigin:A}=m(),R=e5(S,v,C,A);x.push(...R)}for(const C of _.values())x=C(x);E(x)},triggerNodeChanges:y=>{const{onNodesChange:b,setNodes:S,nodes:x,hasDefaultNodes:v,debug:E}=m();if(y!=null&&y.length){if(v){const w=FJ(y,x);S(w)}E&&console.log("React Flow: trigger node changes",y),b==null||b(y)}},triggerEdgeChanges:y=>{const{onEdgesChange:b,setEdges:S,edges:x,hasDefaultEdges:v,debug:E}=m();if(y!=null&&y.length){if(v){const w=VJ(y,x);S(w)}E&&console.log("React Flow: trigger edge changes",y),b==null||b(y)}},addSelectedNodes:y=>{const{multiSelectionActive:b,edgeLookup:S,nodeLookup:x,triggerNodeChanges:v,triggerEdgeChanges:E}=m();if(b){const w=y.map(k=>sh(k,!0));v(w);return}v(Am(x,new Set([...y]),!0)),E(Am(S))},addSelectedEdges:y=>{const{multiSelectionActive:b,edgeLookup:S,nodeLookup:x,triggerNodeChanges:v,triggerEdgeChanges:E}=m();if(b){const w=y.map(k=>sh(k,!0));E(w);return}E(Am(S,new Set([...y]))),v(Am(x,new Set,!0))},unselectNodesAndEdges:({nodes:y,edges:b}={})=>{const{edges:S,nodes:x,nodeLookup:v,triggerNodeChanges:E,triggerEdgeChanges:w}=m(),k=y||x,_=b||S,C=[];for(const R of k){if(!R.selected)continue;const j=v.get(R.id);j&&(j.selected=!1),C.push(sh(R.id,!1))}const A=[];for(const R of _)R.selected&&A.push(sh(R.id,!1));E(C),w(A)},setMinZoom:y=>{const{panZoom:b,maxZoom:S}=m();b==null||b.setScaleExtent([y,S]),p({minZoom:y})},setMaxZoom:y=>{const{panZoom:b,minZoom:S}=m();b==null||b.setScaleExtent([S,y]),p({maxZoom:y})},setTranslateExtent:y=>{var b;(b=m().panZoom)==null||b.setTranslateExtent(y),p({translateExtent:y})},resetSelectedElements:()=>{const{edges:y,nodes:b,triggerNodeChanges:S,triggerEdgeChanges:x,elementsSelectable:v}=m();if(!v)return;const E=b.reduce((k,_)=>_.selected?[...k,sh(_.id,!1)]:k,[]),w=y.reduce((k,_)=>_.selected?[...k,sh(_.id,!1)]:k,[]);S(E),x(w)},setNodeExtent:y=>{const{nodes:b,nodeLookup:S,parentLookup:x,nodeOrigin:v,elevateNodesOnSelect:E,nodeExtent:w,zIndexMode:k}=m();y[0][0]===w[0][0]&&y[0][1]===w[0][1]&&y[1][0]===w[1][0]&&y[1][1]===w[1][1]||(uP(b,S,x,{nodeOrigin:v,nodeExtent:y,elevateNodesOnSelect:E,checkEquality:!1,zIndexMode:k}),p({nodeExtent:y}))},panBy:y=>{const{transform:b,width:S,height:x,panZoom:v,translateExtent:E}=m();return yTe({delta:y,panZoom:v,transform:b,translateExtent:E,width:S,height:x})},setCenter:async(y,b,S)=>{const{width:x,height:v,maxZoom:E,panZoom:w}=m();if(!w)return!1;const k=typeof(S==null?void 0:S.zoom)<"u"?S.zoom:E;return await w.setViewport({x:x/2-y*k,y:v/2-b*k,zoom:k},{duration:S==null?void 0:S.duration,ease:S==null?void 0:S.ease,interpolate:S==null?void 0:S.interpolate}),!0},cancelConnection:()=>{p({connection:{...oJ}})},updateConnection:y=>{p({connection:y})},reset:()=>p({...J8()})}},Object.is);function mee({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:i,initialWidth:r,initialHeight:s,initialMinZoom:a,initialMaxZoom:o,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h,children:p}){const[m]=O.useState(()=>KAe({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:u,minZoom:a,maxZoom:o,fitViewOptions:l,nodeOrigin:d,nodeExtent:f,zIndexMode:h}));return c.jsx(p_e,{value:m,children:c.jsx(Q_e,{children:p})})}function JAe({children:e,nodes:t,edges:n,defaultNodes:i,defaultEdges:r,width:s,height:a,fitView:o,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:p}){return O.useContext(zT)?c.jsx(c.Fragment,{children:e}):c.jsx(mee,{initialNodes:t,initialEdges:n,defaultNodes:i,defaultEdges:r,initialWidth:s,initialHeight:a,fitView:o,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:p,children:e})}const e2e={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function t2e({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,className:r,nodeTypes:s,edgeTypes:a,onNodeClick:o,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:h,onConnect:p,onConnectStart:m,onConnectEnd:g,onClickConnectStart:y,onClickConnectEnd:b,onNodeMouseEnter:S,onNodeMouseMove:x,onNodeMouseLeave:v,onNodeContextMenu:E,onNodeDoubleClick:w,onNodeDragStart:k,onNodeDrag:_,onNodeDragStop:C,onNodesDelete:A,onEdgesDelete:R,onDelete:j,onSelectionChange:Q,onSelectionDragStart:L,onSelectionDrag:D,onSelectionDragStop:N,onSelectionContextMenu:M,onSelectionStart:B,onSelectionEnd:$,onBeforeDelete:I,connectionMode:G,connectionLineType:X=Cd.Bezier,connectionLineStyle:U,connectionLineComponent:Y,connectionLineContainerStyle:ae,deleteKeyCode:fe="Backspace",selectionKeyCode:ke="Shift",selectionOnDrag:K=!1,selectionMode:ie=Ny.Full,panActivationKeyCode:le="Space",multiSelectionKeyCode:ge=Iy()?"Meta":"Control",zoomActivationKeyCode:Ee=Iy()?"Meta":"Control",snapToGrid:Ce,snapGrid:_e,onlyRenderVisibleElements:he=!1,selectNodesOnDrag:te,nodesDraggable:Te,autoPanOnNodeFocus:me,nodesConnectable:Be,nodesFocusable:je,nodeOrigin:Ue=UJ,edgesFocusable:st,edgesReconnectable:ct,elementsSelectable:Tt=!0,defaultViewport:at=__e,minZoom:q=.5,maxZoom:oe=2,translateExtent:de=Ay,preventScrolling:Ie=!0,nodeExtent:ce,defaultMarkerColor:Me="#b1b1b7",zoomOnScroll:Ye=!0,zoomOnPinch:dt=!0,panOnScroll:Gt=!1,panOnScrollSpeed:Ct=.5,panOnScrollMode:Dt=jh.Free,zoomOnDoubleClick:vt=!0,panOnDrag:Wt=!0,onPaneClick:gt,onPaneMouseEnter:ft,onPaneMouseMove:Rt,onPaneMouseLeave:rn,onPaneScroll:ln,onPaneContextMenu:Ae,paneClickDistance:qe=1,nodeClickDistance:$e=0,children:pn,onReconnect:bn,onReconnectStart:It,onReconnectEnd:pe,onEdgeContextMenu:Qe,onEdgeDoubleClick:yt,onEdgeMouseEnter:mn,onEdgeMouseMove:wn,onEdgeMouseLeave:Jt,reconnectRadius:ui=10,onNodesChange:Fn,onEdgesChange:xe,noDragClassName:Ge="nodrag",noWheelClassName:Nt="nowheel",noPanClassName:Kt="nopan",fitView:sn,fitViewOptions:Vn,connectOnClick:xi,attributionPosition:di,proOptions:Hn,defaultEdgeOptions:En,elevateNodesOnSelect:Zn=!0,elevateEdgesOnSelect:Si=!1,disableKeyboardA11y:Zt=!1,autoPanOnConnect:Yn,autoPanOnNodeDrag:mr,autoPanOnSelection:er=!0,autoPanSpeed:gn,connectionRadius:Li,isValidConnection:kn,onError:fn,style:Di,id:Ft,nodeDragThreshold:vi,connectionDragThreshold:Kn,viewport:$i,onViewportChange:Vt,width:Ai,height:ms,colorMode:Fs="light",debug:Kr,onScroll:gr,ariaLabelConfig:Ur,zIndexMode:or="basic",...Qi},Jr){const zr=Ft||"1",tr=R_e(Fs),Fr=O.useCallback(Vs=>{Vs.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),gr==null||gr(Vs)},[gr]);return c.jsx("div",{"data-testid":"rf__wrapper",...Qi,onScroll:Fr,style:{...Di,...e2e},ref:Jr,className:Br(["react-flow",r,tr]),id:Ft,role:"application",children:c.jsxs(JAe,{nodes:e,edges:t,width:Ai,height:ms,fitView:sn,fitViewOptions:Vn,minZoom:q,maxZoom:oe,nodeOrigin:Ue,nodeExtent:ce,zIndexMode:or,children:[c.jsx(C_e,{nodes:e,edges:t,defaultNodes:n,defaultEdges:i,onConnect:p,onConnectStart:m,onConnectEnd:g,onClickConnectStart:y,onClickConnectEnd:b,nodesDraggable:Te,autoPanOnNodeFocus:me,nodesConnectable:Be,nodesFocusable:je,edgesFocusable:st,edgesReconnectable:ct,elementsSelectable:Tt,elevateNodesOnSelect:Zn,elevateEdgesOnSelect:Si,minZoom:q,maxZoom:oe,nodeExtent:ce,onNodesChange:Fn,onEdgesChange:xe,snapToGrid:Ce,snapGrid:_e,connectionMode:G,translateExtent:de,connectOnClick:xi,defaultEdgeOptions:En,fitView:sn,fitViewOptions:Vn,onNodesDelete:A,onEdgesDelete:R,onDelete:j,onNodeDragStart:k,onNodeDrag:_,onNodeDragStop:C,onSelectionDrag:D,onSelectionDragStart:L,onSelectionDragStop:N,onMove:d,onMoveStart:f,onMoveEnd:h,noPanClassName:Kt,nodeOrigin:Ue,rfId:zr,autoPanOnConnect:Yn,autoPanOnNodeDrag:mr,autoPanSpeed:gn,onError:fn,connectionRadius:Li,isValidConnection:kn,selectNodesOnDrag:te,nodeDragThreshold:vi,connectionDragThreshold:Kn,onBeforeDelete:I,debug:Kr,ariaLabelConfig:Ur,zIndexMode:or}),c.jsx(WAe,{onInit:u,onNodeClick:o,onEdgeClick:l,onNodeMouseEnter:S,onNodeMouseMove:x,onNodeMouseLeave:v,onNodeContextMenu:E,onNodeDoubleClick:w,nodeTypes:s,edgeTypes:a,connectionLineType:X,connectionLineStyle:U,connectionLineComponent:Y,connectionLineContainerStyle:ae,selectionKeyCode:ke,selectionOnDrag:K,selectionMode:ie,deleteKeyCode:fe,multiSelectionKeyCode:ge,panActivationKeyCode:le,zoomActivationKeyCode:Ee,onlyRenderVisibleElements:he,defaultViewport:at,translateExtent:de,minZoom:q,maxZoom:oe,preventScrolling:Ie,zoomOnScroll:Ye,zoomOnPinch:dt,zoomOnDoubleClick:vt,panOnScroll:Gt,panOnScrollSpeed:Ct,panOnScrollMode:Dt,panOnDrag:Wt,autoPanOnSelection:er,onPaneClick:gt,onPaneMouseEnter:ft,onPaneMouseMove:Rt,onPaneMouseLeave:rn,onPaneScroll:ln,onPaneContextMenu:Ae,paneClickDistance:qe,nodeClickDistance:$e,onSelectionContextMenu:M,onSelectionStart:B,onSelectionEnd:$,onReconnect:bn,onReconnectStart:It,onReconnectEnd:pe,onEdgeContextMenu:Qe,onEdgeDoubleClick:yt,onEdgeMouseEnter:mn,onEdgeMouseMove:wn,onEdgeMouseLeave:Jt,reconnectRadius:ui,defaultMarkerColor:Me,noDragClassName:Ge,noWheelClassName:Nt,noPanClassName:Kt,rfId:zr,disableKeyboardA11y:Zt,nodeExtent:ce,viewport:$i,onViewportChange:Vt}),c.jsx(T_e,{onSelectionChange:Q}),pn,c.jsx(S_e,{proOptions:Hn,position:di}),c.jsx(x_e,{rfId:zr,disableKeyboardA11y:Zt})]})})}var n2e=XJ(t2e);const i2e=e=>{var t;return(t=e.domNode)==null?void 0:t.querySelector(".react-flow__edgelabel-renderer")};function r2e({children:e}){const t=Rn(i2e);return t?ar.createPortal(e,t):null}function s2e(e){const[t,n]=O.useState(e),i=O.useCallback(r=>n(s=>FJ(r,s)),[]);return[t,n,i]}function a2e(e){const[t,n]=O.useState(e),i=O.useCallback(r=>n(s=>VJ(r,s)),[]);return[t,n,i]}const o2e=e=>t=>{if(!e.includeHiddenNodes)return t.nodesInitialized;if(t.nodeLookup.size===0)return!1;for(const[,{internals:n}]of t.nodeLookup)if(n.handleBounds===void 0||!YD(n.userNode))return!1;return!0};function l2e(e={includeHiddenNodes:!1}){return Rn(o2e(e))}function c2e({dimensions:e,lineWidth:t,variant:n,className:i}){return c.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Br(["react-flow__background-pattern",n,i])})}function u2e({radius:e,className:t}){return c.jsx("circle",{cx:e,cy:e,r:e,className:Br(["react-flow__background-pattern","dots",t])})}var Kd;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Kd||(Kd={}));const d2e={[Kd.Dots]:1,[Kd.Lines]:1,[Kd.Cross]:6},f2e=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function gee({id:e,variant:t=Kd.Dots,gap:n=20,size:i,lineWidth:r=1,offset:s=0,color:a,bgColor:o,style:l,className:u,patternClassName:d}){const f=O.useRef(null),{transform:h,patternId:p}=Rn(f2e,Ki),m=i||d2e[t],g=t===Kd.Dots,y=t===Kd.Cross,b=Array.isArray(n)?n:[n,n],S=[b[0]*h[2]||1,b[1]*h[2]||1],x=m*h[2],v=Array.isArray(s)?s:[s,s],E=y?[x,x]:S,w=[v[0]*h[2]||1+E[0]/2,v[1]*h[2]||1+E[1]/2],k=`${p}${e||""}`;return c.jsxs("svg",{className:Br(["react-flow__background",u]),style:{...l,...XT,"--xy-background-color-props":o,"--xy-background-pattern-color-props":a},ref:f,"data-testid":"rf__background",children:[c.jsx("pattern",{id:k,x:h[0]%S[0],y:h[1]%S[1],width:S[0],height:S[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${w[0]},-${w[1]})`,children:g?c.jsx(u2e,{radius:x/2,className:d}):c.jsx(c2e,{dimensions:E,lineWidth:r,variant:t,className:d})}),c.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k})`})]})}gee.displayName="Background";const h2e=O.memo(gee);function p2e(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:c.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function m2e(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:c.jsx("path",{d:"M0 0h32v4.2H0z"})})}function g2e(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:c.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function O2e(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function b2e(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function NS({children:e,className:t,...n}){return c.jsx("button",{type:"button",className:Br(["react-flow__controls-button",t]),...n,children:e})}const y2e=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Oee({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:i=!0,fitViewOptions:r,onZoomIn:s,onZoomOut:a,onFitView:o,onInteractiveChange:l,className:u,children:d,position:f="bottom-left",orientation:h="vertical","aria-label":p}){const m=Ji(),{isInteractive:g,minZoomReached:y,maxZoomReached:b,ariaLabelConfig:S}=Rn(y2e,Ki),{zoomIn:x,zoomOut:v,fitView:E}=VT(),w=()=>{x(),s==null||s()},k=()=>{v(),a==null||a()},_=()=>{E(r),o==null||o()},C=()=>{m.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l==null||l(!g)},A=h==="horizontal"?"horizontal":"vertical";return c.jsxs(FT,{className:Br(["react-flow__controls",A,u]),position:f,style:e,"data-testid":"rf__controls","aria-label":p??S["controls.ariaLabel"],children:[t&&c.jsxs(c.Fragment,{children:[c.jsx(NS,{onClick:w,className:"react-flow__controls-zoomin",title:S["controls.zoomIn.ariaLabel"],"aria-label":S["controls.zoomIn.ariaLabel"],disabled:b,children:c.jsx(p2e,{})}),c.jsx(NS,{onClick:k,className:"react-flow__controls-zoomout",title:S["controls.zoomOut.ariaLabel"],"aria-label":S["controls.zoomOut.ariaLabel"],disabled:y,children:c.jsx(m2e,{})})]}),n&&c.jsx(NS,{className:"react-flow__controls-fitview",onClick:_,title:S["controls.fitView.ariaLabel"],"aria-label":S["controls.fitView.ariaLabel"],children:c.jsx(g2e,{})}),i&&c.jsx(NS,{className:"react-flow__controls-interactive",onClick:C,title:S["controls.interactive.ariaLabel"],"aria-label":S["controls.interactive.ariaLabel"],children:g?c.jsx(b2e,{}):c.jsx(O2e,{})}),d]})}Oee.displayName="Controls";const x2e=O.memo(Oee);function S2e({id:e,x:t,y:n,width:i,height:r,style:s,color:a,strokeColor:o,strokeWidth:l,className:u,borderRadius:d,shapeRendering:f,selected:h,onClick:p}){const{background:m,backgroundColor:g}=s||{},y=a||m||g;return c.jsx("rect",{className:Br(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:d,ry:d,width:i,height:r,style:{fill:y,stroke:o,strokeWidth:l},shapeRendering:f,onClick:p?b=>p(b,e):void 0})}const v2e=O.memo(S2e),w2e=e=>e.nodes.map(t=>t.id),q2=e=>e instanceof Function?e:()=>e;function E2e({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:i=5,nodeStrokeWidth:r,nodeComponent:s=v2e,onClick:a}){const o=Rn(w2e,Ki),l=q2(t),u=q2(e),d=q2(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return c.jsx(c.Fragment,{children:o.map(h=>c.jsx(T2e,{id:h,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:i,nodeStrokeWidth:r,NodeComponent:s,onClick:a,shapeRendering:f},h))})}function k2e({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:i,nodeBorderRadius:r,nodeStrokeWidth:s,shapeRendering:a,NodeComponent:o,onClick:l}){const{node:u,x:d,y:f,width:h,height:p}=Rn(m=>{const g=m.nodeLookup.get(e);if(!g)return{node:void 0,x:0,y:0,width:0,height:0};const y=g.internals.userNode,{x:b,y:S}=g.internals.positionAbsolute,{width:x,height:v}=Fu(y);return{node:y,x:b,y:S,width:x,height:v}},Ki);return!u||u.hidden||!YD(u)?null:c.jsx(o,{x:d,y:f,width:h,height:p,style:u.style,selected:!!u.selected,className:i(u),color:t(u),borderRadius:r,strokeColor:n(u),strokeWidth:s,shapeRendering:a,onClick:l,id:u.id})}const T2e=O.memo(k2e);var _2e=O.memo(E2e);const A2e=200,N2e=150,C2e=e=>!e.hidden,R2e=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?fJ(Vx(e.nodeLookup,{filter:C2e}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},I2e="react-flow__minimap-desc";function bee({style:e,className:t,nodeStrokeColor:n,nodeColor:i,nodeClassName:r="",nodeBorderRadius:s=5,nodeStrokeWidth:a,nodeComponent:o,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:f,position:h="bottom-right",onClick:p,onNodeClick:m,pannable:g=!1,zoomable:y=!1,ariaLabel:b,inversePan:S,zoomStep:x=1,offsetScale:v=5}){const E=Ji(),w=O.useRef(null),{boundingRect:k,viewBB:_,rfId:C,panZoom:A,translateExtent:R,flowWidth:j,flowHeight:Q,ariaLabelConfig:L}=Rn(R2e,Ki),D=(e==null?void 0:e.width)??A2e,N=(e==null?void 0:e.height)??N2e,M=k.width/D,B=k.height/N,$=Math.max(M,B),I=$*D,G=$*N,X=v*$,U=k.x-(I-k.width)/2-X,Y=k.y-(G-k.height)/2-X,ae=I+X*2,fe=G+X*2,ke=`${I2e}-${C}`,K=O.useRef(0),ie=O.useRef();K.current=$,O.useEffect(()=>{if(w.current&&A)return ie.current=ATe({domNode:w.current,panZoom:A,getTransform:()=>E.getState().transform,getViewScale:()=>K.current}),()=>{var Ce;(Ce=ie.current)==null||Ce.destroy()}},[A]),O.useEffect(()=>{var Ce;(Ce=ie.current)==null||Ce.update({translateExtent:R,width:j,height:Q,inversePan:S,pannable:g,zoomStep:x,zoomable:y})},[g,y,S,x,R,j,Q]);const le=p?Ce=>{var te;const[_e,he]=((te=ie.current)==null?void 0:te.pointer(Ce))||[0,0];p(Ce,{x:_e,y:he})}:void 0,ge=m?O.useCallback((Ce,_e)=>{const he=E.getState().nodeLookup.get(_e).internals.userNode;m(Ce,he)},[]):void 0,Ee=b??L["minimap.ariaLabel"];return c.jsx(FT,{position:h,style:{...e,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof f=="number"?f*$:void 0,"--xy-minimap-node-background-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof a=="number"?a:void 0},className:Br(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:c.jsxs("svg",{width:D,height:N,viewBox:`${U} ${Y} ${ae} ${fe}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ke,ref:w,onClick:le,children:[Ee&&c.jsx("title",{id:ke,children:Ee}),c.jsx(_2e,{onClick:ge,nodeColor:i,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:r,nodeStrokeWidth:a,nodeComponent:o}),c.jsx("path",{className:"react-flow__minimap-mask",d:`M${U-X},${Y-X}h${ae+X*2}v${fe+X*2}h${-ae-X*2}z + M${_.x},${_.y}h${_.width}v${_.height}h${-_.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}bee.displayName="MiniMap";O.memo(bee);const P2e=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,j2e={[Lg.Line]:"right",[Lg.Handle]:"bottom-right"};function M2e({nodeId:e,position:t,variant:n=Lg.Handle,className:i,style:r=void 0,children:s,color:a,minWidth:o=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:h,autoScale:p=!0,shouldResize:m,onResizeStart:g,onResize:y,onResizeEnd:b}){const S=GJ(),x=typeof e=="string"?e:S,v=Ji(),E=O.useRef(null),w=n===Lg.Handle,k=Rn(O.useCallback(P2e(w&&p),[w,p]),Ki),_=O.useRef(null),C=t??j2e[n];O.useEffect(()=>{if(!(!E.current||!x))return _.current||(_.current=UTe({domNode:E.current,nodeId:x,getStoreItems:()=>{const{nodeLookup:R,transform:j,snapGrid:Q,snapToGrid:L,nodeOrigin:D,domNode:N}=v.getState();return{nodeLookup:R,transform:j,snapGrid:Q,snapToGrid:L,nodeOrigin:D,paneDomNode:N}},onChange:(R,j)=>{const{triggerNodeChanges:Q,nodeLookup:L,parentLookup:D,nodeOrigin:N}=v.getState(),M=[],B={x:R.x,y:R.y},$=L.get(x);if($&&$.expandParent&&$.parentId){const I=$.origin??N,G=R.width??$.measured.width??0,X=R.height??$.measured.height??0,U={id:$.id,parentId:$.parentId,rect:{width:G,height:X,...pJ({x:R.x??$.position.x,y:R.y??$.position.y},{width:G,height:X},$.parentId,L,I)}},Y=e5([U],L,D,N);M.push(...Y),B.x=R.x?Math.max(I[0]*G,R.x):void 0,B.y=R.y?Math.max(I[1]*X,R.y):void 0}if(B.x!==void 0&&B.y!==void 0){const I={id:x,type:"position",position:{...B}};M.push(I)}if(R.width!==void 0&&R.height!==void 0){const G={id:x,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:R.width,height:R.height}};M.push(G)}for(const I of j){const G={...I,type:"position"};M.push(G)}Q(M)},onEnd:({width:R,height:j})=>{const Q={id:x,type:"dimensions",resizing:!1,dimensions:{width:R,height:j}};v.getState().triggerNodeChanges([Q])}})),_.current.update({controlPosition:C,boundaries:{minWidth:o,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:f,resizeDirection:h,onResizeStart:g,onResize:y,onResizeEnd:b,shouldResize:m}),()=>{var R;(R=_.current)==null||R.destroy()}},[C,o,l,u,d,f,g,y,b,m]);const A=C.split("-");return c.jsx("div",{className:Br(["react-flow__resize-control","nodrag",...A,n,i]),ref:E,style:{...r,scale:k,...a&&{[w?"backgroundColor":"borderColor"]:a}},children:s})}O.memo(M2e);var yee=Object.defineProperty,L2e=(e,t,n)=>t in e?yee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,D2e=(e,t)=>{for(var n in t)yee(e,n,{get:t[n],enumerable:!0})},$2e=(e,t,n)=>L2e(e,t+"",n),xee={};D2e(xee,{Graph:()=>Xo,alg:()=>n5,json:()=>vee,version:()=>U2e});var Q2e=Object.defineProperty,See=(e,t)=>{for(var n in t)Q2e(e,n,{get:t[n],enumerable:!0})},Xo=class{constructor(t){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},t&&(this._isDirected="directed"in t?t.directed:!0,this._isMultigraph="multigraph"in t?t.multigraph:!1,this._isCompound="compound"in t?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return typeof t!="function"?this._defaultNodeLabelFn=()=>t:this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(t=>Object.keys(this._in[t]).length===0)}sinks(){return this.nodes().filter(t=>Object.keys(this._out[t]).length===0)}setNodes(t,n){return t.forEach(i=>{n!==void 0?this.setNode(i,n):this.setNode(i)}),this}setNode(t,n){return t in this._nodes?(arguments.length>1&&(this._nodes[t]=n),this):(this._nodes[t]=arguments.length>1?n:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return t in this._nodes}removeNode(t){if(t in this._nodes){let n=i=>this.removeEdge(this._edgeObjs[i]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(i=>{this.setParent(i)}),delete this._children[t]),Object.keys(this._in[t]).forEach(n),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,n){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(n===void 0)n="\0";else{n+="";for(let i=n;i!==void 0;i=this.parent(i))if(i===t)throw new Error("Setting "+n+" as parent of "+t+" would create a cycle");this.setNode(n)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=n,this._children[n][t]=!0,this}parent(t){if(this._isCompound){let n=this._parent[t];if(n!=="\0")return n}}children(t="\0"){if(this._isCompound){let n=this._children[t];if(n)return Object.keys(n)}else{if(t==="\0")return this.nodes();if(this.hasNode(t))return[]}return[]}predecessors(t){let n=this._preds[t];if(n)return Object.keys(n)}successors(t){let n=this._sucs[t];if(n)return Object.keys(n)}neighbors(t){let n=this.predecessors(t);if(n){let i=new Set(n);for(let r of this.successors(t))i.add(r);return Array.from(i.values())}}isLeaf(t){let n;return this.isDirected()?n=this.successors(t):n=this.neighbors(t),n.length===0}filterNodes(t){let n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),Object.entries(this._nodes).forEach(([s,a])=>{t(s)&&n.setNode(s,a)}),Object.values(this._edgeObjs).forEach(s=>{n.hasNode(s.v)&&n.hasNode(s.w)&&n.setEdge(s,this.edge(s))});let i={},r=s=>{let a=this.parent(s);return!a||n.hasNode(a)?(i[s]=a??void 0,a??void 0):a in i?i[a]:r(a)};return this._isCompound&&n.nodes().forEach(s=>n.setParent(s,r(s))),n}setDefaultEdgeLabel(t){return typeof t!="function"?this._defaultEdgeLabelFn=()=>t:this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,n){return t.reduce((i,r)=>(n!==void 0?this.setEdge(i,r,n):this.setEdge(i,r),r)),this}setEdge(t,n,i,r){let s,a,o,l,u=!1;typeof t=="object"&&t!==null&&"v"in t?(s=t.v,a=t.w,o=t.name,arguments.length===2&&(l=n,u=!0)):(s=t,a=n,o=r,arguments.length>2&&(l=i,u=!0)),s=""+s,a=""+a,o!==void 0&&(o=""+o);let d=ZO(this._isDirected,s,a,o);if(d in this._edgeLabels)return u&&(this._edgeLabels[d]=l),this;if(o!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(s),this.setNode(a),this._edgeLabels[d]=u?l:this._defaultEdgeLabelFn(s,a,o);let f=B2e(this._isDirected,s,a,o);return s=f.v,a=f.w,Object.freeze(f),this._edgeObjs[d]=f,e9(this._preds[a],s),e9(this._sucs[s],a),this._in[a][d]=f,this._out[s][d]=f,this._edgeCount++,this}edge(t,n,i){let r=arguments.length===1?H2(this._isDirected,t):ZO(this._isDirected,t,n,i);return this._edgeLabels[r]}edgeAsObj(t,n,i){let r=arguments.length===1?this.edge(t):this.edge(t,n,i);return typeof r!="object"?{label:r}:r}hasEdge(t,n,i){return(arguments.length===1?H2(this._isDirected,t):ZO(this._isDirected,t,n,i))in this._edgeLabels}removeEdge(t,n,i){let r=arguments.length===1?H2(this._isDirected,t):ZO(this._isDirected,t,n,i),s=this._edgeObjs[r];if(s){let a=s.v,o=s.w;delete this._edgeLabels[r],delete this._edgeObjs[r],t9(this._preds[o],a),t9(this._sucs[a],o),delete this._in[o][r],delete this._out[a][r],this._edgeCount--}return this}inEdges(t,n){return this.isDirected()?this.filterEdges(this._in[t],t,n):this.nodeEdges(t,n)}outEdges(t,n){return this.isDirected()?this.filterEdges(this._out[t],t,n):this.nodeEdges(t,n)}nodeEdges(t,n){if(t in this._nodes)return this.filterEdges({...this._in[t],...this._out[t]},t,n)}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}filterEdges(t,n,i){if(!t)return;let r=Object.values(t);return i?r.filter(s=>s.v===n&&s.w===i||s.v===i&&s.w===n):r}};function e9(e,t){e[t]?e[t]++:e[t]=1}function t9(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function ZO(e,t,n,i){let r=""+t,s=""+n;if(!e&&r>s){let a=r;r=s,s=a}return r+""+s+""+(i===void 0?"\0":i)}function B2e(e,t,n,i){let r=""+t,s=""+n;if(!e&&r>s){let o=r;r=s,s=o}let a={v:r,w:s};return i&&(a.name=i),a}function H2(e,t){return ZO(e,t.v,t.w,t.name)}var U2e="4.0.1",vee={};See(vee,{read:()=>X2e,write:()=>z2e});function z2e(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:F2e(e),edges:V2e(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function F2e(e){return e.nodes().map(t=>{let n=e.node(t),i=e.parent(t),r={v:t};return n!==void 0&&(r.value=n),i!==void 0&&(r.parent=i),r})}function V2e(e){return e.edges().map(t=>{let n=e.edge(t),i={v:t.v,w:t.w};return t.name!==void 0&&(i.name=t.name),n!==void 0&&(i.value=n),i})}function X2e(e){let t=new Xo(e.options);return e.value!==void 0&&t.setGraph(e.value),e.nodes.forEach(n=>{t.setNode(n.v,n.value),n.parent&&t.setParent(n.v,n.parent)}),e.edges.forEach(n=>{t.setEdge({v:n.v,w:n.w,name:n.name},n.value)}),t}var n5={};See(n5,{CycleException:()=>zE,bellmanFord:()=>wee,components:()=>Y2e,dijkstra:()=>UE,dijkstraAll:()=>Z2e,findCycles:()=>K2e,floydWarshall:()=>eNe,isAcyclic:()=>nNe,postorder:()=>rNe,preorder:()=>sNe,prim:()=>aNe,shortestPaths:()=>oNe,tarjan:()=>kee,topsort:()=>Tee});var q2e=()=>1;function wee(e,t,n,i){return H2e(e,String(t),n||q2e,i||function(r){return e.outEdges(r)})}function H2e(e,t,n,i){let r={},s,a=0,o=e.nodes(),l=function(f){let h=n(f);r[f.v].distance+he.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(e,t){let n=this._keyIndices,i=String(e);if(!(i in n)){let r=this._arr,s=r.length;return n[i]=s,r.push({key:i,priority:t}),this._decrease(s),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let n=this._keyIndices[e];if(n===void 0)throw new Error(`Key not found: ${e}`);let i=this._arr[n].priority;if(t>i)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${i} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,i=n+1,r=e;n>1,!(t[i].priority1;function UE(e,t,n,i){let r=function(s){return e.outEdges(s)};return W2e(e,String(t),n||G2e,i||r)}function W2e(e,t,n,i){let r={},s=new Eee,a,o,l=function(u){let d=u.v!==a?u.v:u.w,f=r[d],h=n(u),p=o.distance+h;if(h<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+h);p0&&(a=s.removeMin(),o=r[a],o.distance!==Number.POSITIVE_INFINITY);)i(a).forEach(l);return r}function Z2e(e,t,n){return e.nodes().reduce(function(i,r){return i[r]=UE(e,r,t,n),i},{})}function kee(e){let t=0,n=[],i={},r=[];function s(a){let o=i[a]={onStack:!0,lowlink:t,index:t++};if(n.push(a),e.successors(a).forEach(function(l){l in i?i[l].onStack&&(o.lowlink=Math.min(o.lowlink,i[l].index)):(s(l),o.lowlink=Math.min(o.lowlink,i[l].lowlink))}),o.lowlink===o.index){let l=[],u;do u=n.pop(),i[u].onStack=!1,l.push(u);while(a!==u);r.push(l)}}return e.nodes().forEach(function(a){a in i||s(a)}),r}function K2e(e){return kee(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}var J2e=()=>1;function eNe(e,t,n){return tNe(e,t||J2e,n||function(i){return e.outEdges(i)})}function tNe(e,t,n){let i={},r=e.nodes();return r.forEach(function(s){i[s]={},i[s][s]={distance:0,predecessor:""},r.forEach(function(a){s!==a&&(i[s][a]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),n(s).forEach(function(a){let o=a.v===s?a.w:a.v,l=t(a);i[s][o]={distance:l,predecessor:s}})}),r.forEach(function(s){let a=i[s];r.forEach(function(o){let l=i[o];r.forEach(function(u){let d=l[s],f=a[u],h=l[u],p=d.distance+f.distance;p{var l;return(l=e.isDirected()?e.successors(o):e.neighbors(o))!=null?l:[]},a={};return t.forEach(function(o){if(!e.hasNode(o))throw new Error("Graph does not have node: "+o);r=_ee(e,o,n==="post",a,s,i,r)}),r}function _ee(e,t,n,i,r,s,a){return t in i||(i[t]=!0,n||(a=s(a,t)),r(t).forEach(function(o){a=_ee(e,o,n,i,r,s,a)}),n&&(a=s(a,t))),a}function Aee(e,t,n){return iNe(e,t,n,function(i,r){return i.push(r),i},[])}function rNe(e,t){return Aee(e,t,"post")}function sNe(e,t){return Aee(e,t,"pre")}function aNe(e,t){let n=new Xo,i={},r=new Eee,s;function a(l){let u=l.v===s?l.w:l.v,d=r.priority(u);if(d!==void 0){let f=t(l);f0;){if(s=r.removeMin(),s in i)n.setEdge(s,i[s]);else{if(o)throw new Error("Input graph is not connected: "+e);o=!0}e.nodeEdges(s).forEach(a)}return n}function oNe(e,t,n,i){return lNe(e,t,n,i??(r=>{let s=e.outEdges(r);return s??[]}))}function lNe(e,t,n,i){if(n===void 0)return UE(e,t,n,i);let r=!1,s=e.nodes();for(let a=0;at.setNode(n,e.node(n))),e.edges().forEach(n=>{let i=t.edge(n.v,n.w)||{weight:0,minlen:1},r=e.edge(n);t.setEdge(n.v,n.w,{weight:i.weight+r.weight,minlen:Math.max(i.minlen,r.minlen)})}),t}function Nee(e){let t=new Xo({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function n9(e,t){let n=e.x,i=e.y,r=t.x-n,s=t.y-i,a=e.width/2,o=e.height/2;if(!r&&!s)throw new Error("Not possible to find intersection inside of the rectangle");let l,u;return Math.abs(s)*a>Math.abs(r)*o?(s<0&&(o=-o),l=o*r/s,u=o):(r<0&&(a=-a),l=a,u=a*s/r),{x:n+l,y:i+u}}function Hx(e){let t=jy(Ree(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let i=e.node(n),r=i.rank;r!==void 0&&(t[r]||(t[r]=[]),t[r][i.order]=n)}),t}function uNe(e){let t=e.nodes().map(i=>{let r=e.node(i).rank;return r===void 0?Number.MAX_VALUE:r}),n=ac(Math.min,t);e.nodes().forEach(i=>{let r=e.node(i);Object.hasOwn(r,"rank")&&(r.rank-=n)})}function dNe(e){let t=e.nodes().map(a=>e.node(a).rank).filter(a=>a!==void 0),n=ac(Math.min,t),i=[];e.nodes().forEach(a=>{let o=e.node(a).rank-n;i[o]||(i[o]=[]),i[o].push(a)});let r=0,s=e.graph().nodeRankFactor;Array.from(i).forEach((a,o)=>{a===void 0&&o%s!==0?--r:a!==void 0&&r&&a.forEach(l=>e.node(l).rank+=r)})}function i9(e,t,n,i){let r={width:0,height:0};return arguments.length>=4&&(r.rank=n,r.order=i),S0(e,"border",r,t)}function fNe(e,t=Cee){let n=[];for(let i=0;iCee){let n=fNe(t);return e(...n.map(i=>e(...i)))}else return e(...t)}function Ree(e){let t=e.nodes().map(n=>{let i=e.node(n).rank;return i===void 0?Number.MIN_VALUE:i});return ac(Math.max,t)}function hNe(e,t){let n={lhs:[],rhs:[]};return e.forEach(i=>{t(i)?n.lhs.push(i):n.rhs.push(i)}),n}function Iee(e,t){let n=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-n)+"ms")}}function Pee(e,t){return t()}var pNe=0;function i5(e){let t=++pNe;return e+(""+t)}function jy(e,t,n=1){t==null&&(t=e,e=0);let i=s=>sti[t]:n=t,Object.entries(e).reduce((i,[r,s])=>(i[r]=n(s,r),i),{})}function mNe(e,t){return e.reduce((n,i,r)=>(n[i]=t[r],n),{})}var HT="\0",gNe="3.0.0",ONe=class{constructor(){$2e(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return r9(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&r9(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,bNe)),n=n._prev;return"["+e.join(", ")+"]"}};function r9(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function bNe(e,t){if(e!=="_next"&&e!=="_prev")return t}var yNe=ONe,xNe=()=>1;function SNe(e,t){if(e.nodeCount()<=1)return[];let n=wNe(e,t||xNe);return vNe(n.graph,n.buckets,n.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w)||[])}function vNe(e,t,n){var i;let r=[],s=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)Y2(e,t,n,o);for(;o=s.dequeue();)Y2(e,t,n,o);if(e.nodeCount()){for(let l=t.length-2;l>0;--l)if(o=(i=t[l])==null?void 0:i.dequeue(),o){r=r.concat(Y2(e,t,n,o,!0)||[]);break}}}return r}function Y2(e,t,n,i,r){let s=[],a=r?s:void 0;return(e.inEdges(i.v)||[]).forEach(o=>{let l=e.edge(o),u=e.node(o.v);r&&s.push({v:o.v,w:o.w}),u.out-=l,hP(t,n,u)}),(e.outEdges(i.v)||[]).forEach(o=>{let l=e.edge(o),u=o.w,d=e.node(u);d.in-=l,hP(t,n,d)}),e.removeNode(i.v),a}function wNe(e,t){let n=new Xo,i=0,r=0;e.nodes().forEach(o=>{n.setNode(o,{v:o,in:0,out:0})}),e.edges().forEach(o=>{let l=n.edge(o.v,o.w)||0,u=t(o),d=l+u;n.setEdge(o.v,o.w,d);let f=n.node(o.v),h=n.node(o.w);r=Math.max(r,f.out+=u),i=Math.max(i,h.in+=u)});let s=ENe(r+i+3).map(()=>new yNe),a=i+1;return n.nodes().forEach(o=>{hP(s,a,n.node(o))}),{graph:n,buckets:s,zeroIdx:a}}function hP(e,t,n){var i,r,s;n.out?n.in?(s=e[n.out-n.in+t])==null||s.enqueue(n):(r=e[e.length-1])==null||r.enqueue(n):(i=e[0])==null||i.enqueue(n)}function ENe(e){let t=[];for(let n=0;n{let i=e.edge(n);e.removeEdge(n),i.forwardName=n.name,i.reversed=!0,e.setEdge(n.w,n.v,i,i5("rev"))});function t(n){return i=>n.edge(i).weight}}function TNe(e){let t=[],n={},i={};function r(s){Object.hasOwn(i,s)||(i[s]=!0,n[s]=!0,e.outEdges(s).forEach(a=>{Object.hasOwn(n,a.w)?t.push(a):r(a.w)}),delete n[s])}return e.nodes().forEach(r),t}function _Ne(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let i=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,i)}})}function ANe(e){e.graph().dummyChains=[],e.edges().forEach(t=>NNe(e,t))}function NNe(e,t){let n=t.v,i=e.node(n).rank,r=t.w,s=e.node(r).rank,a=t.name,o=e.edge(t),l=o.labelRank;if(s===i+1)return;e.removeEdge(t);let u,d,f;for(f=0,++i;i{let n=e.node(t),i=n.edgeLabel,r;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}function r5(e){let t={};function n(i){let r=e.node(i);if(Object.hasOwn(t,i))return r.rank;t[i]=!0;let s=e.outEdges(i),a=s?s.map(l=>l==null?Number.POSITIVE_INFINITY:n(l.w)-e.edge(l).minlen):[],o=ac(Math.min,a);return o===Number.POSITIVE_INFINITY&&(o=0),r.rank=o}e.sources().forEach(n)}function $g(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var jee=RNe;function RNe(e){let t=new Xo({directed:!1}),n=e.nodes();if(n.length===0)throw new Error("Graph must have at least one node");let i=n[0],r=e.nodeCount();t.setNode(i,{});let s,a;for(;INe(t,e){let a=s.v,o=i===a?s.w:a;!e.hasNode(o)&&!$g(t,s)&&(e.setNode(o,{}),e.setEdge(i,o,{}),n(o))})}return e.nodes().forEach(n),e.nodeCount()}function PNe(e,t){return t.edges().reduce((n,i)=>{let r=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(r=$g(t,i)),rt.node(i).rank+=n)}var{preorder:MNe,postorder:LNe}=n5,DNe=fp;fp.initLowLimValues=a5;fp.initCutValues=s5;fp.calcCutValue=Mee;fp.leaveEdge=Dee;fp.enterEdge=$ee;fp.exchangeEdges=Qee;function fp(e){e=cNe(e),r5(e);let t=jee(e);a5(t),s5(t,e);let n,i;for(;n=Dee(t);)i=$ee(t,e,n),Qee(t,e,n,i)}function s5(e,t){let n=LNe(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(i=>$Ne(e,t,i))}function $Ne(e,t,n){let i=e.node(n).parent,r=e.edge(n,i);r.cutvalue=Mee(e,t,n)}function Mee(e,t,n){let i=e.node(n).parent,r=!0,s=t.edge(n,i),a=0;s||(r=!1,s=t.edge(i,n)),a=s.weight;let o=t.nodeEdges(n);return o&&o.forEach(l=>{let u=l.v===n,d=u?l.w:l.v;if(d!==i){let f=u===r,h=t.edge(l).weight;if(a+=f?h:-h,BNe(e,n,d)){let p=e.edge(n,d).cutvalue;a+=f?-p:p}}}),a}function a5(e,t){arguments.length<2&&(t=e.nodes()[0]),Lee(e,{},1,t)}function Lee(e,t,n,i,r){let s=n,a=e.node(i);t[i]=!0;let o=e.neighbors(i);return o&&o.forEach(l=>{Object.hasOwn(t,l)||(n=Lee(e,t,n,l,i))}),a.low=s,a.lim=n++,r?a.parent=r:delete a.parent,n}function Dee(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function $ee(e,t,n){let i=n.v,r=n.w;t.hasEdge(i,r)||(i=n.w,r=n.v);let s=e.node(i),a=e.node(r),o=s,l=!1;return s.lim>a.lim&&(o=a,l=!0),t.edges().filter(u=>l===s9(e,e.node(u.v),o)&&l!==s9(e,e.node(u.w),o)).reduce((u,d)=>$g(t,d)<$g(t,u)?d:u)}function Qee(e,t,n,i){let r=n.v,s=n.w;e.removeEdge(r,s),e.setEdge(i.v,i.w,{}),a5(e),s5(e,t),QNe(e,t)}function QNe(e,t){let n=e.nodes().find(r=>!e.node(r).parent);if(!n)return;let i=MNe(e,[n]);i=i.slice(1),i.forEach(r=>{let s=e.node(r).parent,a=t.edge(r,s),o=!1;a||(a=t.edge(s,r),o=!0),t.node(r).rank=t.node(s).rank+(o?a.minlen:-a.minlen)})}function BNe(e,t,n){return e.hasEdge(t,n)}function s9(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var UNe=zNe;function zNe(e){let t=e.graph().ranker;if(typeof t=="function")return t(e);switch(t){case"network-simplex":a9(e);break;case"tight-tree":VNe(e);break;case"longest-path":FNe(e);break;case"none":break;default:a9(e)}}var FNe=r5;function VNe(e){r5(e),jee(e)}function a9(e){DNe(e)}var XNe=qNe;function qNe(e){let t=YNe(e);e.graph().dummyChains.forEach(n=>{let i=e.node(n),r=i.edgeObj,s=HNe(e,t,r.v,r.w),a=s.path,o=s.lca,l=0,u=a[l],d=!0;for(;n!==r.w;){if(i=e.node(n),d){for(;(u=a[l])!==o&&e.node(u).maxRanka||o>t[l].lim));let u=l,d=i;for(;(d=e.parent(d))!==u;)s.push(d);return{path:r.concat(s.reverse()),lca:u}}function YNe(e){let t={},n=0;function i(r){let s=n;e.children(r).forEach(i),t[r]={low:s,lim:n++}}return e.children(HT).forEach(i),t}function GNe(e){let t=S0(e,"root",{},"_root"),n=WNe(e),i=Object.values(n),r=ac(Math.max,i)-1,s=2*r+1;e.graph().nestingRoot=t,e.edges().forEach(o=>e.edge(o).minlen*=s);let a=ZNe(e)+1;e.children(HT).forEach(o=>Bee(e,t,s,a,r,n,o)),e.graph().nodeRankFactor=s}function Bee(e,t,n,i,r,s,a){var o;let l=e.children(a);if(!l.length){a!==t&&e.setEdge(t,a,{weight:0,minlen:n});return}let u=i9(e,"_bt"),d=i9(e,"_bb"),f=e.node(a);e.setParent(u,a),f.borderTop=u,e.setParent(d,a),f.borderBottom=d,l.forEach(h=>{var p;Bee(e,t,n,i,r,s,h);let m=e.node(h),g=m.borderTop?m.borderTop:h,y=m.borderBottom?m.borderBottom:h,b=m.borderTop?i:2*i,S=g!==y?1:r-((p=s[a])!=null?p:0)+1;e.setEdge(u,g,{weight:b,minlen:S,nestingEdge:!0}),e.setEdge(y,d,{weight:b,minlen:S,nestingEdge:!0})}),e.parent(a)||e.setEdge(t,u,{weight:0,minlen:r+((o=s[a])!=null?o:0)})}function WNe(e){let t={};function n(i,r){let s=e.children(i);s&&s.length&&s.forEach(a=>n(a,r+1)),t[i]=r}return e.children(HT).forEach(i=>n(i,1)),t}function ZNe(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function KNe(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(n=>{e.edge(n).nestingEdge&&e.removeEdge(n)})}var JNe=eCe;function eCe(e){function t(n){let i=e.children(n),r=e.node(n);if(i.length&&i.forEach(t),Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let s=r.minRank,a=r.maxRank+1;sl9(e.node(t))),e.edges().forEach(t=>l9(e.edge(t)))}function l9(e){let t=e.width;e.width=e.height,e.height=t}function iCe(e){e.nodes().forEach(t=>G2(e.node(t))),e.edges().forEach(t=>{var n;let i=e.edge(t);(n=i.points)==null||n.forEach(G2),Object.hasOwn(i,"y")&&G2(i)})}function G2(e){e.y=-e.y}function rCe(e){e.nodes().forEach(t=>W2(e.node(t))),e.edges().forEach(t=>{var n;let i=e.edge(t);(n=i.points)==null||n.forEach(W2),Object.hasOwn(i,"x")&&W2(i)})}function W2(e){let t=e.x;e.x=e.y,e.y=t}function sCe(e){let t={},n=e.nodes().filter(o=>!e.children(o).length),i=n.map(o=>e.node(o).rank),r=ac(Math.max,i),s=jy(r+1).map(()=>[]);function a(o){if(t[o])return;t[o]=!0;let l=e.node(o);s[l.rank].push(o);let u=e.successors(o);u&&u.forEach(a)}return n.sort((o,l)=>e.node(o).rank-e.node(l).rank).forEach(a),s}function aCe(e,t){let n=0;for(let i=1;id)),r=t.flatMap(u=>{let d=e.outEdges(u);return d?d.map(f=>({pos:i[f.w],weight:e.edge(f).weight})).sort((f,h)=>f.pos-h.pos):[]}),s=1;for(;s{let d=u.pos+s;o[d]+=u.weight;let f=0;for(;d>0;)d%2&&(f+=o[d+1]),d=d-1>>1,o[d]+=u.weight;l+=u.weight*f}),l}function lCe(e,t=[]){return t.map(n=>{let i=e.inEdges(n);if(!i||!i.length)return{v:n};{let r=i.reduce((s,a)=>{let o=e.edge(a),l=e.node(a.v);return{sum:s.sum+o.weight*l.order,weight:s.weight+o.weight}},{sum:0,weight:0});return{v:n,barycenter:r.sum/r.weight,weight:r.weight}}})}function cCe(e,t){let n={};e.forEach((r,s)=>{let a={indegree:0,in:[],out:[],vs:[r.v],i:s};r.barycenter!==void 0&&(a.barycenter=r.barycenter,a.weight=r.weight),n[r.v]=a}),t.edges().forEach(r=>{let s=n[r.v],a=n[r.w];s!==void 0&&a!==void 0&&(a.indegree++,s.out.push(a))});let i=Object.values(n).filter(r=>!r.indegree);return uCe(i)}function uCe(e){let t=[];function n(r){return s=>{s.merged||(s.barycenter===void 0||r.barycenter===void 0||s.barycenter>=r.barycenter)&&dCe(r,s)}}function i(r){return s=>{s.in.push(r),--s.indegree===0&&e.push(s)}}for(;e.length;){let r=e.pop();t.push(r),r.in.reverse().forEach(n(r)),r.out.forEach(i(r))}return t.filter(r=>!r.merged).map(r=>FE(r,["vs","i","barycenter","weight"]))}function dCe(e,t){let n=0,i=0;e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),t.weight&&(n+=t.barycenter*t.weight,i+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/i,e.weight=i,e.i=Math.min(t.i,e.i),t.merged=!0}function fCe(e,t){let n=hNe(e,d=>Object.hasOwn(d,"barycenter")),i=n.lhs,r=n.rhs.sort((d,f)=>f.i-d.i),s=[],a=0,o=0,l=0;i.sort(hCe(!!t)),l=c9(s,r,l),i.forEach(d=>{l+=d.vs.length,s.push(d.vs),a+=d.barycenter*d.weight,o+=d.weight,l=c9(s,r,l)});let u={vs:s.flat(1)};return o&&(u.barycenter=a/o,u.weight=o),u}function c9(e,t,n){let i;for(;t.length&&(i=t[t.length-1]).i<=n;)t.pop(),e.push(i.vs),n++;return n}function hCe(e){return(t,n)=>t.barycentern.barycenter?1:e?n.i-t.i:t.i-n.i}function zee(e,t,n,i){let r=e.children(t),s=e.node(t),a=s?s.borderLeft:void 0,o=s?s.borderRight:void 0,l={};a&&(r=r.filter(h=>h!==a&&h!==o));let u=lCe(e,r);u.forEach(h=>{if(e.children(h.v).length){let p=zee(e,h.v,n,i);l[h.v]=p,Object.hasOwn(p,"barycenter")&&mCe(h,p)}});let d=cCe(u,n);pCe(d,l);let f=fCe(d,i);if(a&&o){f.vs=[a,f.vs,o].flat(1);let h=e.predecessors(a);if(h&&h.length){let p=e.node(h[0]),m=e.predecessors(o),g=e.node(m[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+p.order+g.order)/(f.weight+2),f.weight+=2}}return f}function pCe(e,t){e.forEach(n=>{n.vs=n.vs.flatMap(i=>t[i]?t[i].vs:i)})}function mCe(e,t){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight):(e.barycenter=t.barycenter,e.weight=t.weight)}function gCe(e,t,n,i){i||(i=e.nodes());let r=OCe(e),s=new Xo({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return i.forEach(a=>{let o=e.node(a),l=e.parent(a);if(o.rank===t||o.minRank<=t&&t<=o.maxRank){s.setNode(a),s.setParent(a,l||r);let u=e[n](a);u&&u.forEach(d=>{let f=d.v===a?d.w:d.v,h=s.edge(f,a),p=h!==void 0?h.weight:0;s.setEdge(f,a,{weight:e.edge(d).weight+p})}),Object.hasOwn(o,"minRank")&&s.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]})}}),s}function OCe(e){let t;for(;e.hasNode(t=i5("_root")););return t}function bCe(e,t,n){let i={},r;n.forEach(s=>{let a=e.parent(s),o,l;for(;a;){if(o=e.parent(a),o?(l=i[o],i[o]=a):(l=r,r=a),l&&l!==a){t.setEdge(l,a);return}a=o}})}function Fee(e,t={}){if(typeof t.customOrder=="function"){t.customOrder(e,Fee);return}let n=Ree(e),i=u9(e,jy(1,n+1),"inEdges"),r=u9(e,jy(n-1,-1,-1),"outEdges"),s=sCe(e);if(d9(e,s),t.disableOptimalOrderHeuristic)return;let a=Number.POSITIVE_INFINITY,o,l=t.constraints||[];for(let u=0,d=0;d<4;++u,++d){yCe(u%2?i:r,u%4>=2,l),s=Hx(e);let f=aCe(e,s);f{i.has(s)||i.set(s,[]),i.get(s).push(a)};for(let s of e.nodes()){let a=e.node(s);if(typeof a.rank=="number"&&r(a.rank,s),typeof a.minRank=="number"&&typeof a.maxRank=="number")for(let o=a.minRank;o<=a.maxRank;o++)o!==a.rank&&r(o,s)}return t.map(function(s){return gCe(e,s,n,i.get(s)||[])})}function yCe(e,t,n){let i=new Xo;e.forEach(function(r){n.forEach(o=>i.setEdge(o.left,o.right));let s=r.graph().root,a=zee(r,s,i,t);a.vs.forEach((o,l)=>r.node(o).order=l),bCe(r,i,a.vs)})}function d9(e,t){Object.values(t).forEach(n=>n.forEach((i,r)=>e.node(i).order=r))}function xCe(e,t){let n={};function i(r,s){let a=0,o=0,l=r.length,u=s[s.length-1];return s.forEach((d,f)=>{let h=vCe(e,d),p=h?e.node(h).order:l;(h||d===u)&&(s.slice(o,f+1).forEach(m=>{let g=e.predecessors(m);g&&g.forEach(y=>{let b=e.node(y),S=b.order;(S{let f=s[d];if(f!==void 0&&e.node(f).dummy){let h=e.predecessors(f);h&&h.forEach(p=>{if(p===void 0)return;let m=e.node(p);m.dummy&&(m.orderu)&&Vee(n,p,f)})}})}function r(s,a){let o=-1,l=-1,u=0;return a.forEach((d,f)=>{if(e.node(d).dummy==="border"){let h=e.predecessors(d);if(h&&h.length){let p=h[0];if(p===void 0)return;l=e.node(p).order,i(a,u,f,o,l),u=f,o=l}}i(a,u,a.length,l,s.length)}),a}return t.length&&t.reduce(r),n}function vCe(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(i=>e.node(i).dummy)}}function Vee(e,t,n){if(t>n){let r=t;t=n,n=r}let i=e[t];i||(e[t]=i={}),i[n]=!0}function wCe(e,t,n){if(t>n){let r=t;t=n,n=r}let i=e[t];return i!==void 0&&Object.hasOwn(i,n)}function ECe(e,t,n,i){let r={},s={},a={};return t.forEach(o=>{o.forEach((l,u)=>{r[l]=l,s[l]=l,a[l]=u})}),t.forEach(o=>{let l=-1;o.forEach(u=>{let d=i(u);if(d&&d.length){let f=d.sort((p,m)=>{let g=a[p],y=a[m];return(g!==void 0?g:0)-(y!==void 0?y:0)}),h=(f.length-1)/2;for(let p=Math.floor(h),m=Math.ceil(h);p<=m;++p){let g=f[p];if(g===void 0)continue;let y=a[g];if(y!==void 0&&s[u]===u&&l{var b;let S=(b=s[y.v])!=null?b:0,x=a.edge(y);return Math.max(g,S+(x!==void 0?x:0))},0):s[p]=0}function d(p){let m=a.outEdges(p),g=Number.POSITIVE_INFINITY;m&&(g=m.reduce((b,S)=>{let x=s[S.w],v=a.edge(S);return Math.min(b,(x!==void 0?x:0)-(v!==void 0?v:0))},Number.POSITIVE_INFINITY));let y=e.node(p);g!==Number.POSITIVE_INFINITY&&y.borderType!==o&&(s[p]=Math.max(s[p]!==void 0?s[p]:0,g))}function f(p){return a.predecessors(p)||[]}function h(p){return a.successors(p)||[]}return l(u,f),l(d,h),Object.keys(i).forEach(p=>{var m;let g=n[p];g!==void 0&&(s[p]=(m=s[g])!=null?m:0)}),s}function TCe(e,t,n,i){let r=new Xo,s=e.graph(),a=RCe(s.nodesep,s.edgesep,i);return t.forEach(o=>{let l;o.forEach(u=>{let d=n[u];if(d!==void 0){if(r.setNode(d),l!==void 0){let f=n[l];if(f!==void 0){let h=r.edge(f,d);r.setEdge(f,d,Math.max(a(e,u,l),h||0))}}l=u}})}),r}function _Ce(e,t){return Object.values(t).reduce((n,i)=>{let r=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY;Object.entries(i).forEach(([o,l])=>{let u=ICe(e,o)/2;r=Math.max(l+u,r),s=Math.min(l-u,s)});let a=r-s;return a{["l","r"].forEach(a=>{let o=s+a,l=e[o];if(!l||l===t)return;let u=Object.values(l),d=i-ac(Math.min,u);a!=="l"&&(d=r-ac(Math.max,u)),d&&(e[o]=qT(l,f=>f+d))})})}function NCe(e,t=void 0){let n=e.ul;return n?qT(n,(i,r)=>{var s,a;if(t){let l=t.toLowerCase(),u=e[l];if(u&&u[r]!==void 0)return u[r]}let o=Object.values(e).map(l=>{let u=l[r];return u!==void 0?u:0}).sort((l,u)=>l-u);return(((s=o[1])!=null?s:0)+((a=o[2])!=null?a:0))/2}):{}}function CCe(e){let t=Hx(e),n=Object.assign(xCe(e,t),SCe(e,t)),i={},r;["u","d"].forEach(a=>{r=a==="u"?t:Object.values(t).reverse(),["l","r"].forEach(o=>{o==="r"&&(r=r.map(d=>Object.values(d).reverse()));let l=ECe(e,r,n,d=>(a==="u"?e.predecessors(d):e.successors(d))||[]),u=kCe(e,r,l.root,l.align,o==="r");o==="r"&&(u=qT(u,d=>-d)),i[a+o]=u})});let s=_Ce(e,i);return ACe(i,s),NCe(i,e.graph().align)}function RCe(e,t,n){return(i,r,s)=>{let a=i.node(r),o=i.node(s),l=0,u;if(l+=a.width/2,Object.hasOwn(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":u=-a.width/2;break;case"r":u=a.width/2;break}if(u&&(l+=n?u:-u),u=void 0,l+=(a.dummy?t:e)/2,l+=(o.dummy?t:e)/2,l+=o.width/2,Object.hasOwn(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":u=o.width/2;break;case"r":u=-o.width/2;break}return u&&(l+=n?u:-u),l}}function ICe(e,t){return e.node(t).width}function PCe(e){e=Nee(e),jCe(e),Object.entries(CCe(e)).forEach(([t,n])=>e.node(t).x=n)}function jCe(e){let t=Hx(e),n=e.graph(),i=n.ranksep,r=n.rankalign,s=0;t.forEach(a=>{let o=a.reduce((l,u)=>{var d;let f=(d=e.node(u).height)!=null?d:0;return l>f?l:f},0);a.forEach(l=>{let u=e.node(l);r==="top"?u.y=s+u.height/2:r==="bottom"?u.y=s+o-u.height/2:u.y=s+o/2}),s+=o+i})}function MCe(e,t={}){let n=t.debugTiming?Iee:Pee;return n("layout",()=>{let i=n(" buildLayoutGraph",()=>XCe(e));return n(" runLayout",()=>LCe(i,n,t)),n(" updateInputGraph",()=>DCe(e,i)),i})}function LCe(e,t,n){t(" makeSpaceForEdgeLabels",()=>qCe(e)),t(" removeSelfEdges",()=>tRe(e)),t(" acyclic",()=>kNe(e)),t(" nestingGraph.run",()=>GNe(e)),t(" rank",()=>UNe(Nee(e))),t(" injectEdgeLabelProxies",()=>HCe(e)),t(" removeEmptyRanks",()=>dNe(e)),t(" nestingGraph.cleanup",()=>KNe(e)),t(" normalizeRanks",()=>uNe(e)),t(" assignRankMinMax",()=>YCe(e)),t(" removeEdgeLabelProxies",()=>GCe(e)),t(" normalize.run",()=>ANe(e)),t(" parentDummyChains",()=>XNe(e)),t(" addBorderSegments",()=>JNe(e)),t(" order",()=>Fee(e,n)),t(" insertSelfEdges",()=>nRe(e)),t(" adjustCoordinateSystem",()=>tCe(e)),t(" position",()=>PCe(e)),t(" positionSelfEdges",()=>iRe(e)),t(" removeBorderNodes",()=>eRe(e)),t(" normalize.undo",()=>CNe(e)),t(" fixupEdgeLabelCoords",()=>KCe(e)),t(" undoCoordinateSystem",()=>nCe(e)),t(" translateGraph",()=>WCe(e)),t(" assignNodeIntersects",()=>ZCe(e)),t(" reversePoints",()=>JCe(e)),t(" acyclic.undo",()=>_Ne(e))}function DCe(e,t){e.nodes().forEach(n=>{let i=e.node(n),r=t.node(n);i&&(i.x=r.x,i.y=r.y,i.order=r.order,i.rank=r.rank,t.children(n).length&&(i.width=r.width,i.height=r.height))}),e.edges().forEach(n=>{let i=e.edge(n),r=t.edge(n);i.points=r.points,Object.hasOwn(r,"x")&&(i.x=r.x,i.y=r.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var $Ce=["nodesep","edgesep","ranksep","marginx","marginy"],QCe={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},BCe=["acyclicer","ranker","rankdir","align","rankalign"],UCe=["width","height","rank"],f9={width:0,height:0},zCe=["minlen","weight","width","height","labeloffset"],FCe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},VCe=["labelpos"];function XCe(e){let t=new Xo({multigraph:!0,compound:!0}),n=K2(e.graph());return t.setGraph(Object.assign({},QCe,Z2(n,$Ce),FE(n,BCe))),e.nodes().forEach(i=>{let r=K2(e.node(i)),s=Z2(r,UCe);Object.keys(f9).forEach(o=>{s[o]===void 0&&(s[o]=f9[o])}),t.setNode(i,s);let a=e.parent(i);a!==void 0&&t.setParent(i,a)}),e.edges().forEach(i=>{let r=K2(e.edge(i));t.setEdge(i,Object.assign({},FCe,Z2(r,zCe),FE(r,VCe)))}),t}function qCe(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let i=e.edge(n);i.minlen*=2,i.labelpos.toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?i.width+=i.labeloffset:i.height+=i.labeloffset)})}function HCe(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let i=e.node(t.v),r={rank:(e.node(t.w).rank-i.rank)/2+i.rank,e:t};S0(e,"edge-proxy",r,"_ep")}})}function YCe(e){let t=0;e.nodes().forEach(n=>{let i=e.node(n);i.borderTop&&(i.minRank=e.node(i.borderTop).rank,i.maxRank=e.node(i.borderBottom).rank,t=Math.max(t,i.maxRank))}),e.graph().maxRank=t}function GCe(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="edge-proxy"){let i=n;e.edge(i.e).labelRank=n.rank,e.removeNode(t)}})}function WCe(e){let t=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,r=0,s=e.graph(),a=s.marginx||0,o=s.marginy||0;function l(u){let d=u.x,f=u.y,h=u.width,p=u.height;t=Math.min(t,d-h/2),n=Math.max(n,d+h/2),i=Math.min(i,f-p/2),r=Math.max(r,f+p/2)}e.nodes().forEach(u=>l(e.node(u))),e.edges().forEach(u=>{let d=e.edge(u);Object.hasOwn(d,"x")&&l(d)}),t-=a,i-=o,e.nodes().forEach(u=>{let d=e.node(u);d.x-=t,d.y-=i}),e.edges().forEach(u=>{let d=e.edge(u);d.points.forEach(f=>{f.x-=t,f.y-=i}),Object.hasOwn(d,"x")&&(d.x-=t),Object.hasOwn(d,"y")&&(d.y-=i)}),s.width=n-t+a,s.height=r-i+o}function ZCe(e){e.edges().forEach(t=>{let n=e.edge(t),i=e.node(t.v),r=e.node(t.w),s,a;n.points?(s=n.points[0],a=n.points[n.points.length-1]):(n.points=[],s=r,a=i),n.points.unshift(n9(i,s)),n.points.push(n9(r,a))})}function KCe(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,"x"))switch((n.labelpos==="l"||n.labelpos==="r")&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}})}function JCe(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function eRe(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),i=e.node(n.borderTop),r=e.node(n.borderBottom),s=e.node(n.borderLeft[n.borderLeft.length-1]),a=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(a.x-s.x),n.height=Math.abs(r.y-i.y),n.x=s.x+n.width/2,n.y=i.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy==="border"&&e.removeNode(t)})}function tRe(e){e.edges().forEach(t=>{if(t.v===t.w){let n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function nRe(e){Hx(e).forEach(t=>{let n=0;t.forEach((i,r)=>{let s=e.node(i);s.order=r+n,(s.selfEdges||[]).forEach(a=>{S0(e,"selfedge",{width:a.label.width,height:a.label.height,rank:s.rank,order:r+ ++n,e:a.e,label:a.label},"_se")}),delete s.selfEdges})})}function iRe(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="selfedge"){let i=n,r=e.node(i.e.v),s=r.x+r.width/2,a=r.y,o=n.x-s,l=r.height/2;e.setEdge(i.e,i.label),e.removeNode(t),i.label.points=[{x:s+2*o/3,y:a-l},{x:s+5*o/6,y:a-l},{x:s+o,y:a},{x:s+5*o/6,y:a+l},{x:s+2*o/3,y:a+l}],i.label.x=n.x,i.label.y=n.y}})}function Z2(e,t){return qT(FE(e,t),Number)}function K2(e){let t={};return e&&Object.entries(e).forEach(([n,i])=>{typeof n=="string"&&(n=n.toLowerCase()),t[n]=i}),t}function rRe(e){let t=Hx(e),n=new Xo({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(i=>{n.setNode(i,{label:i}),n.setParent(i,"layer"+e.node(i).rank)}),e.edges().forEach(i=>n.setEdge(i.v,i.w,{},i.name)),t.forEach((i,r)=>{let s="layer"+r;n.setNode(s,{rank:"same"}),i.reduce((a,o)=>(n.setEdge(a,o,{style:"invis"}),o))}),n}var sRe={graphlib:xee,version:gNe,layout:MCe,debug:rRe,util:{time:Iee,notime:Pee}},h9=sRe;/*! For license information please see dagre.esm.js.LEGAL.txt */const KO={llm:{label:"智能体",description:"理解任务并直接完成一个具体工作",icon:uZ},sequential:{label:"分步协作",description:"内部步骤按照顺序依次执行",icon:r1e},parallel:{label:"同时处理",description:"内部步骤同时工作,完成后统一汇总",icon:zxe},loop:{label:"循环执行",description:"重复执行内部步骤,直到满足停止条件",icon:OZ},a2a:{label:"远程智能体",description:"调用已经存在的远程 Agent",icon:kT}},pP=220,mP=88,p9=96,m9=34,Ib=64,J2=310,Nm=24,Xee=56,gP=40,g9=40,aRe=18,oRe=58,lRe=!1,cRe=e=>e==="sequential"||e==="parallel"||e==="loop";function OP(e,t){const n=e.agentType??"llm";return cRe(n)||n==="llm"&&(t.length===0||e.subAgents.length>0)}function bP(e,t=[],n="horizontal",i=!1){const r=e.agentType??"llm";if(!OP(e,t))return{width:pP,height:mP};if(i&&e.subAgents.length===0)return{width:J2,height:Ib};const s=e.subAgents.map((f,h)=>bP(f,[...t,h],n,i)),a=s.length?Math.max(...s.map(f=>f.width)):0,o=s.length?Math.max(...s.map(f=>f.height)):0,l=s.length&&r!=="parallel"?Xee:Nm,u=n==="horizontal"?r!=="parallel":r==="parallel",d=s.length?r==="parallel"?aRe+g9:r==="loop"?oRe:0:g9;return u?{width:Math.max(J2,s.reduce((f,h)=>f+h.width,0)+gP*Math.max(0,s.length-1)+l*2),height:Ib+Nm+o+d+Nm}:{width:Math.max(J2,a+Nm*2),height:Ib+l+s.reduce((f,h)=>f+h.height,0)+gP*Math.max(0,s.length-1)+d+l}}function OO(e){return e.length===0?"agent-root":`agent-${e.join("-")}`}function uRe(e,t){return e.length===t.length&&e.every((n,i)=>n===t[i])}function O9(e){const t=n=>[n.agentType??"llm",n.subAgents.map(t)];return JSON.stringify(t(e))}function bO(e,t,n,i){const r=(i==null?void 0:i.tone)==="sequential"?"hsl(213 40% 40%)":(i==null?void 0:i.tone)==="loop"?"hsl(151 34% 34%)":"hsl(220 9% 38%)";return{id:`${e}-${t}${i!=null&&i.loop?"-loop":""}`,source:e,target:t,sourceHandle:i!=null&&i.loop?"loop-source":void 0,targetHandle:i!=null&&i.loop?"loop-target":void 0,label:n,type:"insertStep",data:i?{insert:i.insert,loop:i.loop,tone:i.tone}:void 0,animated:i==null?void 0:i.loop,markerEnd:{type:Cy.ArrowClosed,width:16,height:16,color:r},style:{stroke:r,strokeWidth:1.5},labelStyle:{fill:"hsl(215 14% 42%)",fontSize:10,fontWeight:600},labelBgStyle:{fill:"hsl(var(--background))",fillOpacity:.92}}}function b9(e,t,n=!1){const i=[{id:"terminal-input",type:"terminal",position:{x:0,y:0},data:{kind:"terminal",title:"用户请求"},selectable:!1,draggable:!1},{id:"terminal-output",type:"terminal",position:{x:0,y:0},data:{kind:"terminal",title:"最终回复"},selectable:!1,draggable:!1}],r=[];function s(d,f,h,p,m){const g=d.agentType??"llm",y=OO(f);return OP(d,f)?(a(d,f,h,p,m),y):(i.push({id:y,type:"agent",parentId:h,extent:"parent",position:p,data:{kind:"agent",path:f,agent:d,title:g==="a2a"?"远程智能体":d.name.trim()||(f.length===0?"主 Agent":"未命名步骤"),pattern:g,description:d.description.trim()||KO[g].description,childCount:d.subAgents.length,containedIn:m}}),y)}function a(d,f,h,p={x:0,y:0},m){const g=d.agentType??"sequential",y=OO(f),b=bP(d,f,t,n);i.push({id:y,type:"group",parentId:h,extent:h?"parent":void 0,position:p,style:{width:b.width,height:b.height},data:{kind:"agent",path:f,agent:d,title:d.name.trim()||(f.length===0?"主 Agent":KO[g].label),pattern:g,description:d.description.trim()||KO[g].description,childCount:d.subAgents.length,containedIn:m,layoutWidth:b.width,layoutHeight:b.height,compactEmptyGroup:n&&d.subAgents.length===0}});const S=d.subAgents.map((k,_)=>bP(k,[...f,_],t,n)),x=S.length&&g!=="parallel"?Xee:Nm,v=t==="horizontal"?g!=="parallel":g==="parallel";let E=x;const w=d.subAgents.map((k,_)=>{const C=S[_],A=v?{x:E,y:Ib+Nm}:{x:(b.width-C.width)/2,y:Ib+E};return E+=(v?C.width:C.height)+gP,s(k,[...f,_],y,A,g)});if(g==="sequential"||g==="loop"){for(let k=0;k1&&r.push(bO(w[w.length-1],w[0],"继续循环",{loop:!0,tone:"loop"}))}return y}const o=(d,f)=>{const h=d.agentType??"llm",p=OO(f);if(OP(d,f))return a(d,f),[p];if(i.push({id:p,type:"agent",position:{x:0,y:0},data:{kind:"agent",path:f,agent:d,title:h==="a2a"?"远程智能体":d.name.trim()||(f.length===0?"主 Agent":"未命名步骤"),pattern:h,description:d.description.trim()||KO[h].description,childCount:d.subAgents.length}}),d.subAgents.length===0)return[p];const m=[];return d.subAgents.forEach((g,y)=>{const b=[...f,y],S=OO(b);r.push(bO(p,S,"调用",{insert:{parentPath:f,index:y}})),m.push(...o(g,b))}),m},l=OO([]),u=o(e,[]);return r.push(bO("terminal-input",l)),u.forEach(d=>r.push(bO(d,"terminal-output"))),dRe(i,r,t)}function dRe(e,t,n){const i=new h9.graphlib.Graph().setDefaultEdgeLabel(()=>({}));i.setGraph({rankdir:n==="vertical"?"TB":"LR",ranksep:50,nodesep:34,edgesep:14,marginx:24,marginy:24});const r=new Set(e.filter(s=>!s.parentId).map(s=>s.id));return e.filter(s=>!s.parentId).forEach(s=>{const a=s.data.kind==="terminal";i.setNode(s.id,{width:a?p9:s.data.layoutWidth??pP,height:a?m9:s.data.layoutHeight??mP})}),t.filter(s=>r.has(s.source)&&r.has(s.target)).forEach(s=>i.setEdge(s.source,s.target)),h9.layout(i),{nodes:e.map(s=>{if(s.parentId)return s;const a=i.node(s.id),o=s.data.kind==="terminal",l=o?p9:s.data.layoutWidth??pP,u=o?m9:s.data.layoutHeight??mP;return{...s,position:{x:a.x-l/2,y:a.y-u/2}}}),edges:t}}const YT=O.createContext(null),GT=O.createContext("horizontal");function fRe({id:e,sourceX:t,sourceY:n,targetX:i,targetY:r,sourcePosition:s,targetPosition:a,markerEnd:o,style:l,label:u,data:d}){const f=O.useContext(YT),[h,p]=O.useState(!1),[m,g,y]=QE({sourceX:t,sourceY:n,targetX:i,targetY:r,sourcePosition:s,targetPosition:a,offset:d!=null&&d.loop?28:20});return c.jsxs(c.Fragment,{children:[c.jsx(qx,{id:e,path:m,markerEnd:o,style:l}),f&&(d==null?void 0:d.insert)&&c.jsx("path",{d:m,className:"abc-edge-hover-path",onPointerEnter:()=>p(!0),onPointerLeave:()=>p(!1)}),(u||f&&(d==null?void 0:d.insert))&&c.jsx(r2e,{children:c.jsxs("div",{className:`abc-edge-tools${f&&(d!=null&&d.insert)?" can-insert":""}${h?" is-visible":""}`,style:{transform:`translate(-50%, -50%) translate(${g}px, ${y}px)`},onPointerEnter:()=>p(!0),onPointerLeave:()=>p(!1),children:[u&&c.jsx("span",{className:"abc-edge-label",children:u}),f&&(d==null?void 0:d.insert)&&c.jsx("button",{type:"button",className:"abc-edge-add nodrag nopan","aria-label":"在这里插入步骤",title:"在这里插入步骤",onClick:b=>{b.stopPropagation(),f==null||f.onInsert(d.insert.parentPath,d.insert.index)},children:c.jsx(Ls,{})})]})})]})}function hRe({data:e,selected:t}){const n=O.useContext(YT),i=O.useContext(GT),r=i==="vertical"?mt.Top:mt.Left,s=i==="vertical"?mt.Bottom:mt.Right,a=i==="vertical"?mt.Right:mt.Bottom,o=e.pattern??"llm",l=KO[o],u=l.icon;return c.jsxs("div",{className:`abc-node is-${o}${e.containedIn?` is-contained-in-${e.containedIn}`:""}${t?" is-selected":""}`,children:[c.jsx(ka,{type:"target",position:r,className:"abc-handle"}),o!=="llm"&&c.jsx("span",{className:"abc-node-icon",children:c.jsx(u,{})}),c.jsxs("span",{className:"abc-node-copy",children:[c.jsx("span",{className:"abc-node-meta",children:c.jsx("span",{children:l.label})}),c.jsx("strong",{children:e.title}),c.jsx("small",{children:e.description})]}),n&&e.path!==void 0&&e.path.length>0&&c.jsx("button",{type:"button",className:"abc-node-delete nodrag nopan","aria-label":`删除 ${e.title}`,title:"删除节点",onClick:d=>{d.stopPropagation(),n==null||n.onDelete(e.path)},children:c.jsx(df,{})}),c.jsx(ka,{type:"source",position:s,className:"abc-handle"}),e.containedIn==="loop"&&c.jsxs(c.Fragment,{children:[c.jsx(ka,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),c.jsx(ka,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function pRe({data:e,selected:t}){const n=O.useContext(YT),i=O.useContext(GT),r=i==="vertical"?mt.Top:mt.Left,s=i==="vertical"?mt.Bottom:mt.Right,a=i==="vertical"?mt.Right:mt.Bottom,o=e.pattern??"sequential",l=e.childCount??0,u=o==="llm"?"添加子 Agent":o==="parallel"?"添加一个同时处理的步骤":o==="loop"?"添加循环步骤":"添加下一个步骤";return c.jsxs("div",{className:`abc-group is-${o}${e.compactEmptyGroup?" is-compact-empty":""}${t?" is-selected":""}`,children:[c.jsx(ka,{type:"target",position:r,className:"abc-handle"}),c.jsx("header",{className:"abc-group-head",children:c.jsxs("span",{children:[c.jsx("strong",{title:e.title,children:e.title}),c.jsx("small",{children:e.description})]})}),n&&e.path!==void 0&&l>0&&o!=="parallel"&&c.jsxs("div",{className:"abc-group-boundary-actions",children:[c.jsx("button",{type:"button",className:"abc-group-boundary-add is-start nodrag nopan","aria-label":"添加到最前",title:"添加到最前",onClick:d=>{d.stopPropagation(),n.onInsert(e.path,0)},children:c.jsx(Ls,{})}),c.jsx("button",{type:"button",className:"abc-group-boundary-add is-end nodrag nopan","aria-label":"添加到最后",title:"添加到最后",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:c.jsx(Ls,{})})]}),n&&e.path!==void 0&&l>0&&o==="parallel"&&c.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-bottom nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[c.jsx(Ls,{}),c.jsx("span",{children:u})]}),n&&e.path!==void 0&&l===0&&c.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-empty nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[c.jsx(Ls,{}),c.jsx("span",{children:u})]}),n&&e.path!==void 0&&e.path.length>0&&c.jsx("button",{type:"button",className:"abc-node-delete nodrag nopan","aria-label":`删除 ${e.title}`,title:"删除节点",onClick:d=>{d.stopPropagation(),n==null||n.onDelete(e.path)},children:c.jsx(df,{})}),c.jsx(ka,{type:"source",position:s,className:"abc-handle"}),e.containedIn==="loop"&&c.jsxs(c.Fragment,{children:[c.jsx(ka,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),c.jsx(ka,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function mRe({data:e}){const t=O.useContext(GT);return c.jsxs("div",{className:"abc-terminal",children:[c.jsx(ka,{type:"target",position:t==="vertical"?mt.Top:mt.Left,className:"abc-handle"}),c.jsx("span",{children:e.title}),c.jsx(ka,{type:"source",position:t==="vertical"?mt.Bottom:mt.Right,className:"abc-handle"})]})}const gRe={agent:hRe,group:pRe,terminal:mRe},ORe={insertStep:fRe};function bRe({draft:e,selectedPath:t,onSelect:n,onAdd:i,onInsert:r,onDelete:s,readOnly:a=!1,interactivePreview:o=!1,direction:l="horizontal"}){const u=O.useMemo(()=>b9(e,l,a),[]),[d,f,h]=s2e(u.nodes),[p,m,g]=a2e(u.edges),y=l2e(),b=O.useRef(`${l}:${a?"readonly":"editable"}:${O9(e)}`),S=O.useRef(null),{fitView:x}=VT(),v=O.useMemo(()=>b9(e,l,a),[l,e,a]),[E,w]=O.useState(()=>window.matchMedia("(max-width: 860px)").matches),k=O.useMemo(()=>a?{padding:.16,minZoom:.05,maxZoom:.9}:E?{padding:.08,minZoom:.35,maxZoom:.9}:{padding:.14,minZoom:.42,maxZoom:1.1},[E,a]),_=O.useCallback((A=0)=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{const R=S.current;if(R&&(R.clientWidth===0||R.clientHeight===0)&&A<8){_(A+1);return}x(k)})})},[k,x]);O.useEffect(()=>{const A=window.matchMedia("(max-width: 860px)"),R=j=>w(j.matches);return A.addEventListener("change",R),()=>A.removeEventListener("change",R)},[]),O.useEffect(()=>{const A=`${l}:${a?"readonly":"editable"}:${O9(e)}`,R=A!==b.current;b.current=A,m(v.edges),f(j=>{const Q=new Map(j.map(L=>[L.id,L]));return v.nodes.map(L=>{const D=Q.get(L.id);return{...L,measured:!R&&D&&D.type===L.type?D.measured:void 0,position:!R&&D?D.position:L.position,selected:L.data.kind==="agent"&&!!L.data.path&&uRe(L.data.path,t)}})}),R&&_()},[v,e,_,t,m,f]),O.useEffect(()=>{_()},[E,_]),O.useEffect(()=>{y&&_()},[v,_,y]),O.useEffect(()=>{if(!a||!S.current)return;const A=new ResizeObserver(()=>_());return A.observe(S.current),_(),()=>A.disconnect()},[_,a]);const C=O.useMemo(()=>a?null:{onAdd:i,onInsert:r,onDelete:s},[i,s,r,a]);return c.jsx(GT.Provider,{value:l,children:c.jsx(YT.Provider,{value:C,children:c.jsx("section",{className:`abc-root is-${l}${a?" is-readonly":""}`,"aria-label":a?"只读 Agent 执行画布":"Agent 执行画布",children:c.jsx("div",{ref:S,className:"abc-canvas",children:c.jsxs(n2e,{nodes:d,edges:p,nodeTypes:gRe,edgeTypes:ORe,onNodesChange:h,onEdgesChange:g,onNodeClick:(A,R)=>{!a&&R.data.kind==="agent"&&R.data.path&&n(R.data.path)},nodesDraggable:!a,nodesConnectable:!1,nodesFocusable:!a,elementsSelectable:!a,edgesFocusable:!1,edgesReconnectable:!1,panOnDrag:!a||o,zoomOnDoubleClick:o,zoomOnPinch:!a||o,zoomOnScroll:!a||o,fitView:!0,fitViewOptions:k,onInit:()=>_(),minZoom:a?.05:.35,maxZoom:1.6,proOptions:{hideAttribution:!0},children:[c.jsx(h2e,{gap:20,size:1.2,color:"hsl(34 20% 82%)"}),(!a||o)&&c.jsx(x2e,{showInteractive:!1}),lRe]})})})})})}function My(e){return c.jsx(mee,{children:c.jsx(bRe,{...e})})}const yRe="https://ark.cn-beijing.volces.com/api/v3/",uw=[{key:"MODEL_EMBEDDING_NAME",required:!1,placeholder:"doubao-embedding-vision-250615",comment:"向量化模型(记忆/知识库需要)"},{key:"MODEL_EMBEDDING_DIM",required:!1,placeholder:"2048"},{key:"MODEL_EMBEDDING_API_BASE",required:!1,placeholder:yRe}],Ly=[],VE={label:"控制台",url:"https://console.volcengine.com/vikingdb/openviking"},xRe={label:"文档",url:"https://github.com/volcengine/OpenViking/blob/main/docs/zh/api/05-sessions.md"},qee="https://api.vikingdb.cn-beijing.volces.com/openviking",SRe=`{ "self": {"enabled": true}, "peer": {"enabled": true}, "working_memory": {"enabled": true}, "memory_types": null -}`,xRe=[{key:"DATABASE_VIKING_PROJECT",required:!1,placeholder:"default"},{key:"DATABASE_VIKING_REGION",required:!1},{key:"DATABASE_VIKING_COLLECTION_KIND",required:!1},{key:"DATABASE_VIKING_RESOURCE_ID",required:!1}],bO=[{key:"FEISHU_APP_ID",required:!0,placeholder:"cli_xxx",comment:"飞书应用 App ID"},{key:"FEISHU_APP_SECRET",required:!0,placeholder:"输入 App Secret",comment:"飞书应用 App Secret"}],bl={topK:"3",region:"cn-beijing",endpoint:"https://open.volcengineapi.com/"},Xee=[{key:"REGISTRY_SPACE_ID",required:!0,placeholder:"请选择智能体中心",comment:"AgentKit 智能体中心"},{key:"REGISTRY_TOP_K",required:!1,placeholder:bl.topK,comment:"召回 Agent 数量"},{key:"REGISTRY_REGION",required:!1,placeholder:bl.region,comment:"AgentKit 智能体中心地域"},{key:"REGISTRY_ENDPOINT",required:!1,placeholder:bl.endpoint,comment:"AgentKit 智能体中心 OpenAPI 地址"}],hp=[{id:"web_search",label:"联网搜索",desc:"火山引擎 Web Search,获取实时信息。",importLine:"from veadk.tools.builtin_tools.web_search import web_search",toolNames:["web_search"],env:Ly},{id:"parallel_web_search",label:"并行联网搜索",desc:"并行发起多条搜索查询,更快汇总。",importLine:"from veadk.tools.builtin_tools.parallel_web_search import parallel_web_search",toolNames:["parallel_web_search"],env:Ly},{id:"link_reader",label:"网页读取",desc:"抓取并阅读给定链接的正文内容。",importLine:"from veadk.tools.builtin_tools.link_reader import link_reader",toolNames:["link_reader"],env:[]},{id:"web_scraper",label:"网页爬取",desc:"结构化爬取网页(需要 Scraper 服务)。",importLine:"from veadk.tools.builtin_tools.web_scraper import web_scraper",toolNames:["web_scraper"],env:[{key:"TOOL_WEB_SCRAPER_ENDPOINT",required:!0},{key:"TOOL_WEB_SCRAPER_API_KEY",required:!0}]},{id:"image_generate",label:"图像生成",desc:"文生图(Doubao Seedream)。",importLine:"from veadk.tools.builtin_tools.image_generate import image_generate",toolNames:["image_generate"],env:[{key:"MODEL_IMAGE_NAME",required:!1,placeholder:"doubao-seedream-5-0-260128"}]},{id:"image_edit",label:"图像编辑",desc:"图生图 / 编辑(Doubao SeedEdit)。",importLine:"from veadk.tools.builtin_tools.image_edit import image_edit",toolNames:["image_edit"],env:[{key:"MODEL_EDIT_NAME",required:!1,placeholder:"doubao-seededit-3-0-i2i-250628"}]},{id:"video_generate",label:"视频生成",desc:"文/图生视频(Doubao Seedance),含任务查询。",importLine:"from veadk.tools.builtin_tools.video_generate import video_generate, video_task_query",toolNames:["video_generate","video_task_query"],env:[{key:"MODEL_VIDEO_NAME",required:!1,placeholder:"doubao-seedance-2-0-260128"}]},{id:"text_to_speech",label:"语音合成 (TTS)",desc:"把文本转成语音(火山语音)。",importLine:"from veadk.tools.builtin_tools.tts import text_to_speech",toolNames:["text_to_speech"],env:[{key:"TOOL_VESPEECH_APP_ID",required:!0},{key:"TOOL_VESPEECH_SPEAKER",required:!1,placeholder:"zh_female_vv_uranus_bigtts"}]},{id:"run_code",label:"代码执行",desc:"在沙箱中执行代码",importLine:"from veadk.tools.builtin_tools.run_code import run_code",toolNames:["run_code"],env:[{key:"AGENTKIT_TOOL_ID",required:!0,placeholder:"t-xxxx",comment:"代码执行沙箱 ID"},{key:"AGENTKIT_TOOL_REGION",required:!1,placeholder:"cn-beijing",comment:"AgentKit Tools 地域"}]},{id:"vesearch",label:"VeSearch 智能搜索",desc:"火山 VeSearch(需要 bot 端点)。",importLine:"from veadk.tools.builtin_tools.vesearch import vesearch",toolNames:["vesearch"],env:[{key:"TOOL_VESEARCH_ENDPOINT",required:!0,comment:"VeSearch bot_id"}]}],SRe=new Set(["web_scraper","text_to_speech","vesearch"]),vRe=new Set(["web_search","parallel_web_search"]),wRe=hp.filter(e=>!SRe.has(e.id));function qee(e="volcengine"){const t=e==="byteplus"?vRe:new Set;return wRe.filter(n=>!t.has(n.id))}const yP=[{id:"local",label:"本地内存",desc:"进程内,不持久化。适合开发调试。",env:[]},{id:"sqlite",label:"SQLite 文件",desc:"持久化到本地 .db 文件。",extraArgs:'local_database_path="./short_term_memory.db"',env:[]},{id:"mysql",label:"MySQL",desc:"持久化到 MySQL。",env:[{key:"DATABASE_MYSQL_HOST",required:!0},{key:"DATABASE_MYSQL_USER",required:!0},{key:"DATABASE_MYSQL_PASSWORD",required:!0},{key:"DATABASE_MYSQL_DATABASE",required:!0}]},{id:"postgresql",label:"PostgreSQL",desc:"持久化到 PostgreSQL。",env:[{key:"DATABASE_POSTGRESQL_HOST",required:!0},{key:"DATABASE_POSTGRESQL_PORT",required:!1,placeholder:"5432"},{key:"DATABASE_POSTGRESQL_USER",required:!0},{key:"DATABASE_POSTGRESQL_PASSWORD",required:!0},{key:"DATABASE_POSTGRESQL_DATABASE",required:!0}]}],xP=[{id:"local",label:"本地向量库",desc:"进程内 llama-index 向量库。",env:uw,pipExtra:"extensions",needsEmbedding:!0},{id:"opensearch",label:"OpenSearch",desc:"OpenSearch 向量检索。",env:[{key:"DATABASE_OPENSEARCH_HOST",required:!0},{key:"DATABASE_OPENSEARCH_PORT",required:!1,placeholder:"9200"},{key:"DATABASE_OPENSEARCH_USERNAME",required:!0},{key:"DATABASE_OPENSEARCH_PASSWORD",required:!0},...uw],pipExtra:"extensions",needsEmbedding:!0},{id:"redis",label:"Redis",desc:"Redis 向量检索。",env:[{key:"DATABASE_REDIS_HOST",required:!0},{key:"DATABASE_REDIS_PORT",required:!1,placeholder:"6379"},{key:"DATABASE_REDIS_PASSWORD",required:!1},...uw],pipExtra:"extensions",needsEmbedding:!0},{id:"viking",label:"VikingDB Memory",desc:"VikingDB 记忆库(支持用户画像)。",env:Ly},{id:"openviking",label:"OpenViking Memory",desc:"OpenViking 长期记忆,按用户维度保存和检索偏好、事件与实体。",env:[{key:"DATABASE_OPENVIKING_URL",required:!0,placeholder:Vee,comment:"OpenViking 服务地址",link:VE},{key:"DATABASE_OPENVIKING_API_KEY",required:!0,comment:"OpenViking API Key",link:VE},{key:"DATABASE_OPENVIKING_USER_ID",required:!1,placeholder:"default",comment:"记忆归属 ID",help:"对应 viking://user/<此值>/peers/<请求用户>/memories 中的 user 段;用于隔离 Agent、租户或业务场景,默认 default。"},{key:"DATABASE_OPENVIKING_MEMORY_POLICY",required:!1,placeholder:yRe,comment:"记忆策略",multiline:!0,format:"json",help:"记忆的抽取策略和隔离策略,不填写时使用官方默认策略。",link:bRe}]},{id:"mem0",label:"Mem0",desc:"Mem0 托管记忆服务。",env:[{key:"DATABASE_MEM0_API_KEY",required:!0},{key:"DATABASE_MEM0_BASE_URL",required:!1}],pipExtra:"database"}],Jd="viking",SP=[{id:"viking",label:"VikingDB Knowledge",desc:"VikingDB 知识库。",env:xRe},{id:"opensearch",label:"OpenSearch",desc:"OpenSearch 向量检索。",env:[{key:"DATABASE_OPENSEARCH_HOST",required:!0},{key:"DATABASE_OPENSEARCH_PORT",required:!1,placeholder:"9200"},{key:"DATABASE_OPENSEARCH_USERNAME",required:!0},{key:"DATABASE_OPENSEARCH_PASSWORD",required:!0},...uw],pipExtra:"extensions",needsEmbedding:!0},{id:"context_search",label:"Context Search",desc:"火山 Context Search 引擎(无需向量化)。",env:[...Ly,{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ID",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ENDPOINT",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_APIKEY",required:!0}]},{id:"openviking",label:"OpenViking Knowledge",desc:"OpenViking 资源目录知识库,无需向量化模型配置。",env:[{key:"DATABASE_OPENVIKING_URL",required:!0,placeholder:Vee,comment:"OpenViking 服务地址",link:VE},{key:"DATABASE_OPENVIKING_API_KEY",required:!0,comment:"OpenViking API Key",link:VE},{key:"DATABASE_OPENVIKING_USER_ID",required:!1,placeholder:"default",comment:"知识库归属 ID",help:"未配置资源目录时用于默认路径 viking://user/<此值>/resources/<知识库索引>/,默认 default。"},{key:"DATABASE_OPENVIKING_TARGET_URI",required:!1,placeholder:"viking://user/default/resources//",comment:"知识库资源目录",help:"留空时由 KnowledgeBase index 自动生成;填写后直接检索该 OpenViking 资源目录,优先级最高。"}]}],ERe=[{id:"apmplus",label:"APMPlus",desc:"火山 APMPlus 应用性能监控。",enableFlag:"ENABLE_APMPLUS",env:[{key:"OBSERVABILITY_OPENTELEMETRY_APMPLUS_SERVICE_NAME",required:!1}]},{id:"cozeloop",label:"CozeLoop",desc:"扣子 CozeLoop 链路观测。",enableFlag:"ENABLE_COZELOOP",env:[{key:"OBSERVABILITY_OPENTELEMETRY_COZELOOP_API_KEY",required:!0},{key:"OBSERVABILITY_OPENTELEMETRY_COZELOOP_SERVICE_NAME",required:!1,comment:"CozeLoop space_id"}]},{id:"tls",label:"TLS (日志服务)",desc:"火山 TLS 日志服务导出。",enableFlag:"ENABLE_TLS",env:[...Ly,{key:"OBSERVABILITY_OPENTELEMETRY_TLS_SERVICE_NAME",required:!1,comment:"TLS topic_id,留空自动创建"}]}],kRe="一个基于 VeADK 构建的智能助手,理解用户意图并调用合适的工具完成任务。",TRe=`你是一个专业、可靠的智能助手。 +}`,vRe=[{key:"DATABASE_VIKING_PROJECT",required:!1,placeholder:"default"},{key:"DATABASE_VIKING_REGION",required:!1},{key:"DATABASE_VIKING_COLLECTION_KIND",required:!1},{key:"DATABASE_VIKING_RESOURCE_ID",required:!1}],yO=[{key:"FEISHU_APP_ID",required:!0,placeholder:"cli_xxx",comment:"飞书应用 App ID"},{key:"FEISHU_APP_SECRET",required:!0,placeholder:"输入 App Secret",comment:"飞书应用 App Secret"}],bl={topK:"3",region:"cn-beijing",endpoint:"https://open.volcengineapi.com/"},Hee=[{key:"REGISTRY_SPACE_ID",required:!0,placeholder:"请选择智能体中心",comment:"AgentKit 智能体中心"},{key:"REGISTRY_TOP_K",required:!1,placeholder:bl.topK,comment:"召回 Agent 数量"},{key:"REGISTRY_REGION",required:!1,placeholder:bl.region,comment:"AgentKit 智能体中心地域"},{key:"REGISTRY_ENDPOINT",required:!1,placeholder:bl.endpoint,comment:"AgentKit 智能体中心 OpenAPI 地址"}],hp=[{id:"web_search",label:"联网搜索",desc:"火山引擎 Web Search,获取实时信息。",importLine:"from veadk.tools.builtin_tools.web_search import web_search",toolNames:["web_search"],env:Ly},{id:"parallel_web_search",label:"并行联网搜索",desc:"并行发起多条搜索查询,更快汇总。",importLine:"from veadk.tools.builtin_tools.parallel_web_search import parallel_web_search",toolNames:["parallel_web_search"],env:Ly},{id:"link_reader",label:"网页读取",desc:"抓取并阅读给定链接的正文内容。",importLine:"from veadk.tools.builtin_tools.link_reader import link_reader",toolNames:["link_reader"],env:[]},{id:"web_scraper",label:"网页爬取",desc:"结构化爬取网页(需要 Scraper 服务)。",importLine:"from veadk.tools.builtin_tools.web_scraper import web_scraper",toolNames:["web_scraper"],env:[{key:"TOOL_WEB_SCRAPER_ENDPOINT",required:!0},{key:"TOOL_WEB_SCRAPER_API_KEY",required:!0}]},{id:"image_generate",label:"图像生成",desc:"文生图(Doubao Seedream)。",importLine:"from veadk.tools.builtin_tools.image_generate import image_generate",toolNames:["image_generate"],env:[{key:"MODEL_IMAGE_NAME",required:!1,placeholder:"doubao-seedream-5-0-260128"}]},{id:"image_edit",label:"图像编辑",desc:"图生图 / 编辑(Doubao SeedEdit)。",importLine:"from veadk.tools.builtin_tools.image_edit import image_edit",toolNames:["image_edit"],env:[{key:"MODEL_EDIT_NAME",required:!1,placeholder:"doubao-seededit-3-0-i2i-250628"}]},{id:"video_generate",label:"视频生成",desc:"文/图生视频(Doubao Seedance),含任务查询。",importLine:"from veadk.tools.builtin_tools.video_generate import video_generate, video_task_query",toolNames:["video_generate","video_task_query"],env:[{key:"MODEL_VIDEO_NAME",required:!1,placeholder:"doubao-seedance-2-0-260128"}]},{id:"text_to_speech",label:"语音合成 (TTS)",desc:"把文本转成语音(火山语音)。",importLine:"from veadk.tools.builtin_tools.tts import text_to_speech",toolNames:["text_to_speech"],env:[{key:"TOOL_VESPEECH_APP_ID",required:!0},{key:"TOOL_VESPEECH_SPEAKER",required:!1,placeholder:"zh_female_vv_uranus_bigtts"}]},{id:"run_code",label:"代码执行",desc:"在沙箱中执行代码",importLine:"from veadk.tools.builtin_tools.run_code import run_code",toolNames:["run_code"],env:[{key:"AGENTKIT_TOOL_ID",required:!0,placeholder:"t-xxxx",comment:"代码执行沙箱 ID"},{key:"AGENTKIT_TOOL_REGION",required:!1,placeholder:"cn-beijing",comment:"AgentKit Tools 地域"}]},{id:"vesearch",label:"VeSearch 智能搜索",desc:"火山 VeSearch(需要 bot 端点)。",importLine:"from veadk.tools.builtin_tools.vesearch import vesearch",toolNames:["vesearch"],env:[{key:"TOOL_VESEARCH_ENDPOINT",required:!0,comment:"VeSearch bot_id"}]}],wRe=new Set(["web_scraper","text_to_speech","vesearch"]),ERe=new Set(["web_search","parallel_web_search"]),kRe=hp.filter(e=>!wRe.has(e.id));function Yee(e="volcengine"){const t=e==="byteplus"?ERe:new Set;return kRe.filter(n=>!t.has(n.id))}const yP=[{id:"local",label:"本地内存",desc:"进程内,不持久化。适合开发调试。",env:[]},{id:"sqlite",label:"SQLite 文件",desc:"持久化到本地 .db 文件。",extraArgs:'local_database_path="./short_term_memory.db"',env:[]},{id:"mysql",label:"MySQL",desc:"持久化到 MySQL。",env:[{key:"DATABASE_MYSQL_HOST",required:!0},{key:"DATABASE_MYSQL_USER",required:!0},{key:"DATABASE_MYSQL_PASSWORD",required:!0},{key:"DATABASE_MYSQL_DATABASE",required:!0}]},{id:"postgresql",label:"PostgreSQL",desc:"持久化到 PostgreSQL。",env:[{key:"DATABASE_POSTGRESQL_HOST",required:!0},{key:"DATABASE_POSTGRESQL_PORT",required:!1,placeholder:"5432"},{key:"DATABASE_POSTGRESQL_USER",required:!0},{key:"DATABASE_POSTGRESQL_PASSWORD",required:!0},{key:"DATABASE_POSTGRESQL_DATABASE",required:!0}]}],xP=[{id:"local",label:"本地向量库",desc:"进程内 llama-index 向量库。",env:uw,pipExtra:"extensions",needsEmbedding:!0},{id:"opensearch",label:"OpenSearch",desc:"OpenSearch 向量检索。",env:[{key:"DATABASE_OPENSEARCH_HOST",required:!0},{key:"DATABASE_OPENSEARCH_PORT",required:!1,placeholder:"9200"},{key:"DATABASE_OPENSEARCH_USERNAME",required:!0},{key:"DATABASE_OPENSEARCH_PASSWORD",required:!0},...uw],pipExtra:"extensions",needsEmbedding:!0},{id:"redis",label:"Redis",desc:"Redis 向量检索。",env:[{key:"DATABASE_REDIS_HOST",required:!0},{key:"DATABASE_REDIS_PORT",required:!1,placeholder:"6379"},{key:"DATABASE_REDIS_PASSWORD",required:!1},...uw],pipExtra:"extensions",needsEmbedding:!0},{id:"viking",label:"VikingDB Memory",desc:"VikingDB 记忆库(支持用户画像)。",env:Ly},{id:"openviking",label:"OpenViking Memory",desc:"OpenViking 长期记忆,按用户维度保存和检索偏好、事件与实体。",env:[{key:"DATABASE_OPENVIKING_URL",required:!0,placeholder:qee,comment:"OpenViking 服务地址",link:VE},{key:"DATABASE_OPENVIKING_API_KEY",required:!0,comment:"OpenViking API Key",link:VE},{key:"DATABASE_OPENVIKING_USER_ID",required:!1,placeholder:"default",comment:"记忆归属 ID",help:"对应 viking://user/<此值>/peers/<请求用户>/memories 中的 user 段;用于隔离 Agent、租户或业务场景,默认 default。"},{key:"DATABASE_OPENVIKING_MEMORY_POLICY",required:!1,placeholder:SRe,comment:"记忆策略",multiline:!0,format:"json",help:"记忆的抽取策略和隔离策略,不填写时使用官方默认策略。",link:xRe}]},{id:"mem0",label:"Mem0",desc:"Mem0 托管记忆服务。",env:[{key:"DATABASE_MEM0_API_KEY",required:!0},{key:"DATABASE_MEM0_BASE_URL",required:!1}],pipExtra:"database"}],Jd="viking",SP=[{id:"viking",label:"VikingDB Knowledge",desc:"VikingDB 知识库。",env:vRe},{id:"opensearch",label:"OpenSearch",desc:"OpenSearch 向量检索。",env:[{key:"DATABASE_OPENSEARCH_HOST",required:!0},{key:"DATABASE_OPENSEARCH_PORT",required:!1,placeholder:"9200"},{key:"DATABASE_OPENSEARCH_USERNAME",required:!0},{key:"DATABASE_OPENSEARCH_PASSWORD",required:!0},...uw],pipExtra:"extensions",needsEmbedding:!0},{id:"context_search",label:"Context Search",desc:"火山 Context Search 引擎(无需向量化)。",env:[...Ly,{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ID",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ENDPOINT",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_APIKEY",required:!0}]},{id:"openviking",label:"OpenViking Knowledge",desc:"OpenViking 资源目录知识库,无需向量化模型配置。",env:[{key:"DATABASE_OPENVIKING_URL",required:!0,placeholder:qee,comment:"OpenViking 服务地址",link:VE},{key:"DATABASE_OPENVIKING_API_KEY",required:!0,comment:"OpenViking API Key",link:VE},{key:"DATABASE_OPENVIKING_USER_ID",required:!1,placeholder:"default",comment:"知识库归属 ID",help:"未配置资源目录时用于默认路径 viking://user/<此值>/resources/<知识库索引>/,默认 default。"},{key:"DATABASE_OPENVIKING_TARGET_URI",required:!1,placeholder:"viking://user/default/resources//",comment:"知识库资源目录",help:"留空时由 KnowledgeBase index 自动生成;填写后直接检索该 OpenViking 资源目录,优先级最高。"}]}],TRe=[{id:"apmplus",label:"APMPlus",desc:"火山 APMPlus 应用性能监控。",enableFlag:"ENABLE_APMPLUS",env:[{key:"OBSERVABILITY_OPENTELEMETRY_APMPLUS_SERVICE_NAME",required:!1}]},{id:"cozeloop",label:"CozeLoop",desc:"扣子 CozeLoop 链路观测。",enableFlag:"ENABLE_COZELOOP",env:[{key:"OBSERVABILITY_OPENTELEMETRY_COZELOOP_API_KEY",required:!0},{key:"OBSERVABILITY_OPENTELEMETRY_COZELOOP_SERVICE_NAME",required:!1,comment:"CozeLoop space_id"}]},{id:"tls",label:"TLS (日志服务)",desc:"火山 TLS 日志服务导出。",enableFlag:"ENABLE_TLS",env:[...Ly,{key:"OBSERVABILITY_OPENTELEMETRY_TLS_SERVICE_NAME",required:!1,comment:"TLS topic_id,留空自动创建"}]}],_Re="一个基于 VeADK 构建的智能助手,理解用户意图并调用合适的工具完成任务。",ARe=`你是一个专业、可靠的智能助手。 你的目标是准确理解用户的需求,并给出条理清晰、简洁有用的回答。 约束: - 信息不足时主动提问澄清,不要臆造事实。 - 需要时合理调用可用的工具,并说明关键结论。 -- 保持礼貌、专业的语气。`;function Bo(e="volcengine"){return{name:"",description:kRe,instruction:TRe,agentType:"llm",cloudProvider:e,maxIterations:3,a2aUrl:"",tools:[],skills:[],memory:{shortTerm:!1,longTerm:!1},knowledgebase:!1,tracing:!1,subAgents:[],builtinTools:[],customTools:[],mcpTools:[],a2aRegistry:{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},modelName:vy(e),modelSource:"ark",modelProvider:"",modelApiBase:"",shortTermBackend:"local",longTermBackend:"local",autoSaveSession:!1,knowledgebaseBackend:Jd,knowledgebaseIndex:"",tracingExporters:[],selectedSkills:[],deployment:{feishuEnabled:!1,modelApiKeyId:"",modelApiKeyName:""}}}const _Re="/web/skill-management";class ARe extends Error{constructor(t,n,i="SKILL_MANAGEMENT_ERROR",r="",s,a=""){super(t),this.status=n,this.code=i,this.statusText=r,this.originalError=s,this.rawResponse=a,this.name="SkillManagementApiError"}}async function Fu(e,t={},n=Tl){return fetch(Xn(`${_Re}${e}`),{...t,headers:m0(t.headers),signal:Gn(t.signal,n)})}async function Hee(e,t){let n=t,i="SKILL_MANAGEMENT_ERROR",r;const s=await e.text().catch(()=>"");try{const a=JSON.parse(s);typeof a.detail=="string"?n=a.detail:a.detail&&(n=a.detail.message||t,i=a.detail.code||i,r=a.detail.originalError)}catch{s.trim()&&(n=`${t}:${s.trim()}`)}return new ARe(n,e.status,i,e.statusText,r,s)}async function Vu(e,t){if(!e.ok)throw await Hee(e,t);return e.json()}async function NRe(e){const t=new URLSearchParams({region:e.region,page:String(e.page),page_size:String(e.pageSize)});return e.project&&t.set("project",e.project),Vu(await Fu(`/spaces?${t}`,{signal:e.signal}),"读取 Skill 空间失败")}async function CRe(e){return Vu(await Fu("/spaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),"创建 Skill 空间失败")}async function RRe(e){return Vu(await Fu(`/spaces/${encodeURIComponent(e.spaceId)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,description:e.description,region:e.region})}),"更新 Skill 空间失败")}async function IRe(e){const t=new URLSearchParams({region:e.region});await Vu(await Fu(`/spaces/${encodeURIComponent(e.spaceId)}?${t}`,{method:"DELETE"}),"删除 Skill 空间失败")}async function PRe(e){const t=new URLSearchParams({region:e.region});return e.project&&t.set("project",e.project),Vu(await Fu(`/spaces/${encodeURIComponent(e.spaceId)}/skills?${t}`,{method:"POST",headers:{"Content-Type":"application/zip"},body:e.file},oa),"上传 Skill 失败")}async function jRe(e){return Vu(await Fu("/validate",{method:"POST",headers:{"Content-Type":"application/zip"},body:e},oa),"校验 Skill 失败")}async function MRe(e){const t=new URLSearchParams({region:e.region});await Vu(await Fu(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}?${t}`,{method:"DELETE"}),"删除 Skill 失败")}async function LRe(e){const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version);const n=await Vu(await Fu(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/files?${t}`),"读取 Skill 文件失败");return Array.isArray(n.files)?n.files:[]}async function DRe(e){var o;const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version);const n=await Fu(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/archive?${t}`,{},oa);n.ok||await Vu(n,"下载 Skill 失败");const r=((o=(n.headers.get("content-disposition")||"").match(/filename="([^"]+)"/))==null?void 0:o[1])||`${e.fallbackName}.zip`,s=URL.createObjectURL(await n.blob()),a=document.createElement("a");a.href=s,a.download=r,a.click(),URL.revokeObjectURL(s)}async function WT(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Gn(void 0,Tl)});if(!t.ok)throw await Hee(t,"AgentKit Skills 请求失败");return t.json()}async function o$(){return(await WT("/web/skill-spaces?region=all")).items||[]}async function l$(e,t){const n=t?`?region=${encodeURIComponent(t)}`:"";return(await WT(`/web/skill-spaces/${encodeURIComponent(e)}/skills${n}`)).items||[]}async function $Re(e,t){const n=new URLSearchParams({region:t.region,page:String(t.page),page_size:String(t.pageSize)});return t.project&&n.set("project",t.project),WT(`/web/skill-spaces/${encodeURIComponent(e)}/skills?${n.toString()}`)}async function QRe(e,t,n,i,r){const s=[];n&&s.push(`version=${encodeURIComponent(n)}`),i&&s.push(`region=${encodeURIComponent(i)}`),r&&s.push(`project=${encodeURIComponent(r)}`);const a=s.length>0?`?${s.join("&")}`:"";return WT(`/web/skill-spaces/${encodeURIComponent(e)}/skills/${encodeURIComponent(t)}${a}`)}function BRe(e,t){return{source:"skillspace",id:`ss:${e.id}/${t.skillId}/${t.version}`,name:t.skillName,description:t.skillDescription,folder:t.skillName,skillSpaceId:e.id,skillSpaceName:e.name,skillSpaceRegion:e.region,skillId:t.skillId,version:t.version}}function URe(e,t,n="volcengine"){return n==="byteplus"?"":`https://console.volcengine.com/agentkit/${(t||"cn-beijing")==="cn-beijing"?"cn":"cn-shanghai"}/skillspace/detail/${encodeURIComponent(e)}`}function y9({className:e="icon"}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[c.jsx("path",{d:"M4.5 6.7h4.2M12.3 6.7h7.2"}),c.jsx("path",{d:"M4.5 12h8.2M16.3 12h3.2"}),c.jsx("path",{d:"M4.5 17.3h2.7M10.8 17.3h8.7"}),c.jsx("circle",{cx:"10.5",cy:"6.7",r:"1.8",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"14.5",cy:"12",r:"1.8",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"9",cy:"17.3",r:"1.8",fill:"currentColor",stroke:"none"})]})}const zRe={coding:"智能编程",get_city_weather:"城市天气查询",get_location_weather:"位置天气查询",web_fetch:"网页内容获取"};function vP(e){const t=hp.find(n=>n.id===e||n.toolNames.includes(e));return zRe[e]??(t==null?void 0:t.label)??e}function x9(e){const t=hp.find(i=>i.id===e||i.toolNames.includes(e));return((t==null?void 0:t.desc)??"由 VeADK 提供的内置工具").replace(/[。.]+$/,"")}function FRe(){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m7 7 10 10M17 7 7 17",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function VRe(){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[c.jsx("circle",{cx:"10.8",cy:"10.8",r:"5.8",stroke:"currentColor",strokeWidth:"1.7"}),c.jsx("path",{d:"m15.2 15.2 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function S9(){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function Yee({title:e,description:t,icon:n,wide:i=!1,onClose:r,children:s}){const a=O.useRef(`session-capability-${Math.random().toString(36).slice(2)}`);return O.useEffect(()=>{const o=document.body.style.overflow;document.body.style.overflow="hidden";const l=u=>{u.key==="Escape"&&r()};return document.addEventListener("keydown",l),()=>{document.removeEventListener("keydown",l),document.body.style.overflow=o}},[r]),ar.createPortal(c.jsxs("div",{className:"session-capability-dialog-layer",children:[c.jsx("button",{type:"button",className:"session-capability-dialog-scrim","aria-label":"关闭弹窗",onClick:r}),c.jsxs("section",{className:`session-capability-dialog${i?" is-wide":""}`,role:"dialog","aria-modal":"true","aria-labelledby":a.current,children:[c.jsxs("header",{className:`session-capability-dialog-head${n?"":" is-iconless"}`,children:[n&&c.jsx("span",{className:"session-capability-dialog-mark",children:n}),c.jsxs("div",{children:[c.jsx("h2",{id:a.current,children:e}),c.jsx("p",{children:t})]}),c.jsx("button",{type:"button",className:"session-capability-dialog-close","aria-label":`关闭${e}`,onClick:r,children:c.jsx(FRe,{})})]}),s]})]}),document.body)}function dw({value:e,placeholder:t,label:n,onChange:i,autoFocus:r=!1}){return c.jsxs("label",{className:"session-capability-search",children:[c.jsx(VRe,{}),c.jsx("input",{value:e,"aria-label":n,placeholder:t,autoFocus:r,onChange:s=>i(s.target.value)})]})}function XRe({agentName:e,tools:t,selectedNames:n,mutating:i,onAdd:r,onClose:s}){const[a,o]=O.useState(""),[l,u]=O.useState(""),d=O.useMemo(()=>new Set(n),[n]),f=O.useMemo(()=>{const p=a.trim().toLowerCase();return t.filter(m=>p?`${vP(m)} ${m} ${x9(m)}`.toLowerCase().includes(p):!0)},[a,t]),h=async p=>{u(p);const m=await r({kind:"tool",name:p});u(""),m&&s()};return c.jsx(Yee,{title:"添加内置工具",description:`添加后仅对 ${e} 的当前会话生效`,icon:c.jsx(y9,{}),onClose:s,children:c.jsxs("div",{className:"session-tool-dialog-body",children:[c.jsx(dw,{value:a,label:"搜索内置工具",placeholder:"搜索中文名称或工具标识",onChange:o,autoFocus:!0}),c.jsx("div",{className:"session-tool-picker",role:"list","aria-label":"可用内置工具",children:f.length===0?c.jsx("div",{className:"session-capability-empty",children:"没有匹配的内置工具"}):f.map(p=>{const m=d.has(p),g=l===p;return c.jsxs("article",{className:"session-tool-option",role:"listitem",children:[c.jsx("span",{className:"session-tool-option-icon",children:c.jsx(y9,{})}),c.jsxs("span",{className:"session-tool-option-copy",children:[c.jsx("strong",{children:vP(p)}),c.jsx("code",{children:p}),c.jsx("span",{children:x9(p)})]}),c.jsx("button",{type:"button",disabled:m||i||!!l,onClick:()=>void h(p),children:m?"已添加":g?"添加中…":"添加"})]},p)})})]})})}function qRe({appName:e,agentName:t,selectedNames:n,mutating:i,onAdd:r,onClose:s}){const[a,o]=O.useState("public"),[l,u]=O.useState(""),[d,f]=O.useState([]),[h,p]=O.useState(0),[m,g]=O.useState(!0),[y,b]=O.useState(""),[S,x]=O.useState([]),[v,E]=O.useState(null),[w,k]=O.useState([]),[_,C]=O.useState(""),[A,R]=O.useState(""),[j,Q]=O.useState(!0),[L,D]=O.useState(!1),[N,M]=O.useState(""),[B,$]=O.useState(""),I=O.useMemo(()=>new Set(n),[n]);O.useEffect(()=>{if(a!=="public")return;let ae=!0;const fe=window.setTimeout(()=>{g(!0),b(""),GZ(e,l.trim()).then(ke=>{ae&&(f(ke.items),p(ke.totalCount))}).catch(ke=>{ae&&(f([]),p(0),b(ke instanceof Error?ke.message:"搜索 Skill Hub 失败"))}).finally(()=>{ae&&g(!1)})},250);return()=>{ae=!1,window.clearTimeout(fe)}},[e,l,a]),O.useEffect(()=>{if(a!=="agentkit")return;let ae=!0;return Q(!0),M(""),o$().then(fe=>{ae&&(x(fe),E(fe[0]??null))}).catch(fe=>{ae&&M(fe instanceof Error?fe.message:"读取 Skill Space 失败")}).finally(()=>{ae&&Q(!1)}),()=>{ae=!1}},[a]),O.useEffect(()=>{if(a!=="agentkit")return;if(!v){k([]);return}let ae=!0;return D(!0),M(""),l$(v.id,v.region).then(fe=>{ae&&k(fe)}).catch(fe=>{ae&&M(fe instanceof Error?fe.message:"读取技能失败")}).finally(()=>{ae&&D(!1)}),()=>{ae=!1}},[v,a]);const G=O.useMemo(()=>{const ae=_.trim().toLowerCase();return ae?S.filter(fe=>`${fe.name} ${fe.id} ${fe.description}`.toLowerCase().includes(ae)):S},[_,S]),X=O.useMemo(()=>{const ae=A.trim().toLowerCase();return ae?w.filter(fe=>`${fe.skillName} ${fe.skillDescription}`.toLowerCase().includes(ae)):w},[A,w]),U=async ae=>{if(!v)return;$(ae.skillId);const fe=await r({kind:"skill",name:ae.skillName,skillSourceId:v.id,description:ae.skillDescription,version:ae.version});$(""),fe&&s()},Y=async ae=>{$(ae.slug);const fe=await r({kind:"skill",name:ae.name,skillSourceId:`findskill:${ae.slug}`,description:ae.description,version:ae.version||ae.updatedAt});$(""),fe&&s()};return c.jsx(Yee,{title:"添加技能",description:`从公域 Skill Hub 或 AgentKit Skill 中心添加到 ${t} 当前会话`,wide:!0,onClose:s,children:c.jsxs("div",{className:"session-skill-dialog-body",children:[c.jsxs("div",{className:"session-skill-source-tabs",role:"tablist","aria-label":"技能来源",children:[c.jsxs("button",{type:"button",role:"tab","aria-selected":a==="public",className:a==="public"?"is-active":"",onClick:()=>o("public"),children:["Skill Hub",c.jsx("span",{children:"公域"})]}),c.jsx("button",{type:"button",role:"tab","aria-selected":a==="agentkit",className:a==="agentkit"?"is-active":"",onClick:()=>o("agentkit"),children:"AgentKit Skill 中心"})]}),a==="public"?c.jsxs("section",{className:"session-public-skill-browser","aria-label":"Skill Hub 公域技能",children:[c.jsxs("div",{className:"session-public-skill-head",children:[c.jsx(dw,{value:l,label:"搜索 Skill Hub",placeholder:"搜索技能名称、用途或关键词",onChange:u,autoFocus:!0}),c.jsxs("span",{children:[h.toLocaleString()," 个公域技能"]})]}),c.jsx("div",{className:"session-public-skill-list",children:y?c.jsx("div",{className:"session-capability-error",children:y}):m?c.jsx("div",{className:"session-capability-loading",children:"正在搜索 Skill Hub…"}):d.length===0?c.jsx("div",{className:"session-capability-empty",children:"没有匹配的公域技能"}):d.map(ae=>{const fe=I.has(ae.name),ke=B===ae.slug;return c.jsxs("article",{className:"session-skill-option session-public-skill-option",children:[c.jsxs("span",{className:"session-skill-option-copy",children:[c.jsx("strong",{children:ae.name}),c.jsx("span",{children:ae.description||"暂无描述"}),c.jsxs("small",{children:[ae.sourceRepo||ae.sourceType||"FindSkill",c.jsx("span",{"aria-hidden":"true",children:" · "}),ae.downloadCount.toLocaleString()," 次下载",ae.evaluationScore>0&&c.jsxs(c.Fragment,{children:[c.jsx("span",{"aria-hidden":"true",children:" · "}),ae.evaluationScore.toFixed(1)," 分"]})]})]}),c.jsx("button",{type:"button",disabled:fe||i||!!B,onClick:()=>void Y(ae),children:fe?"已添加":ke?"添加中…":c.jsxs(c.Fragment,{children:[c.jsx(S9,{}),"添加"]})})]},ae.slug)})})]}):c.jsxs("div",{className:"session-skill-browser",children:[c.jsxs("section",{className:"session-skill-spaces","aria-label":"Skill Space 列表",children:[c.jsxs("div",{className:"session-skill-pane-head",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"Skill Space"}),c.jsx("span",{children:S.length})]}),c.jsx(dw,{value:_,label:"搜索 Skill Space",placeholder:"搜索空间",onChange:C,autoFocus:!0})]}),c.jsx("div",{className:"session-skill-pane-list",children:j?c.jsx("div",{className:"session-capability-loading",children:"正在读取 Skill Space…"}):G.length===0?c.jsx("div",{className:"session-capability-empty",children:"没有匹配的 Skill Space"}):G.map(ae=>c.jsx("button",{type:"button",className:`session-skill-space${(v==null?void 0:v.id)===ae.id?" is-active":""}`,onClick:()=>{E(ae),R("")},children:c.jsxs("span",{children:[c.jsx("strong",{children:ae.name||ae.id}),c.jsx("small",{children:ae.description||ae.id}),c.jsxs("em",{children:[ae.skillCount??0," 个技能"]})]})},`${ae.projectName??"default"}:${ae.id}`))})]}),c.jsxs("section",{className:"session-skill-results","aria-label":"AgentKit Skill 列表",children:[c.jsxs("div",{className:"session-skill-pane-head",children:[c.jsxs("div",{children:[c.jsx("strong",{title:v==null?void 0:v.name,children:(v==null?void 0:v.name)||"选择 Skill Space"}),c.jsx("span",{children:w.length})]}),c.jsx(dw,{value:A,label:"搜索 AgentKit 技能",placeholder:"搜索技能名称或描述",onChange:R})]}),c.jsx("div",{className:"session-skill-pane-list",children:N?c.jsx("div",{className:"session-capability-error",children:N}):v?L?c.jsx("div",{className:"session-capability-loading",children:"正在读取技能…"}):X.length===0?c.jsx("div",{className:"session-capability-empty",children:"没有匹配的技能"}):X.map(ae=>{const fe=I.has(ae.skillName),ke=B===ae.skillId;return c.jsxs("article",{className:"session-skill-option",children:[c.jsxs("span",{className:"session-skill-option-copy",children:[c.jsx("strong",{children:ae.skillName}),c.jsx("span",{children:ae.skillDescription||"暂无描述"}),c.jsxs("small",{children:["版本 ",ae.version||"—"]})]}),c.jsx("button",{type:"button",disabled:fe||i||!!B,onClick:()=>void U(ae),children:fe?"已添加":ke?"添加中…":c.jsxs(c.Fragment,{children:[c.jsx(S9,{}),"添加"]})})]},`${ae.skillId}:${ae.version}`)}):c.jsx("div",{className:"session-capability-empty",children:"选择一个 Skill Space 查看技能"})})]})]})]})})}function hs({as:e="span",className:t="",duration:n=4,spread:i=20,children:r,style:s,...a}){const o=Math.min(Math.max(i,5),45);return c.jsx(e,{className:`text-shimmer${t?` ${t}`:""}`,style:{...s,backgroundImage:`linear-gradient(to right, hsl(var(--muted-foreground)) ${50-o}%, hsl(var(--foreground)) 50%, hsl(var(--muted-foreground)) ${50+o}%)`,animationDuration:`${n}s`},...a,children:r})}function Gee(e){return 1+e.children.reduce((t,n)=>t+Gee(n),0)}function Wee(e){return e.id||e.name}function HRe(e,t){const n=Wee(e);if(e.id&&e.name&&e.name!==n)return e.name;if(t&&n==="agent")return"主 Agent";const i=/^agent_sub_(\d+)$/.exec(n);return i?`子 Agent ${i[1]}`:e.name||n}function Zee(e,t=!0){return{...e,id:Wee(e),name:HRe(e,t),children:e.children.map(n=>Zee(n,!1))}}function Kee(e){const t=Bo();return{...t,name:e.name,description:e.description,instruction:e.instruction||t.instruction,agentType:e.type,modelName:e.model,tools:e.tools??[],skills:(e.skills??[]).map(n=>n.name),subAgents:e.children.map(Kee)}}function YRe(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))]}function GRe(e){return[...new Map(e.filter(t=>t.name.trim()).map(t=>[t.name.trim(),{...t,name:t.name.trim()}])).values()]}function e2({title:e,count:t}){return c.jsxs("div",{className:"topo-module-title",children:[c.jsx("span",{className:"topo-module-label",title:e,children:e}),t!==void 0&&c.jsx("span",{className:"topo-section-count","aria-label":`${t} 项`,children:t})]})}function WRe({appName:e,info:t,loading:n,variant:i="rail",capabilities:r=null,capabilityLoading:s=!1,capabilityMutating:a=!1,builtinTools:o=[],onAddCapability:l,onRemoveCapability:u}){const[d,f]=O.useState(null),[h,p]=O.useState(!1),m=O.useRef(null),g=()=>{p(!1),window.requestAnimationFrame(()=>{var w;return(w=m.current)==null?void 0:w.focus()})};if(O.useEffect(()=>{if(!h)return;const w=document.body.style.overflow,k=_=>{_.key==="Escape"&&g()};return document.body.style.overflow="hidden",document.addEventListener("keydown",k),()=>{document.body.style.overflow=w,document.removeEventListener("keydown",k)}},[h]),n&&!t)return c.jsx("aside",{className:`topo is-loading${i==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息","aria-live":"polite",children:c.jsx(hs,{as:"span",className:"topo-loading-label",duration:2.2,children:"正在读取 Agent 信息…"})});if(!t)return null;const y=Zee(t.graph??{id:t.name,name:t.name,description:t.description,type:t.type??"llm",model:t.model,tools:t.tools,skills:t.skills,path:[t.name],mentionable:!1,children:[]}),b=(r==null?void 0:r.tools)??YRe(t.tools).map(w=>({id:`base:tool:${w}`,kind:"tool",name:w,custom:!1})),S=(r==null?void 0:r.skills)??GRe(t.skills).map(w=>({id:`base:skill:${w.name}`,kind:"skill",name:w.name,description:w.description,custom:!1})),x=!!(r&&l&&u),v=Kee(y),E=w=>c.jsx(My,{draft:v,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},w);return c.jsxs(c.Fragment,{children:[c.jsxs("aside",{className:`topo${i==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息与拓扑",children:[c.jsxs("section",{className:"topo-agent-card","aria-label":"Agent 信息",children:[c.jsxs("div",{className:"topo-agent-heading",children:[c.jsx("h2",{title:t.name,children:t.name||"未命名 Agent"}),t.model&&c.jsx("span",{title:t.model,children:t.model})]}),t.description&&c.jsx("p",{className:"topo-description",title:t.description,children:t.description})]}),c.jsxs("div",{className:"topo-module-stack",children:[c.jsxs("section",{className:"topo-module-card topo-tools-card","aria-label":"工具",children:[c.jsx(e2,{title:"工具",count:b.length}),c.jsx("div",{className:"topo-module-scroll topo-tools-scroll",role:"region","aria-label":"工具列表",tabIndex:0,children:b.length>0?c.jsx("div",{className:"topo-tool-list",children:b.map(w=>c.jsxs("div",{className:"topo-tool",title:w.name,children:[c.jsxs("span",{className:"topo-capability-title",children:[c.jsxs("span",{className:"topo-capability-copy",children:[c.jsx("span",{className:"topo-capability-name",children:vP(w.name)}),c.jsx("code",{children:w.name})]}),w.custom&&c.jsx("span",{className:"topo-custom-badge",children:"自定义"})]}),w.custom&&c.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除工具 ${w.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(w.id),children:"×"})]},w.id))}):c.jsx("div",{className:"topo-empty",children:"未配置"})}),x&&c.jsx("div",{className:"topo-capability-add-dock",children:c.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加内置工具",disabled:s||a,onClick:()=>f("tool"),children:[c.jsx("span",{"aria-hidden":"true",children:"+"}),c.jsx("span",{children:"在此对话中添加工具"})]})})]}),c.jsxs("section",{className:"topo-module-card topo-skills-card","aria-label":"技能",children:[c.jsx(e2,{title:"技能",count:t.skillsPreviewSupported?S.length:void 0}),c.jsx("div",{className:"topo-module-scroll topo-skills-scroll",role:"region","aria-label":"技能列表",tabIndex:0,children:t.skillsPreviewSupported?S.length>0?c.jsx("div",{className:"topo-skill-list",children:S.map(w=>c.jsxs("div",{className:"topo-skill",title:w.description||w.name,children:[c.jsxs("div",{className:"topo-skill-title",children:[c.jsx("span",{className:"topo-skill-name",children:w.name}),w.custom&&c.jsx("span",{className:"topo-custom-badge",children:"自定义"}),w.custom&&c.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除技能 ${w.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(w.id),children:"×"})]}),w.description&&c.jsx("span",{className:"topo-skill-description",children:w.description})]},`${w.name}:${w.description}`))}):c.jsx("div",{className:"topo-empty",children:"未配置"}):c.jsx("div",{className:"topo-empty",children:"暂不支持预览"})}),x&&c.jsx("div",{className:"topo-capability-add-dock",children:c.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加技能",disabled:s||a,onClick:()=>f("skill"),children:[c.jsx("span",{"aria-hidden":"true",children:"+"}),c.jsx("span",{children:"在此对话中添加技能"})]})})]}),c.jsxs("section",{className:"topo-module-card topo-topology","aria-label":"Agent 画布",children:[c.jsxs("div",{className:"topo-canvas-heading",children:[c.jsx(e2,{title:"结构拓扑",count:Gee(y)}),c.jsx("button",{ref:m,type:"button",className:"topo-canvas-expand","aria-label":"全屏查看 Agent 画布",title:"全屏查看",onClick:()=>p(!0),children:c.jsx(Ih,{"aria-hidden":"true"})})]}),c.jsx("div",{className:"topo-canvas-preview",role:"region","aria-label":"Agent 执行画布",children:E(`conversation-canvas:${e}`)})]})]}),d==="tool"&&l&&c.jsx(XRe,{agentName:t.name,tools:o,selectedNames:b.map(w=>w.name),mutating:a,onAdd:l,onClose:()=>f(null)}),d==="skill"&&l&&c.jsx(qRe,{appName:e,agentName:t.name,selectedNames:S.map(w=>w.name),mutating:a,onAdd:l,onClose:()=>f(null)})]}),h&&ar.createPortal(c.jsxs("section",{className:"topo-canvas-dialog",role:"dialog","aria-modal":"true","aria-label":"全屏 Agent 执行画布",children:[c.jsxs("header",{className:"topo-canvas-dialog-header",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"Agent 执行画布"}),c.jsx("span",{children:t.name})]}),c.jsx("button",{type:"button","aria-label":"关闭全屏画布",title:"关闭",onClick:g,autoFocus:!0,children:c.jsx(aa,{"aria-hidden":"true"})})]}),c.jsx("div",{className:"topo-canvas-dialog-body",children:E(`conversation-canvas-fullscreen:${e}`)})]}),document.body)]})}function Jee(e){var t,n,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t{const t=e.currentTarget;if(!(t instanceof HTMLElement))return;const n=t.offsetWidth;let i=.985;n<=80?i=.96:n<=150?i=.97:n<=220?i=.98:n>600&&(i=.995),t.style.setProperty("--scale",i.toString())},wP=(e,t)=>{const n=()=>{const a=setTimeout(e);return()=>{clearTimeout(a)}};if(!tIe||typeof window.requestAnimationFrame!="function"||tte&&document.visibilityState==="hidden")return n();let r=2,s=window.requestAnimationFrame(function a(){r-=1,r===0?e():s=window.requestAnimationFrame(a)});return()=>{typeof window.cancelAnimationFrame=="function"&&window.cancelAnimationFrame(s)}},c$=e=>Object.keys(e).reduce((n,i)=>{const r=e[i];if(r||r===0){const s=i.startsWith("--")?"":"--",a=typeof r=="number"?`${r}px`:r;n[`${s}${i}`]=a}return n},{}),t2=e=>{e.preventDefault()},ite=e=>e.querySelectorAll('a[href], input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex^="-"]), [contenteditable]'),nIe=e=>{const t=O.Children.toArray(e),n=[];let i="";const r=()=>{i!==""&&(n.push(i),i="")};for(const s of t)if(!(s==null||typeof s=="boolean")){if(typeof s=="string"||typeof s=="number"){i+=String(s);continue}r(),n.push(s)}return r(),n},rte=e=>{const t=nIe(e),n=O.Children.count(t);return O.Children.map(t,i=>{if(typeof i=="string"&&i.trim())return n<=1?i:c.jsx("span",{children:i});if(O.isValidElement(i)){const r=i,{children:s,...a}=r.props;return s!=null?O.cloneElement(r,a,rte(s)):r}return i})};O.createContext(null);var iIe=typeof Pd=="object"&&Pd&&Pd.Object===Object&&Pd,rIe=typeof self=="object"&&self&&self.Object===Object&&self;iIe||rIe||Function("return this")();var sIe=typeof window<"u"?O.useLayoutEffect:O.useEffect;function aIe(){const e=O.useRef(!1);return O.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),O.useCallback(()=>e.current,[])}var v9={width:void 0,height:void 0};function oIe(e){const{ref:t,box:n="content-box"}=e,[{width:i,height:r},s]=O.useState(v9),a=aIe(),o=O.useRef({...v9}),l=O.useRef(void 0);return l.current=e.onResize,O.useEffect(()=>{if(!t.current||typeof window>"u"||!("ResizeObserver"in window))return;const u=new ResizeObserver(([d])=>{const f=n==="border-box"?"borderBoxSize":n==="device-pixel-content-box"?"devicePixelContentBoxSize":"contentBoxSize",h=w9(d,f,"inlineSize"),p=w9(d,f,"blockSize");if(o.current.width!==h||o.current.height!==p){const g={width:h,height:p};o.current.width=h,o.current.height=p,l.current?l.current(g):a()&&s(g)}});return u.observe(t.current,{box:n}),()=>{u.disconnect()}},[n,t,a]),{width:i,height:r}}function w9(e,t,n){return e[t]?Array.isArray(e[t])?e[t][0][n]:e[t][n]:t==="contentBoxSize"?e.contentRect[n==="inlineSize"?"width":"height"]:void 0}function ste(e,t){const n=O.useRef(e);sIe(()=>{n.current=e},[e]),O.useEffect(()=>{if(!t&&t!==0)return;const i=setTimeout(()=>{n.current()},t);return()=>{clearTimeout(i)}},[t])}const lIe="_LoadingIndicator_7yl6f_1",cIe={LoadingIndicator:lIe},uIe=({className:e,size:t,strokeWidth:n,style:i,...r})=>c.jsx("div",{...r,className:Pa(cIe.LoadingIndicator,e),style:i||c$({"indicator-size":t,"indicator-stroke":n})});function ate(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}const dIe=()=>ete,E9=(e,t=!1,n="TransitionGroup")=>{const i=[];return O.Children.forEach(e,r=>{if(r&&typeof r=="object"&&"key"in r&&r.key)i.push(r);else if(t)throw new Error(`Child elements of <${n} /> must include a \`key\``)}),i},Pp=()=>{},jp=e=>{const t=O.useRef(e);return t.current=e,O.useCallback(n=>t.current(n),[])};function fIe(e,t,n,i){const r=e.reduce((l,u)=>({...l,[u.key]:1}),{}),s=t.reduce((l,u)=>({...l,[u.component.key]:1}),{}),a=e.filter(l=>!s[l.key]).map(n),o=t.map(l=>({...l,component:e.find(({key:u})=>u===l.component.key)||l.component,shouldRender:!!r[l.component.key]}));return i==="append"?o.concat(a):a.concat(o)}function hIe(e,t,n){if((ete||KRe)&&t&&n>1)throw new Error(`Cannot use forwardRef with multiple children in <${e} />`)}const pIe="_TransitionGroupChild_1hv1z_1",mIe={TransitionGroupChild:pIe},ote={enter:!1,enterActive:!1,exit:!1,exitActive:!1,interrupted:!1},gIe=e=>({...ote,enter:!e}),OIe=(e,t)=>{switch(t.type){case"enter-before":return{enter:!0,enterActive:!1,exit:!1,exitActive:!1,interrupted:e.interrupted||e.exit};case"enter-active":return{enter:!0,enterActive:!0,exit:!1,exitActive:!1,interrupted:!1};case"exit-before":return{enter:!1,enterActive:!1,exit:!0,exitActive:!1,interrupted:e.interrupted||e.enter};case"exit-active":return{enter:!1,enterActive:!1,exit:!0,exitActive:!0,interrupted:!1};case"done":default:return ote}},bIe=({ref:e,as:t,children:n,className:i,transitionId:r,style:s,preventMountTransition:a,shouldRender:o,enterDuration:l,exitDuration:u,removeChild:d,onEnter:f,onEnterActive:h,onEnterComplete:p,onExit:m,onExitActive:g,onExitComplete:y})=>{const[b,S]=O.useReducer(OIe,gIe(a||!1)),x=O.useRef(!1),v=O.useRef(null),E=O.useRef(l);E.current=l;const w=O.useRef(u);w.current=u;const k=O.useRef(null),_=O.useCallback(C=>{const A=v.current;if(!(!A||C===k.current))switch(k.current=C,C){case"enter":f(A);break;case"enter-active":h(A);break;case"enter-complete":p(A);break;case"exit":m(A);break;case"exit-active":g(A);break;case"exit-complete":y(A);break}},[f,h,p,m,g,y]);return un.useLayoutEffect(()=>{if(!o){let R;S({type:"exit-before"}),_("exit");const j=wP(()=>{S({type:"exit-active"}),_("exit-active"),R=window.setTimeout(()=>{_("exit-complete"),d()},w.current)});return()=>{j(),R!==void 0&&clearTimeout(R)}}if(a&&!x.current){x.current=!0;return}let C;S({type:"enter-before"}),_("enter");const A=wP(()=>{S({type:"enter-active"}),_("enter-active"),C=window.setTimeout(()=>{S({type:"done"}),_("enter-complete")},E.current)});return()=>{A(),C!==void 0&&clearTimeout(C)}},[o,a,d,_]),O.useEffect(()=>()=>{x.current=!1},[]),c.jsx(t,{ref:ate([v,e]),className:Pa(i,mIe.TransitionGroupChild),"data-transition-id":r,style:s,"data-entering":b.enter?"":void 0,"data-entering-active":b.enterActive?"":void 0,"data-exiting":b.exit?"":void 0,"data-exiting-active":b.exitActive?"":void 0,"data-interrupted":b.interrupted?"":void 0,children:n})},yIe=e=>{const{enterMountDelay:t,preventMountTransition:n}=e,i=!n&&t!=null?t:null,[r,s]=O.useState(i==null);return ste(()=>s(!0),r?null:i),r?c.jsx(bIe,{...e}):null},lte=e=>{const{ref:t,as:n="span",children:i,className:r,transitionId:s,style:a,enterDuration:o=0,exitDuration:l=0,preventInitialTransition:u=!0,enterMountDelay:d,insertMethod:f="append",disableAnimations:h=dIe()}=e,p=jp(e.onEnter??Pp),m=jp(e.onEnterActive??Pp),g=jp(e.onEnterComplete??Pp),y=jp(e.onExit??Pp),b=jp(e.onExitActive??Pp),S=jp(e.onExitComplete??Pp);O.Children.forEach(i,w=>{if(w&&!w.key)throw new Error("Child elements of must include a `key`")});const x=O.useCallback(w=>({component:w,shouldRender:!0,removeChild:()=>{E(k=>k.filter(_=>w.key!==_.component.key))},onEnter:p,onEnterActive:m,onEnterComplete:g,onExit:y,onExitActive:b,onExitComplete:S}),[p,m,g,y,b,S]),[v,E]=O.useState(()=>E9(i).map(w=>({...x(w),preventMountTransition:u})));return O.useLayoutEffect(()=>{E(w=>{const k=E9(i);return fIe(k,w,x,f)})},[i,f,x]),hIe("TransitionGroup",t,O.Children.count(i)),h?c.jsx(c.Fragment,{children:O.Children.map(i,w=>c.jsx(n,{ref:t,className:r,style:a,"data-transition-id":s,children:w}))}):c.jsx(c.Fragment,{children:v.map(({component:w,...k})=>c.jsx(yIe,{...k,as:n,className:r,transitionId:s,enterDuration:o,exitDuration:l,enterMountDelay:d,style:a,ref:t,children:w},w.key))})},xIe="_Button_1864l_1",SIe="_ButtonInner_1864l_4",vIe="_ButtonLoader_1864l_749",n2={Button:xIe,ButtonInner:SIe,ButtonLoader:vIe},Gm=e=>{const{type:t="button",color:n="primary",variant:i="solid",pill:r=!0,uniform:s=!1,size:a="md",iconSize:o,gutterSize:l,loading:u,selected:d,block:f,opticallyAlign:h,children:p,className:m,onClick:g,disabled:y,disabledTone:b,inert:S=u,...x}=e,v=y||S,E=O.useCallback(w=>{y||g==null||g(w)},[g,y]);return c.jsxs("button",{type:t,className:Pa(n2.Button,m),"data-color":n,"data-variant":i,"data-pill":r?"":void 0,"data-uniform":s?"":void 0,"data-size":a,"data-gutter-size":l,"data-icon-size":o,"data-loading":u?"":void 0,"data-selected":d?"":void 0,"data-block":f?"":void 0,"data-optically-align":h,onPointerEnter:nte,disabled:v,"aria-disabled":v,tabIndex:v?-1:void 0,"data-disabled":y?"":void 0,"data-disabled-tone":y?b:void 0,onClick:E,...x,children:[c.jsx(lte,{className:n2.ButtonLoader,enterDuration:250,exitDuration:150,children:u&&c.jsx(uIe,{},"loader")}),c.jsx("span",{className:n2.ButtonInner,children:rte(p)})]})},wIe="_EmptyMessage_1r5gu_1",EIe="_IconBadge_1r5gu_16",kIe="_Title_1r5gu_54",TIe="_Description_1r5gu_69",_Ie="_ActionRow_1r5gu_77",Yx={EmptyMessage:wIe,IconBadge:EIe,Title:kIe,Description:TIe,ActionRow:_Ie},li=({children:e,className:t,fill:n="static"})=>c.jsx("div",{className:Pa(Yx.EmptyMessage,t),"data-fill":n,children:e}),AIe=({size:e="md",color:t="secondary",children:n,className:i})=>c.jsx("div",{className:Pa(Yx.IconBadge,i),"data-size":e,"data-color":t,children:n}),NIe=({children:e,className:t,color:n="secondary"})=>c.jsx("div",{className:Pa(Yx.Title,t),"data-color":n,children:e}),CIe=({children:e,className:t})=>c.jsx("div",{className:Pa(Yx.Description,t),children:e}),RIe=({children:e,className:t})=>c.jsx("div",{className:Pa(Yx.ActionRow,t),children:e});li.Icon=AIe;li.Title=NIe;li.Description=CIe;li.ActionRow=RIe;const IIe="/web/skill-workbench";class EP extends Error{constructor(t,n,i="SKILL_WORKBENCH_ERROR",r=!1,s="",a,o=""){super(t),this.status=n,this.code=i,this.retryable=r,this.statusText=s,this.originalError=a,this.rawResponse=o,this.name="SkillWorkbenchApiError"}}function Uo(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t}格式错误。`);return e}function k9(e,t){if(e!=null){if(typeof e!="string"||!e.trim()||e.trim().length>256)throw new Error(`${t}格式错误。`);return e.trim()}}function PIe(e){if(e!=null){if(e==="pending"||e==="ready"||e==="failed"||e==="unknown")return e;throw new Error("Skill 恢复点状态格式错误。")}}async function yc(e,t={},n=Tl){return fetch(Xn(`${IIe}${e}`),{...t,headers:m0(t.headers),signal:Gn(t.signal,n)})}async function u$(e,t){var i;const n=await e.text().catch(()=>"");try{const r=Uo(JSON.parse(n),"错误响应"),s=r.detail&&typeof r.detail=="object"?Uo(r.detail,"错误详情"):r;return new EP(typeof s.message=="string"?s.message:t,e.status,typeof s.code=="string"?s.code:"SKILL_WORKBENCH_ERROR",s.retryable===!0,e.statusText,s.originalError&&typeof s.originalError=="object"?s.originalError:void 0,n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失";return new EP(`${t}(HTTP ${e.status},Content-Type: ${r})。请检查代理或网关配置。`,e.status,"SKILL_WORKBENCH_ERROR",!1,e.statusText,void 0,n)}}async function pf(e,t){if(!e.ok)throw await u$(e,t);const n=e.headers.get("content-type")??"";if(!n.includes("application/json")){const i=n.split(";",1)[0]||"Content-Type 缺失";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},Content-Type: ${i}),请检查代理或网关配置。`)}return e.json()}function jIe(e){return Array.isArray(e)?e.map(t=>{const n=Uo(t,"Skill 会话活动"),i=n.kind,r=n.status;if(typeof n.id!="string"||!["status","thinking","message","tool"].includes(String(i))||!["running","done"].includes(String(r)))throw new Error("Skill 会话活动格式错误。");if(i==="tool"){if(typeof n.name!="string")throw new Error("Skill 工具活动格式错误。");return{id:n.id,kind:i,status:r,name:n.name,...n.input!==void 0?{args:n.input}:{},...n.output!==void 0?{response:n.output}:{}}}if(typeof n.text!="string")throw new Error("Skill 文本活动格式错误。");return{id:n.id,kind:i,status:r,text:n.text}}):[]}function MIe(e){if(e==null)return;const t=Uo(e,"Skill 发布结果");if(typeof t.revision!="number"||typeof t.skillId!="string"||typeof t.version!="string"||!Array.isArray(t.skillSpaceIds)||!t.skillSpaceIds.every(n=>typeof n=="string")||t.disposition!=="create-new"&&t.disposition!=="update-source"||!SD(t.region)||typeof t.projectName!="string")throw new Error("Skill 发布结果格式错误。");return{revision:t.revision,skillId:t.skillId,version:t.version,skillSpaceIds:t.skillSpaceIds,disposition:t.disposition,region:t.region,projectName:t.projectName}}function Dy(e){const t=Uo(e,"Skill 会话");if(typeof t.jobId!="string"||t.operation!=="create"&&t.operation!=="optimize"||typeof t.intent!="string"||typeof t.revision!="number"||typeof t.state!="string")throw new Error("Skill 会话格式错误。");const n=Array.isArray(t.files)?t.files.flatMap(o=>{const l=Uo(o,"Skill 文件");return typeof l.path=="string"&&typeof l.size=="number"?[{path:l.path,size:l.size}]:[]}):[];if(!["running","ready","failed","cancelled","expired","published"].includes(t.state))throw new Error("Skill 会话状态无法识别。");const r=k9(t.toolId,"Tool ID"),s=k9(t.sessionId,"Session ID"),a=PIe(t.recoveryStatus);return{jobId:t.jobId,operation:t.operation,intent:t.intent,...typeof t.model=="string"?{model:t.model}:{},...typeof t.style=="string"?{style:t.style}:{},...typeof t.requestedName=="string"?{requestedName:t.requestedName}:{},revision:t.revision,...r?{toolId:r}:{},...s?{sessionId:s}:{},...typeof t.sessionTtlSeconds=="number"?{sessionTtlSeconds:t.sessionTtlSeconds}:{},...typeof t.expiresAt=="string"?{expiresAt:t.expiresAt}:{},...typeof t.recoveryAvailable=="boolean"?{recoveryAvailable:t.recoveryAvailable}:{},...a?{recoveryStatus:a}:{},...typeof t.recoveredFromSnapshot=="boolean"?{recoveredFromSnapshot:t.recoveredFromSnapshot}:{},state:t.state,stage:typeof t.stage=="string"?t.stage:"generating",activities:jIe(t.activities),files:n,...t.source&&typeof t.source=="object"?{source:t.source}:{},...typeof t.name=="string"?{name:t.name}:{},...typeof t.description=="string"?{description:t.description}:{},...typeof t.skillMd=="string"?{skillMd:t.skillMd}:{},...typeof t.error=="string"?{error:t.error}:{},...t.validation&&typeof t.validation=="object"?{validation:t.validation}:{},...t.publication?{publication:MIe(t.publication)}:{}}}async function ZT(e){const t=Uo(await pf(await yc("/capabilities",{signal:e}),"读取 Skill 工作台能力失败"),"Skill 工作台能力");return{enabled:t.enabled===!0,reason:typeof t.reason=="string"?t.reason:"",operations:Array.isArray(t.operations)?t.operations.filter(n=>n==="create"||n==="optimize"):[],models:Array.isArray(t.models)?t.models.flatMap(n=>{if(!n||typeof n!="object")return[];const i=n;return typeof i.id=="string"&&typeof i.label=="string"?[{id:i.id,label:i.label}]:[]}):[],styles:t.styles&&typeof t.styles=="object"&&!Array.isArray(t.styles)?Object.fromEntries(Object.entries(t.styles).filter(n=>typeof n[1]=="string")):{},...typeof t.maxUploadBytes=="number"?{maxUploadBytes:t.maxUploadBytes}:{}}}async function LIe(e){if(e.file){const n=new URLSearchParams({operation:"optimize",intent:e.intent});e.jobId&&n.set("job_id",e.jobId),e.model&&n.set("model",e.model),e.style&&n.set("style",e.style),e.name&&n.set("name",e.name);const i=await yc(`/tasks/from-upload?${n}`,{method:"POST",body:e.file,headers:{"Content-Type":"application/zip"},signal:e.signal},oa);return Dy(await pf(i,"开始优化 Skill 失败"))}const t=await yc("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({operation:e.operation,intent:e.intent,...e.model?{model:e.model}:{},...e.style?{style:e.style}:{},...e.name?{name:e.name}:{},...e.jobId?{jobId:e.jobId}:{},...e.source?{source:{kind:"skill-center",skillId:e.source.skillId,skillName:e.source.name,version:e.source.version,region:e.source.region,projectName:e.source.projectName,skillSpaceId:e.source.skillSpaceId,skillSpaceName:e.source.skillSpaceName}}:{}}),signal:e.signal},oa);return Dy(await pf(t,"开始 Skill 会话失败"))}async function DIe(e,t){return Dy(await pf(await yc(`/tasks/${encodeURIComponent(e)}`,{signal:t}),"读取 Skill 会话失败"))}async function i2(e,t,n){const i=new URLSearchParams;i.set("expected_revision",String(t));const r=Uo(await pf(await yc(`/tasks/${encodeURIComponent(e)}/artifact?${i.toString()}`,{signal:n}),"读取 Skill 产物失败"),"Skill 产物");if(r.jobId!==e||r.revision!==t||!Number.isSafeInteger(r.revision)||r.revision<1||typeof r.sha256!="string"||!/^[0-9a-f]{64}$/.test(r.sha256)||typeof r.name!="string"||typeof r.description!="string"||!Array.isArray(r.files))throw new Error("Skill 产物格式错误。");const s=r.files.map(a=>{const o=Uo(a,"Skill 产物文件");if(typeof o.path!="string"||typeof o.size!="number"||typeof o.content!="string")throw new Error("Skill 产物文件格式错误。");return{path:o.path,size:o.size,content:o.content}});return{jobId:r.jobId,revision:r.revision,sha256:r.sha256,name:r.name,description:r.description,files:s}}async function r2(e){const t=await yc(`/tasks/${encodeURIComponent(e.jobId)}/refinements`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({intent:e.intent,expectedRevision:e.expectedRevision})},oa);return Dy(await pf(t,"继续调整 Skill 失败"))}async function $Ie(e){const t=await yc(`/tasks/${encodeURIComponent(e.jobId)}/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expectedRevision:e.expectedRevision})});return Dy(await pf(t,"停止当前 Skill 任务失败"))}async function QIe(e){const t=await yc(`/tasks/${encodeURIComponent(e.jobId)}/publish-stream`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/x-ndjson"},body:JSON.stringify({disposition:e.disposition,expectedRevision:e.expectedRevision,expectedArtifactSha256:e.expectedArtifactSha256,skillSpaceIds:e.skillSpaceIds??[],projectName:e.projectName,region:e.region}),signal:e.signal},0);if(!t.ok)throw await u$(t,"发布 Skill 失败");if(!(t.headers.get("content-type")??"").includes("application/x-ndjson"))throw new Error("发布 Skill 失败:服务端返回了非 NDJSON 响应。");if(!t.body)throw new Error("发布 Skill 失败:服务端没有返回进度流。");const i=new Set(["preparing","uploading","registering","activating","publishing"]);let r=null,s="";const a=new TextDecoder,o=t.body.getReader(),l=u=>{var h;if(!u.trim())return;const d=Uo(JSON.parse(u),"发布进度");if(d.type==="progress"){if(typeof d.phase!="string"||!i.has(d.phase)||typeof d.message!="string")throw new Error("发布进度格式错误。");(h=e.onProgress)==null||h.call(e,{phase:d.phase,message:d.message});return}if(d.type==="error"){const p=Uo(d.error,"发布错误");throw new EP(typeof p.message=="string"?p.message:"发布 Skill 失败",500,typeof p.code=="string"?p.code:"SKILL_PUBLISH_FAILED",p.retryable===!0,"",p.originalError&&typeof p.originalError=="object"?p.originalError:void 0,JSON.stringify(d.error))}if(d.type!=="complete")throw new Error("未知的发布进度事件。");const f=Uo(d.result,"发布结果");if(typeof f.skillId!="string"||typeof f.version!="string"||!Array.isArray(f.skillSpaceIds)||!f.skillSpaceIds.every(p=>typeof p=="string")||f.disposition!=="create-new"&&f.disposition!=="update-source"||!SD(f.region)||typeof f.projectName!="string")throw new Error("发布结果格式错误。");r={skillId:f.skillId,version:f.version,skillSpaceIds:f.skillSpaceIds,disposition:f.disposition,region:f.region,projectName:f.projectName}};for(;;){const{value:u,done:d}=await o.read();s+=a.decode(u,{stream:!d});const f=s.split(` -`);if(s=f.pop()??"",f.forEach(l),d)break}if(l(s),!r)throw new Error("发布进度流提前结束,无法确认发布结果。请刷新技能中心确认状态。");return r}async function BIe(e){await pf(await yc(`/tasks/${encodeURIComponent(e)}`,{method:"DELETE"}),"删除 Skill 会话失败")}async function UIe(e,t,n){var l;const i=new URLSearchParams;i.set("expected_revision",String(t)),i.set("expected_sha256",n);const r=await yc(`/tasks/${encodeURIComponent(e)}/download?${i.toString()}`,{},oa);if(!r.ok)throw await u$(r,"下载 Skill 失败");const a=((l=(r.headers.get("content-disposition")??"").match(/filename="([^"]+)"/))==null?void 0:l[1])??"skill.zip",o=URL.createObjectURL(await r.blob());try{const u=document.createElement("a");u.href=o,u.download=a,u.click()}finally{URL.revokeObjectURL(o)}}const zIe={formatDate(e){const t=e.value??e.date??e.timestamp;if(t==null)return"";const n=new Date(t);return isNaN(n.getTime())?String(t):n.toLocaleString()}};function FIe(e,t){if(!t||t==="/")return e;const n=t.replace(/^\//,"").split("/").map(r=>r.replace(/~1/g,"/").replace(/~0/g,"~"));let i=e;for(const r of n){if(i==null||typeof i!="object")return;i=i[r]}return i}function VIe(e){return typeof e=="object"&&e!==null&&typeof e.path=="string"}function XIe(e){return typeof e=="object"&&e!==null&&typeof e.call=="string"}function d$(e,t){if(VIe(e))return FIe(t,e.path);if(XIe(e)){const n=zIe[e.call],i={};for(const[r,s]of Object.entries(e.args??{}))i[r]=d$(s,t);return n?n(i):`[unknown fn: ${e.call}]`}return e}function qIe(e,t){const n=d$(e,t);return n==null?"":typeof n=="string"?n:String(n)}const cte=new Map;function pp(e,t){cte.set(e,t)}function HIe(e){return cte.get(e)}function YIe(e,t,n){const i=t.replace(/^\//,"").split("/").map(s=>s.replace(/~1/g,"/").replace(/~0/g,"~"));let r=e;for(let s=0;sd$(i,e.dataModel),resolveString:i=>qIe(i,e.dataModel),dispatchAction:t,render:i=>{if(!i)return null;const r=e.components[i];if(!r)return null;const s=HIe(r.component)??GIe;return c.jsx(s,{node:r,ctx:n},i)}};return c.jsx("div",{className:"a2ui-surface","data-a2ui-surface":e.surfaceId,children:n.render(e.rootId)})}function ZIe(e){const t=O.useRef(null),n=O.useRef(!0),i=28,r=O.useCallback(()=>{const s=t.current;s&&(n.current=s.scrollHeight-s.scrollTop-s.clientHeight{const s=t.current;s&&n.current&&(s.scrollTop=s.scrollHeight)},[e]),{ref:t,onScroll:r}}function Nht(){}function T9(e){const t=[],n=String(e||"");let i=n.indexOf(","),r=0,s=!1;for(;!s;){i===-1&&(i=n.length,s=!0);const a=n.slice(r,i).trim();(a||!s)&&t.push(a),r=i+1,i=n.indexOf(",",r)}return t}function dte(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const KIe=/[$_\p{ID_Start}]/u,JIe=/[$_\u{200C}\u{200D}\p{ID_Continue}]/u,ePe=/[-$_\u{200C}\u{200D}\p{ID_Continue}]/u,tPe=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,nPe=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,fte={};function Cht(e){return e?KIe.test(String.fromCodePoint(e)):!1}function Rht(e,t){const i=(t||fte).jsx?ePe:JIe;return e?i.test(String.fromCodePoint(e)):!1}function _9(e,t){return(fte.jsx?nPe:tPe).test(e)}const iPe=/[ \t\n\f\r]/g;function rPe(e){return typeof e=="object"?e.type==="text"?A9(e.value):!1:A9(e)}function A9(e){return e.replace(iPe,"")===""}let Gx=class{constructor(t,n,i){this.normal=n,this.property=t,i&&(this.space=i)}};Gx.prototype.normal={};Gx.prototype.property={};Gx.prototype.space=void 0;function hte(e,t){const n={},i={};for(const r of e)Object.assign(n,r.property),Object.assign(i,r.normal);return new Gx(n,i,t)}function $y(e){return e.toLowerCase()}class ja{constructor(t,n){this.attribute=n,this.property=t}}ja.prototype.attribute="";ja.prototype.booleanish=!1;ja.prototype.boolean=!1;ja.prototype.commaOrSpaceSeparated=!1;ja.prototype.commaSeparated=!1;ja.prototype.defined=!1;ja.prototype.mustUseProperty=!1;ja.prototype.number=!1;ja.prototype.overloadedBoolean=!1;ja.prototype.property="";ja.prototype.spaceSeparated=!1;ja.prototype.space=void 0;let sPe=0;const cn=mp(),Ir=mp(),kP=mp(),We=mp(),Ii=mp(),Wm=mp(),Xa=mp();function mp(){return 2**++sPe}const TP=Object.freeze(Object.defineProperty({__proto__:null,boolean:cn,booleanish:Ir,commaOrSpaceSeparated:Xa,commaSeparated:Wm,number:We,overloadedBoolean:kP,spaceSeparated:Ii},Symbol.toStringTag,{value:"Module"})),s2=Object.keys(TP);class f$ extends ja{constructor(t,n,i,r){let s=-1;if(super(t,n),N9(this,"space",r),typeof i=="number")for(;++s4&&n.slice(0,4)==="data"&&uPe.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(C9,fPe);i="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!C9.test(s)){let a=s.replace(cPe,dPe);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}r=f$}return new r(i,t)}function dPe(e){return"-"+e.toLowerCase()}function fPe(e){return e.charAt(1).toUpperCase()}const Wx=hte([pte,aPe,Ote,bte,yte],"html"),Rf=hte([pte,oPe,Ote,bte,yte],"svg");function R9(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function xte(e){return e.join(" ").trim()}var h$={},I9=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,hPe=/\n/g,pPe=/^\s*/,mPe=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,gPe=/^:\s*/,OPe=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,bPe=/^[;\s]*/,yPe=/^\s+|\s+$/g,xPe=` -`,P9="/",j9="*",ch="",SPe="comment",vPe="declaration";function wPe(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,i=1;function r(m){var g=m.match(hPe);g&&(n+=g.length);var y=m.lastIndexOf(xPe);i=~y?m.length-y:i+m.length}function s(){var m={line:n,column:i};return function(g){return g.position=new a(m),u(),g}}function a(m){this.start=m,this.end={line:n,column:i},this.source=t.source}a.prototype.content=e;function o(m){var g=new Error(t.source+":"+n+":"+i+": "+m);if(g.reason=m,g.filename=t.source,g.line=n,g.column=i,g.source=e,!t.silent)throw g}function l(m){var g=m.exec(e);if(g){var y=g[0];return r(y),e=e.slice(y.length),g}}function u(){l(pPe)}function d(m){var g;for(m=m||[];g=f();)g!==!1&&m.push(g);return m}function f(){var m=s();if(!(P9!=e.charAt(0)||j9!=e.charAt(1))){for(var g=2;ch!=e.charAt(g)&&(j9!=e.charAt(g)||P9!=e.charAt(g+1));)++g;if(g+=2,ch===e.charAt(g-1))return o("End of comment missing");var y=e.slice(2,g-2);return i+=2,r(y),e=e.slice(g),i+=2,m({type:SPe,comment:y})}}function h(){var m=s(),g=l(mPe);if(g){if(f(),!l(gPe))return o("property missing ':'");var y=l(OPe),b=m({type:vPe,property:M9(g[0].replace(I9,ch)),value:y?M9(y[0].replace(I9,ch)):ch});return l(bPe),b}}function p(){var m=[];d(m);for(var g;g=h();)g!==!1&&(m.push(g),d(m));return m}return u(),p()}function M9(e){return e?e.replace(yPe,ch):ch}var EPe=wPe,kPe=Pd&&Pd.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(h$,"__esModule",{value:!0});h$.default=_Pe;const TPe=kPe(EPe);function _Pe(e,t){let n=null;if(!e||typeof e!="string")return n;const i=(0,TPe.default)(e),r=typeof t=="function";return i.forEach(s=>{if(s.type!=="declaration")return;const{property:a,value:o}=s;r?t(a,o,s):o&&(n=n||{},n[a]=o)}),n}var JT={};Object.defineProperty(JT,"__esModule",{value:!0});JT.camelCase=void 0;var APe=/^--[a-zA-Z0-9_-]+$/,NPe=/-([a-z])/g,CPe=/^[^-]+$/,RPe=/^-(webkit|moz|ms|o|khtml)-/,IPe=/^-(ms)-/,PPe=function(e){return!e||CPe.test(e)||APe.test(e)},jPe=function(e,t){return t.toUpperCase()},L9=function(e,t){return"".concat(t,"-")},MPe=function(e,t){return t===void 0&&(t={}),PPe(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(IPe,L9):e=e.replace(RPe,L9),e.replace(NPe,jPe))};JT.camelCase=MPe;var LPe=Pd&&Pd.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},DPe=LPe(h$),$Pe=JT;function _P(e,t){var n={};return!e||typeof e!="string"||(0,DPe.default)(e,function(i,r){i&&r&&(n[(0,$Pe.camelCase)(i,t)]=r)}),n}_P.default=_P;var QPe=_P;const BPe=n0(QPe),e_=Ste("end"),_c=Ste("start");function Ste(e){return t;function t(n){const i=n&&n.position&&n.position[e]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function UPe(e){const t=_c(e),n=e_(e);if(t&&n)return{start:t,end:n}}function Pb(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?D9(e.position):"start"in e||"end"in e?D9(e):"line"in e||"column"in e?AP(e):""}function AP(e){return $9(e&&e.line)+":"+$9(e&&e.column)}function D9(e){return AP(e&&e.start)+"-"+AP(e&&e.end)}function $9(e){return e&&typeof e=="number"?e:1}class Bs extends Error{constructor(t,n,i){super(),typeof n=="string"&&(i=n,n=void 0);let r="",s={},a=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof t=="string"?r=t:!s.cause&&t&&(a=!0,r=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof i=="string"){const l=i.indexOf(":");l===-1?s.ruleId=i:(s.source=i.slice(0,l),s.ruleId=i.slice(l+1))}if(!s.place&&s.ancestors&&s.ancestors){const l=s.ancestors[s.ancestors.length-1];l&&(s.place=l.position)}const o=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=o?o.line:void 0,this.name=Pb(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=a&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Bs.prototype.file="";Bs.prototype.name="";Bs.prototype.reason="";Bs.prototype.message="";Bs.prototype.stack="";Bs.prototype.column=void 0;Bs.prototype.line=void 0;Bs.prototype.ancestors=void 0;Bs.prototype.cause=void 0;Bs.prototype.fatal=void 0;Bs.prototype.place=void 0;Bs.prototype.ruleId=void 0;Bs.prototype.source=void 0;const p$={}.hasOwnProperty,zPe=new Map,FPe=/[A-Z]/g,VPe=new Set(["table","tbody","thead","tfoot","tr"]),XPe=new Set(["td","th"]),vte="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function qPe(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let i;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");i=eje(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");i=JPe(n,t.jsx,t.jsxs)}const r={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:i,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Rf:Wx,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=wte(r,e,void 0);return s&&typeof s!="string"?s:r.create(e,r.Fragment,{children:s||void 0},void 0)}function wte(e,t,n){if(t.type==="element")return HPe(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return YPe(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return WPe(e,t,n);if(t.type==="mdxjsEsm")return GPe(e,t);if(t.type==="root")return ZPe(e,t,n);if(t.type==="text")return KPe(e,t)}function HPe(e,t,n){const i=e.schema;let r=i;t.tagName.toLowerCase()==="svg"&&i.space==="html"&&(r=Rf,e.schema=r),e.ancestors.push(t);const s=kte(e,t.tagName,!1),a=tje(e,t);let o=g$(e,t);return VPe.has(t.tagName)&&(o=o.filter(function(l){return typeof l=="string"?!rPe(l):!0})),Ete(e,a,s,t),m$(a,o),e.ancestors.pop(),e.schema=i,e.create(t,s,a,n)}function YPe(e,t){if(t.data&&t.data.estree&&e.evaluater){const i=t.data.estree.body[0];return i.type,e.evaluater.evaluateExpression(i.expression)}Qy(e,t.position)}function GPe(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Qy(e,t.position)}function WPe(e,t,n){const i=e.schema;let r=i;t.name==="svg"&&i.space==="html"&&(r=Rf,e.schema=r),e.ancestors.push(t);const s=t.name===null?e.Fragment:kte(e,t.name,!0),a=nje(e,t),o=g$(e,t);return Ete(e,a,s,t),m$(a,o),e.ancestors.pop(),e.schema=i,e.create(t,s,a,n)}function ZPe(e,t,n){const i={};return m$(i,g$(e,t)),e.create(t,e.Fragment,i,n)}function KPe(e,t){return t.value}function Ete(e,t,n,i){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=i)}function m$(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function JPe(e,t,n){return i;function i(r,s,a,o){const u=Array.isArray(a.children)?n:t;return o?u(s,a,o):u(s,a)}}function eje(e,t){return n;function n(i,r,s,a){const o=Array.isArray(s.children),l=_c(i);return t(r,s,a,o,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function tje(e,t){const n={};let i,r;for(r in t.properties)if(r!=="children"&&p$.call(t.properties,r)){const s=ije(e,r,t.properties[r]);if(s){const[a,o]=s;e.tableCellAlignToStyle&&a==="align"&&typeof o=="string"&&XPe.has(t.tagName)?i=o:n[a]=o}}if(i){const s=n.style||(n.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=i}return n}function nje(e,t){const n={};for(const i of t.attributes)if(i.type==="mdxJsxExpressionAttribute")if(i.data&&i.data.estree&&e.evaluater){const s=i.data.estree.body[0];s.type;const a=s.expression;a.type;const o=a.properties[0];o.type,Object.assign(n,e.evaluater.evaluateExpression(o.argument))}else Qy(e,t.position);else{const r=i.name;let s;if(i.value&&typeof i.value=="object")if(i.value.data&&i.value.data.estree&&e.evaluater){const o=i.value.data.estree.body[0];o.type,s=e.evaluater.evaluateExpression(o.expression)}else Qy(e,t.position);else s=i.value===null?!0:i.value;n[r]=s}return n}function g$(e,t){const n=[];let i=-1;const r=e.passKeys?new Map:zPe;for(;++ir?0:r+t:t=t>r?r:t,n=n>0?n:0,i.length<1e4)a=Array.from(i),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);s0?(lo(e,e.length,0,t),e):t}const U9={}.hasOwnProperty;function _te(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function yl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ea=If(/[A-Za-z]/),Ds=If(/[\dA-Za-z]/),fje=If(/[#-'*+\--9=?A-Z^-~]/);function XE(e){return e!==null&&(e<32||e===127)}const NP=If(/\d/),hje=If(/[\dA-Fa-f]/),pje=If(/[!-/:-@[-`{-~]/);function Lt(e){return e!==null&&e<-2}function _i(e){return e!==null&&(e<0||e===32)}function vn(e){return e===-2||e===-1||e===32}const t_=If(new RegExp("\\p{P}|\\p{S}","u")),Wh=If(/\s/);function If(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function v0(e){const t=[];let n=-1,i=0,r=0;for(;++n55295&&s<57344){const o=e.charCodeAt(n+1);s<56320&&o>56319&&o<57344?(a=String.fromCharCode(s,o),r=1):a="�"}else a=String.fromCharCode(s);a&&(t.push(e.slice(i,n),encodeURIComponent(a)),i=n+r+1,a=""),r&&(n+=r,r=0)}return t.join("")+e.slice(i)}function Un(e,t,n,i){const r=i?i-1:Number.POSITIVE_INFINITY;let s=0;return a;function a(l){return vn(l)?(e.enter(n),o(l)):t(l)}function o(l){return vn(l)&&s++a))return;const k=t.events.length;let _=k,C,A;for(;_--;)if(t.events[_][0]==="exit"&&t.events[_][1].type==="chunkFlow"){if(C){A=t.events[_][1].end;break}C=!0}for(b(i),w=k;wx;){const E=n[v];t.containerState=E[1],E[0].exit.call(t,e)}n.length=x}function S(){r.write([null]),s=void 0,r=void 0,t.containerState._closeFlow=void 0}}function yje(e,t,n){return Un(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function $g(e){if(e===null||_i(e)||Wh(e))return 1;if(t_(e))return 2}function n_(e,t,n){const i=[];let r=-1;for(;++r1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const f={...e[i][1].end},h={...e[n][1].start};F9(f,-l),F9(h,l),a={type:l>1?"strongSequence":"emphasisSequence",start:f,end:{...e[i][1].end}},o={type:l>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},s={type:l>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[n][1].start}},r={type:l>1?"strong":"emphasis",start:{...a.start},end:{...o.end}},e[i][1].end={...a.start},e[n][1].start={...o.end},u=[],e[i][1].end.offset-e[i][1].start.offset&&(u=To(u,[["enter",e[i][1],t],["exit",e[i][1],t]])),u=To(u,[["enter",r,t],["enter",a,t],["exit",a,t],["enter",s,t]]),u=To(u,n_(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),u=To(u,[["exit",s,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[n][1].end.offset-e[n][1].start.offset?(d=2,u=To(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,lo(e,i-1,n-i+3,u),n=i+u.length-d-2;break}}for(n=-1;++n0&&vn(w)?Un(e,S,"linePrefix",s+1)(w):S(w)}function S(w){return w===null||Lt(w)?e.check(V9,g,v)(w):(e.enter("codeFlowValue"),x(w))}function x(w){return w===null||Lt(w)?(e.exit("codeFlowValue"),S(w)):(e.consume(w),x)}function v(w){return e.exit("codeFenced"),t(w)}function E(w,k,_){let C=0;return A;function A(D){return w.enter("lineEnding"),w.consume(D),w.exit("lineEnding"),R}function R(D){return w.enter("codeFencedFence"),vn(D)?Un(w,j,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(D):j(D)}function j(D){return D===o?(w.enter("codeFencedFenceSequence"),Q(D)):_(D)}function Q(D){return D===o?(C++,w.consume(D),Q):C>=a?(w.exit("codeFencedFenceSequence"),vn(D)?Un(w,L,"whitespace")(D):L(D)):_(D)}function L(D){return D===null||Lt(D)?(w.exit("codeFencedFence"),k(D)):_(D)}}}function Rje(e,t,n){const i=this;return r;function r(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s)}function s(a){return i.parser.lazy[i.now().line]?n(a):t(a)}}const o2={name:"codeIndented",tokenize:Pje},Ije={partial:!0,tokenize:jje};function Pje(e,t,n){const i=this;return r;function r(u){return e.enter("codeIndented"),Un(e,s,"linePrefix",5)(u)}function s(u){const d=i.events[i.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?l(u):Lt(u)?e.attempt(Ije,a,l)(u):(e.enter("codeFlowValue"),o(u))}function o(u){return u===null||Lt(u)?(e.exit("codeFlowValue"),a(u)):(e.consume(u),o)}function l(u){return e.exit("codeIndented"),t(u)}}function jje(e,t,n){const i=this;return r;function r(a){return i.parser.lazy[i.now().line]?n(a):Lt(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r):Un(e,s,"linePrefix",5)(a)}function s(a){const o=i.events[i.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(a):Lt(a)?r(a):n(a)}}const Mje={name:"codeText",previous:Dje,resolve:Lje,tokenize:$je};function Lje(e){let t=e.length-4,n=3,i,r;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(i=n;++i=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(t,n,i){const r=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&yO(this.left,i),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),yO(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),yO(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(a):e.interrupt(i.parser.constructs.flow,n,t)(a)}}function Pte(e,t,n,i,r,s,a,o,l){const u=l||Number.POSITIVE_INFINITY;let d=0;return f;function f(b){return b===60?(e.enter(i),e.enter(r),e.enter(s),e.consume(b),e.exit(s),h):b===null||b===32||b===41||XE(b)?n(b):(e.enter(i),e.enter(a),e.enter(o),e.enter("chunkString",{contentType:"string"}),g(b))}function h(b){return b===62?(e.enter(s),e.consume(b),e.exit(s),e.exit(r),e.exit(i),t):(e.enter(o),e.enter("chunkString",{contentType:"string"}),p(b))}function p(b){return b===62?(e.exit("chunkString"),e.exit(o),h(b)):b===null||b===60||Lt(b)?n(b):(e.consume(b),b===92?m:p)}function m(b){return b===60||b===62||b===92?(e.consume(b),p):p(b)}function g(b){return!d&&(b===null||b===41||_i(b))?(e.exit("chunkString"),e.exit(o),e.exit(a),e.exit(i),t(b)):d999||p===null||p===91||p===93&&!l||p===94&&!o&&"_hiddenFootnoteSupport"in a.parser.constructs?n(p):p===93?(e.exit(s),e.enter(r),e.consume(p),e.exit(r),e.exit(i),t):Lt(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===null||p===91||p===93||Lt(p)||o++>999?(e.exit("chunkString"),d(p)):(e.consume(p),l||(l=!vn(p)),p===92?h:f)}function h(p){return p===91||p===92||p===93?(e.consume(p),o++,f):f(p)}}function Mte(e,t,n,i,r,s){let a;return o;function o(h){return h===34||h===39||h===40?(e.enter(i),e.enter(r),e.consume(h),e.exit(r),a=h===40?41:h,l):n(h)}function l(h){return h===a?(e.enter(r),e.consume(h),e.exit(r),e.exit(i),t):(e.enter(s),u(h))}function u(h){return h===a?(e.exit(s),l(a)):h===null?n(h):Lt(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),Un(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(h))}function d(h){return h===a||h===null||Lt(h)?(e.exit("chunkString"),u(h)):(e.consume(h),h===92?f:d)}function f(h){return h===a||h===92?(e.consume(h),d):d(h)}}function jb(e,t){let n;return i;function i(r){return Lt(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),n=!0,i):vn(r)?Un(e,i,n?"linePrefix":"lineSuffix")(r):t(r)}}const qje={name:"definition",tokenize:Yje},Hje={partial:!0,tokenize:Gje};function Yje(e,t,n){const i=this;let r;return s;function s(p){return e.enter("definition"),a(p)}function a(p){return jte.call(i,e,o,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function o(p){return r=yl(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),l):n(p)}function l(p){return _i(p)?jb(e,u)(p):u(p)}function u(p){return Pte(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function d(p){return e.attempt(Hje,f,f)(p)}function f(p){return vn(p)?Un(e,h,"whitespace")(p):h(p)}function h(p){return p===null||Lt(p)?(e.exit("definition"),i.parser.defined.push(r),t(p)):n(p)}}function Gje(e,t,n){return i;function i(o){return _i(o)?jb(e,r)(o):n(o)}function r(o){return Mte(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(o)}function s(o){return vn(o)?Un(e,a,"whitespace")(o):a(o)}function a(o){return o===null||Lt(o)?t(o):n(o)}}const Wje={name:"hardBreakEscape",tokenize:Zje};function Zje(e,t,n){return i;function i(s){return e.enter("hardBreakEscape"),e.consume(s),r}function r(s){return Lt(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const Kje={name:"headingAtx",resolve:Jje,tokenize:eMe};function Jje(e,t){let n=e.length-2,i=3,r,s;return e[i][1].type==="whitespace"&&(i+=2),n-2>i&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(i===n-1||n-4>i&&e[n-2][1].type==="whitespace")&&(n-=i+1===n?2:4),n>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[n][1].end},s={type:"chunkText",start:e[i][1].start,end:e[n][1].end,contentType:"text"},lo(e,i,n-i+1,[["enter",r,t],["enter",s,t],["exit",s,t],["exit",r,t]])),e}function eMe(e,t,n){let i=0;return r;function r(d){return e.enter("atxHeading"),s(d)}function s(d){return e.enter("atxHeadingSequence"),a(d)}function a(d){return d===35&&i++<6?(e.consume(d),a):d===null||_i(d)?(e.exit("atxHeadingSequence"),o(d)):n(d)}function o(d){return d===35?(e.enter("atxHeadingSequence"),l(d)):d===null||Lt(d)?(e.exit("atxHeading"),t(d)):vn(d)?Un(e,o,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function l(d){return d===35?(e.consume(d),l):(e.exit("atxHeadingSequence"),o(d))}function u(d){return d===null||d===35||_i(d)?(e.exit("atxHeadingText"),o(d)):(e.consume(d),u)}}const tMe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],q9=["pre","script","style","textarea"],nMe={concrete:!0,name:"htmlFlow",resolveTo:sMe,tokenize:aMe},iMe={partial:!0,tokenize:lMe},rMe={partial:!0,tokenize:oMe};function sMe(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function aMe(e,t,n){const i=this;let r,s,a,o,l;return u;function u(U){return d(U)}function d(U){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(U),f}function f(U){return U===33?(e.consume(U),h):U===47?(e.consume(U),s=!0,g):U===63?(e.consume(U),r=3,i.interrupt?t:I):ea(U)?(e.consume(U),a=String.fromCharCode(U),y):n(U)}function h(U){return U===45?(e.consume(U),r=2,p):U===91?(e.consume(U),r=5,o=0,m):ea(U)?(e.consume(U),r=4,i.interrupt?t:I):n(U)}function p(U){return U===45?(e.consume(U),i.interrupt?t:I):n(U)}function m(U){const Y="CDATA[";return U===Y.charCodeAt(o++)?(e.consume(U),o===Y.length?i.interrupt?t:j:m):n(U)}function g(U){return ea(U)?(e.consume(U),a=String.fromCharCode(U),y):n(U)}function y(U){if(U===null||U===47||U===62||_i(U)){const Y=U===47,ae=a.toLowerCase();return!Y&&!s&&q9.includes(ae)?(r=1,i.interrupt?t(U):j(U)):tMe.includes(a.toLowerCase())?(r=6,Y?(e.consume(U),b):i.interrupt?t(U):j(U)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?n(U):s?S(U):x(U))}return U===45||Ds(U)?(e.consume(U),a+=String.fromCharCode(U),y):n(U)}function b(U){return U===62?(e.consume(U),i.interrupt?t:j):n(U)}function S(U){return vn(U)?(e.consume(U),S):A(U)}function x(U){return U===47?(e.consume(U),A):U===58||U===95||ea(U)?(e.consume(U),v):vn(U)?(e.consume(U),x):A(U)}function v(U){return U===45||U===46||U===58||U===95||Ds(U)?(e.consume(U),v):E(U)}function E(U){return U===61?(e.consume(U),w):vn(U)?(e.consume(U),E):x(U)}function w(U){return U===null||U===60||U===61||U===62||U===96?n(U):U===34||U===39?(e.consume(U),l=U,k):vn(U)?(e.consume(U),w):_(U)}function k(U){return U===l?(e.consume(U),l=null,C):U===null||Lt(U)?n(U):(e.consume(U),k)}function _(U){return U===null||U===34||U===39||U===47||U===60||U===61||U===62||U===96||_i(U)?E(U):(e.consume(U),_)}function C(U){return U===47||U===62||vn(U)?x(U):n(U)}function A(U){return U===62?(e.consume(U),R):n(U)}function R(U){return U===null||Lt(U)?j(U):vn(U)?(e.consume(U),R):n(U)}function j(U){return U===45&&r===2?(e.consume(U),N):U===60&&r===1?(e.consume(U),M):U===62&&r===4?(e.consume(U),G):U===63&&r===3?(e.consume(U),I):U===93&&r===5?(e.consume(U),$):Lt(U)&&(r===6||r===7)?(e.exit("htmlFlowData"),e.check(iMe,X,Q)(U)):U===null||Lt(U)?(e.exit("htmlFlowData"),Q(U)):(e.consume(U),j)}function Q(U){return e.check(rMe,L,X)(U)}function L(U){return e.enter("lineEnding"),e.consume(U),e.exit("lineEnding"),D}function D(U){return U===null||Lt(U)?Q(U):(e.enter("htmlFlowData"),j(U))}function N(U){return U===45?(e.consume(U),I):j(U)}function M(U){return U===47?(e.consume(U),a="",B):j(U)}function B(U){if(U===62){const Y=a.toLowerCase();return q9.includes(Y)?(e.consume(U),G):j(U)}return ea(U)&&a.length<8?(e.consume(U),a+=String.fromCharCode(U),B):j(U)}function $(U){return U===93?(e.consume(U),I):j(U)}function I(U){return U===62?(e.consume(U),G):U===45&&r===2?(e.consume(U),I):j(U)}function G(U){return U===null||Lt(U)?(e.exit("htmlFlowData"),X(U)):(e.consume(U),G)}function X(U){return e.exit("htmlFlow"),t(U)}}function oMe(e,t,n){const i=this;return r;function r(a){return Lt(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s):n(a)}function s(a){return i.parser.lazy[i.now().line]?n(a):t(a)}}function lMe(e,t,n){return i;function i(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(Zx,t,n)}}const cMe={name:"htmlText",tokenize:uMe};function uMe(e,t,n){const i=this;let r,s,a;return o;function o(I){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(I),l}function l(I){return I===33?(e.consume(I),u):I===47?(e.consume(I),E):I===63?(e.consume(I),x):ea(I)?(e.consume(I),_):n(I)}function u(I){return I===45?(e.consume(I),d):I===91?(e.consume(I),s=0,m):ea(I)?(e.consume(I),S):n(I)}function d(I){return I===45?(e.consume(I),p):n(I)}function f(I){return I===null?n(I):I===45?(e.consume(I),h):Lt(I)?(a=f,M(I)):(e.consume(I),f)}function h(I){return I===45?(e.consume(I),p):f(I)}function p(I){return I===62?N(I):I===45?h(I):f(I)}function m(I){const G="CDATA[";return I===G.charCodeAt(s++)?(e.consume(I),s===G.length?g:m):n(I)}function g(I){return I===null?n(I):I===93?(e.consume(I),y):Lt(I)?(a=g,M(I)):(e.consume(I),g)}function y(I){return I===93?(e.consume(I),b):g(I)}function b(I){return I===62?N(I):I===93?(e.consume(I),b):g(I)}function S(I){return I===null||I===62?N(I):Lt(I)?(a=S,M(I)):(e.consume(I),S)}function x(I){return I===null?n(I):I===63?(e.consume(I),v):Lt(I)?(a=x,M(I)):(e.consume(I),x)}function v(I){return I===62?N(I):x(I)}function E(I){return ea(I)?(e.consume(I),w):n(I)}function w(I){return I===45||Ds(I)?(e.consume(I),w):k(I)}function k(I){return Lt(I)?(a=k,M(I)):vn(I)?(e.consume(I),k):N(I)}function _(I){return I===45||Ds(I)?(e.consume(I),_):I===47||I===62||_i(I)?C(I):n(I)}function C(I){return I===47?(e.consume(I),N):I===58||I===95||ea(I)?(e.consume(I),A):Lt(I)?(a=C,M(I)):vn(I)?(e.consume(I),C):N(I)}function A(I){return I===45||I===46||I===58||I===95||Ds(I)?(e.consume(I),A):R(I)}function R(I){return I===61?(e.consume(I),j):Lt(I)?(a=R,M(I)):vn(I)?(e.consume(I),R):C(I)}function j(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(e.consume(I),r=I,Q):Lt(I)?(a=j,M(I)):vn(I)?(e.consume(I),j):(e.consume(I),L)}function Q(I){return I===r?(e.consume(I),r=void 0,D):I===null?n(I):Lt(I)?(a=Q,M(I)):(e.consume(I),Q)}function L(I){return I===null||I===34||I===39||I===60||I===61||I===96?n(I):I===47||I===62||_i(I)?C(I):(e.consume(I),L)}function D(I){return I===47||I===62||_i(I)?C(I):n(I)}function N(I){return I===62?(e.consume(I),e.exit("htmlTextData"),e.exit("htmlText"),t):n(I)}function M(I){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),B}function B(I){return vn(I)?Un(e,$,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):$(I)}function $(I){return e.enter("htmlTextData"),a(I)}}const y$={name:"labelEnd",resolveAll:pMe,resolveTo:mMe,tokenize:gMe},dMe={tokenize:OMe},fMe={tokenize:bMe},hMe={tokenize:yMe};function pMe(e){let t=-1;const n=[];for(;++t=3&&(u===null||Lt(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===r?(e.consume(u),i++,l):(e.exit("thematicBreakSequence"),vn(u)?Un(e,o,"whitespace")(u):o(u))}}const ma={continuation:{tokenize:NMe},exit:RMe,name:"list",tokenize:AMe},TMe={partial:!0,tokenize:IMe},_Me={partial:!0,tokenize:CMe};function AMe(e,t,n){const i=this,r=i.events[i.events.length-1];let s=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,a=0;return o;function o(p){const m=i.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!i.containerState.marker||p===i.containerState.marker:NP(p)){if(i.containerState.type||(i.containerState.type=m,e.enter(m,{_container:!0})),m==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(fw,n,u)(p):u(p);if(!i.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(p)}return n(p)}function l(p){return NP(p)&&++a<10?(e.consume(p),l):(!i.interrupt||a<2)&&(i.containerState.marker?p===i.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),u(p)):n(p)}function u(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||p,e.check(Zx,i.interrupt?n:d,e.attempt(TMe,h,f))}function d(p){return i.containerState.initialBlankLine=!0,s++,h(p)}function f(p){return vn(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),h):n(p)}function h(p){return i.containerState.size=s+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(p)}}function NMe(e,t,n){const i=this;return i.containerState._closeFlow=void 0,e.check(Zx,r,s);function r(o){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,Un(e,t,"listItemIndent",i.containerState.size+1)(o)}function s(o){return i.containerState.furtherBlankLines||!vn(o)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,a(o)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(_Me,t,a)(o))}function a(o){return i.containerState._closeFlow=!0,i.interrupt=void 0,Un(e,e.attempt(ma,t,n),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}function CMe(e,t,n){const i=this;return Un(e,r,"listItemIndent",i.containerState.size+1);function r(s){const a=i.events[i.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===i.containerState.size?t(s):n(s)}}function RMe(e){e.exit(this.containerState.type)}function IMe(e,t,n){const i=this;return Un(e,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(s){const a=i.events[i.events.length-1];return!vn(s)&&a&&a[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const H9={name:"setextUnderline",resolveTo:PMe,tokenize:jMe};function PMe(e,t){let n=e.length,i,r,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){i=n;break}e[n][1].type==="paragraph"&&(r=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const a={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",s?(e.splice(r,0,["enter",a,t]),e.splice(s+1,0,["exit",e[i][1],t]),e[i][1].end={...e[s][1].end}):e[i][1]=a,e.push(["exit",a,t]),e}function jMe(e,t,n){const i=this;let r;return s;function s(u){let d=i.events.length,f;for(;d--;)if(i.events[d][1].type!=="lineEnding"&&i.events[d][1].type!=="linePrefix"&&i.events[d][1].type!=="content"){f=i.events[d][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||f)?(e.enter("setextHeadingLine"),r=u,a(u)):n(u)}function a(u){return e.enter("setextHeadingLineSequence"),o(u)}function o(u){return u===r?(e.consume(u),o):(e.exit("setextHeadingLineSequence"),vn(u)?Un(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||Lt(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const MMe={tokenize:LMe};function LMe(e){const t=this,n=e.attempt(Zx,i,e.attempt(this.parser.constructs.flowInitial,r,Un(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Uje,r)),"linePrefix")));return n;function i(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function r(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const DMe={resolveAll:Dte()},$Me=Lte("string"),QMe=Lte("text");function Lte(e){return{resolveAll:Dte(e==="text"?BMe:void 0),tokenize:t};function t(n){const i=this,r=this.parser.constructs[e],s=n.attempt(r,a,o);return a;function a(d){return u(d)?s(d):o(d)}function o(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),l}function l(d){return u(d)?(n.exit("data"),s(d)):(n.consume(d),l)}function u(d){if(d===null)return!0;const f=r[d];let h=-1;if(f)for(;++h-1){const o=a[0];typeof o=="string"?a[0]=o.slice(i):a.shift()}s>0&&a.push(e[r].slice(0,s))}return a}function JMe(e,t){let n=-1;const i=[];let r;for(;++n"");try{const a=JSON.parse(s);typeof a.detail=="string"?n=a.detail:a.detail&&(n=a.detail.message||t,i=a.detail.code||i,r=a.detail.originalError)}catch{s.trim()&&(n=`${t}:${s.trim()}`)}return new CRe(n,e.status,i,e.statusText,r,s)}async function Xu(e,t){if(!e.ok)throw await Gee(e,t);return e.json()}async function RRe(e){const t=new URLSearchParams({region:e.region,page:String(e.page),page_size:String(e.pageSize)});return e.project&&t.set("project",e.project),Xu(await Vu(`/spaces?${t}`,{signal:e.signal}),"读取 Skill 空间失败")}async function IRe(e){return Xu(await Vu("/spaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),"创建 Skill 空间失败")}async function PRe(e){return Xu(await Vu(`/spaces/${encodeURIComponent(e.spaceId)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,description:e.description,region:e.region})}),"更新 Skill 空间失败")}async function jRe(e){const t=new URLSearchParams({region:e.region});await Xu(await Vu(`/spaces/${encodeURIComponent(e.spaceId)}?${t}`,{method:"DELETE"}),"删除 Skill 空间失败")}async function MRe(e){const t=new URLSearchParams({region:e.region});return e.project&&t.set("project",e.project),Xu(await Vu(`/spaces/${encodeURIComponent(e.spaceId)}/skills?${t}`,{method:"POST",headers:{"Content-Type":"application/zip"},body:e.file},oa),"上传 Skill 失败")}async function LRe(e){return Xu(await Vu("/validate",{method:"POST",headers:{"Content-Type":"application/zip"},body:e},oa),"校验 Skill 失败")}async function DRe(e){const t=new URLSearchParams({region:e.region});await Xu(await Vu(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}?${t}`,{method:"DELETE"}),"删除 Skill 失败")}async function $Re(e){const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version);const n=await Xu(await Vu(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/files?${t}`),"读取 Skill 文件失败");return Array.isArray(n.files)?n.files:[]}async function QRe(e){var o;const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version);const n=await Vu(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/archive?${t}`,{},oa);n.ok||await Xu(n,"下载 Skill 失败");const r=((o=(n.headers.get("content-disposition")||"").match(/filename="([^"]+)"/))==null?void 0:o[1])||`${e.fallbackName}.zip`,s=URL.createObjectURL(await n.blob()),a=document.createElement("a");a.href=s,a.download=r,a.click(),URL.revokeObjectURL(s)}async function WT(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Gn(void 0,Tl)});if(!t.ok)throw await Gee(t,"AgentKit Skills 请求失败");return t.json()}async function o5(){return(await WT("/web/skill-spaces?region=all")).items||[]}async function l5(e,t){const n=t?`?region=${encodeURIComponent(t)}`:"";return(await WT(`/web/skill-spaces/${encodeURIComponent(e)}/skills${n}`)).items||[]}async function BRe(e,t){const n=new URLSearchParams({region:t.region,page:String(t.page),page_size:String(t.pageSize)});return t.project&&n.set("project",t.project),WT(`/web/skill-spaces/${encodeURIComponent(e)}/skills?${n.toString()}`)}async function URe(e,t,n,i,r){const s=[];n&&s.push(`version=${encodeURIComponent(n)}`),i&&s.push(`region=${encodeURIComponent(i)}`),r&&s.push(`project=${encodeURIComponent(r)}`);const a=s.length>0?`?${s.join("&")}`:"";return WT(`/web/skill-spaces/${encodeURIComponent(e)}/skills/${encodeURIComponent(t)}${a}`)}function zRe(e,t){return{source:"skillspace",id:`ss:${e.id}/${t.skillId}/${t.version}`,name:t.skillName,description:t.skillDescription,folder:t.skillName,skillSpaceId:e.id,skillSpaceName:e.name,skillSpaceRegion:e.region,skillId:t.skillId,version:t.version}}function FRe(e,t,n="volcengine"){return n==="byteplus"?"":`https://console.volcengine.com/agentkit/${(t||"cn-beijing")==="cn-beijing"?"cn":"cn-shanghai"}/skillspace/detail/${encodeURIComponent(e)}`}function y9({className:e="icon"}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[c.jsx("path",{d:"M4.5 6.7h4.2M12.3 6.7h7.2"}),c.jsx("path",{d:"M4.5 12h8.2M16.3 12h3.2"}),c.jsx("path",{d:"M4.5 17.3h2.7M10.8 17.3h8.7"}),c.jsx("circle",{cx:"10.5",cy:"6.7",r:"1.8",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"14.5",cy:"12",r:"1.8",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"9",cy:"17.3",r:"1.8",fill:"currentColor",stroke:"none"})]})}const VRe={coding:"智能编程",get_city_weather:"城市天气查询",get_location_weather:"位置天气查询",web_fetch:"网页内容获取"};function vP(e){const t=hp.find(n=>n.id===e||n.toolNames.includes(e));return VRe[e]??(t==null?void 0:t.label)??e}function x9(e){const t=hp.find(i=>i.id===e||i.toolNames.includes(e));return((t==null?void 0:t.desc)??"由 VeADK 提供的内置工具").replace(/[。.]+$/,"")}function XRe(){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m7 7 10 10M17 7 7 17",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function qRe(){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[c.jsx("circle",{cx:"10.8",cy:"10.8",r:"5.8",stroke:"currentColor",strokeWidth:"1.7"}),c.jsx("path",{d:"m15.2 15.2 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function S9(){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function Wee({title:e,description:t,icon:n,wide:i=!1,onClose:r,children:s}){const a=O.useRef(`session-capability-${Math.random().toString(36).slice(2)}`);return O.useEffect(()=>{const o=document.body.style.overflow;document.body.style.overflow="hidden";const l=u=>{u.key==="Escape"&&r()};return document.addEventListener("keydown",l),()=>{document.removeEventListener("keydown",l),document.body.style.overflow=o}},[r]),ar.createPortal(c.jsxs("div",{className:"session-capability-dialog-layer",children:[c.jsx("button",{type:"button",className:"session-capability-dialog-scrim","aria-label":"关闭弹窗",onClick:r}),c.jsxs("section",{className:`session-capability-dialog${i?" is-wide":""}`,role:"dialog","aria-modal":"true","aria-labelledby":a.current,children:[c.jsxs("header",{className:`session-capability-dialog-head${n?"":" is-iconless"}`,children:[n&&c.jsx("span",{className:"session-capability-dialog-mark",children:n}),c.jsxs("div",{children:[c.jsx("h2",{id:a.current,children:e}),c.jsx("p",{children:t})]}),c.jsx("button",{type:"button",className:"session-capability-dialog-close","aria-label":`关闭${e}`,onClick:r,children:c.jsx(XRe,{})})]}),s]})]}),document.body)}function dw({value:e,placeholder:t,label:n,onChange:i,autoFocus:r=!1}){return c.jsxs("label",{className:"session-capability-search",children:[c.jsx(qRe,{}),c.jsx("input",{value:e,"aria-label":n,placeholder:t,autoFocus:r,onChange:s=>i(s.target.value)})]})}function HRe({agentName:e,tools:t,selectedNames:n,mutating:i,onAdd:r,onClose:s}){const[a,o]=O.useState(""),[l,u]=O.useState(""),d=O.useMemo(()=>new Set(n),[n]),f=O.useMemo(()=>{const p=a.trim().toLowerCase();return t.filter(m=>p?`${vP(m)} ${m} ${x9(m)}`.toLowerCase().includes(p):!0)},[a,t]),h=async p=>{u(p);const m=await r({kind:"tool",name:p});u(""),m&&s()};return c.jsx(Wee,{title:"添加内置工具",description:`添加后仅对 ${e} 的当前会话生效`,icon:c.jsx(y9,{}),onClose:s,children:c.jsxs("div",{className:"session-tool-dialog-body",children:[c.jsx(dw,{value:a,label:"搜索内置工具",placeholder:"搜索中文名称或工具标识",onChange:o,autoFocus:!0}),c.jsx("div",{className:"session-tool-picker",role:"list","aria-label":"可用内置工具",children:f.length===0?c.jsx("div",{className:"session-capability-empty",children:"没有匹配的内置工具"}):f.map(p=>{const m=d.has(p),g=l===p;return c.jsxs("article",{className:"session-tool-option",role:"listitem",children:[c.jsx("span",{className:"session-tool-option-icon",children:c.jsx(y9,{})}),c.jsxs("span",{className:"session-tool-option-copy",children:[c.jsx("strong",{children:vP(p)}),c.jsx("code",{children:p}),c.jsx("span",{children:x9(p)})]}),c.jsx("button",{type:"button",disabled:m||i||!!l,onClick:()=>void h(p),children:m?"已添加":g?"添加中…":"添加"})]},p)})})]})})}function YRe({appName:e,agentName:t,selectedNames:n,mutating:i,onAdd:r,onClose:s}){const[a,o]=O.useState("public"),[l,u]=O.useState(""),[d,f]=O.useState([]),[h,p]=O.useState(0),[m,g]=O.useState(!0),[y,b]=O.useState(""),[S,x]=O.useState([]),[v,E]=O.useState(null),[w,k]=O.useState([]),[_,C]=O.useState(""),[A,R]=O.useState(""),[j,Q]=O.useState(!0),[L,D]=O.useState(!1),[N,M]=O.useState(""),[B,$]=O.useState(""),I=O.useMemo(()=>new Set(n),[n]);O.useEffect(()=>{if(a!=="public")return;let ae=!0;const fe=window.setTimeout(()=>{g(!0),b(""),ZZ(e,l.trim()).then(ke=>{ae&&(f(ke.items),p(ke.totalCount))}).catch(ke=>{ae&&(f([]),p(0),b(ke instanceof Error?ke.message:"搜索 Skill Hub 失败"))}).finally(()=>{ae&&g(!1)})},250);return()=>{ae=!1,window.clearTimeout(fe)}},[e,l,a]),O.useEffect(()=>{if(a!=="agentkit")return;let ae=!0;return Q(!0),M(""),o5().then(fe=>{ae&&(x(fe),E(fe[0]??null))}).catch(fe=>{ae&&M(fe instanceof Error?fe.message:"读取 Skill Space 失败")}).finally(()=>{ae&&Q(!1)}),()=>{ae=!1}},[a]),O.useEffect(()=>{if(a!=="agentkit")return;if(!v){k([]);return}let ae=!0;return D(!0),M(""),l5(v.id,v.region).then(fe=>{ae&&k(fe)}).catch(fe=>{ae&&M(fe instanceof Error?fe.message:"读取技能失败")}).finally(()=>{ae&&D(!1)}),()=>{ae=!1}},[v,a]);const G=O.useMemo(()=>{const ae=_.trim().toLowerCase();return ae?S.filter(fe=>`${fe.name} ${fe.id} ${fe.description}`.toLowerCase().includes(ae)):S},[_,S]),X=O.useMemo(()=>{const ae=A.trim().toLowerCase();return ae?w.filter(fe=>`${fe.skillName} ${fe.skillDescription}`.toLowerCase().includes(ae)):w},[A,w]),U=async ae=>{if(!v)return;$(ae.skillId);const fe=await r({kind:"skill",name:ae.skillName,skillSourceId:v.id,description:ae.skillDescription,version:ae.version});$(""),fe&&s()},Y=async ae=>{$(ae.slug);const fe=await r({kind:"skill",name:ae.name,skillSourceId:`findskill:${ae.slug}`,description:ae.description,version:ae.version||ae.updatedAt});$(""),fe&&s()};return c.jsx(Wee,{title:"添加技能",description:`从公域 Skill Hub 或 AgentKit Skill 中心添加到 ${t} 当前会话`,wide:!0,onClose:s,children:c.jsxs("div",{className:"session-skill-dialog-body",children:[c.jsxs("div",{className:"session-skill-source-tabs",role:"tablist","aria-label":"技能来源",children:[c.jsxs("button",{type:"button",role:"tab","aria-selected":a==="public",className:a==="public"?"is-active":"",onClick:()=>o("public"),children:["Skill Hub",c.jsx("span",{children:"公域"})]}),c.jsx("button",{type:"button",role:"tab","aria-selected":a==="agentkit",className:a==="agentkit"?"is-active":"",onClick:()=>o("agentkit"),children:"AgentKit Skill 中心"})]}),a==="public"?c.jsxs("section",{className:"session-public-skill-browser","aria-label":"Skill Hub 公域技能",children:[c.jsxs("div",{className:"session-public-skill-head",children:[c.jsx(dw,{value:l,label:"搜索 Skill Hub",placeholder:"搜索技能名称、用途或关键词",onChange:u,autoFocus:!0}),c.jsxs("span",{children:[h.toLocaleString()," 个公域技能"]})]}),c.jsx("div",{className:"session-public-skill-list",children:y?c.jsx("div",{className:"session-capability-error",children:y}):m?c.jsx("div",{className:"session-capability-loading",children:"正在搜索 Skill Hub…"}):d.length===0?c.jsx("div",{className:"session-capability-empty",children:"没有匹配的公域技能"}):d.map(ae=>{const fe=I.has(ae.name),ke=B===ae.slug;return c.jsxs("article",{className:"session-skill-option session-public-skill-option",children:[c.jsxs("span",{className:"session-skill-option-copy",children:[c.jsx("strong",{children:ae.name}),c.jsx("span",{children:ae.description||"暂无描述"}),c.jsxs("small",{children:[ae.sourceRepo||ae.sourceType||"FindSkill",c.jsx("span",{"aria-hidden":"true",children:" · "}),ae.downloadCount.toLocaleString()," 次下载",ae.evaluationScore>0&&c.jsxs(c.Fragment,{children:[c.jsx("span",{"aria-hidden":"true",children:" · "}),ae.evaluationScore.toFixed(1)," 分"]})]})]}),c.jsx("button",{type:"button",disabled:fe||i||!!B,onClick:()=>void Y(ae),children:fe?"已添加":ke?"添加中…":c.jsxs(c.Fragment,{children:[c.jsx(S9,{}),"添加"]})})]},ae.slug)})})]}):c.jsxs("div",{className:"session-skill-browser",children:[c.jsxs("section",{className:"session-skill-spaces","aria-label":"Skill Space 列表",children:[c.jsxs("div",{className:"session-skill-pane-head",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"Skill Space"}),c.jsx("span",{children:S.length})]}),c.jsx(dw,{value:_,label:"搜索 Skill Space",placeholder:"搜索空间",onChange:C,autoFocus:!0})]}),c.jsx("div",{className:"session-skill-pane-list",children:j?c.jsx("div",{className:"session-capability-loading",children:"正在读取 Skill Space…"}):G.length===0?c.jsx("div",{className:"session-capability-empty",children:"没有匹配的 Skill Space"}):G.map(ae=>c.jsx("button",{type:"button",className:`session-skill-space${(v==null?void 0:v.id)===ae.id?" is-active":""}`,onClick:()=>{E(ae),R("")},children:c.jsxs("span",{children:[c.jsx("strong",{children:ae.name||ae.id}),c.jsx("small",{children:ae.description||ae.id}),c.jsxs("em",{children:[ae.skillCount??0," 个技能"]})]})},`${ae.projectName??"default"}:${ae.id}`))})]}),c.jsxs("section",{className:"session-skill-results","aria-label":"AgentKit Skill 列表",children:[c.jsxs("div",{className:"session-skill-pane-head",children:[c.jsxs("div",{children:[c.jsx("strong",{title:v==null?void 0:v.name,children:(v==null?void 0:v.name)||"选择 Skill Space"}),c.jsx("span",{children:w.length})]}),c.jsx(dw,{value:A,label:"搜索 AgentKit 技能",placeholder:"搜索技能名称或描述",onChange:R})]}),c.jsx("div",{className:"session-skill-pane-list",children:N?c.jsx("div",{className:"session-capability-error",children:N}):v?L?c.jsx("div",{className:"session-capability-loading",children:"正在读取技能…"}):X.length===0?c.jsx("div",{className:"session-capability-empty",children:"没有匹配的技能"}):X.map(ae=>{const fe=I.has(ae.skillName),ke=B===ae.skillId;return c.jsxs("article",{className:"session-skill-option",children:[c.jsxs("span",{className:"session-skill-option-copy",children:[c.jsx("strong",{children:ae.skillName}),c.jsx("span",{children:ae.skillDescription||"暂无描述"}),c.jsxs("small",{children:["版本 ",ae.version||"—"]})]}),c.jsx("button",{type:"button",disabled:fe||i||!!B,onClick:()=>void U(ae),children:fe?"已添加":ke?"添加中…":c.jsxs(c.Fragment,{children:[c.jsx(S9,{}),"添加"]})})]},`${ae.skillId}:${ae.version}`)}):c.jsx("div",{className:"session-capability-empty",children:"选择一个 Skill Space 查看技能"})})]})]})]})})}function hs({as:e="span",className:t="",duration:n=4,spread:i=20,children:r,style:s,...a}){const o=Math.min(Math.max(i,5),45);return c.jsx(e,{className:`text-shimmer${t?` ${t}`:""}`,style:{...s,backgroundImage:`linear-gradient(to right, hsl(var(--muted-foreground)) ${50-o}%, hsl(var(--foreground)) 50%, hsl(var(--muted-foreground)) ${50+o}%)`,animationDuration:`${n}s`},...a,children:r})}function Zee(e){return 1+e.children.reduce((t,n)=>t+Zee(n),0)}function Kee(e){return e.id||e.name}function GRe(e,t){const n=Kee(e);if(e.id&&e.name&&e.name!==n)return e.name;if(t&&n==="agent")return"主 Agent";const i=/^agent_sub_(\d+)$/.exec(n);return i?`子 Agent ${i[1]}`:e.name||n}function Jee(e,t=!0){return{...e,id:Kee(e),name:GRe(e,t),children:e.children.map(n=>Jee(n,!1))}}function ete(e){const t=Bo();return{...t,name:e.name,description:e.description,instruction:e.instruction||t.instruction,agentType:e.type,modelName:e.model,tools:e.tools??[],skills:(e.skills??[]).map(n=>n.name),subAgents:e.children.map(ete)}}function WRe(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))]}function ZRe(e){return[...new Map(e.filter(t=>t.name.trim()).map(t=>[t.name.trim(),{...t,name:t.name.trim()}])).values()]}function eN({title:e,count:t}){return c.jsxs("div",{className:"topo-module-title",children:[c.jsx("span",{className:"topo-module-label",title:e,children:e}),t!==void 0&&c.jsx("span",{className:"topo-section-count","aria-label":`${t} 项`,children:t})]})}function KRe({appName:e,info:t,loading:n,variant:i="rail",capabilities:r=null,capabilityLoading:s=!1,capabilityMutating:a=!1,builtinTools:o=[],onAddCapability:l,onRemoveCapability:u}){const[d,f]=O.useState(null),[h,p]=O.useState(!1),m=O.useRef(null),g=()=>{p(!1),window.requestAnimationFrame(()=>{var w;return(w=m.current)==null?void 0:w.focus()})};if(O.useEffect(()=>{if(!h)return;const w=document.body.style.overflow,k=_=>{_.key==="Escape"&&g()};return document.body.style.overflow="hidden",document.addEventListener("keydown",k),()=>{document.body.style.overflow=w,document.removeEventListener("keydown",k)}},[h]),n&&!t)return c.jsx("aside",{className:`topo is-loading${i==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息","aria-live":"polite",children:c.jsx(hs,{as:"span",className:"topo-loading-label",duration:2.2,children:"正在读取 Agent 信息…"})});if(!t)return null;const y=Jee(t.graph??{id:t.name,name:t.name,description:t.description,type:t.type??"llm",model:t.model,tools:t.tools,skills:t.skills,path:[t.name],mentionable:!1,children:[]}),b=(r==null?void 0:r.tools)??WRe(t.tools).map(w=>({id:`base:tool:${w}`,kind:"tool",name:w,custom:!1})),S=(r==null?void 0:r.skills)??ZRe(t.skills).map(w=>({id:`base:skill:${w.name}`,kind:"skill",name:w.name,description:w.description,custom:!1})),x=!!(r&&l&&u),v=ete(y),E=w=>c.jsx(My,{draft:v,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},w);return c.jsxs(c.Fragment,{children:[c.jsxs("aside",{className:`topo${i==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息与拓扑",children:[c.jsxs("section",{className:"topo-agent-card","aria-label":"Agent 信息",children:[c.jsxs("div",{className:"topo-agent-heading",children:[c.jsx("h2",{title:t.name,children:t.name||"未命名 Agent"}),t.model&&c.jsx("span",{title:t.model,children:t.model})]}),t.description&&c.jsx("p",{className:"topo-description",title:t.description,children:t.description})]}),c.jsxs("div",{className:"topo-module-stack",children:[c.jsxs("section",{className:"topo-module-card topo-tools-card","aria-label":"工具",children:[c.jsx(eN,{title:"工具",count:b.length}),c.jsx("div",{className:"topo-module-scroll topo-tools-scroll",role:"region","aria-label":"工具列表",tabIndex:0,children:b.length>0?c.jsx("div",{className:"topo-tool-list",children:b.map(w=>c.jsxs("div",{className:"topo-tool",title:w.name,children:[c.jsxs("span",{className:"topo-capability-title",children:[c.jsxs("span",{className:"topo-capability-copy",children:[c.jsx("span",{className:"topo-capability-name",children:vP(w.name)}),c.jsx("code",{children:w.name})]}),w.custom&&c.jsx("span",{className:"topo-custom-badge",children:"自定义"})]}),w.custom&&c.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除工具 ${w.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(w.id),children:"×"})]},w.id))}):c.jsx("div",{className:"topo-empty",children:"未配置"})}),x&&c.jsx("div",{className:"topo-capability-add-dock",children:c.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加内置工具",disabled:s||a,onClick:()=>f("tool"),children:[c.jsx("span",{"aria-hidden":"true",children:"+"}),c.jsx("span",{children:"在此对话中添加工具"})]})})]}),c.jsxs("section",{className:"topo-module-card topo-skills-card","aria-label":"技能",children:[c.jsx(eN,{title:"技能",count:t.skillsPreviewSupported?S.length:void 0}),c.jsx("div",{className:"topo-module-scroll topo-skills-scroll",role:"region","aria-label":"技能列表",tabIndex:0,children:t.skillsPreviewSupported?S.length>0?c.jsx("div",{className:"topo-skill-list",children:S.map(w=>c.jsxs("div",{className:"topo-skill",title:w.description||w.name,children:[c.jsxs("div",{className:"topo-skill-title",children:[c.jsx("span",{className:"topo-skill-name",children:w.name}),w.custom&&c.jsx("span",{className:"topo-custom-badge",children:"自定义"}),w.custom&&c.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除技能 ${w.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(w.id),children:"×"})]}),w.description&&c.jsx("span",{className:"topo-skill-description",children:w.description})]},`${w.name}:${w.description}`))}):c.jsx("div",{className:"topo-empty",children:"未配置"}):c.jsx("div",{className:"topo-empty",children:"暂不支持预览"})}),x&&c.jsx("div",{className:"topo-capability-add-dock",children:c.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加技能",disabled:s||a,onClick:()=>f("skill"),children:[c.jsx("span",{"aria-hidden":"true",children:"+"}),c.jsx("span",{children:"在此对话中添加技能"})]})})]}),c.jsxs("section",{className:"topo-module-card topo-topology","aria-label":"Agent 画布",children:[c.jsxs("div",{className:"topo-canvas-heading",children:[c.jsx(eN,{title:"结构拓扑",count:Zee(y)}),c.jsx("button",{ref:m,type:"button",className:"topo-canvas-expand","aria-label":"全屏查看 Agent 画布",title:"全屏查看",onClick:()=>p(!0),children:c.jsx(Ih,{"aria-hidden":"true"})})]}),c.jsx("div",{className:"topo-canvas-preview",role:"region","aria-label":"Agent 执行画布",children:E(`conversation-canvas:${e}`)})]})]}),d==="tool"&&l&&c.jsx(HRe,{agentName:t.name,tools:o,selectedNames:b.map(w=>w.name),mutating:a,onAdd:l,onClose:()=>f(null)}),d==="skill"&&l&&c.jsx(YRe,{appName:e,agentName:t.name,selectedNames:S.map(w=>w.name),mutating:a,onAdd:l,onClose:()=>f(null)})]}),h&&ar.createPortal(c.jsxs("section",{className:"topo-canvas-dialog",role:"dialog","aria-modal":"true","aria-label":"全屏 Agent 执行画布",children:[c.jsxs("header",{className:"topo-canvas-dialog-header",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"Agent 执行画布"}),c.jsx("span",{children:t.name})]}),c.jsx("button",{type:"button","aria-label":"关闭全屏画布",title:"关闭",onClick:g,autoFocus:!0,children:c.jsx(aa,{"aria-hidden":"true"})})]}),c.jsx("div",{className:"topo-canvas-dialog-body",children:E(`conversation-canvas-fullscreen:${e}`)})]}),document.body)]})}function tte(e){var t,n,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t{const t=e.currentTarget;if(!(t instanceof HTMLElement))return;const n=t.offsetWidth;let i=.985;n<=80?i=.96:n<=150?i=.97:n<=220?i=.98:n>600&&(i=.995),t.style.setProperty("--scale",i.toString())},wP=(e,t)=>{const n=()=>{const a=setTimeout(e);return()=>{clearTimeout(a)}};if(!iIe||typeof window.requestAnimationFrame!="function"||ite&&document.visibilityState==="hidden")return n();let r=2,s=window.requestAnimationFrame(function a(){r-=1,r===0?e():s=window.requestAnimationFrame(a)});return()=>{typeof window.cancelAnimationFrame=="function"&&window.cancelAnimationFrame(s)}},c5=e=>Object.keys(e).reduce((n,i)=>{const r=e[i];if(r||r===0){const s=i.startsWith("--")?"":"--",a=typeof r=="number"?`${r}px`:r;n[`${s}${i}`]=a}return n},{}),tN=e=>{e.preventDefault()},ste=e=>e.querySelectorAll('a[href], input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex^="-"]), [contenteditable]'),rIe=e=>{const t=O.Children.toArray(e),n=[];let i="";const r=()=>{i!==""&&(n.push(i),i="")};for(const s of t)if(!(s==null||typeof s=="boolean")){if(typeof s=="string"||typeof s=="number"){i+=String(s);continue}r(),n.push(s)}return r(),n},ate=e=>{const t=rIe(e),n=O.Children.count(t);return O.Children.map(t,i=>{if(typeof i=="string"&&i.trim())return n<=1?i:c.jsx("span",{children:i});if(O.isValidElement(i)){const r=i,{children:s,...a}=r.props;return s!=null?O.cloneElement(r,a,ate(s)):r}return i})};O.createContext(null);var sIe=typeof Pd=="object"&&Pd&&Pd.Object===Object&&Pd,aIe=typeof self=="object"&&self&&self.Object===Object&&self;sIe||aIe||Function("return this")();var oIe=typeof window<"u"?O.useLayoutEffect:O.useEffect;function lIe(){const e=O.useRef(!1);return O.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),O.useCallback(()=>e.current,[])}var v9={width:void 0,height:void 0};function cIe(e){const{ref:t,box:n="content-box"}=e,[{width:i,height:r},s]=O.useState(v9),a=lIe(),o=O.useRef({...v9}),l=O.useRef(void 0);return l.current=e.onResize,O.useEffect(()=>{if(!t.current||typeof window>"u"||!("ResizeObserver"in window))return;const u=new ResizeObserver(([d])=>{const f=n==="border-box"?"borderBoxSize":n==="device-pixel-content-box"?"devicePixelContentBoxSize":"contentBoxSize",h=w9(d,f,"inlineSize"),p=w9(d,f,"blockSize");if(o.current.width!==h||o.current.height!==p){const g={width:h,height:p};o.current.width=h,o.current.height=p,l.current?l.current(g):a()&&s(g)}});return u.observe(t.current,{box:n}),()=>{u.disconnect()}},[n,t,a]),{width:i,height:r}}function w9(e,t,n){return e[t]?Array.isArray(e[t])?e[t][0][n]:e[t][n]:t==="contentBoxSize"?e.contentRect[n==="inlineSize"?"width":"height"]:void 0}function ote(e,t){const n=O.useRef(e);oIe(()=>{n.current=e},[e]),O.useEffect(()=>{if(!t&&t!==0)return;const i=setTimeout(()=>{n.current()},t);return()=>{clearTimeout(i)}},[t])}const uIe="_LoadingIndicator_7yl6f_1",dIe={LoadingIndicator:uIe},fIe=({className:e,size:t,strokeWidth:n,style:i,...r})=>c.jsx("div",{...r,className:ja(dIe.LoadingIndicator,e),style:i||c5({"indicator-size":t,"indicator-stroke":n})});function lte(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}const hIe=()=>nte,E9=(e,t=!1,n="TransitionGroup")=>{const i=[];return O.Children.forEach(e,r=>{if(r&&typeof r=="object"&&"key"in r&&r.key)i.push(r);else if(t)throw new Error(`Child elements of <${n} /> must include a \`key\``)}),i},Pp=()=>{},jp=e=>{const t=O.useRef(e);return t.current=e,O.useCallback(n=>t.current(n),[])};function pIe(e,t,n,i){const r=e.reduce((l,u)=>({...l,[u.key]:1}),{}),s=t.reduce((l,u)=>({...l,[u.component.key]:1}),{}),a=e.filter(l=>!s[l.key]).map(n),o=t.map(l=>({...l,component:e.find(({key:u})=>u===l.component.key)||l.component,shouldRender:!!r[l.component.key]}));return i==="append"?o.concat(a):a.concat(o)}function mIe(e,t,n){if((nte||eIe)&&t&&n>1)throw new Error(`Cannot use forwardRef with multiple children in <${e} />`)}const gIe="_TransitionGroupChild_1hv1z_1",OIe={TransitionGroupChild:gIe},cte={enter:!1,enterActive:!1,exit:!1,exitActive:!1,interrupted:!1},bIe=e=>({...cte,enter:!e}),yIe=(e,t)=>{switch(t.type){case"enter-before":return{enter:!0,enterActive:!1,exit:!1,exitActive:!1,interrupted:e.interrupted||e.exit};case"enter-active":return{enter:!0,enterActive:!0,exit:!1,exitActive:!1,interrupted:!1};case"exit-before":return{enter:!1,enterActive:!1,exit:!0,exitActive:!1,interrupted:e.interrupted||e.enter};case"exit-active":return{enter:!1,enterActive:!1,exit:!0,exitActive:!0,interrupted:!1};case"done":default:return cte}},xIe=({ref:e,as:t,children:n,className:i,transitionId:r,style:s,preventMountTransition:a,shouldRender:o,enterDuration:l,exitDuration:u,removeChild:d,onEnter:f,onEnterActive:h,onEnterComplete:p,onExit:m,onExitActive:g,onExitComplete:y})=>{const[b,S]=O.useReducer(yIe,bIe(a||!1)),x=O.useRef(!1),v=O.useRef(null),E=O.useRef(l);E.current=l;const w=O.useRef(u);w.current=u;const k=O.useRef(null),_=O.useCallback(C=>{const A=v.current;if(!(!A||C===k.current))switch(k.current=C,C){case"enter":f(A);break;case"enter-active":h(A);break;case"enter-complete":p(A);break;case"exit":m(A);break;case"exit-active":g(A);break;case"exit-complete":y(A);break}},[f,h,p,m,g,y]);return un.useLayoutEffect(()=>{if(!o){let R;S({type:"exit-before"}),_("exit");const j=wP(()=>{S({type:"exit-active"}),_("exit-active"),R=window.setTimeout(()=>{_("exit-complete"),d()},w.current)});return()=>{j(),R!==void 0&&clearTimeout(R)}}if(a&&!x.current){x.current=!0;return}let C;S({type:"enter-before"}),_("enter");const A=wP(()=>{S({type:"enter-active"}),_("enter-active"),C=window.setTimeout(()=>{S({type:"done"}),_("enter-complete")},E.current)});return()=>{A(),C!==void 0&&clearTimeout(C)}},[o,a,d,_]),O.useEffect(()=>()=>{x.current=!1},[]),c.jsx(t,{ref:lte([v,e]),className:ja(i,OIe.TransitionGroupChild),"data-transition-id":r,style:s,"data-entering":b.enter?"":void 0,"data-entering-active":b.enterActive?"":void 0,"data-exiting":b.exit?"":void 0,"data-exiting-active":b.exitActive?"":void 0,"data-interrupted":b.interrupted?"":void 0,children:n})},SIe=e=>{const{enterMountDelay:t,preventMountTransition:n}=e,i=!n&&t!=null?t:null,[r,s]=O.useState(i==null);return ote(()=>s(!0),r?null:i),r?c.jsx(xIe,{...e}):null},ute=e=>{const{ref:t,as:n="span",children:i,className:r,transitionId:s,style:a,enterDuration:o=0,exitDuration:l=0,preventInitialTransition:u=!0,enterMountDelay:d,insertMethod:f="append",disableAnimations:h=hIe()}=e,p=jp(e.onEnter??Pp),m=jp(e.onEnterActive??Pp),g=jp(e.onEnterComplete??Pp),y=jp(e.onExit??Pp),b=jp(e.onExitActive??Pp),S=jp(e.onExitComplete??Pp);O.Children.forEach(i,w=>{if(w&&!w.key)throw new Error("Child elements of must include a `key`")});const x=O.useCallback(w=>({component:w,shouldRender:!0,removeChild:()=>{E(k=>k.filter(_=>w.key!==_.component.key))},onEnter:p,onEnterActive:m,onEnterComplete:g,onExit:y,onExitActive:b,onExitComplete:S}),[p,m,g,y,b,S]),[v,E]=O.useState(()=>E9(i).map(w=>({...x(w),preventMountTransition:u})));return O.useLayoutEffect(()=>{E(w=>{const k=E9(i);return pIe(k,w,x,f)})},[i,f,x]),mIe("TransitionGroup",t,O.Children.count(i)),h?c.jsx(c.Fragment,{children:O.Children.map(i,w=>c.jsx(n,{ref:t,className:r,style:a,"data-transition-id":s,children:w}))}):c.jsx(c.Fragment,{children:v.map(({component:w,...k})=>c.jsx(SIe,{...k,as:n,className:r,transitionId:s,enterDuration:o,exitDuration:l,enterMountDelay:d,style:a,ref:t,children:w},w.key))})},vIe="_Button_1864l_1",wIe="_ButtonInner_1864l_4",EIe="_ButtonLoader_1864l_749",nN={Button:vIe,ButtonInner:wIe,ButtonLoader:EIe},Wm=e=>{const{type:t="button",color:n="primary",variant:i="solid",pill:r=!0,uniform:s=!1,size:a="md",iconSize:o,gutterSize:l,loading:u,selected:d,block:f,opticallyAlign:h,children:p,className:m,onClick:g,disabled:y,disabledTone:b,inert:S=u,...x}=e,v=y||S,E=O.useCallback(w=>{y||g==null||g(w)},[g,y]);return c.jsxs("button",{type:t,className:ja(nN.Button,m),"data-color":n,"data-variant":i,"data-pill":r?"":void 0,"data-uniform":s?"":void 0,"data-size":a,"data-gutter-size":l,"data-icon-size":o,"data-loading":u?"":void 0,"data-selected":d?"":void 0,"data-block":f?"":void 0,"data-optically-align":h,onPointerEnter:rte,disabled:v,"aria-disabled":v,tabIndex:v?-1:void 0,"data-disabled":y?"":void 0,"data-disabled-tone":y?b:void 0,onClick:E,...x,children:[c.jsx(ute,{className:nN.ButtonLoader,enterDuration:250,exitDuration:150,children:u&&c.jsx(fIe,{},"loader")}),c.jsx("span",{className:nN.ButtonInner,children:ate(p)})]})},kIe="_EmptyMessage_1r5gu_1",TIe="_IconBadge_1r5gu_16",_Ie="_Title_1r5gu_54",AIe="_Description_1r5gu_69",NIe="_ActionRow_1r5gu_77",Yx={EmptyMessage:kIe,IconBadge:TIe,Title:_Ie,Description:AIe,ActionRow:NIe},li=({children:e,className:t,fill:n="static"})=>c.jsx("div",{className:ja(Yx.EmptyMessage,t),"data-fill":n,children:e}),CIe=({size:e="md",color:t="secondary",children:n,className:i})=>c.jsx("div",{className:ja(Yx.IconBadge,i),"data-size":e,"data-color":t,children:n}),RIe=({children:e,className:t,color:n="secondary"})=>c.jsx("div",{className:ja(Yx.Title,t),"data-color":n,children:e}),IIe=({children:e,className:t})=>c.jsx("div",{className:ja(Yx.Description,t),children:e}),PIe=({children:e,className:t})=>c.jsx("div",{className:ja(Yx.ActionRow,t),children:e});li.Icon=CIe;li.Title=RIe;li.Description=IIe;li.ActionRow=PIe;const jIe="/web/skill-workbench";class EP extends Error{constructor(t,n,i="SKILL_WORKBENCH_ERROR",r=!1,s="",a,o=""){super(t),this.status=n,this.code=i,this.retryable=r,this.statusText=s,this.originalError=a,this.rawResponse=o,this.name="SkillWorkbenchApiError"}}function Uo(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t}格式错误。`);return e}function k9(e,t){if(e!=null){if(typeof e!="string"||!e.trim()||e.trim().length>256)throw new Error(`${t}格式错误。`);return e.trim()}}function MIe(e){if(e!=null){if(e==="pending"||e==="ready"||e==="failed"||e==="unknown")return e;throw new Error("Skill 恢复点状态格式错误。")}}async function yc(e,t={},n=Tl){return fetch(Xn(`${jIe}${e}`),{...t,headers:g0(t.headers),signal:Gn(t.signal,n)})}async function u5(e,t){var i;const n=await e.text().catch(()=>"");try{const r=Uo(JSON.parse(n),"错误响应"),s=r.detail&&typeof r.detail=="object"?Uo(r.detail,"错误详情"):r;return new EP(typeof s.message=="string"?s.message:t,e.status,typeof s.code=="string"?s.code:"SKILL_WORKBENCH_ERROR",s.retryable===!0,e.statusText,s.originalError&&typeof s.originalError=="object"?s.originalError:void 0,n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失";return new EP(`${t}(HTTP ${e.status},Content-Type: ${r})。请检查代理或网关配置。`,e.status,"SKILL_WORKBENCH_ERROR",!1,e.statusText,void 0,n)}}async function pf(e,t){if(!e.ok)throw await u5(e,t);const n=e.headers.get("content-type")??"";if(!n.includes("application/json")){const i=n.split(";",1)[0]||"Content-Type 缺失";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},Content-Type: ${i}),请检查代理或网关配置。`)}return e.json()}function LIe(e){return Array.isArray(e)?e.map(t=>{const n=Uo(t,"Skill 会话活动"),i=n.kind,r=n.status;if(typeof n.id!="string"||!["status","thinking","message","tool"].includes(String(i))||!["running","done"].includes(String(r)))throw new Error("Skill 会话活动格式错误。");if(i==="tool"){if(typeof n.name!="string")throw new Error("Skill 工具活动格式错误。");return{id:n.id,kind:i,status:r,name:n.name,...n.input!==void 0?{args:n.input}:{},...n.output!==void 0?{response:n.output}:{}}}if(typeof n.text!="string")throw new Error("Skill 文本活动格式错误。");return{id:n.id,kind:i,status:r,text:n.text}}):[]}function DIe(e){if(e==null)return;const t=Uo(e,"Skill 发布结果");if(typeof t.revision!="number"||typeof t.skillId!="string"||typeof t.version!="string"||!Array.isArray(t.skillSpaceIds)||!t.skillSpaceIds.every(n=>typeof n=="string")||t.disposition!=="create-new"&&t.disposition!=="update-source"||!SD(t.region)||typeof t.projectName!="string")throw new Error("Skill 发布结果格式错误。");return{revision:t.revision,skillId:t.skillId,version:t.version,skillSpaceIds:t.skillSpaceIds,disposition:t.disposition,region:t.region,projectName:t.projectName}}function Dy(e){const t=Uo(e,"Skill 会话");if(typeof t.jobId!="string"||t.operation!=="create"&&t.operation!=="optimize"||typeof t.intent!="string"||typeof t.revision!="number"||typeof t.state!="string")throw new Error("Skill 会话格式错误。");const n=Array.isArray(t.files)?t.files.flatMap(o=>{const l=Uo(o,"Skill 文件");return typeof l.path=="string"&&typeof l.size=="number"?[{path:l.path,size:l.size}]:[]}):[];if(!["running","ready","failed","cancelled","expired","published"].includes(t.state))throw new Error("Skill 会话状态无法识别。");const r=k9(t.toolId,"Tool ID"),s=k9(t.sessionId,"Session ID"),a=MIe(t.recoveryStatus);return{jobId:t.jobId,operation:t.operation,intent:t.intent,...typeof t.model=="string"?{model:t.model}:{},...typeof t.style=="string"?{style:t.style}:{},...typeof t.requestedName=="string"?{requestedName:t.requestedName}:{},revision:t.revision,...r?{toolId:r}:{},...s?{sessionId:s}:{},...typeof t.sessionTtlSeconds=="number"?{sessionTtlSeconds:t.sessionTtlSeconds}:{},...typeof t.expiresAt=="string"?{expiresAt:t.expiresAt}:{},...typeof t.recoveryAvailable=="boolean"?{recoveryAvailable:t.recoveryAvailable}:{},...a?{recoveryStatus:a}:{},...typeof t.recoveredFromSnapshot=="boolean"?{recoveredFromSnapshot:t.recoveredFromSnapshot}:{},state:t.state,stage:typeof t.stage=="string"?t.stage:"generating",activities:LIe(t.activities),files:n,...t.source&&typeof t.source=="object"?{source:t.source}:{},...typeof t.name=="string"?{name:t.name}:{},...typeof t.description=="string"?{description:t.description}:{},...typeof t.skillMd=="string"?{skillMd:t.skillMd}:{},...typeof t.error=="string"?{error:t.error}:{},...t.validation&&typeof t.validation=="object"?{validation:t.validation}:{},...t.publication?{publication:DIe(t.publication)}:{}}}async function ZT(e){const t=Uo(await pf(await yc("/capabilities",{signal:e}),"读取 Skill 工作台能力失败"),"Skill 工作台能力");return{enabled:t.enabled===!0,reason:typeof t.reason=="string"?t.reason:"",operations:Array.isArray(t.operations)?t.operations.filter(n=>n==="create"||n==="optimize"):[],models:Array.isArray(t.models)?t.models.flatMap(n=>{if(!n||typeof n!="object")return[];const i=n;return typeof i.id=="string"&&typeof i.label=="string"?[{id:i.id,label:i.label}]:[]}):[],styles:t.styles&&typeof t.styles=="object"&&!Array.isArray(t.styles)?Object.fromEntries(Object.entries(t.styles).filter(n=>typeof n[1]=="string")):{},...typeof t.maxUploadBytes=="number"?{maxUploadBytes:t.maxUploadBytes}:{}}}async function $Ie(e){if(e.file){const n=new URLSearchParams({operation:"optimize",intent:e.intent});e.jobId&&n.set("job_id",e.jobId),e.model&&n.set("model",e.model),e.style&&n.set("style",e.style),e.name&&n.set("name",e.name);const i=await yc(`/tasks/from-upload?${n}`,{method:"POST",body:e.file,headers:{"Content-Type":"application/zip"},signal:e.signal},oa);return Dy(await pf(i,"开始优化 Skill 失败"))}const t=await yc("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({operation:e.operation,intent:e.intent,...e.model?{model:e.model}:{},...e.style?{style:e.style}:{},...e.name?{name:e.name}:{},...e.jobId?{jobId:e.jobId}:{},...e.source?{source:{kind:"skill-center",skillId:e.source.skillId,skillName:e.source.name,version:e.source.version,region:e.source.region,projectName:e.source.projectName,skillSpaceId:e.source.skillSpaceId,skillSpaceName:e.source.skillSpaceName}}:{}}),signal:e.signal},oa);return Dy(await pf(t,"开始 Skill 会话失败"))}async function QIe(e,t){return Dy(await pf(await yc(`/tasks/${encodeURIComponent(e)}`,{signal:t}),"读取 Skill 会话失败"))}async function iN(e,t,n){const i=new URLSearchParams;i.set("expected_revision",String(t));const r=Uo(await pf(await yc(`/tasks/${encodeURIComponent(e)}/artifact?${i.toString()}`,{signal:n}),"读取 Skill 产物失败"),"Skill 产物");if(r.jobId!==e||r.revision!==t||!Number.isSafeInteger(r.revision)||r.revision<1||typeof r.sha256!="string"||!/^[0-9a-f]{64}$/.test(r.sha256)||typeof r.name!="string"||typeof r.description!="string"||!Array.isArray(r.files))throw new Error("Skill 产物格式错误。");const s=r.files.map(a=>{const o=Uo(a,"Skill 产物文件");if(typeof o.path!="string"||typeof o.size!="number"||typeof o.content!="string")throw new Error("Skill 产物文件格式错误。");return{path:o.path,size:o.size,content:o.content}});return{jobId:r.jobId,revision:r.revision,sha256:r.sha256,name:r.name,description:r.description,files:s}}async function rN(e){const t=await yc(`/tasks/${encodeURIComponent(e.jobId)}/refinements`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({intent:e.intent,expectedRevision:e.expectedRevision})},oa);return Dy(await pf(t,"继续调整 Skill 失败"))}async function BIe(e){const t=await yc(`/tasks/${encodeURIComponent(e.jobId)}/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expectedRevision:e.expectedRevision})});return Dy(await pf(t,"停止当前 Skill 任务失败"))}async function UIe(e){const t=await yc(`/tasks/${encodeURIComponent(e.jobId)}/publish-stream`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/x-ndjson"},body:JSON.stringify({disposition:e.disposition,expectedRevision:e.expectedRevision,expectedArtifactSha256:e.expectedArtifactSha256,skillSpaceIds:e.skillSpaceIds??[],projectName:e.projectName,region:e.region}),signal:e.signal},0);if(!t.ok)throw await u5(t,"发布 Skill 失败");if(!(t.headers.get("content-type")??"").includes("application/x-ndjson"))throw new Error("发布 Skill 失败:服务端返回了非 NDJSON 响应。");if(!t.body)throw new Error("发布 Skill 失败:服务端没有返回进度流。");const i=new Set(["preparing","uploading","registering","activating","publishing"]);let r=null,s="";const a=new TextDecoder,o=t.body.getReader(),l=u=>{var h;if(!u.trim())return;const d=Uo(JSON.parse(u),"发布进度");if(d.type==="progress"){if(typeof d.phase!="string"||!i.has(d.phase)||typeof d.message!="string")throw new Error("发布进度格式错误。");(h=e.onProgress)==null||h.call(e,{phase:d.phase,message:d.message});return}if(d.type==="error"){const p=Uo(d.error,"发布错误");throw new EP(typeof p.message=="string"?p.message:"发布 Skill 失败",500,typeof p.code=="string"?p.code:"SKILL_PUBLISH_FAILED",p.retryable===!0,"",p.originalError&&typeof p.originalError=="object"?p.originalError:void 0,JSON.stringify(d.error))}if(d.type!=="complete")throw new Error("未知的发布进度事件。");const f=Uo(d.result,"发布结果");if(typeof f.skillId!="string"||typeof f.version!="string"||!Array.isArray(f.skillSpaceIds)||!f.skillSpaceIds.every(p=>typeof p=="string")||f.disposition!=="create-new"&&f.disposition!=="update-source"||!SD(f.region)||typeof f.projectName!="string")throw new Error("发布结果格式错误。");r={skillId:f.skillId,version:f.version,skillSpaceIds:f.skillSpaceIds,disposition:f.disposition,region:f.region,projectName:f.projectName}};for(;;){const{value:u,done:d}=await o.read();s+=a.decode(u,{stream:!d});const f=s.split(` +`);if(s=f.pop()??"",f.forEach(l),d)break}if(l(s),!r)throw new Error("发布进度流提前结束,无法确认发布结果。请刷新技能中心确认状态。");return r}async function zIe(e){await pf(await yc(`/tasks/${encodeURIComponent(e)}`,{method:"DELETE"}),"删除 Skill 会话失败")}async function FIe(e,t,n){var l;const i=new URLSearchParams;i.set("expected_revision",String(t)),i.set("expected_sha256",n);const r=await yc(`/tasks/${encodeURIComponent(e)}/download?${i.toString()}`,{},oa);if(!r.ok)throw await u5(r,"下载 Skill 失败");const a=((l=(r.headers.get("content-disposition")??"").match(/filename="([^"]+)"/))==null?void 0:l[1])??"skill.zip",o=URL.createObjectURL(await r.blob());try{const u=document.createElement("a");u.href=o,u.download=a,u.click()}finally{URL.revokeObjectURL(o)}}const VIe={formatDate(e){const t=e.value??e.date??e.timestamp;if(t==null)return"";const n=new Date(t);return isNaN(n.getTime())?String(t):n.toLocaleString()}};function XIe(e,t){if(!t||t==="/")return e;const n=t.replace(/^\//,"").split("/").map(r=>r.replace(/~1/g,"/").replace(/~0/g,"~"));let i=e;for(const r of n){if(i==null||typeof i!="object")return;i=i[r]}return i}function qIe(e){return typeof e=="object"&&e!==null&&typeof e.path=="string"}function HIe(e){return typeof e=="object"&&e!==null&&typeof e.call=="string"}function d5(e,t){if(qIe(e))return XIe(t,e.path);if(HIe(e)){const n=VIe[e.call],i={};for(const[r,s]of Object.entries(e.args??{}))i[r]=d5(s,t);return n?n(i):`[unknown fn: ${e.call}]`}return e}function YIe(e,t){const n=d5(e,t);return n==null?"":typeof n=="string"?n:String(n)}const dte=new Map;function pp(e,t){dte.set(e,t)}function GIe(e){return dte.get(e)}function WIe(e,t,n){const i=t.replace(/^\//,"").split("/").map(s=>s.replace(/~1/g,"/").replace(/~0/g,"~"));let r=e;for(let s=0;sd5(i,e.dataModel),resolveString:i=>YIe(i,e.dataModel),dispatchAction:t,render:i=>{if(!i)return null;const r=e.components[i];if(!r)return null;const s=GIe(r.component)??ZIe;return c.jsx(s,{node:r,ctx:n},i)}};return c.jsx("div",{className:"a2ui-surface","data-a2ui-surface":e.surfaceId,children:n.render(e.rootId)})}function JIe(e){const t=O.useRef(null),n=O.useRef(!0),i=28,r=O.useCallback(()=>{const s=t.current;s&&(n.current=s.scrollHeight-s.scrollTop-s.clientHeight{const s=t.current;s&&n.current&&(s.scrollTop=s.scrollHeight)},[e]),{ref:t,onScroll:r}}function Cht(){}function T9(e){const t=[],n=String(e||"");let i=n.indexOf(","),r=0,s=!1;for(;!s;){i===-1&&(i=n.length,s=!0);const a=n.slice(r,i).trim();(a||!s)&&t.push(a),r=i+1,i=n.indexOf(",",r)}return t}function hte(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const ePe=/[$_\p{ID_Start}]/u,tPe=/[$_\u{200C}\u{200D}\p{ID_Continue}]/u,nPe=/[-$_\u{200C}\u{200D}\p{ID_Continue}]/u,iPe=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,rPe=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,pte={};function Rht(e){return e?ePe.test(String.fromCodePoint(e)):!1}function Iht(e,t){const i=(t||pte).jsx?nPe:tPe;return e?i.test(String.fromCodePoint(e)):!1}function _9(e,t){return(pte.jsx?rPe:iPe).test(e)}const sPe=/[ \t\n\f\r]/g;function aPe(e){return typeof e=="object"?e.type==="text"?A9(e.value):!1:A9(e)}function A9(e){return e.replace(sPe,"")===""}let Gx=class{constructor(t,n,i){this.normal=n,this.property=t,i&&(this.space=i)}};Gx.prototype.normal={};Gx.prototype.property={};Gx.prototype.space=void 0;function mte(e,t){const n={},i={};for(const r of e)Object.assign(n,r.property),Object.assign(i,r.normal);return new Gx(n,i,t)}function $y(e){return e.toLowerCase()}class Ma{constructor(t,n){this.attribute=n,this.property=t}}Ma.prototype.attribute="";Ma.prototype.booleanish=!1;Ma.prototype.boolean=!1;Ma.prototype.commaOrSpaceSeparated=!1;Ma.prototype.commaSeparated=!1;Ma.prototype.defined=!1;Ma.prototype.mustUseProperty=!1;Ma.prototype.number=!1;Ma.prototype.overloadedBoolean=!1;Ma.prototype.property="";Ma.prototype.spaceSeparated=!1;Ma.prototype.space=void 0;let oPe=0;const cn=mp(),Ir=mp(),kP=mp(),We=mp(),Ii=mp(),Zm=mp(),Xa=mp();function mp(){return 2**++oPe}const TP=Object.freeze(Object.defineProperty({__proto__:null,boolean:cn,booleanish:Ir,commaOrSpaceSeparated:Xa,commaSeparated:Zm,number:We,overloadedBoolean:kP,spaceSeparated:Ii},Symbol.toStringTag,{value:"Module"})),sN=Object.keys(TP);class f5 extends Ma{constructor(t,n,i,r){let s=-1;if(super(t,n),N9(this,"space",r),typeof i=="number")for(;++s4&&n.slice(0,4)==="data"&&fPe.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(C9,pPe);i="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!C9.test(s)){let a=s.replace(dPe,hPe);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}r=f5}return new r(i,t)}function hPe(e){return"-"+e.toLowerCase()}function pPe(e){return e.charAt(1).toUpperCase()}const Wx=mte([gte,lPe,yte,xte,Ste],"html"),Rf=mte([gte,cPe,yte,xte,Ste],"svg");function R9(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function vte(e){return e.join(" ").trim()}var h5={},I9=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,mPe=/\n/g,gPe=/^\s*/,OPe=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,bPe=/^:\s*/,yPe=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,xPe=/^[;\s]*/,SPe=/^\s+|\s+$/g,vPe=` +`,P9="/",j9="*",ch="",wPe="comment",EPe="declaration";function kPe(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,i=1;function r(m){var g=m.match(mPe);g&&(n+=g.length);var y=m.lastIndexOf(vPe);i=~y?m.length-y:i+m.length}function s(){var m={line:n,column:i};return function(g){return g.position=new a(m),u(),g}}function a(m){this.start=m,this.end={line:n,column:i},this.source=t.source}a.prototype.content=e;function o(m){var g=new Error(t.source+":"+n+":"+i+": "+m);if(g.reason=m,g.filename=t.source,g.line=n,g.column=i,g.source=e,!t.silent)throw g}function l(m){var g=m.exec(e);if(g){var y=g[0];return r(y),e=e.slice(y.length),g}}function u(){l(gPe)}function d(m){var g;for(m=m||[];g=f();)g!==!1&&m.push(g);return m}function f(){var m=s();if(!(P9!=e.charAt(0)||j9!=e.charAt(1))){for(var g=2;ch!=e.charAt(g)&&(j9!=e.charAt(g)||P9!=e.charAt(g+1));)++g;if(g+=2,ch===e.charAt(g-1))return o("End of comment missing");var y=e.slice(2,g-2);return i+=2,r(y),e=e.slice(g),i+=2,m({type:wPe,comment:y})}}function h(){var m=s(),g=l(OPe);if(g){if(f(),!l(bPe))return o("property missing ':'");var y=l(yPe),b=m({type:EPe,property:M9(g[0].replace(I9,ch)),value:y?M9(y[0].replace(I9,ch)):ch});return l(xPe),b}}function p(){var m=[];d(m);for(var g;g=h();)g!==!1&&(m.push(g),d(m));return m}return u(),p()}function M9(e){return e?e.replace(SPe,ch):ch}var TPe=kPe,_Pe=Pd&&Pd.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(h5,"__esModule",{value:!0});h5.default=NPe;const APe=_Pe(TPe);function NPe(e,t){let n=null;if(!e||typeof e!="string")return n;const i=(0,APe.default)(e),r=typeof t=="function";return i.forEach(s=>{if(s.type!=="declaration")return;const{property:a,value:o}=s;r?t(a,o,s):o&&(n=n||{},n[a]=o)}),n}var JT={};Object.defineProperty(JT,"__esModule",{value:!0});JT.camelCase=void 0;var CPe=/^--[a-zA-Z0-9_-]+$/,RPe=/-([a-z])/g,IPe=/^[^-]+$/,PPe=/^-(webkit|moz|ms|o|khtml)-/,jPe=/^-(ms)-/,MPe=function(e){return!e||IPe.test(e)||CPe.test(e)},LPe=function(e,t){return t.toUpperCase()},L9=function(e,t){return"".concat(t,"-")},DPe=function(e,t){return t===void 0&&(t={}),MPe(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(jPe,L9):e=e.replace(PPe,L9),e.replace(RPe,LPe))};JT.camelCase=DPe;var $Pe=Pd&&Pd.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},QPe=$Pe(h5),BPe=JT;function _P(e,t){var n={};return!e||typeof e!="string"||(0,QPe.default)(e,function(i,r){i&&r&&(n[(0,BPe.camelCase)(i,t)]=r)}),n}_P.default=_P;var UPe=_P;const zPe=i0(UPe),e_=wte("end"),_c=wte("start");function wte(e){return t;function t(n){const i=n&&n.position&&n.position[e]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function FPe(e){const t=_c(e),n=e_(e);if(t&&n)return{start:t,end:n}}function Pb(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?D9(e.position):"start"in e||"end"in e?D9(e):"line"in e||"column"in e?AP(e):""}function AP(e){return $9(e&&e.line)+":"+$9(e&&e.column)}function D9(e){return AP(e&&e.start)+"-"+AP(e&&e.end)}function $9(e){return e&&typeof e=="number"?e:1}class Bs extends Error{constructor(t,n,i){super(),typeof n=="string"&&(i=n,n=void 0);let r="",s={},a=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof t=="string"?r=t:!s.cause&&t&&(a=!0,r=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof i=="string"){const l=i.indexOf(":");l===-1?s.ruleId=i:(s.source=i.slice(0,l),s.ruleId=i.slice(l+1))}if(!s.place&&s.ancestors&&s.ancestors){const l=s.ancestors[s.ancestors.length-1];l&&(s.place=l.position)}const o=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=o?o.line:void 0,this.name=Pb(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=a&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Bs.prototype.file="";Bs.prototype.name="";Bs.prototype.reason="";Bs.prototype.message="";Bs.prototype.stack="";Bs.prototype.column=void 0;Bs.prototype.line=void 0;Bs.prototype.ancestors=void 0;Bs.prototype.cause=void 0;Bs.prototype.fatal=void 0;Bs.prototype.place=void 0;Bs.prototype.ruleId=void 0;Bs.prototype.source=void 0;const p5={}.hasOwnProperty,VPe=new Map,XPe=/[A-Z]/g,qPe=new Set(["table","tbody","thead","tfoot","tr"]),HPe=new Set(["td","th"]),Ete="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function YPe(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let i;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");i=nje(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");i=tje(n,t.jsx,t.jsxs)}const r={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:i,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Rf:Wx,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=kte(r,e,void 0);return s&&typeof s!="string"?s:r.create(e,r.Fragment,{children:s||void 0},void 0)}function kte(e,t,n){if(t.type==="element")return GPe(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return WPe(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return KPe(e,t,n);if(t.type==="mdxjsEsm")return ZPe(e,t);if(t.type==="root")return JPe(e,t,n);if(t.type==="text")return eje(e,t)}function GPe(e,t,n){const i=e.schema;let r=i;t.tagName.toLowerCase()==="svg"&&i.space==="html"&&(r=Rf,e.schema=r),e.ancestors.push(t);const s=_te(e,t.tagName,!1),a=ije(e,t);let o=g5(e,t);return qPe.has(t.tagName)&&(o=o.filter(function(l){return typeof l=="string"?!aPe(l):!0})),Tte(e,a,s,t),m5(a,o),e.ancestors.pop(),e.schema=i,e.create(t,s,a,n)}function WPe(e,t){if(t.data&&t.data.estree&&e.evaluater){const i=t.data.estree.body[0];return i.type,e.evaluater.evaluateExpression(i.expression)}Qy(e,t.position)}function ZPe(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Qy(e,t.position)}function KPe(e,t,n){const i=e.schema;let r=i;t.name==="svg"&&i.space==="html"&&(r=Rf,e.schema=r),e.ancestors.push(t);const s=t.name===null?e.Fragment:_te(e,t.name,!0),a=rje(e,t),o=g5(e,t);return Tte(e,a,s,t),m5(a,o),e.ancestors.pop(),e.schema=i,e.create(t,s,a,n)}function JPe(e,t,n){const i={};return m5(i,g5(e,t)),e.create(t,e.Fragment,i,n)}function eje(e,t){return t.value}function Tte(e,t,n,i){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=i)}function m5(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function tje(e,t,n){return i;function i(r,s,a,o){const u=Array.isArray(a.children)?n:t;return o?u(s,a,o):u(s,a)}}function nje(e,t){return n;function n(i,r,s,a){const o=Array.isArray(s.children),l=_c(i);return t(r,s,a,o,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function ije(e,t){const n={};let i,r;for(r in t.properties)if(r!=="children"&&p5.call(t.properties,r)){const s=sje(e,r,t.properties[r]);if(s){const[a,o]=s;e.tableCellAlignToStyle&&a==="align"&&typeof o=="string"&&HPe.has(t.tagName)?i=o:n[a]=o}}if(i){const s=n.style||(n.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=i}return n}function rje(e,t){const n={};for(const i of t.attributes)if(i.type==="mdxJsxExpressionAttribute")if(i.data&&i.data.estree&&e.evaluater){const s=i.data.estree.body[0];s.type;const a=s.expression;a.type;const o=a.properties[0];o.type,Object.assign(n,e.evaluater.evaluateExpression(o.argument))}else Qy(e,t.position);else{const r=i.name;let s;if(i.value&&typeof i.value=="object")if(i.value.data&&i.value.data.estree&&e.evaluater){const o=i.value.data.estree.body[0];o.type,s=e.evaluater.evaluateExpression(o.expression)}else Qy(e,t.position);else s=i.value===null?!0:i.value;n[r]=s}return n}function g5(e,t){const n=[];let i=-1;const r=e.passKeys?new Map:VPe;for(;++ir?0:r+t:t=t>r?r:t,n=n>0?n:0,i.length<1e4)a=Array.from(i),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);s0?(lo(e,e.length,0,t),e):t}const U9={}.hasOwnProperty;function Nte(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function yl(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ea=If(/[A-Za-z]/),Ds=If(/[\dA-Za-z]/),pje=If(/[#-'*+\--9=?A-Z^-~]/);function XE(e){return e!==null&&(e<32||e===127)}const NP=If(/\d/),mje=If(/[\dA-Fa-f]/),gje=If(/[!-/:-@[-`{-~]/);function Lt(e){return e!==null&&e<-2}function _i(e){return e!==null&&(e<0||e===32)}function vn(e){return e===-2||e===-1||e===32}const t_=If(new RegExp("\\p{P}|\\p{S}","u")),Wh=If(/\s/);function If(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function w0(e){const t=[];let n=-1,i=0,r=0;for(;++n55295&&s<57344){const o=e.charCodeAt(n+1);s<56320&&o>56319&&o<57344?(a=String.fromCharCode(s,o),r=1):a="�"}else a=String.fromCharCode(s);a&&(t.push(e.slice(i,n),encodeURIComponent(a)),i=n+r+1,a=""),r&&(n+=r,r=0)}return t.join("")+e.slice(i)}function zn(e,t,n,i){const r=i?i-1:Number.POSITIVE_INFINITY;let s=0;return a;function a(l){return vn(l)?(e.enter(n),o(l)):t(l)}function o(l){return vn(l)&&s++a))return;const k=t.events.length;let _=k,C,A;for(;_--;)if(t.events[_][0]==="exit"&&t.events[_][1].type==="chunkFlow"){if(C){A=t.events[_][1].end;break}C=!0}for(b(i),w=k;wx;){const E=n[v];t.containerState=E[1],E[0].exit.call(t,e)}n.length=x}function S(){r.write([null]),s=void 0,r=void 0,t.containerState._closeFlow=void 0}}function Sje(e,t,n){return zn(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Qg(e){if(e===null||_i(e)||Wh(e))return 1;if(t_(e))return 2}function n_(e,t,n){const i=[];let r=-1;for(;++r1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const f={...e[i][1].end},h={...e[n][1].start};F9(f,-l),F9(h,l),a={type:l>1?"strongSequence":"emphasisSequence",start:f,end:{...e[i][1].end}},o={type:l>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},s={type:l>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[n][1].start}},r={type:l>1?"strong":"emphasis",start:{...a.start},end:{...o.end}},e[i][1].end={...a.start},e[n][1].start={...o.end},u=[],e[i][1].end.offset-e[i][1].start.offset&&(u=To(u,[["enter",e[i][1],t],["exit",e[i][1],t]])),u=To(u,[["enter",r,t],["enter",a,t],["exit",a,t],["enter",s,t]]),u=To(u,n_(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),u=To(u,[["exit",s,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[n][1].end.offset-e[n][1].start.offset?(d=2,u=To(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,lo(e,i-1,n-i+3,u),n=i+u.length-d-2;break}}for(n=-1;++n0&&vn(w)?zn(e,S,"linePrefix",s+1)(w):S(w)}function S(w){return w===null||Lt(w)?e.check(V9,g,v)(w):(e.enter("codeFlowValue"),x(w))}function x(w){return w===null||Lt(w)?(e.exit("codeFlowValue"),S(w)):(e.consume(w),x)}function v(w){return e.exit("codeFenced"),t(w)}function E(w,k,_){let C=0;return A;function A(D){return w.enter("lineEnding"),w.consume(D),w.exit("lineEnding"),R}function R(D){return w.enter("codeFencedFence"),vn(D)?zn(w,j,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(D):j(D)}function j(D){return D===o?(w.enter("codeFencedFenceSequence"),Q(D)):_(D)}function Q(D){return D===o?(C++,w.consume(D),Q):C>=a?(w.exit("codeFencedFenceSequence"),vn(D)?zn(w,L,"whitespace")(D):L(D)):_(D)}function L(D){return D===null||Lt(D)?(w.exit("codeFencedFence"),k(D)):_(D)}}}function Pje(e,t,n){const i=this;return r;function r(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s)}function s(a){return i.parser.lazy[i.now().line]?n(a):t(a)}}const oN={name:"codeIndented",tokenize:Mje},jje={partial:!0,tokenize:Lje};function Mje(e,t,n){const i=this;return r;function r(u){return e.enter("codeIndented"),zn(e,s,"linePrefix",5)(u)}function s(u){const d=i.events[i.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?l(u):Lt(u)?e.attempt(jje,a,l)(u):(e.enter("codeFlowValue"),o(u))}function o(u){return u===null||Lt(u)?(e.exit("codeFlowValue"),a(u)):(e.consume(u),o)}function l(u){return e.exit("codeIndented"),t(u)}}function Lje(e,t,n){const i=this;return r;function r(a){return i.parser.lazy[i.now().line]?n(a):Lt(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r):zn(e,s,"linePrefix",5)(a)}function s(a){const o=i.events[i.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(a):Lt(a)?r(a):n(a)}}const Dje={name:"codeText",previous:Qje,resolve:$je,tokenize:Bje};function $je(e){let t=e.length-4,n=3,i,r;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(i=n;++i=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(t,n,i){const r=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&xO(this.left,i),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),xO(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),xO(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(a):e.interrupt(i.parser.constructs.flow,n,t)(a)}}function Mte(e,t,n,i,r,s,a,o,l){const u=l||Number.POSITIVE_INFINITY;let d=0;return f;function f(b){return b===60?(e.enter(i),e.enter(r),e.enter(s),e.consume(b),e.exit(s),h):b===null||b===32||b===41||XE(b)?n(b):(e.enter(i),e.enter(a),e.enter(o),e.enter("chunkString",{contentType:"string"}),g(b))}function h(b){return b===62?(e.enter(s),e.consume(b),e.exit(s),e.exit(r),e.exit(i),t):(e.enter(o),e.enter("chunkString",{contentType:"string"}),p(b))}function p(b){return b===62?(e.exit("chunkString"),e.exit(o),h(b)):b===null||b===60||Lt(b)?n(b):(e.consume(b),b===92?m:p)}function m(b){return b===60||b===62||b===92?(e.consume(b),p):p(b)}function g(b){return!d&&(b===null||b===41||_i(b))?(e.exit("chunkString"),e.exit(o),e.exit(a),e.exit(i),t(b)):d999||p===null||p===91||p===93&&!l||p===94&&!o&&"_hiddenFootnoteSupport"in a.parser.constructs?n(p):p===93?(e.exit(s),e.enter(r),e.consume(p),e.exit(r),e.exit(i),t):Lt(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===null||p===91||p===93||Lt(p)||o++>999?(e.exit("chunkString"),d(p)):(e.consume(p),l||(l=!vn(p)),p===92?h:f)}function h(p){return p===91||p===92||p===93?(e.consume(p),o++,f):f(p)}}function Dte(e,t,n,i,r,s){let a;return o;function o(h){return h===34||h===39||h===40?(e.enter(i),e.enter(r),e.consume(h),e.exit(r),a=h===40?41:h,l):n(h)}function l(h){return h===a?(e.enter(r),e.consume(h),e.exit(r),e.exit(i),t):(e.enter(s),u(h))}function u(h){return h===a?(e.exit(s),l(a)):h===null?n(h):Lt(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),zn(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(h))}function d(h){return h===a||h===null||Lt(h)?(e.exit("chunkString"),u(h)):(e.consume(h),h===92?f:d)}function f(h){return h===a||h===92?(e.consume(h),d):d(h)}}function jb(e,t){let n;return i;function i(r){return Lt(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),n=!0,i):vn(r)?zn(e,i,n?"linePrefix":"lineSuffix")(r):t(r)}}const Yje={name:"definition",tokenize:Wje},Gje={partial:!0,tokenize:Zje};function Wje(e,t,n){const i=this;let r;return s;function s(p){return e.enter("definition"),a(p)}function a(p){return Lte.call(i,e,o,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function o(p){return r=yl(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),l):n(p)}function l(p){return _i(p)?jb(e,u)(p):u(p)}function u(p){return Mte(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function d(p){return e.attempt(Gje,f,f)(p)}function f(p){return vn(p)?zn(e,h,"whitespace")(p):h(p)}function h(p){return p===null||Lt(p)?(e.exit("definition"),i.parser.defined.push(r),t(p)):n(p)}}function Zje(e,t,n){return i;function i(o){return _i(o)?jb(e,r)(o):n(o)}function r(o){return Dte(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(o)}function s(o){return vn(o)?zn(e,a,"whitespace")(o):a(o)}function a(o){return o===null||Lt(o)?t(o):n(o)}}const Kje={name:"hardBreakEscape",tokenize:Jje};function Jje(e,t,n){return i;function i(s){return e.enter("hardBreakEscape"),e.consume(s),r}function r(s){return Lt(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const eMe={name:"headingAtx",resolve:tMe,tokenize:nMe};function tMe(e,t){let n=e.length-2,i=3,r,s;return e[i][1].type==="whitespace"&&(i+=2),n-2>i&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(i===n-1||n-4>i&&e[n-2][1].type==="whitespace")&&(n-=i+1===n?2:4),n>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[n][1].end},s={type:"chunkText",start:e[i][1].start,end:e[n][1].end,contentType:"text"},lo(e,i,n-i+1,[["enter",r,t],["enter",s,t],["exit",s,t],["exit",r,t]])),e}function nMe(e,t,n){let i=0;return r;function r(d){return e.enter("atxHeading"),s(d)}function s(d){return e.enter("atxHeadingSequence"),a(d)}function a(d){return d===35&&i++<6?(e.consume(d),a):d===null||_i(d)?(e.exit("atxHeadingSequence"),o(d)):n(d)}function o(d){return d===35?(e.enter("atxHeadingSequence"),l(d)):d===null||Lt(d)?(e.exit("atxHeading"),t(d)):vn(d)?zn(e,o,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function l(d){return d===35?(e.consume(d),l):(e.exit("atxHeadingSequence"),o(d))}function u(d){return d===null||d===35||_i(d)?(e.exit("atxHeadingText"),o(d)):(e.consume(d),u)}}const iMe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],q9=["pre","script","style","textarea"],rMe={concrete:!0,name:"htmlFlow",resolveTo:oMe,tokenize:lMe},sMe={partial:!0,tokenize:uMe},aMe={partial:!0,tokenize:cMe};function oMe(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function lMe(e,t,n){const i=this;let r,s,a,o,l;return u;function u(U){return d(U)}function d(U){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(U),f}function f(U){return U===33?(e.consume(U),h):U===47?(e.consume(U),s=!0,g):U===63?(e.consume(U),r=3,i.interrupt?t:I):ea(U)?(e.consume(U),a=String.fromCharCode(U),y):n(U)}function h(U){return U===45?(e.consume(U),r=2,p):U===91?(e.consume(U),r=5,o=0,m):ea(U)?(e.consume(U),r=4,i.interrupt?t:I):n(U)}function p(U){return U===45?(e.consume(U),i.interrupt?t:I):n(U)}function m(U){const Y="CDATA[";return U===Y.charCodeAt(o++)?(e.consume(U),o===Y.length?i.interrupt?t:j:m):n(U)}function g(U){return ea(U)?(e.consume(U),a=String.fromCharCode(U),y):n(U)}function y(U){if(U===null||U===47||U===62||_i(U)){const Y=U===47,ae=a.toLowerCase();return!Y&&!s&&q9.includes(ae)?(r=1,i.interrupt?t(U):j(U)):iMe.includes(a.toLowerCase())?(r=6,Y?(e.consume(U),b):i.interrupt?t(U):j(U)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?n(U):s?S(U):x(U))}return U===45||Ds(U)?(e.consume(U),a+=String.fromCharCode(U),y):n(U)}function b(U){return U===62?(e.consume(U),i.interrupt?t:j):n(U)}function S(U){return vn(U)?(e.consume(U),S):A(U)}function x(U){return U===47?(e.consume(U),A):U===58||U===95||ea(U)?(e.consume(U),v):vn(U)?(e.consume(U),x):A(U)}function v(U){return U===45||U===46||U===58||U===95||Ds(U)?(e.consume(U),v):E(U)}function E(U){return U===61?(e.consume(U),w):vn(U)?(e.consume(U),E):x(U)}function w(U){return U===null||U===60||U===61||U===62||U===96?n(U):U===34||U===39?(e.consume(U),l=U,k):vn(U)?(e.consume(U),w):_(U)}function k(U){return U===l?(e.consume(U),l=null,C):U===null||Lt(U)?n(U):(e.consume(U),k)}function _(U){return U===null||U===34||U===39||U===47||U===60||U===61||U===62||U===96||_i(U)?E(U):(e.consume(U),_)}function C(U){return U===47||U===62||vn(U)?x(U):n(U)}function A(U){return U===62?(e.consume(U),R):n(U)}function R(U){return U===null||Lt(U)?j(U):vn(U)?(e.consume(U),R):n(U)}function j(U){return U===45&&r===2?(e.consume(U),N):U===60&&r===1?(e.consume(U),M):U===62&&r===4?(e.consume(U),G):U===63&&r===3?(e.consume(U),I):U===93&&r===5?(e.consume(U),$):Lt(U)&&(r===6||r===7)?(e.exit("htmlFlowData"),e.check(sMe,X,Q)(U)):U===null||Lt(U)?(e.exit("htmlFlowData"),Q(U)):(e.consume(U),j)}function Q(U){return e.check(aMe,L,X)(U)}function L(U){return e.enter("lineEnding"),e.consume(U),e.exit("lineEnding"),D}function D(U){return U===null||Lt(U)?Q(U):(e.enter("htmlFlowData"),j(U))}function N(U){return U===45?(e.consume(U),I):j(U)}function M(U){return U===47?(e.consume(U),a="",B):j(U)}function B(U){if(U===62){const Y=a.toLowerCase();return q9.includes(Y)?(e.consume(U),G):j(U)}return ea(U)&&a.length<8?(e.consume(U),a+=String.fromCharCode(U),B):j(U)}function $(U){return U===93?(e.consume(U),I):j(U)}function I(U){return U===62?(e.consume(U),G):U===45&&r===2?(e.consume(U),I):j(U)}function G(U){return U===null||Lt(U)?(e.exit("htmlFlowData"),X(U)):(e.consume(U),G)}function X(U){return e.exit("htmlFlow"),t(U)}}function cMe(e,t,n){const i=this;return r;function r(a){return Lt(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s):n(a)}function s(a){return i.parser.lazy[i.now().line]?n(a):t(a)}}function uMe(e,t,n){return i;function i(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(Zx,t,n)}}const dMe={name:"htmlText",tokenize:fMe};function fMe(e,t,n){const i=this;let r,s,a;return o;function o(I){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(I),l}function l(I){return I===33?(e.consume(I),u):I===47?(e.consume(I),E):I===63?(e.consume(I),x):ea(I)?(e.consume(I),_):n(I)}function u(I){return I===45?(e.consume(I),d):I===91?(e.consume(I),s=0,m):ea(I)?(e.consume(I),S):n(I)}function d(I){return I===45?(e.consume(I),p):n(I)}function f(I){return I===null?n(I):I===45?(e.consume(I),h):Lt(I)?(a=f,M(I)):(e.consume(I),f)}function h(I){return I===45?(e.consume(I),p):f(I)}function p(I){return I===62?N(I):I===45?h(I):f(I)}function m(I){const G="CDATA[";return I===G.charCodeAt(s++)?(e.consume(I),s===G.length?g:m):n(I)}function g(I){return I===null?n(I):I===93?(e.consume(I),y):Lt(I)?(a=g,M(I)):(e.consume(I),g)}function y(I){return I===93?(e.consume(I),b):g(I)}function b(I){return I===62?N(I):I===93?(e.consume(I),b):g(I)}function S(I){return I===null||I===62?N(I):Lt(I)?(a=S,M(I)):(e.consume(I),S)}function x(I){return I===null?n(I):I===63?(e.consume(I),v):Lt(I)?(a=x,M(I)):(e.consume(I),x)}function v(I){return I===62?N(I):x(I)}function E(I){return ea(I)?(e.consume(I),w):n(I)}function w(I){return I===45||Ds(I)?(e.consume(I),w):k(I)}function k(I){return Lt(I)?(a=k,M(I)):vn(I)?(e.consume(I),k):N(I)}function _(I){return I===45||Ds(I)?(e.consume(I),_):I===47||I===62||_i(I)?C(I):n(I)}function C(I){return I===47?(e.consume(I),N):I===58||I===95||ea(I)?(e.consume(I),A):Lt(I)?(a=C,M(I)):vn(I)?(e.consume(I),C):N(I)}function A(I){return I===45||I===46||I===58||I===95||Ds(I)?(e.consume(I),A):R(I)}function R(I){return I===61?(e.consume(I),j):Lt(I)?(a=R,M(I)):vn(I)?(e.consume(I),R):C(I)}function j(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(e.consume(I),r=I,Q):Lt(I)?(a=j,M(I)):vn(I)?(e.consume(I),j):(e.consume(I),L)}function Q(I){return I===r?(e.consume(I),r=void 0,D):I===null?n(I):Lt(I)?(a=Q,M(I)):(e.consume(I),Q)}function L(I){return I===null||I===34||I===39||I===60||I===61||I===96?n(I):I===47||I===62||_i(I)?C(I):(e.consume(I),L)}function D(I){return I===47||I===62||_i(I)?C(I):n(I)}function N(I){return I===62?(e.consume(I),e.exit("htmlTextData"),e.exit("htmlText"),t):n(I)}function M(I){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),B}function B(I){return vn(I)?zn(e,$,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):$(I)}function $(I){return e.enter("htmlTextData"),a(I)}}const y5={name:"labelEnd",resolveAll:gMe,resolveTo:OMe,tokenize:bMe},hMe={tokenize:yMe},pMe={tokenize:xMe},mMe={tokenize:SMe};function gMe(e){let t=-1;const n=[];for(;++t=3&&(u===null||Lt(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===r?(e.consume(u),i++,l):(e.exit("thematicBreakSequence"),vn(u)?zn(e,o,"whitespace")(u):o(u))}}const ga={continuation:{tokenize:RMe},exit:PMe,name:"list",tokenize:CMe},AMe={partial:!0,tokenize:jMe},NMe={partial:!0,tokenize:IMe};function CMe(e,t,n){const i=this,r=i.events[i.events.length-1];let s=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,a=0;return o;function o(p){const m=i.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!i.containerState.marker||p===i.containerState.marker:NP(p)){if(i.containerState.type||(i.containerState.type=m,e.enter(m,{_container:!0})),m==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(fw,n,u)(p):u(p);if(!i.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(p)}return n(p)}function l(p){return NP(p)&&++a<10?(e.consume(p),l):(!i.interrupt||a<2)&&(i.containerState.marker?p===i.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),u(p)):n(p)}function u(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||p,e.check(Zx,i.interrupt?n:d,e.attempt(AMe,h,f))}function d(p){return i.containerState.initialBlankLine=!0,s++,h(p)}function f(p){return vn(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),h):n(p)}function h(p){return i.containerState.size=s+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(p)}}function RMe(e,t,n){const i=this;return i.containerState._closeFlow=void 0,e.check(Zx,r,s);function r(o){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,zn(e,t,"listItemIndent",i.containerState.size+1)(o)}function s(o){return i.containerState.furtherBlankLines||!vn(o)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,a(o)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(NMe,t,a)(o))}function a(o){return i.containerState._closeFlow=!0,i.interrupt=void 0,zn(e,e.attempt(ga,t,n),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}function IMe(e,t,n){const i=this;return zn(e,r,"listItemIndent",i.containerState.size+1);function r(s){const a=i.events[i.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===i.containerState.size?t(s):n(s)}}function PMe(e){e.exit(this.containerState.type)}function jMe(e,t,n){const i=this;return zn(e,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(s){const a=i.events[i.events.length-1];return!vn(s)&&a&&a[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const H9={name:"setextUnderline",resolveTo:MMe,tokenize:LMe};function MMe(e,t){let n=e.length,i,r,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){i=n;break}e[n][1].type==="paragraph"&&(r=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const a={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",s?(e.splice(r,0,["enter",a,t]),e.splice(s+1,0,["exit",e[i][1],t]),e[i][1].end={...e[s][1].end}):e[i][1]=a,e.push(["exit",a,t]),e}function LMe(e,t,n){const i=this;let r;return s;function s(u){let d=i.events.length,f;for(;d--;)if(i.events[d][1].type!=="lineEnding"&&i.events[d][1].type!=="linePrefix"&&i.events[d][1].type!=="content"){f=i.events[d][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||f)?(e.enter("setextHeadingLine"),r=u,a(u)):n(u)}function a(u){return e.enter("setextHeadingLineSequence"),o(u)}function o(u){return u===r?(e.consume(u),o):(e.exit("setextHeadingLineSequence"),vn(u)?zn(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||Lt(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const DMe={tokenize:$Me};function $Me(e){const t=this,n=e.attempt(Zx,i,e.attempt(this.parser.constructs.flowInitial,r,zn(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Fje,r)),"linePrefix")));return n;function i(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function r(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const QMe={resolveAll:Qte()},BMe=$te("string"),UMe=$te("text");function $te(e){return{resolveAll:Qte(e==="text"?zMe:void 0),tokenize:t};function t(n){const i=this,r=this.parser.constructs[e],s=n.attempt(r,a,o);return a;function a(d){return u(d)?s(d):o(d)}function o(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),l}function l(d){return u(d)?(n.exit("data"),s(d)):(n.consume(d),l)}function u(d){if(d===null)return!0;const f=r[d];let h=-1;if(f)for(;++h-1){const o=a[0];typeof o=="string"?a[0]=o.slice(i):a.shift()}s>0&&a.push(e[r].slice(0,s))}return a}function tLe(e,t){let n=-1;const i=[];let r;for(;++n0){const Me=de.tokenStack[de.tokenStack.length-1];(Me[1]||G9).call(de,void 0,Me[0])}for(oe.position={start:fd(q.length>0?q[0][1].start:{line:1,column:1,offset:0}),end:fd(q.length>0?q[q.length-2][1].end:{line:1,column:1,offset:0})},ce=-1;++ce0&&(i.className=["language-"+r[0]]);let s={type:"element",tagName:"code",properties:i,children:[{type:"text",value:n}]};return t.meta&&(s.data={meta:t.meta}),e.patch(t,s),s=e.applyData(t,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(t,s),s}function hLe(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function pLe(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function mLe(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=String(t.identifier).toUpperCase(),r=v0(i.toLowerCase()),s=e.footnoteOrder.indexOf(i);let a,o=e.footnoteCounts.get(i);o===void 0?(o=0,e.footnoteOrder.push(i),a=e.footnoteOrder.length):a=s+1,o+=1,e.footnoteCounts.set(i,o);const l={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+r,id:n+"fnref-"+r+(o>1?"-"+o:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,u),e.applyData(t,u)}function gLe(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function OLe(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Bte(e,t){const n=t.referenceType;let i="]";if(n==="collapsed"?i+="[]":n==="full"&&(i+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+i}];const r=e.all(t),s=r[0];s&&s.type==="text"?s.value="["+s.value:r.unshift({type:"text",value:"["});const a=r[r.length-1];return a&&a.type==="text"?a.value+=i:r.push({type:"text",value:i}),r}function bLe(e,t){const n=String(t.identifier).toUpperCase(),i=e.definitionById.get(n);if(!i)return Bte(e,t);const r={src:v0(i.url||""),alt:t.alt};i.title!==null&&i.title!==void 0&&(r.title=i.title);const s={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,s),e.applyData(t,s)}function yLe(e,t){const n={src:v0(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const i={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,i),e.applyData(t,i)}function xLe(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const i={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,i),e.applyData(t,i)}function SLe(e,t){const n=String(t.identifier).toUpperCase(),i=e.definitionById.get(n);if(!i)return Bte(e,t);const r={href:v0(i.url||"")};i.title!==null&&i.title!==void 0&&(r.title=i.title);const s={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)}function vLe(e,t){const n={href:v0(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const i={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)}function wLe(e,t,n){const i=e.all(t),r=n?ELe(n):Ute(t),s={},a=[];if(typeof t.checked=="boolean"){const d=i[0];let f;d&&d.type==="element"&&d.tagName==="p"?f=d:(f={type:"element",tagName:"p",properties:{},children:[]},i.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let o=-1;for(;++o0){const Me=de.tokenStack[de.tokenStack.length-1];(Me[1]||G9).call(de,void 0,Me[0])}for(oe.position={start:fd(q.length>0?q[0][1].start:{line:1,column:1,offset:0}),end:fd(q.length>0?q[q.length-2][1].end:{line:1,column:1,offset:0})},ce=-1;++ce0&&(i.className=["language-"+r[0]]);let s={type:"element",tagName:"code",properties:i,children:[{type:"text",value:n}]};return t.meta&&(s.data={meta:t.meta}),e.patch(t,s),s=e.applyData(t,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(t,s),s}function mLe(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function gLe(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function OLe(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=String(t.identifier).toUpperCase(),r=w0(i.toLowerCase()),s=e.footnoteOrder.indexOf(i);let a,o=e.footnoteCounts.get(i);o===void 0?(o=0,e.footnoteOrder.push(i),a=e.footnoteOrder.length):a=s+1,o+=1,e.footnoteCounts.set(i,o);const l={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+r,id:n+"fnref-"+r+(o>1?"-"+o:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,u),e.applyData(t,u)}function bLe(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function yLe(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function zte(e,t){const n=t.referenceType;let i="]";if(n==="collapsed"?i+="[]":n==="full"&&(i+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+i}];const r=e.all(t),s=r[0];s&&s.type==="text"?s.value="["+s.value:r.unshift({type:"text",value:"["});const a=r[r.length-1];return a&&a.type==="text"?a.value+=i:r.push({type:"text",value:i}),r}function xLe(e,t){const n=String(t.identifier).toUpperCase(),i=e.definitionById.get(n);if(!i)return zte(e,t);const r={src:w0(i.url||""),alt:t.alt};i.title!==null&&i.title!==void 0&&(r.title=i.title);const s={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,s),e.applyData(t,s)}function SLe(e,t){const n={src:w0(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const i={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,i),e.applyData(t,i)}function vLe(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const i={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,i),e.applyData(t,i)}function wLe(e,t){const n=String(t.identifier).toUpperCase(),i=e.definitionById.get(n);if(!i)return zte(e,t);const r={href:w0(i.url||"")};i.title!==null&&i.title!==void 0&&(r.title=i.title);const s={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)}function ELe(e,t){const n={href:w0(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const i={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)}function kLe(e,t,n){const i=e.all(t),r=n?TLe(n):Fte(t),s={},a=[];if(typeof t.checked=="boolean"){const d=i[0];let f;d&&d.type==="element"&&d.tagName==="p"?f=d:(f={type:"element",tagName:"p",properties:{},children:[]},i.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let o=-1;for(;++o1}function kLe(e,t){const n={},i=e.all(t);let r=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++r0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},o=_c(t.children[1]),l=e_(t.children[t.children.length-1]);o&&l&&(a.position={start:o,end:l}),r.push(a)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(r,!0)};return e.patch(t,s),e.applyData(t,s)}function CLe(e,t,n){const i=n?n.children:void 0,s=(i?i.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,o=a?a.length:t.children.length;let l=-1;const u=[];for(;++l0,!0),i[0]),r=i.index+i[0].length,i=n.exec(t);return s.push(K9(t.slice(r),r>0,!1)),s.join("")}function K9(e,t,n){let i=0,r=e.length;if(t){let s=e.codePointAt(i);for(;s===W9||s===Z9;)i++,s=e.codePointAt(i)}if(n){let s=e.codePointAt(r-1);for(;s===W9||s===Z9;)r--,s=e.codePointAt(r-1)}return r>i?e.slice(i,r):""}function PLe(e,t){const n={type:"text",value:ILe(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function jLe(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const MLe={blockquote:uLe,break:dLe,code:fLe,delete:hLe,emphasis:pLe,footnoteReference:mLe,heading:gLe,html:OLe,imageReference:bLe,image:yLe,inlineCode:xLe,linkReference:SLe,link:vLe,listItem:wLe,list:kLe,paragraph:TLe,root:_Le,strong:ALe,table:NLe,tableCell:RLe,tableRow:CLe,text:PLe,thematicBreak:jLe,toml:CS,yaml:CS,definition:CS,footnoteDefinition:CS};function CS(){}const zte=-1,i_=0,Mb=1,qE=2,x$=3,S$=4,v$=5,w$=6,Fte=7,Vte=8,LLe=typeof self=="object"?self:globalThis,J9=(e,t)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new LLe[e](t)},DLe=(e,t)=>{const n=(r,s)=>(e.set(s,r),r),i=r=>{if(e.has(r))return e.get(r);const[s,a]=t[r];switch(s){case i_:case zte:return n(a,r);case Mb:{const o=n([],r);for(const l of a)o.push(i(l));return o}case qE:{const o=n({},r);for(const[l,u]of a)o[i(l)]=i(u);return o}case x$:return n(new Date(a),r);case S$:{const{source:o,flags:l}=a;return n(new RegExp(o,l),r)}case v$:{const o=n(new Map,r);for(const[l,u]of a)o.set(i(l),i(u));return o}case w$:{const o=n(new Set,r);for(const l of a)o.add(i(l));return o}case Fte:{const{name:o,message:l}=a;return n(J9(o,l),r)}case Vte:return n(BigInt(a),r);case"BigInt":return n(Object(BigInt(a)),r);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:o}=new Uint8Array(a);return n(new DataView(o),a)}}return n(J9(s,a),r)};return i},eU=e=>DLe(new Map,e)(0),Mp="",{toString:$Le}={},{keys:QLe}=Object,xO=e=>{const t=typeof e;if(t!=="object"||!e)return[i_,t];const n=$Le.call(e).slice(8,-1);switch(n){case"Array":return[Mb,Mp];case"Object":return[qE,Mp];case"Date":return[x$,Mp];case"RegExp":return[S$,Mp];case"Map":return[v$,Mp];case"Set":return[w$,Mp];case"DataView":return[Mb,n]}return n.includes("Array")?[Mb,n]:n.includes("Error")?[Fte,n]:[qE,n]},RS=([e,t])=>e===i_&&(t==="function"||t==="symbol"),BLe=(e,t,n,i)=>{const r=(a,o)=>{const l=i.push(a)-1;return n.set(o,l),l},s=a=>{if(n.has(a))return n.get(a);let[o,l]=xO(a);switch(o){case i_:{let d=a;switch(l){case"bigint":o=Vte,d=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);d=null;break;case"undefined":return r([zte],a)}return r([o,d],a)}case Mb:{if(l){let h=a;return l==="DataView"?h=new Uint8Array(a.buffer):l==="ArrayBuffer"&&(h=new Uint8Array(a)),r([l,[...h]],a)}const d=[],f=r([o,d],a);for(const h of a)d.push(s(h));return f}case qE:{if(l)switch(l){case"BigInt":return r([l,a.toString()],a);case"Boolean":case"Number":case"String":return r([l,a.valueOf()],a)}if(t&&"toJSON"in a)return s(a.toJSON());const d=[],f=r([o,d],a);for(const h of QLe(a))(e||!RS(xO(a[h])))&&d.push([s(h),s(a[h])]);return f}case x$:return r([o,a.toISOString()],a);case S$:{const{source:d,flags:f}=a;return r([o,{source:d,flags:f}],a)}case v$:{const d=[],f=r([o,d],a);for(const[h,p]of a)(e||!(RS(xO(h))||RS(xO(p))))&&d.push([s(h),s(p)]);return f}case w$:{const d=[],f=r([o,d],a);for(const h of a)(e||!RS(xO(h)))&&d.push(s(h));return f}}const{message:u}=a;return r([o,{name:l,message:u}],a)};return s},tU=(e,{json:t,lossy:n}={})=>{const i=[];return BLe(!(t||n),!!t,new Map,i)(e),i},Qg=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?eU(tU(e,t)):structuredClone(e):(e,t)=>eU(tU(e,t));function ULe(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function zLe(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function FLe(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||ULe,i=e.options.footnoteBackLabel||zLe,r=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},o=[];let l=-1;for(;++l0&&m.push({type:"text",value:" "});let S=typeof n=="string"?n:n(l,p);typeof S=="string"&&(S={type:"text",value:S}),m.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+h+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(l,p),className:["data-footnote-backref"]},children:Array.isArray(S)?S:[S]})}const y=d[d.length-1];if(y&&y.type==="element"&&y.tagName==="p"){const S=y.children[y.children.length-1];S&&S.type==="text"?S.value+=" ":y.children.push({type:"text",value:" "}),y.children.push(...m)}else d.push(...m);const b={type:"element",tagName:"li",properties:{id:t+"fn-"+h},children:e.wrap(d,!0)};e.patch(u,b),o.push(b)}if(o.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...Qg(a),id:"footnote-label"},children:[{type:"text",value:r}]},{type:"text",value:` +`});const u={type:"element",tagName:"li",properties:s,children:a};return e.patch(t,u),e.applyData(t,u)}function TLe(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let i=-1;for(;!t&&++i1}function _Le(e,t){const n={},i=e.all(t);let r=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++r0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},o=_c(t.children[1]),l=e_(t.children[t.children.length-1]);o&&l&&(a.position={start:o,end:l}),r.push(a)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(r,!0)};return e.patch(t,s),e.applyData(t,s)}function ILe(e,t,n){const i=n?n.children:void 0,s=(i?i.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,o=a?a.length:t.children.length;let l=-1;const u=[];for(;++l0,!0),i[0]),r=i.index+i[0].length,i=n.exec(t);return s.push(K9(t.slice(r),r>0,!1)),s.join("")}function K9(e,t,n){let i=0,r=e.length;if(t){let s=e.codePointAt(i);for(;s===W9||s===Z9;)i++,s=e.codePointAt(i)}if(n){let s=e.codePointAt(r-1);for(;s===W9||s===Z9;)r--,s=e.codePointAt(r-1)}return r>i?e.slice(i,r):""}function MLe(e,t){const n={type:"text",value:jLe(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function LLe(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const DLe={blockquote:fLe,break:hLe,code:pLe,delete:mLe,emphasis:gLe,footnoteReference:OLe,heading:bLe,html:yLe,imageReference:xLe,image:SLe,inlineCode:vLe,linkReference:wLe,link:ELe,listItem:kLe,list:_Le,paragraph:ALe,root:NLe,strong:CLe,table:RLe,tableCell:PLe,tableRow:ILe,text:MLe,thematicBreak:LLe,toml:CS,yaml:CS,definition:CS,footnoteDefinition:CS};function CS(){}const Vte=-1,i_=0,Mb=1,qE=2,x5=3,S5=4,v5=5,w5=6,Xte=7,qte=8,$Le=typeof self=="object"?self:globalThis,J9=(e,t)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new $Le[e](t)},QLe=(e,t)=>{const n=(r,s)=>(e.set(s,r),r),i=r=>{if(e.has(r))return e.get(r);const[s,a]=t[r];switch(s){case i_:case Vte:return n(a,r);case Mb:{const o=n([],r);for(const l of a)o.push(i(l));return o}case qE:{const o=n({},r);for(const[l,u]of a)o[i(l)]=i(u);return o}case x5:return n(new Date(a),r);case S5:{const{source:o,flags:l}=a;return n(new RegExp(o,l),r)}case v5:{const o=n(new Map,r);for(const[l,u]of a)o.set(i(l),i(u));return o}case w5:{const o=n(new Set,r);for(const l of a)o.add(i(l));return o}case Xte:{const{name:o,message:l}=a;return n(J9(o,l),r)}case qte:return n(BigInt(a),r);case"BigInt":return n(Object(BigInt(a)),r);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:o}=new Uint8Array(a);return n(new DataView(o),a)}}return n(J9(s,a),r)};return i},eU=e=>QLe(new Map,e)(0),Mp="",{toString:BLe}={},{keys:ULe}=Object,SO=e=>{const t=typeof e;if(t!=="object"||!e)return[i_,t];const n=BLe.call(e).slice(8,-1);switch(n){case"Array":return[Mb,Mp];case"Object":return[qE,Mp];case"Date":return[x5,Mp];case"RegExp":return[S5,Mp];case"Map":return[v5,Mp];case"Set":return[w5,Mp];case"DataView":return[Mb,n]}return n.includes("Array")?[Mb,n]:n.includes("Error")?[Xte,n]:[qE,n]},RS=([e,t])=>e===i_&&(t==="function"||t==="symbol"),zLe=(e,t,n,i)=>{const r=(a,o)=>{const l=i.push(a)-1;return n.set(o,l),l},s=a=>{if(n.has(a))return n.get(a);let[o,l]=SO(a);switch(o){case i_:{let d=a;switch(l){case"bigint":o=qte,d=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);d=null;break;case"undefined":return r([Vte],a)}return r([o,d],a)}case Mb:{if(l){let h=a;return l==="DataView"?h=new Uint8Array(a.buffer):l==="ArrayBuffer"&&(h=new Uint8Array(a)),r([l,[...h]],a)}const d=[],f=r([o,d],a);for(const h of a)d.push(s(h));return f}case qE:{if(l)switch(l){case"BigInt":return r([l,a.toString()],a);case"Boolean":case"Number":case"String":return r([l,a.valueOf()],a)}if(t&&"toJSON"in a)return s(a.toJSON());const d=[],f=r([o,d],a);for(const h of ULe(a))(e||!RS(SO(a[h])))&&d.push([s(h),s(a[h])]);return f}case x5:return r([o,a.toISOString()],a);case S5:{const{source:d,flags:f}=a;return r([o,{source:d,flags:f}],a)}case v5:{const d=[],f=r([o,d],a);for(const[h,p]of a)(e||!(RS(SO(h))||RS(SO(p))))&&d.push([s(h),s(p)]);return f}case w5:{const d=[],f=r([o,d],a);for(const h of a)(e||!RS(SO(h)))&&d.push(s(h));return f}}const{message:u}=a;return r([o,{name:l,message:u}],a)};return s},tU=(e,{json:t,lossy:n}={})=>{const i=[];return zLe(!(t||n),!!t,new Map,i)(e),i},Bg=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?eU(tU(e,t)):structuredClone(e):(e,t)=>eU(tU(e,t));function FLe(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function VLe(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function XLe(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||FLe,i=e.options.footnoteBackLabel||VLe,r=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},o=[];let l=-1;for(;++l0&&m.push({type:"text",value:" "});let S=typeof n=="string"?n:n(l,p);typeof S=="string"&&(S={type:"text",value:S}),m.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+h+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(l,p),className:["data-footnote-backref"]},children:Array.isArray(S)?S:[S]})}const y=d[d.length-1];if(y&&y.type==="element"&&y.tagName==="p"){const S=y.children[y.children.length-1];S&&S.type==="text"?S.value+=" ":y.children.push({type:"text",value:" "}),y.children.push(...m)}else d.push(...m);const b={type:"element",tagName:"li",properties:{id:t+"fn-"+h},children:e.wrap(d,!0)};e.patch(u,b),o.push(b)}if(o.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...Bg(a),id:"footnote-label"},children:[{type:"text",value:r}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:e.wrap(o,!0)},{type:"text",value:` -`}]}}const Kx=function(e){if(e==null)return HLe;if(typeof e=="function")return r_(e);if(typeof e=="object")return Array.isArray(e)?VLe(e):XLe(e);if(typeof e=="string")return qLe(e);throw new Error("Expected function, string, or object as test")};function VLe(e){const t=[];let n=-1;for(;++n":""))+")"})}return h;function h(){let p=Xte,m,g,y;if((!t||s(l,u,d[d.length-1]||void 0))&&(p=ZLe(n(l,d)),p[0]===RP))return p;if("children"in l&&l.children){const b=l;if(b.children&&p[0]!==WLe)for(g=(i?b.children.length:-1)+a,y=d.concat(b);g>-1&&g":""))+")"})}return h;function h(){let p=Hte,m,g,y;if((!t||s(l,u,d[d.length-1]||void 0))&&(p=JLe(n(l,d)),p[0]===RP))return p;if("children"in l&&l.children){const b=l;if(b.children&&p[0]!==KLe)for(g=(i?b.children.length:-1)+a,y=d.concat(b);g>-1&&g0&&n.push({type:"text",value:` -`}),n}function nU(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function iU(e,t){const n=JLe(e,t),i=n.one(e,void 0),r=FLe(n),s=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return r&&s.children.push({type:"text",value:` -`},r),s}function rDe(e,t){return e&&"run"in e?async function(n,i){const r=iU(n,{file:i,...t});await e.run(r,i)}:function(n,i){return iU(n,{file:i,...e||t})}}function rU(e){if(e)throw e}var hw=Object.prototype.hasOwnProperty,Hte=Object.prototype.toString,sU=Object.defineProperty,aU=Object.getOwnPropertyDescriptor,oU=function(t){return typeof Array.isArray=="function"?Array.isArray(t):Hte.call(t)==="[object Array]"},lU=function(t){if(!t||Hte.call(t)!=="[object Object]")return!1;var n=hw.call(t,"constructor"),i=t.constructor&&t.constructor.prototype&&hw.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!i)return!1;var r;for(r in t);return typeof r>"u"||hw.call(t,r)},cU=function(t,n){sU&&n.name==="__proto__"?sU(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},uU=function(t,n){if(n==="__proto__")if(hw.call(t,n)){if(aU)return aU(t,n).value}else return;return t[n]},sDe=function e(){var t,n,i,r,s,a,o=arguments[0],l=1,u=arguments.length,d=!1;for(typeof o=="boolean"&&(d=o,o=arguments[1]||{},l=2),(o==null||typeof o!="object"&&typeof o!="function")&&(o={});la.length;let l;o&&a.push(r);try{l=e.apply(this,a)}catch(u){const d=u;if(o&&n)throw d;return r(d)}o||(l&&l.then&&typeof l.then=="function"?l.then(s,r):l instanceof Error?r(l):s(l))}function r(a,...o){n||(n=!0,t(a,...o))}function s(a){r(null,a)}}const Gl={basename:lDe,dirname:cDe,extname:uDe,join:dDe,sep:"/"};function lDe(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');e1(e);let n=0,i=-1,r=e.length,s;if(t===void 0||t.length===0||t.length>e.length){for(;r--;)if(e.codePointAt(r)===47){if(s){n=r+1;break}}else i<0&&(s=!0,i=r+1);return i<0?"":e.slice(n,i)}if(t===e)return"";let a=-1,o=t.length-1;for(;r--;)if(e.codePointAt(r)===47){if(s){n=r+1;break}}else a<0&&(s=!0,a=r+1),o>-1&&(e.codePointAt(r)===t.codePointAt(o--)?o<0&&(i=r):(o=-1,i=a));return n===i?i=a:i<0&&(i=e.length),e.slice(n,i)}function cDe(e){if(e1(e),e.length===0)return".";let t=-1,n=e.length,i;for(;--n;)if(e.codePointAt(n)===47){if(i){t=n;break}}else i||(i=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function uDe(e){e1(e);let t=e.length,n=-1,i=0,r=-1,s=0,a;for(;t--;){const o=e.codePointAt(t);if(o===47){if(a){i=t+1;break}continue}n<0&&(a=!0,n=t+1),o===46?r<0?r=t:s!==1&&(s=1):r>-1&&(s=-1)}return r<0||n<0||s===0||s===1&&r===n-1&&r===i+1?"":e.slice(r,n)}function dDe(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function hDe(e,t){let n="",i=0,r=-1,s=0,a=-1,o,l;for(;++a<=e.length;){if(a2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",i=0):(n=n.slice(0,l),i=n.length-1-n.lastIndexOf("/")),r=a,s=0;continue}}else if(n.length>0){n="",i=0,r=a,s=0;continue}}t&&(n=n.length>0?n+"/..":"..",i=2)}else n.length>0?n+="/"+e.slice(r+1,a):n=e.slice(r+1,a),i=a-r-1;r=a,s=0}else o===46&&s>-1?s++:s=-1}return n}function e1(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const pDe={cwd:mDe};function mDe(){return"/"}function jP(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function gDe(e){if(typeof e=="string")e=new URL(e);else if(!jP(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return ODe(e)}function ODe(e){if(e.hostname!==""){const i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}const t=e.pathname;let n=-1;for(;++n0){let[p,...m]=d;const g=i[h][1];PP(g)&&PP(p)&&(p=c2(!0,g,p)),i[h]=[u,p,...m]}}}}const SDe=new E$().freeze();function h2(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function p2(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function m2(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function fU(e){if(!PP(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function hU(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function IS(e){return vDe(e)?e:new Yte(e)}function vDe(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function wDe(e){return typeof e=="string"||EDe(e)}function EDe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const kDe="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",pU=[],mU={allowDangerousHtml:!0},TDe=/^(https?|ircs?|mailto|xmpp)$/i,_De=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function ADe(e){const t=NDe(e),n=CDe(e);return RDe(t.runSync(t.parse(n),n),e)}function NDe(e){const t=e.rehypePlugins||pU,n=e.remarkPlugins||pU,i=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...mU}:mU;return SDe().use(cLe).use(n).use(rDe,i).use(t)}function CDe(e){const t=e.children||"",n=new Yte;return typeof t=="string"&&(n.value=t),n}function RDe(e,t){const n=t.allowedElements,i=t.allowElement,r=t.components,s=t.disallowedElements,a=t.skipHtml,o=t.unwrapDisallowed,l=t.urlTransform||IDe;for(const d of _De)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+kDe+d.id,void 0);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:e.type==="root"?e.children:[e]}),Jx(e,u),qPe(e,{Fragment:c.Fragment,components:r,ignoreInvalidStyle:!0,jsx:c.jsx,jsxs:c.jsxs,passKeys:!0,passNode:!0});function u(d,f,h){if(d.type==="raw"&&h&&typeof f=="number")return a?h.children.splice(f,1):h.children[f]={type:"text",value:d.value},f;if(d.type==="element"){let p;for(p in a2)if(Object.hasOwn(a2,p)&&Object.hasOwn(d.properties,p)){const m=d.properties[p],g=a2[p];(g===null||g.includes(d.tagName))&&(d.properties[p]=l(String(m||""),p,d))}}if(d.type==="element"){let p=n?!n.includes(d.tagName):s?s.includes(d.tagName):!1;if(!p&&i&&typeof f=="number"&&(p=!i(d,f,h)),p&&h&&typeof f=="number")return o&&d.children?h.children.splice(f,1,...d.children):h.children.splice(f,1),f}}}function IDe(e){const t=e.indexOf(":"),n=e.indexOf("?"),i=e.indexOf("#"),r=e.indexOf("/");return t===-1||r!==-1&&t>r||n!==-1&&t>n||i!==-1&&t>i||TDe.test(e.slice(0,t))?e:""}function gU(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let i=0,r=n.indexOf(t);for(;r!==-1;)i++,r=n.indexOf(t,r+t.length);return i}function PDe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function jDe(e,t,n){const r=Kx((n||{}).ignore||[]),s=MDe(t);let a=-1;for(;++a0?{type:"text",value:w}:void 0),w===!1?h.lastIndex=v+1:(m!==v&&S.push({type:"text",value:u.value.slice(m,v)}),Array.isArray(w)?S.push(...w):w&&S.push(w),m=v+x[0].length,b=!0),!h.global)break;x=h.exec(u.value)}return b?(m?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],i=n.indexOf(")");const r=gU(e,"(");let s=gU(e,")");for(;i!==-1&&r>s;)e+=n.slice(0,i+1),n=n.slice(i+1),i=n.indexOf(")"),s++;return[e,n]}function Gte(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Wh(n)||t_(n))&&(!t||n!==47)}Wte.peek=r$e;function WDe(){this.buffer()}function ZDe(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function KDe(){this.buffer()}function JDe(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function e$e(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=yl(this.sliceSerialize(e)).toLowerCase(),n.label=t}function t$e(e){this.exit(e)}function n$e(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=yl(this.sliceSerialize(e)).toLowerCase(),n.label=t}function i$e(e){this.exit(e)}function r$e(){return"["}function Wte(e,t,n,i){const r=n.createTracker(i);let s=r.move("[^");const a=n.enter("footnoteReference"),o=n.enter("reference");return s+=r.move(n.safe(n.associationId(e),{after:"]",before:s})),o(),a(),s+=r.move("]"),s}function s$e(){return{enter:{gfmFootnoteCallString:WDe,gfmFootnoteCall:ZDe,gfmFootnoteDefinitionLabelString:KDe,gfmFootnoteDefinition:JDe},exit:{gfmFootnoteCallString:e$e,gfmFootnoteCall:t$e,gfmFootnoteDefinitionLabelString:n$e,gfmFootnoteDefinition:i$e}}}function a$e(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:Wte},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(i,r,s,a){const o=s.createTracker(a);let l=o.move("[^");const u=s.enter("footnoteDefinition"),d=s.enter("label");return l+=o.move(s.safe(s.associationId(i),{before:l,after:"]"})),d(),l+=o.move("]:"),i.children&&i.children.length>0&&(o.shift(4),l+=o.move((t?` -`:" ")+s.indentLines(s.containerFlow(i,o.current()),t?Zte:o$e))),u(),l}}function o$e(e,t,n){return t===0?e:Zte(e,t,n)}function Zte(e,t,n){return(n?"":" ")+e}const l$e=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Kte.peek=h$e;function c$e(){return{canContainEols:["delete"],enter:{strikethrough:d$e},exit:{strikethrough:f$e}}}function u$e(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:l$e}],handlers:{delete:Kte}}}function d$e(e){this.enter({type:"delete",children:[]},e)}function f$e(e){this.exit(e)}function Kte(e,t,n,i){const r=n.createTracker(i),s=n.enter("strikethrough");let a=r.move("~~");return a+=n.containerPhrasing(e,{...r.current(),before:a,after:"~"}),a+=r.move("~~"),s(),a}function h$e(){return"~"}function p$e(e){return e.length}function m$e(e,t){const n=t||{},i=(n.align||[]).concat(),r=n.stringLength||p$e,s=[],a=[],o=[],l=[];let u=0,d=-1;for(;++du&&(u=e[d].length);++bl[b])&&(l[b]=x)}g.push(S)}a[d]=g,o[d]=y}let f=-1;if(typeof i=="object"&&"length"in i)for(;++fl[f]&&(l[f]=S),p[f]=S),h[f]=x}a.splice(1,0,h),o.splice(1,0,p),d=-1;const m=[];for(;++d "),s.shift(2);const a=n.indentLines(n.containerFlow(e,s.current()),b$e);return r(),a}function b$e(e,t,n){return">"+(n?"":" ")+e}function y$e(e,t){return yU(e,t.inConstruct,!0)&&!yU(e,t.notInConstruct,!1)}function yU(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let i=-1;for(;++ia&&(a=s):s=1,r=i+t.length,i=n.indexOf(t,r);return a}function S$e(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function v$e(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function w$e(e,t,n,i){const r=v$e(n),s=e.value||"",a=r==="`"?"GraveAccent":"Tilde";if(S$e(e,n)){const f=n.enter("codeIndented"),h=n.indentLines(s,E$e);return f(),h}const o=n.createTracker(i),l=r.repeat(Math.max(x$e(s,r)+1,3)),u=n.enter("codeFenced");let d=o.move(l);if(e.lang){const f=n.enter(`codeFencedLang${a}`);d+=o.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...o.current()})),f()}if(e.lang&&e.meta){const f=n.enter(`codeFencedMeta${a}`);d+=o.move(" "),d+=o.move(n.safe(e.meta,{before:d,after:` +`}),n}function nU(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function iU(e,t){const n=tDe(e,t),i=n.one(e,void 0),r=XLe(n),s=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return r&&s.children.push({type:"text",value:` +`},r),s}function aDe(e,t){return e&&"run"in e?async function(n,i){const r=iU(n,{file:i,...t});await e.run(r,i)}:function(n,i){return iU(n,{file:i,...e||t})}}function rU(e){if(e)throw e}var hw=Object.prototype.hasOwnProperty,Gte=Object.prototype.toString,sU=Object.defineProperty,aU=Object.getOwnPropertyDescriptor,oU=function(t){return typeof Array.isArray=="function"?Array.isArray(t):Gte.call(t)==="[object Array]"},lU=function(t){if(!t||Gte.call(t)!=="[object Object]")return!1;var n=hw.call(t,"constructor"),i=t.constructor&&t.constructor.prototype&&hw.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!i)return!1;var r;for(r in t);return typeof r>"u"||hw.call(t,r)},cU=function(t,n){sU&&n.name==="__proto__"?sU(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},uU=function(t,n){if(n==="__proto__")if(hw.call(t,n)){if(aU)return aU(t,n).value}else return;return t[n]},oDe=function e(){var t,n,i,r,s,a,o=arguments[0],l=1,u=arguments.length,d=!1;for(typeof o=="boolean"&&(d=o,o=arguments[1]||{},l=2),(o==null||typeof o!="object"&&typeof o!="function")&&(o={});la.length;let l;o&&a.push(r);try{l=e.apply(this,a)}catch(u){const d=u;if(o&&n)throw d;return r(d)}o||(l&&l.then&&typeof l.then=="function"?l.then(s,r):l instanceof Error?r(l):s(l))}function r(a,...o){n||(n=!0,t(a,...o))}function s(a){r(null,a)}}const Gl={basename:uDe,dirname:dDe,extname:fDe,join:hDe,sep:"/"};function uDe(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');e1(e);let n=0,i=-1,r=e.length,s;if(t===void 0||t.length===0||t.length>e.length){for(;r--;)if(e.codePointAt(r)===47){if(s){n=r+1;break}}else i<0&&(s=!0,i=r+1);return i<0?"":e.slice(n,i)}if(t===e)return"";let a=-1,o=t.length-1;for(;r--;)if(e.codePointAt(r)===47){if(s){n=r+1;break}}else a<0&&(s=!0,a=r+1),o>-1&&(e.codePointAt(r)===t.codePointAt(o--)?o<0&&(i=r):(o=-1,i=a));return n===i?i=a:i<0&&(i=e.length),e.slice(n,i)}function dDe(e){if(e1(e),e.length===0)return".";let t=-1,n=e.length,i;for(;--n;)if(e.codePointAt(n)===47){if(i){t=n;break}}else i||(i=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function fDe(e){e1(e);let t=e.length,n=-1,i=0,r=-1,s=0,a;for(;t--;){const o=e.codePointAt(t);if(o===47){if(a){i=t+1;break}continue}n<0&&(a=!0,n=t+1),o===46?r<0?r=t:s!==1&&(s=1):r>-1&&(s=-1)}return r<0||n<0||s===0||s===1&&r===n-1&&r===i+1?"":e.slice(r,n)}function hDe(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function mDe(e,t){let n="",i=0,r=-1,s=0,a=-1,o,l;for(;++a<=e.length;){if(a2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",i=0):(n=n.slice(0,l),i=n.length-1-n.lastIndexOf("/")),r=a,s=0;continue}}else if(n.length>0){n="",i=0,r=a,s=0;continue}}t&&(n=n.length>0?n+"/..":"..",i=2)}else n.length>0?n+="/"+e.slice(r+1,a):n=e.slice(r+1,a),i=a-r-1;r=a,s=0}else o===46&&s>-1?s++:s=-1}return n}function e1(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const gDe={cwd:ODe};function ODe(){return"/"}function jP(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function bDe(e){if(typeof e=="string")e=new URL(e);else if(!jP(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return yDe(e)}function yDe(e){if(e.hostname!==""){const i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}const t=e.pathname;let n=-1;for(;++n0){let[p,...m]=d;const g=i[h][1];PP(g)&&PP(p)&&(p=cN(!0,g,p)),i[h]=[u,p,...m]}}}}const wDe=new E5().freeze();function hN(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function pN(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function mN(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function fU(e){if(!PP(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function hU(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function IS(e){return EDe(e)?e:new Wte(e)}function EDe(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function kDe(e){return typeof e=="string"||TDe(e)}function TDe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const _De="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",pU=[],mU={allowDangerousHtml:!0},ADe=/^(https?|ircs?|mailto|xmpp)$/i,NDe=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function CDe(e){const t=RDe(e),n=IDe(e);return PDe(t.runSync(t.parse(n),n),e)}function RDe(e){const t=e.rehypePlugins||pU,n=e.remarkPlugins||pU,i=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...mU}:mU;return wDe().use(dLe).use(n).use(aDe,i).use(t)}function IDe(e){const t=e.children||"",n=new Wte;return typeof t=="string"&&(n.value=t),n}function PDe(e,t){const n=t.allowedElements,i=t.allowElement,r=t.components,s=t.disallowedElements,a=t.skipHtml,o=t.unwrapDisallowed,l=t.urlTransform||jDe;for(const d of NDe)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+_De+d.id,void 0);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:e.type==="root"?e.children:[e]}),Jx(e,u),YPe(e,{Fragment:c.Fragment,components:r,ignoreInvalidStyle:!0,jsx:c.jsx,jsxs:c.jsxs,passKeys:!0,passNode:!0});function u(d,f,h){if(d.type==="raw"&&h&&typeof f=="number")return a?h.children.splice(f,1):h.children[f]={type:"text",value:d.value},f;if(d.type==="element"){let p;for(p in aN)if(Object.hasOwn(aN,p)&&Object.hasOwn(d.properties,p)){const m=d.properties[p],g=aN[p];(g===null||g.includes(d.tagName))&&(d.properties[p]=l(String(m||""),p,d))}}if(d.type==="element"){let p=n?!n.includes(d.tagName):s?s.includes(d.tagName):!1;if(!p&&i&&typeof f=="number"&&(p=!i(d,f,h)),p&&h&&typeof f=="number")return o&&d.children?h.children.splice(f,1,...d.children):h.children.splice(f,1),f}}}function jDe(e){const t=e.indexOf(":"),n=e.indexOf("?"),i=e.indexOf("#"),r=e.indexOf("/");return t===-1||r!==-1&&t>r||n!==-1&&t>n||i!==-1&&t>i||ADe.test(e.slice(0,t))?e:""}function gU(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let i=0,r=n.indexOf(t);for(;r!==-1;)i++,r=n.indexOf(t,r+t.length);return i}function MDe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function LDe(e,t,n){const r=Kx((n||{}).ignore||[]),s=DDe(t);let a=-1;for(;++a0?{type:"text",value:w}:void 0),w===!1?h.lastIndex=v+1:(m!==v&&S.push({type:"text",value:u.value.slice(m,v)}),Array.isArray(w)?S.push(...w):w&&S.push(w),m=v+x[0].length,b=!0),!h.global)break;x=h.exec(u.value)}return b?(m?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],i=n.indexOf(")");const r=gU(e,"(");let s=gU(e,")");for(;i!==-1&&r>s;)e+=n.slice(0,i+1),n=n.slice(i+1),i=n.indexOf(")"),s++;return[e,n]}function Zte(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Wh(n)||t_(n))&&(!t||n!==47)}Kte.peek=a5e;function KDe(){this.buffer()}function JDe(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function e5e(){this.buffer()}function t5e(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function n5e(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=yl(this.sliceSerialize(e)).toLowerCase(),n.label=t}function i5e(e){this.exit(e)}function r5e(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=yl(this.sliceSerialize(e)).toLowerCase(),n.label=t}function s5e(e){this.exit(e)}function a5e(){return"["}function Kte(e,t,n,i){const r=n.createTracker(i);let s=r.move("[^");const a=n.enter("footnoteReference"),o=n.enter("reference");return s+=r.move(n.safe(n.associationId(e),{after:"]",before:s})),o(),a(),s+=r.move("]"),s}function o5e(){return{enter:{gfmFootnoteCallString:KDe,gfmFootnoteCall:JDe,gfmFootnoteDefinitionLabelString:e5e,gfmFootnoteDefinition:t5e},exit:{gfmFootnoteCallString:n5e,gfmFootnoteCall:i5e,gfmFootnoteDefinitionLabelString:r5e,gfmFootnoteDefinition:s5e}}}function l5e(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:Kte},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(i,r,s,a){const o=s.createTracker(a);let l=o.move("[^");const u=s.enter("footnoteDefinition"),d=s.enter("label");return l+=o.move(s.safe(s.associationId(i),{before:l,after:"]"})),d(),l+=o.move("]:"),i.children&&i.children.length>0&&(o.shift(4),l+=o.move((t?` +`:" ")+s.indentLines(s.containerFlow(i,o.current()),t?Jte:c5e))),u(),l}}function c5e(e,t,n){return t===0?e:Jte(e,t,n)}function Jte(e,t,n){return(n?"":" ")+e}const u5e=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];ene.peek=m5e;function d5e(){return{canContainEols:["delete"],enter:{strikethrough:h5e},exit:{strikethrough:p5e}}}function f5e(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:u5e}],handlers:{delete:ene}}}function h5e(e){this.enter({type:"delete",children:[]},e)}function p5e(e){this.exit(e)}function ene(e,t,n,i){const r=n.createTracker(i),s=n.enter("strikethrough");let a=r.move("~~");return a+=n.containerPhrasing(e,{...r.current(),before:a,after:"~"}),a+=r.move("~~"),s(),a}function m5e(){return"~"}function g5e(e){return e.length}function O5e(e,t){const n=t||{},i=(n.align||[]).concat(),r=n.stringLength||g5e,s=[],a=[],o=[],l=[];let u=0,d=-1;for(;++du&&(u=e[d].length);++bl[b])&&(l[b]=x)}g.push(S)}a[d]=g,o[d]=y}let f=-1;if(typeof i=="object"&&"length"in i)for(;++fl[f]&&(l[f]=S),p[f]=S),h[f]=x}a.splice(1,0,h),o.splice(1,0,p),d=-1;const m=[];for(;++d "),s.shift(2);const a=n.indentLines(n.containerFlow(e,s.current()),x5e);return r(),a}function x5e(e,t,n){return">"+(n?"":" ")+e}function S5e(e,t){return yU(e,t.inConstruct,!0)&&!yU(e,t.notInConstruct,!1)}function yU(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let i=-1;for(;++ia&&(a=s):s=1,r=i+t.length,i=n.indexOf(t,r);return a}function w5e(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function E5e(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function k5e(e,t,n,i){const r=E5e(n),s=e.value||"",a=r==="`"?"GraveAccent":"Tilde";if(w5e(e,n)){const f=n.enter("codeIndented"),h=n.indentLines(s,T5e);return f(),h}const o=n.createTracker(i),l=r.repeat(Math.max(v5e(s,r)+1,3)),u=n.enter("codeFenced");let d=o.move(l);if(e.lang){const f=n.enter(`codeFencedLang${a}`);d+=o.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...o.current()})),f()}if(e.lang&&e.meta){const f=n.enter(`codeFencedMeta${a}`);d+=o.move(" "),d+=o.move(n.safe(e.meta,{before:d,after:` `,encode:["`"],...o.current()})),f()}return d+=o.move(` `),s&&(d+=o.move(s+` -`)),d+=o.move(l),u(),d}function E$e(e,t,n){return(n?"":" ")+e}function k$(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function k$e(e,t,n,i){const r=k$(n),s=r==='"'?"Quote":"Apostrophe",a=n.enter("definition");let o=n.enter("label");const l=n.createTracker(i);let u=l.move("[");return u+=l.move(n.safe(n.associationId(e),{before:u,after:"]",...l.current()})),u+=l.move("]: "),o(),!e.url||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(o=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":` -`,...l.current()}))),o(),e.title&&(o=n.enter(`title${s}`),u+=l.move(" "+r),u+=l.move(n.safe(e.title,{before:u,after:r,...l.current()})),u+=l.move(r),o()),a(),u}function T$e(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function By(e){return"&#x"+e.toString(16).toUpperCase()+";"}function HE(e,t,n){const i=$g(e),r=$g(t);return i===void 0?r===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:r===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:i===1?r===void 0?{inside:!1,outside:!1}:r===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:r===void 0?{inside:!1,outside:!1}:r===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}ene.peek=_$e;function ene(e,t,n,i){const r=T$e(n),s=n.enter("emphasis"),a=n.createTracker(i),o=a.move(r);let l=a.move(n.containerPhrasing(e,{after:r,before:o,...a.current()}));const u=l.charCodeAt(0),d=HE(i.before.charCodeAt(i.before.length-1),u,r);d.inside&&(l=By(u)+l.slice(1));const f=l.charCodeAt(l.length-1),h=HE(i.after.charCodeAt(0),f,r);h.inside&&(l=l.slice(0,-1)+By(f));const p=a.move(r);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},o+l+p}function _$e(e,t,n){return n.options.emphasis||"*"}function A$e(e,t){let n=!1;return Jx(e,function(i){if("value"in i&&/\r?\n|\r/.test(i.value)||i.type==="break")return n=!0,RP}),!!((!e.depth||e.depth<3)&&O$(e)&&(t.options.setext||n))}function N$e(e,t,n,i){const r=Math.max(Math.min(6,e.depth||1),1),s=n.createTracker(i);if(A$e(e,n)){const d=n.enter("headingSetext"),f=n.enter("phrasing"),h=n.containerPhrasing(e,{...s.current(),before:` +`)),d+=o.move(l),u(),d}function T5e(e,t,n){return(n?"":" ")+e}function k5(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function _5e(e,t,n,i){const r=k5(n),s=r==='"'?"Quote":"Apostrophe",a=n.enter("definition");let o=n.enter("label");const l=n.createTracker(i);let u=l.move("[");return u+=l.move(n.safe(n.associationId(e),{before:u,after:"]",...l.current()})),u+=l.move("]: "),o(),!e.url||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(o=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":` +`,...l.current()}))),o(),e.title&&(o=n.enter(`title${s}`),u+=l.move(" "+r),u+=l.move(n.safe(e.title,{before:u,after:r,...l.current()})),u+=l.move(r),o()),a(),u}function A5e(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function By(e){return"&#x"+e.toString(16).toUpperCase()+";"}function HE(e,t,n){const i=Qg(e),r=Qg(t);return i===void 0?r===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:r===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:i===1?r===void 0?{inside:!1,outside:!1}:r===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:r===void 0?{inside:!1,outside:!1}:r===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}nne.peek=N5e;function nne(e,t,n,i){const r=A5e(n),s=n.enter("emphasis"),a=n.createTracker(i),o=a.move(r);let l=a.move(n.containerPhrasing(e,{after:r,before:o,...a.current()}));const u=l.charCodeAt(0),d=HE(i.before.charCodeAt(i.before.length-1),u,r);d.inside&&(l=By(u)+l.slice(1));const f=l.charCodeAt(l.length-1),h=HE(i.after.charCodeAt(0),f,r);h.inside&&(l=l.slice(0,-1)+By(f));const p=a.move(r);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},o+l+p}function N5e(e,t,n){return n.options.emphasis||"*"}function C5e(e,t){let n=!1;return Jx(e,function(i){if("value"in i&&/\r?\n|\r/.test(i.value)||i.type==="break")return n=!0,RP}),!!((!e.depth||e.depth<3)&&O5(e)&&(t.options.setext||n))}function R5e(e,t,n,i){const r=Math.max(Math.min(6,e.depth||1),1),s=n.createTracker(i);if(C5e(e,n)){const d=n.enter("headingSetext"),f=n.enter("phrasing"),h=n.containerPhrasing(e,{...s.current(),before:` `,after:` `});return f(),d(),h+` `+(r===1?"=":"-").repeat(h.length-(Math.max(h.lastIndexOf("\r"),h.lastIndexOf(` `))+1))}const a="#".repeat(r),o=n.enter("headingAtx"),l=n.enter("phrasing");s.move(a+" ");let u=n.containerPhrasing(e,{before:"# ",after:` -`,...s.current()});return/^[\t ]/.test(u)&&(u=By(u.charCodeAt(0))+u.slice(1)),u=u?a+" "+u:a,n.options.closeAtx&&(u+=" "+a),l(),o(),u}tne.peek=C$e;function tne(e){return e.value||""}function C$e(){return"<"}nne.peek=R$e;function nne(e,t,n,i){const r=k$(n),s=r==='"'?"Quote":"Apostrophe",a=n.enter("image");let o=n.enter("label");const l=n.createTracker(i);let u=l.move("![");return u+=l.move(n.safe(e.alt,{before:u,after:"]",...l.current()})),u+=l.move("]("),o(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(o=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":")",...l.current()}))),o(),e.title&&(o=n.enter(`title${s}`),u+=l.move(" "+r),u+=l.move(n.safe(e.title,{before:u,after:r,...l.current()})),u+=l.move(r),o()),u+=l.move(")"),a(),u}function R$e(){return"!"}ine.peek=I$e;function ine(e,t,n,i){const r=e.referenceType,s=n.enter("imageReference");let a=n.enter("label");const o=n.createTracker(i);let l=o.move("![");const u=n.safe(e.alt,{before:l,after:"]",...o.current()});l+=o.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:l,after:"]",...o.current()});return a(),n.stack=d,s(),r==="full"||!u||u!==f?l+=o.move(f+"]"):r==="shortcut"?l=l.slice(0,-1):l+=o.move("]"),l}function I$e(){return"!"}rne.peek=P$e;function rne(e,t,n){let i=e.value||"",r="`",s=-1;for(;new RegExp("(^|[^`])"+r+"([^`]|$)").test(i);)r+="`";for(/[^ \r\n]/.test(i)&&(/^[ \r\n]/.test(i)&&/[ \r\n]$/.test(i)||/^`|`$/.test(i))&&(i=" "+i+" ");++s\u007F]/.test(e.url))}ane.peek=j$e;function ane(e,t,n,i){const r=k$(n),s=r==='"'?"Quote":"Apostrophe",a=n.createTracker(i);let o,l;if(sne(e,n)){const d=n.stack;n.stack=[],o=n.enter("autolink");let f=a.move("<");return f+=a.move(n.containerPhrasing(e,{before:f,after:">",...a.current()})),f+=a.move(">"),o(),n.stack=d,f}o=n.enter("link"),l=n.enter("label");let u=a.move("[");return u+=a.move(n.containerPhrasing(e,{before:u,after:"](",...a.current()})),u+=a.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=a.move("<"),u+=a.move(n.safe(e.url,{before:u,after:">",...a.current()})),u+=a.move(">")):(l=n.enter("destinationRaw"),u+=a.move(n.safe(e.url,{before:u,after:e.title?" ":")",...a.current()}))),l(),e.title&&(l=n.enter(`title${s}`),u+=a.move(" "+r),u+=a.move(n.safe(e.title,{before:u,after:r,...a.current()})),u+=a.move(r),l()),u+=a.move(")"),o(),u}function j$e(e,t,n){return sne(e,n)?"<":"["}one.peek=M$e;function one(e,t,n,i){const r=e.referenceType,s=n.enter("linkReference");let a=n.enter("label");const o=n.createTracker(i);let l=o.move("[");const u=n.containerPhrasing(e,{before:l,after:"]",...o.current()});l+=o.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:l,after:"]",...o.current()});return a(),n.stack=d,s(),r==="full"||!u||u!==f?l+=o.move(f+"]"):r==="shortcut"?l=l.slice(0,-1):l+=o.move("]"),l}function M$e(){return"["}function T$(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function L$e(e){const t=T$(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function D$e(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function lne(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function $$e(e,t,n,i){const r=n.enter("list"),s=n.bulletCurrent;let a=e.ordered?D$e(n):T$(n);const o=e.ordered?a==="."?")":".":L$e(n);let l=t&&n.bulletLastUsed?a===n.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((a==="*"||a==="-")&&d&&(!d.children||!d.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),lne(n)===a&&d){let f=-1;for(;++f-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+s);let a=s.length+1;(r==="tab"||r==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(a=Math.ceil(a/4)*4);const o=n.createTracker(i);o.move(s+" ".repeat(a-s.length)),o.shift(a);const l=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,o.current()),d);return l(),u;function d(f,h,p){return h?(p?"":" ".repeat(a))+f:(p?s:s+" ".repeat(a-s.length))+f}}function U$e(e,t,n,i){const r=n.enter("paragraph"),s=n.enter("phrasing"),a=n.containerPhrasing(e,i);return s(),r(),a}const z$e=Kx(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function F$e(e,t,n,i){return(e.children.some(function(a){return z$e(a)})?n.containerPhrasing:n.containerFlow).call(n,e,i)}function V$e(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}cne.peek=X$e;function cne(e,t,n,i){const r=V$e(n),s=n.enter("strong"),a=n.createTracker(i),o=a.move(r+r);let l=a.move(n.containerPhrasing(e,{after:r,before:o,...a.current()}));const u=l.charCodeAt(0),d=HE(i.before.charCodeAt(i.before.length-1),u,r);d.inside&&(l=By(u)+l.slice(1));const f=l.charCodeAt(l.length-1),h=HE(i.after.charCodeAt(0),f,r);h.inside&&(l=l.slice(0,-1)+By(f));const p=a.move(r+r);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},o+l+p}function X$e(e,t,n){return n.options.strong||"*"}function q$e(e,t,n,i){return n.safe(e.value,i)}function H$e(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Y$e(e,t,n){const i=(lne(n)+(n.options.ruleSpaces?" ":"")).repeat(H$e(n));return n.options.ruleSpaces?i.slice(0,-1):i}const une={blockquote:O$e,break:xU,code:w$e,definition:k$e,emphasis:ene,hardBreak:xU,heading:N$e,html:tne,image:nne,imageReference:ine,inlineCode:rne,link:ane,linkReference:one,list:$$e,listItem:B$e,paragraph:U$e,root:F$e,strong:cne,text:q$e,thematicBreak:Y$e};function G$e(){return{enter:{table:W$e,tableData:SU,tableHeader:SU,tableRow:K$e},exit:{codeText:J$e,table:Z$e,tableData:y2,tableHeader:y2,tableRow:y2}}}function W$e(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Z$e(e){this.exit(e),this.data.inTable=void 0}function K$e(e){this.enter({type:"tableRow",children:[]},e)}function y2(e){this.exit(e)}function SU(e){this.enter({type:"tableCell",children:[]},e)}function J$e(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,e5e));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function e5e(e,t){return t==="|"?t:e}function t5e(e){const t=e||{},n=t.tableCellPadding,i=t.tablePipeAlign,r=t.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` +`,...s.current()});return/^[\t ]/.test(u)&&(u=By(u.charCodeAt(0))+u.slice(1)),u=u?a+" "+u:a,n.options.closeAtx&&(u+=" "+a),l(),o(),u}ine.peek=I5e;function ine(e){return e.value||""}function I5e(){return"<"}rne.peek=P5e;function rne(e,t,n,i){const r=k5(n),s=r==='"'?"Quote":"Apostrophe",a=n.enter("image");let o=n.enter("label");const l=n.createTracker(i);let u=l.move("![");return u+=l.move(n.safe(e.alt,{before:u,after:"]",...l.current()})),u+=l.move("]("),o(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(o=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":")",...l.current()}))),o(),e.title&&(o=n.enter(`title${s}`),u+=l.move(" "+r),u+=l.move(n.safe(e.title,{before:u,after:r,...l.current()})),u+=l.move(r),o()),u+=l.move(")"),a(),u}function P5e(){return"!"}sne.peek=j5e;function sne(e,t,n,i){const r=e.referenceType,s=n.enter("imageReference");let a=n.enter("label");const o=n.createTracker(i);let l=o.move("![");const u=n.safe(e.alt,{before:l,after:"]",...o.current()});l+=o.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:l,after:"]",...o.current()});return a(),n.stack=d,s(),r==="full"||!u||u!==f?l+=o.move(f+"]"):r==="shortcut"?l=l.slice(0,-1):l+=o.move("]"),l}function j5e(){return"!"}ane.peek=M5e;function ane(e,t,n){let i=e.value||"",r="`",s=-1;for(;new RegExp("(^|[^`])"+r+"([^`]|$)").test(i);)r+="`";for(/[^ \r\n]/.test(i)&&(/^[ \r\n]/.test(i)&&/[ \r\n]$/.test(i)||/^`|`$/.test(i))&&(i=" "+i+" ");++s\u007F]/.test(e.url))}lne.peek=L5e;function lne(e,t,n,i){const r=k5(n),s=r==='"'?"Quote":"Apostrophe",a=n.createTracker(i);let o,l;if(one(e,n)){const d=n.stack;n.stack=[],o=n.enter("autolink");let f=a.move("<");return f+=a.move(n.containerPhrasing(e,{before:f,after:">",...a.current()})),f+=a.move(">"),o(),n.stack=d,f}o=n.enter("link"),l=n.enter("label");let u=a.move("[");return u+=a.move(n.containerPhrasing(e,{before:u,after:"](",...a.current()})),u+=a.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=a.move("<"),u+=a.move(n.safe(e.url,{before:u,after:">",...a.current()})),u+=a.move(">")):(l=n.enter("destinationRaw"),u+=a.move(n.safe(e.url,{before:u,after:e.title?" ":")",...a.current()}))),l(),e.title&&(l=n.enter(`title${s}`),u+=a.move(" "+r),u+=a.move(n.safe(e.title,{before:u,after:r,...a.current()})),u+=a.move(r),l()),u+=a.move(")"),o(),u}function L5e(e,t,n){return one(e,n)?"<":"["}cne.peek=D5e;function cne(e,t,n,i){const r=e.referenceType,s=n.enter("linkReference");let a=n.enter("label");const o=n.createTracker(i);let l=o.move("[");const u=n.containerPhrasing(e,{before:l,after:"]",...o.current()});l+=o.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:l,after:"]",...o.current()});return a(),n.stack=d,s(),r==="full"||!u||u!==f?l+=o.move(f+"]"):r==="shortcut"?l=l.slice(0,-1):l+=o.move("]"),l}function D5e(){return"["}function T5(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function $5e(e){const t=T5(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function Q5e(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function une(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function B5e(e,t,n,i){const r=n.enter("list"),s=n.bulletCurrent;let a=e.ordered?Q5e(n):T5(n);const o=e.ordered?a==="."?")":".":$5e(n);let l=t&&n.bulletLastUsed?a===n.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((a==="*"||a==="-")&&d&&(!d.children||!d.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),une(n)===a&&d){let f=-1;for(;++f-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+s);let a=s.length+1;(r==="tab"||r==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(a=Math.ceil(a/4)*4);const o=n.createTracker(i);o.move(s+" ".repeat(a-s.length)),o.shift(a);const l=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,o.current()),d);return l(),u;function d(f,h,p){return h?(p?"":" ".repeat(a))+f:(p?s:s+" ".repeat(a-s.length))+f}}function F5e(e,t,n,i){const r=n.enter("paragraph"),s=n.enter("phrasing"),a=n.containerPhrasing(e,i);return s(),r(),a}const V5e=Kx(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function X5e(e,t,n,i){return(e.children.some(function(a){return V5e(a)})?n.containerPhrasing:n.containerFlow).call(n,e,i)}function q5e(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}dne.peek=H5e;function dne(e,t,n,i){const r=q5e(n),s=n.enter("strong"),a=n.createTracker(i),o=a.move(r+r);let l=a.move(n.containerPhrasing(e,{after:r,before:o,...a.current()}));const u=l.charCodeAt(0),d=HE(i.before.charCodeAt(i.before.length-1),u,r);d.inside&&(l=By(u)+l.slice(1));const f=l.charCodeAt(l.length-1),h=HE(i.after.charCodeAt(0),f,r);h.inside&&(l=l.slice(0,-1)+By(f));const p=a.move(r+r);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},o+l+p}function H5e(e,t,n){return n.options.strong||"*"}function Y5e(e,t,n,i){return n.safe(e.value,i)}function G5e(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function W5e(e,t,n){const i=(une(n)+(n.options.ruleSpaces?" ":"")).repeat(G5e(n));return n.options.ruleSpaces?i.slice(0,-1):i}const fne={blockquote:y5e,break:xU,code:k5e,definition:_5e,emphasis:nne,hardBreak:xU,heading:R5e,html:ine,image:rne,imageReference:sne,inlineCode:ane,link:lne,linkReference:cne,list:B5e,listItem:z5e,paragraph:F5e,root:X5e,strong:dne,text:Y5e,thematicBreak:W5e};function Z5e(){return{enter:{table:K5e,tableData:SU,tableHeader:SU,tableRow:e$e},exit:{codeText:t$e,table:J5e,tableData:yN,tableHeader:yN,tableRow:yN}}}function K5e(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function J5e(e){this.exit(e),this.data.inTable=void 0}function e$e(e){this.enter({type:"tableRow",children:[]},e)}function yN(e){this.exit(e)}function SU(e){this.enter({type:"tableCell",children:[]},e)}function t$e(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,n$e));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function n$e(e,t){return t==="|"?t:e}function i$e(e){const t=e||{},n=t.tableCellPadding,i=t.tablePipeAlign,r=t.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:h,table:a,tableCell:l,tableRow:o}};function a(p,m,g,y){return u(d(p,g,y),p.align)}function o(p,m,g,y){const b=f(p,g,y),S=u([b]);return S.slice(0,S.indexOf(` -`))}function l(p,m,g,y){const b=g.enter("tableCell"),S=g.enter("phrasing"),x=g.containerPhrasing(p,{...y,before:s,after:s});return S(),b(),x}function u(p,m){return m$e(p,{align:m,alignDelimiters:i,padding:n,stringLength:r})}function d(p,m,g){const y=p.children;let b=-1;const S=[],x=m.enter("table");for(;++b0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const y5e={tokenize:_5e,partial:!0};function x5e(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:E5e,continuation:{tokenize:k5e},exit:T5e}},text:{91:{name:"gfmFootnoteCall",tokenize:w5e},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:S5e,resolveTo:v5e}}}}function S5e(e,t,n){const i=this;let r=i.events.length;const s=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let a;for(;r--;){const l=i.events[r][1];if(l.type==="labelImage"){a=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return o;function o(l){if(!a||!a._balanced)return n(l);const u=yl(i.sliceSerialize({start:a.end,end:i.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function v5e(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},r={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};r.end.column++,r.end.offset++,r.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},o=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",r,t],["exit",r,t],["enter",s,t],["enter",a,t],["exit",a,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...o),e}function w5e(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let s=0,a;return o;function o(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),l}function l(f){return f!==94?n(f):(e.enter("gfmFootnoteCallMarker"),e.consume(f),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(f){if(s>999||f===93&&!a||f===null||f===91||_i(f))return n(f);if(f===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return r.includes(yl(i.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return _i(f)||(a=!0),s++,e.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(e.consume(f),s++,u):u(f)}}function E5e(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let s,a=0,o;return l;function l(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(m)}function d(m){if(a>999||m===93&&!o||m===null||m===91||_i(m))return n(m);if(m===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return s=yl(i.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return _i(m)||(o=!0),a++,e.consume(m),m===92?f:d}function f(m){return m===91||m===92||m===93?(e.consume(m),a++,d):d(m)}function h(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),r.includes(s)||r.push(s),Un(e,p,"gfmFootnoteDefinitionWhitespace")):n(m)}function p(m){return t(m)}}function k5e(e,t,n){return e.check(Zx,t,e.attempt(y5e,t,n))}function T5e(e){e.exit("gfmFootnoteDefinition")}function _5e(e,t,n){const i=this;return Un(e,r,"gfmFootnoteDefinitionIndent",5);function r(s){const a=i.events[i.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(s):n(s)}}function A5e(e){let n=(e||{}).singleTilde;const i={name:"strikethrough",tokenize:s,resolveAll:r};return n==null&&(n=!0),{text:{126:i},insideSpan:{null:[i]},attentionMarkers:{null:[126]}};function r(a,o){let l=-1;for(;++l1?l(m):(a.consume(m),f++,p);if(f<2&&!n)return l(m);const y=a.exit("strikethroughSequenceTemporary"),b=$g(m);return y._open=!b||b===2&&!!g,y._close=!g||g===2&&!!b,o(m)}}}class N5e{constructor(){this.map=[]}add(t,n,i){C5e(this,t,n,i)}consume(t){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const i=[];for(;n>0;)n-=1,i.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];i.push(t.slice()),t.length=0;let r=i.pop();for(;r;){for(const s of r)t.push(s);r=i.pop()}this.map.length=0}}function C5e(e,t,n,i){let r=0;if(!(n===0&&i.length===0)){for(;r-1;){const L=i.events[R][1].type;if(L==="lineEnding"||L==="linePrefix")R--;else break}const j=R>-1?i.events[R][1].type:null,Q=j==="tableHead"||j==="tableRow"?w:l;return Q===w&&i.parser.lazy[i.now().line]?n(A):Q(A)}function l(A){return e.enter("tableHead"),e.enter("tableRow"),u(A)}function u(A){return A===124||(a=!0,s+=1),d(A)}function d(A){return A===null?n(A):Lt(A)?s>1?(s=0,i.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),p):n(A):vn(A)?Un(e,d,"whitespace")(A):(s+=1,a&&(a=!1,r+=1),A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),a=!0,d):(e.enter("data"),f(A)))}function f(A){return A===null||A===124||_i(A)?(e.exit("data"),d(A)):(e.consume(A),A===92?h:f)}function h(A){return A===92||A===124?(e.consume(A),f):f(A)}function p(A){return i.interrupt=!1,i.parser.lazy[i.now().line]?n(A):(e.enter("tableDelimiterRow"),a=!1,vn(A)?Un(e,m,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):m(A))}function m(A){return A===45||A===58?y(A):A===124?(a=!0,e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),g):E(A)}function g(A){return vn(A)?Un(e,y,"whitespace")(A):y(A)}function y(A){return A===58?(s+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),b):A===45?(s+=1,b(A)):A===null||Lt(A)?v(A):E(A)}function b(A){return A===45?(e.enter("tableDelimiterFiller"),S(A)):E(A)}function S(A){return A===45?(e.consume(A),S):A===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(A))}function x(A){return vn(A)?Un(e,v,"whitespace")(A):v(A)}function v(A){return A===124?m(A):A===null||Lt(A)?!a||r!==s?E(A):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(A)):E(A)}function E(A){return n(A)}function w(A){return e.enter("tableRow"),k(A)}function k(A){return A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),k):A===null||Lt(A)?(e.exit("tableRow"),t(A)):vn(A)?Un(e,k,"whitespace")(A):(e.enter("data"),_(A))}function _(A){return A===null||A===124||_i(A)?(e.exit("data"),k(A)):(e.consume(A),A===92?C:_)}function C(A){return A===92||A===124?(e.consume(A),_):_(A)}}function j5e(e,t){let n=-1,i=!0,r=0,s=[0,0,0,0],a=[0,0,0,0],o=!1,l=0,u,d,f;const h=new N5e;for(;++nn[2]+1){const m=n[2]+1,g=n[3]-n[2]-1;e.add(m,g,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return r!==void 0&&(s.end=Object.assign({},em(t.events,r)),e.add(r,0,[["exit",s,t]]),s=void 0),s}function wU(e,t,n,i,r){const s=[],a=em(t.events,n);r&&(r.end=Object.assign({},a),s.push(["exit",r,t])),i.end=Object.assign({},a),s.push(["exit",i,t]),e.add(n+1,0,s)}function em(e,t){const n=e[t],i=n[0]==="enter"?"start":"end";return n[1][i]}const M5e={name:"tasklistCheck",tokenize:D5e};function L5e(){return{text:{91:M5e}}}function D5e(e,t,n){const i=this;return r;function r(l){return i.previous!==null||!i._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),s)}function s(l){return _i(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),a):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),a):n(l)}function a(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),o):n(l)}function o(l){return Lt(l)?t(l):vn(l)?e.check({tokenize:$5e},t,n)(l):n(l)}}function $5e(e,t,n){return Un(e,i,"whitespace");function i(r){return r===null?n(r):t(r)}}function Q5e(e){return _te([u5e(),x5e(),A5e(e),I5e(),L5e()])}const B5e={};function U5e(e){const t=this,n=e||B5e,i=t.data(),r=i.micromarkExtensions||(i.micromarkExtensions=[]),s=i.fromMarkdownExtensions||(i.fromMarkdownExtensions=[]),a=i.toMarkdownExtensions||(i.toMarkdownExtensions=[]);r.push(Q5e(n)),s.push(a5e()),a.push(o5e(n))}const EU=function(e,t,n){const i=Kx(n);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++tu&&(u=d):d&&(u!==void 0&&u>-1&&l.push(` -`.repeat(u)||" "),u=-1,l.push(d))}return l.join("")}function xne(e,t,n){return e.type==="element"?G5e(e,t,n):e.type==="text"?n.whitespace==="normal"?Sne(e,n):W5e(e):[]}function G5e(e,t,n){const i=vne(e,n),r=e.children||[];let s=-1,a=[];if(H5e(e))return a;let o,l;for(LP(e)||AU(e)&&EU(t,e,AU)?l=` -`:q5e(e)?(o=2,l=2):yne(e)&&(o=1,l=1);++s]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],b=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],v={type:g,keyword:m,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},E={className:"function.dispatch",relevance:0,keywords:{_hint:b},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},w=[E,f,o,n,e.C_BLOCK_COMMENT_MODE,d,u],k={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:v,contains:w.concat([{begin:/\(/,end:/\)/,keywords:v,contains:w.concat(["self"]),relevance:0}]),relevance:0},_={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:v,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:v,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:v,illegal:"",keywords:v,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:v},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function i3e(e){const t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},n=n3e(e),i=n.keywords;return i.type=[...i.type,...t.type],i.literal=[...i.literal,...t.literal],i.built_in=[...i.built_in,...t.built_in],i._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function wne(e){const t=e.regex,n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,r]};r.contains.push(o);const l={match:/\\"/},u={className:"string",begin:/'/,end:/'/},d={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},h=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},g=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],b={match:/(\/[a-z._-]+)+/},S=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],x=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],v=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],E=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:g,literal:y,built_in:[...S,...x,"set","shopt",...v,...E]},contains:[p,e.SHEBANG(),m,f,s,a,b,o,l,u,d,n]}}function r3e(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="("+i+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",y={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},b=[f,o,n,e.C_BLOCK_COMMENT_MODE,d,u],S={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:b.concat([{begin:/\(/,end:/\)/,keywords:y,contains:b.concat(["self"]),relevance:0}]),relevance:0},x={begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:y,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(h,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:y,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:y}}}function s3e(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="(?!struct)("+i+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],b=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],v={type:g,keyword:m,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},E={className:"function.dispatch",relevance:0,keywords:{_hint:b},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},w=[E,f,o,n,e.C_BLOCK_COMMENT_MODE,d,u],k={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:v,contains:w.concat([{begin:/\(/,end:/\)/,keywords:v,contains:w.concat(["self"]),relevance:0}]),relevance:0},_={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:v,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:v,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:v,illegal:"",keywords:v,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:v},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function a3e(e){const t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],s=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],a={keyword:r.concat(s),built_in:t,literal:i},o=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},f=e.inherit(d,{illegal:/\n/}),h={className:"subst",begin:/\{/,end:/\}/,keywords:a},p=e.inherit(h,{illegal:/\n/}),m={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,p]},g={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]},y=e.inherit(g,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});h.contains=[g,m,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.C_BLOCK_COMMENT_MODE],p.contains=[y,m,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const b={variants:[u,g,m,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},S={begin:"<",end:">",contains:[{beginKeywords:"in out"},o]},x=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",v={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:a,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},b,l,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},o,S,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,S,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+x+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,S],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[b,l,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},v]}}const o3e=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),l3e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],c3e=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],u3e=[...l3e,...c3e],d3e=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),f3e=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),h3e=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),p3e=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function m3e(e){const t=e.regex,n=o3e(e),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",o=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,i,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+f3e.join("|")+")"},{begin:":(:)?("+h3e.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+p3e.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:d3e.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+u3e.join("|")+")\\b"}]}}function g3e(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function O3e(e){const s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"kne(e,t,n-1))}function y3e(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",i=n+kne("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),l={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},u={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},d={className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:l,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[d,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:l,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,NU,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},NU,u]}}const CU="[A-Za-z$_][0-9A-Za-z$_]*",x3e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],S3e=["true","false","null","undefined","NaN","Infinity"],Tne=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],_ne=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ane=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],v3e=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],w3e=[].concat(Ane,Tne,_ne);function Nne(e){const t=e.regex,n=(B,{after:$})=>{const I="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(B,$)=>{const I=B[0].length+B.index,G=B.input[I];if(G==="<"||G===","){$.ignoreMatch();return}G===">"&&(n(B,{after:I})||$.ignoreMatch());let X;const U=B.input.substring(I);if(X=U.match(/^\s*=/)){$.ignoreMatch();return}if((X=U.match(/^\s+extends\s+/))&&X.index===0){$.ignoreMatch();return}}},o={$pattern:CU,keyword:x3e,literal:S3e,built_in:w3e,"variable.language":v3e},l="[0-9](_?[0-9])*",u=`\\.(${l})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${l})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},S={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const v=[].concat(S,h.contains),E=v.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(v)}]),w={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E},k={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,t.concat(i,"(",t.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Tne,..._ne]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[w],illegal:/%/},R={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function j(B){return t.concat("(?!",B.join("|"),")")}const Q={match:t.concat(/\b/,j([...Ane,"super","import"].map(B=>`${B}\\s*\\(`)),i,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},L={begin:t.concat(/\./,t.lookahead(t.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},D={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},w]},N="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(N)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[w]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:E,CLASS_REFERENCE:_},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,_,{scope:"attr",match:i+t.lookahead(":"),relevance:0},M,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:N,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[w,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},L,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[w]},Q,R,k,D,{match:/\$[(.]/}]}}function Cne(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[t,n,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var nm="[0-9](_*[0-9])*",LS=`\\.(${nm})`,DS="[0-9a-fA-F](_*[0-9a-fA-F])*",E3e={className:"number",variants:[{begin:`(\\b(${nm})((${LS})|\\.)?|(${LS}))[eE][+-]?(${nm})[fFdD]?\\b`},{begin:`\\b(${nm})((${LS})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${LS})[fFdD]?\\b`},{begin:`\\b(${nm})[fFdD]\\b`},{begin:`\\b0[xX]((${DS})\\.?|(${DS})?\\.(${DS}))[pP][+-]?(${nm})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${DS})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function k3e(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,r]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,r]}]};r.contains.push(a);const o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(a,{className:"string"}),"self"]}]},u=E3e,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},h=f;return h.variants[1].contains=[f],f.variants[1].contains=[h],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,n,i,o,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,o,l,a,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},o,l]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` -`},u]}}const T3e=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),_3e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],A3e=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],N3e=[..._3e,...A3e],C3e=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Rne=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Ine=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),R3e=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),I3e=Rne.concat(Ine).sort().reverse();function P3e(e){const t=T3e(e),n=I3e,i="and or not only",r="[\\w-]+",s="("+r+"|@\\{"+r+"\\})",a=[],o=[],l=function(x){return{className:"string",begin:"~?"+x+".*?"+x}},u=function(x,v,E){return{className:x,begin:v,relevance:E}},d={$pattern:/[a-z-]+/,keyword:i,attribute:C3e.join(" ")},f={begin:"\\(",end:"\\)",contains:o,keywords:d,relevance:0};o.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l("'"),l('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,f,u("variable","@@?"+r,10),u("variable","@\\{"+r+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const h=o.concat({begin:/\{/,end:/\}/,contains:a}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},m={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+R3e.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:o,relevance:0}},y={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:h}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,u("keyword","all\\b"),u("variable","@\\{"+r+"\\}"),{begin:"\\b("+N3e.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",s,0),u("selector-id","#"+s),u("selector-class","\\."+s,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Rne.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Ine.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:h},{begin:"!important"},t.FUNCTION_DISPATCH]},S={begin:r+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[b]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,y,S,m,b,p,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function j3e(e){const t="\\[=*\\[",n="\\]=*\\]",i={begin:t,end:n,contains:["self"]},r=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[i],relevance:5}])}}function Pne(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),h=e.inherit(d,{contains:[]});u.contains.push(h),d.contains.push(f);let p=[n,l];return[u,d,f,h].forEach(b=>{b.contains=b.contains.concat(p)}),p=p.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,s,u,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},r,i,l,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function M3e(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},l={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+l.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:l,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function L3e(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},l={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[o]},u={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},d=[e.BACKSLASH_ESCAPE,s,l],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],h=(g,y,b="\\1")=>{const S=b==="\\1"?b:t.concat(b,y);return t.concat(t.concat("(?:",g,")"),y,/(?:\\.|[^\\\/])*?/,S,/(?:\\.|[^\\\/])*?/,b,i)},p=(g,y,b)=>t.concat(t.concat("(?:",g,")"),y,/(?:\\.|[^\\\/])*?/,b,i),m=[l,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:d,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:h("s|tr|y",t.either(...f,{capture:!0}))},{begin:h("s|tr|y","\\(","\\)")},{begin:h("s|tr|y","\\[","\\]")},{begin:h("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=m,a.contains=m,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:m}}function D3e(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,i=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s=t.concat(/[A-Z]+/,n),a={scope:"variable",match:"\\$+"+i},o={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(l)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(L,D)=>{D.data._beginMatch=L[1]||L[2]},"on:end":(L,D)=>{D.data._beginMatch!==L[1]&&D.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ -]`,m={scope:"string",variants:[d,u,f,h]},g={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},y=["false","null","true"],b=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],S=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],v={keyword:b,literal:(L=>{const D=[];return L.forEach(N=>{D.push(N),N.toLowerCase()===N?D.push(N.toUpperCase()):D.push(N.toLowerCase())}),D})(y),built_in:S},E=L=>L.map(D=>D.replace(/\|\d+$/,"")),w={variants:[{match:[/new/,t.concat(p,"+"),t.concat("(?!",E(S).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},k=t.concat(i,"\\b(?!\\()"),_={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{1:"title.class",3:"variable.constant"}},{match:[r,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},C={scope:"attr",match:t.concat(i,t.lookahead(":"),t.lookahead(/(?!::)/))},A={relevance:0,begin:/\(/,end:/\)/,keywords:v,contains:[C,a,_,e.C_BLOCK_COMMENT_MODE,m,g,w]},R={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",E(b).join("\\b|"),"|",E(S).join("\\b|"),"\\b)"),i,t.concat(p,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[A]};A.contains.push(R);const j=[C,_,e.C_BLOCK_COMMENT_MODE,m,g,w],Q={begin:t.concat(/#\[\s*\\?/,t.either(r,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:y,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:y,keyword:["new","array"]},contains:["self",...j]},...j,{scope:"meta",variants:[{match:r},{match:s}]}]};return{case_insensitive:!1,keywords:v,contains:[Q,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},o,{scope:"variable.language",match:/\$this\b/},a,R,_,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},w,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:v,contains:["self",Q,a,_,e.C_BLOCK_COMMENT_MODE,m,g]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},m,g]}}function $3e(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function Q3e(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Mne(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},l={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},d={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l,d,u]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,d,u]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h="[0-9](_?[0-9])*",p=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,m=`\\b|${i.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${p}))[eE][+-]?(${h})[jJ]?(?=${m})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${m})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${m})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${m})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${m})`},{begin:`\\b(${h})[jJ](?=${m})`}]},y={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},b={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",l,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[l,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,y,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[b]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,b,f]}]}}function B3e(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function U3e(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[s,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function z3e(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=t.concat(i,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},o={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[o]}),e.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:a},f={className:"string",contains:[e.BACKSLASH_ESCAPE,d],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,d]})]}]},h="[1-9](_?[0-9])*|0",p="[0-9](_?[0-9])*",m={className:"number",relevance:0,variants:[{begin:`\\b(${h})(\\.(${p}))?([eE][+-]?(${p})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},g={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},w=[f,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:a},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[f,{begin:n}],relevance:0},m,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,d],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(l,u),relevance:0}].concat(l,u);d.contains=w,g.contains=w;const A=[{begin:/^\s*=>/,starts:{end:"$",contains:w}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:a,contains:w}}];return u.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(A).concat(u).concat(w)}}function F3e(e){const t=e.regex,n=/(r#)?/,i=t.concat(n,e.UNDERSCORE_IDENT_RE),r=t.concat(n,e.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",o=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],l=["true","false","Some","None","Ok","Err"],u=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:d,keyword:o,literal:l,built_in:u},illegal:""},s]}}const V3e=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),X3e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],q3e=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],H3e=[...X3e,...q3e],Y3e=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),G3e=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),W3e=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Z3e=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function K3e(e){const t=V3e(e),n=W3e,i=G3e,r="@[a-z-]+",s="and or not only",o={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+H3e.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},o,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Z3e.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,o,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:Y3e.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},o,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function J3e(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function eQe(e){const t=e.regex,n=e.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],l=["add","asc","collation","desc","final","first","last","view"],u=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],f=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],h=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],p=d,m=[...u,...l].filter(E=>!d.includes(E)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},b={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function S(E){return t.concat(/\b/,t.either(...E.map(w=>w.replace(/\s+/,"\\s+"))),/\b/)}const x={scope:"keyword",match:S(h),relevance:0};function v(E,{exceptions:w,when:k}={}){const _=k;return w=w||[],E.map(C=>C.match(/\|\d+$/)||w.includes(C)?C:_(C)?`${C}|0`:C)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:v(m,{when:E=>E.length<3}),literal:s,type:o,built_in:f},contains:[{scope:"type",match:S(a)},x,b,g,i,r,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,y]}}function Lne(e){return e?typeof e=="string"?e:e.source:null}function SO(e){return mi("(?=",e,")")}function mi(...e){return e.map(n=>Lne(n)).join("")}function tQe(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Zs(...e){return"("+(tQe(e).capture?"":"?:")+e.map(i=>Lne(i)).join("|")+")"}const N$=e=>mi(/\b/,e,/\w$/.test(e)?/\b/:/\B/),nQe=["Protocol","Type"].map(N$),RU=["init","self"].map(N$),iQe=["Any","Self"],x2=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],IU=["false","nil","true"],rQe=["assignment","associativity","higherThan","left","lowerThan","none","right"],sQe=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],PU=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Dne=Zs(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),$ne=Zs(Dne,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),S2=mi(Dne,$ne,"*"),Qne=Zs(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),YE=Zs(Qne,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Hl=mi(Qne,YE,"*"),$S=mi(/[A-Z]/,YE,"*"),aQe=["attached","autoclosure",mi(/convention\(/,Zs("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",mi(/objc\(/,Hl,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],oQe=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function lQe(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[e.C_LINE_COMMENT_MODE,n],r={match:[/\./,Zs(...nQe,...RU)],className:{2:"keyword"}},s={match:mi(/\./,Zs(...x2)),relevance:0},a=x2.filter(te=>typeof te=="string").concat(["_|0"]),o=x2.filter(te=>typeof te!="string").concat(iQe).map(N$),l={variants:[{className:"keyword",match:Zs(...o,...RU)}]},u={$pattern:Zs(/\b\w+/,/#\w+/),keyword:a.concat(sQe),literal:IU},d=[r,s,l],f={match:mi(/\./,Zs(...PU)),relevance:0},h={className:"built_in",match:mi(/\b/,Zs(...PU),/(?=\()/)},p=[f,h],m={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:S2},{match:`\\.(\\.|${$ne})+`}]},y=[m,g],b="([0-9]_*)+",S="([0-9a-fA-F]_*)+",x={className:"number",relevance:0,variants:[{match:`\\b(${b})(\\.(${b}))?([eE][+-]?(${b}))?\\b`},{match:`\\b0x(${S})(\\.(${S}))?([pP][+-]?(${b}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},v=(te="")=>({className:"subst",variants:[{match:mi(/\\/,te,/[0\\tnr"']/)},{match:mi(/\\/,te,/u\{[0-9a-fA-F]{1,8}\}/)}]}),E=(te="")=>({className:"subst",match:mi(/\\/,te,/[\t ]*(?:[\r\n]|\r\n)/)}),w=(te="")=>({className:"subst",label:"interpol",begin:mi(/\\/,te,/\(/),end:/\)/}),k=(te="")=>({begin:mi(te,/"""/),end:mi(/"""/,te),contains:[v(te),E(te),w(te)]}),_=(te="")=>({begin:mi(te,/"/),end:mi(/"/,te),contains:[v(te),w(te)]}),C={className:"string",variants:[k(),k("#"),k("##"),k("###"),_(),_("#"),_("##"),_("###")]},A=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],R={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:A},j=te=>{const Te=mi(te,/\//),me=mi(/\//,te);return{begin:Te,end:me,contains:[...A,{scope:"comment",begin:`#(?!.*${me})`,end:/$/}]}},Q={scope:"regexp",variants:[j("###"),j("##"),j("#"),R]},L={match:mi(/`/,Hl,/`/)},D={className:"variable",match:/\$\d+/},N={className:"variable",match:`\\$${YE}+`},M=[L,D,N],B={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:oQe,contains:[...y,x,C]}]}},$={scope:"keyword",match:mi(/@/,Zs(...aQe),SO(Zs(/\(/,/\s+/)))},I={scope:"meta",match:mi(/@/,Hl)},G=[B,$,I],X={match:SO(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:mi(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,YE,"+")},{className:"type",match:$S,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:mi(/\s+&\s+/,SO($S)),relevance:0}]},U={begin://,keywords:u,contains:[...i,...d,...G,m,X]};X.contains.push(U);const Y={match:mi(Hl,/\s*:/),keywords:"_|0",relevance:0},ae={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",Y,...i,Q,...d,...p,...y,x,C,...M,...G,X]},fe={begin://,keywords:"repeat each",contains:[...i,X]},ke={begin:Zs(SO(mi(Hl,/\s*:/)),SO(mi(Hl,/\s+/,Hl,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Hl}]},K={begin:/\(/,end:/\)/,keywords:u,contains:[ke,...i,...d,...y,x,C,...G,X,ae],endsParent:!0,illegal:/["']/},ie={match:[/(func|macro)/,/\s+/,Zs(L.match,Hl,S2)],className:{1:"keyword",3:"title.function"},contains:[fe,K,t],illegal:[/\[/,/%/]},le={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[fe,K,t],illegal:/\[|%/},ge={match:[/operator/,/\s+/,S2],className:{1:"keyword",3:"title"}},Ee={begin:[/precedencegroup/,/\s+/,$S],className:{1:"keyword",3:"title"},contains:[X],keywords:[...rQe,...IU],end:/}/},Ce={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},_e={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},he={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Hl,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[fe,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:$S},...d],relevance:0}]};for(const te of C.variants){const Te=te.contains.find(Be=>Be.label==="interpol");Te.keywords=u;const me=[...d,...p,...y,x,C,...M];Te.contains=[...me,{begin:/\(/,end:/\)/,contains:["self",...me]}]}return{name:"Swift",keywords:u,contains:[...i,ie,le,Ce,_e,he,ge,Ee,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},Q,...d,...p,...y,x,C,...M,...G,X,ae]}}const GE="[A-Za-z$_][0-9A-Za-z$_]*",Bne=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Une=["true","false","null","undefined","NaN","Infinity"],zne=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Fne=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Vne=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Xne=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],qne=[].concat(Vne,zne,Fne);function cQe(e){const t=e.regex,n=(B,{after:$})=>{const I="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(B,$)=>{const I=B[0].length+B.index,G=B.input[I];if(G==="<"||G===","){$.ignoreMatch();return}G===">"&&(n(B,{after:I})||$.ignoreMatch());let X;const U=B.input.substring(I);if(X=U.match(/^\s*=/)){$.ignoreMatch();return}if((X=U.match(/^\s+extends\s+/))&&X.index===0){$.ignoreMatch();return}}},o={$pattern:GE,keyword:Bne,literal:Une,built_in:qne,"variable.language":Xne},l="[0-9](_?[0-9])*",u=`\\.(${l})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${l})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},S={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const v=[].concat(S,h.contains),E=v.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(v)}]),w={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E},k={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,t.concat(i,"(",t.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...zne,...Fne]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[w],illegal:/%/},R={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function j(B){return t.concat("(?!",B.join("|"),")")}const Q={match:t.concat(/\b/,j([...Vne,"super","import"].map(B=>`${B}\\s*\\(`)),i,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},L={begin:t.concat(/\./,t.lookahead(t.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},D={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},w]},N="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(N)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[w]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:E,CLASS_REFERENCE:_},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,_,{scope:"attr",match:i+t.lookahead(":"),relevance:0},M,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:N,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[w,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},L,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[w]},Q,R,k,D,{match:/\$[(.]/}]}}function Hne(e){const t=e.regex,n=cQe(e),i=GE,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[n.exports.CLASS_REFERENCE]},o={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:GE,keyword:Bne.concat(l),literal:Une,built_in:qne.concat(r),"variable.language":Xne},d={className:"meta",begin:"@"+i},f=(g,y,b)=>{const S=g.contains.findIndex(x=>x.label===y);if(S===-1)throw new Error("can not find mode to replace");g.contains.splice(S,1,b)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),p=Object.assign({},h,{match:t.concat(i,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,p]),n.contains=n.contains.concat([d,s,a,p]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",o);const m=n.contains.find(g=>g.label==="func.def");return m.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function uQe(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,l={className:"literal",variants:[{begin:t.concat(/# */,t.either(s,r),/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,t.either(s,r),/ +/,t.either(a,o),/ *#/)}]},u={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},d={className:"label",begin:/^\w+:/},f=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),h=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,i,l,u,d,f,h,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[h]}]}}function dQe(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),i=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],r={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},o={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},l={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},u={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:i},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,a,r,e.QUOTE_STRING_MODE,l,u,o]}}function fQe(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(s,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[s,l,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[s,a,l,o]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:u}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Yne(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},a={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},o=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},m={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},y=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},h,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},m,g,s,a],b=[...y];return b.pop(),b.push(o),p.contains=b,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}const hQe={arduino:i3e,bash:wne,c:r3e,cpp:s3e,csharp:a3e,css:m3e,diff:g3e,go:O3e,graphql:b3e,ini:Ene,java:y3e,javascript:Nne,json:Cne,kotlin:k3e,less:P3e,lua:j3e,makefile:Pne,markdown:jne,objectivec:M3e,perl:L3e,php:D3e,"php-template":$3e,plaintext:Q3e,python:Mne,"python-repl":B3e,r:U3e,ruby:z3e,rust:F3e,scss:K3e,shell:J3e,sql:eQe,swift:lQe,typescript:Hne,vbnet:uQe,wasm:dQe,xml:fQe,yaml:Yne};function Gne(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&Gne(n)}),e}let jU=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function Wne(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Qd(e,...t){const n=Object.create(null);for(const i in e)n[i]=e[i];return t.forEach(function(i){for(const r in i)n[r]=i[r]}),n}const pQe="",MU=e=>!!e.scope,mQe=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${t}${e}`};class gQe{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=Wne(t)}openNode(t){if(!MU(t))return;const n=mQe(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){MU(t)&&(this.buffer+=pQe)}value(){return this.buffer}span(t){this.buffer+=``}}const LU=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class C${constructor(){this.rootNode=LU(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n=LU({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(i=>this._walk(t,i)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{C$._collapse(n)}))}}class OQe extends C${constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const i=t.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new gQe(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Uy(e){return e?typeof e=="string"?e:e.source:null}function Zne(e){return Op("(?=",e,")")}function bQe(e){return Op("(?:",e,")*")}function yQe(e){return Op("(?:",e,")?")}function Op(...e){return e.map(n=>Uy(n)).join("")}function xQe(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function R$(...e){return"("+(xQe(e).capture?"":"?:")+e.map(i=>Uy(i)).join("|")+")"}function Kne(e){return new RegExp(e.toString()+"|").exec("").length-1}function SQe(e,t){const n=e&&e.exec(t);return n&&n.index===0}const vQe=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function I$(e,{joinWith:t}){let n=0;return e.map(i=>{n+=1;const r=n;let s=Uy(i),a="";for(;s.length>0;){const o=vQe.exec(s);if(!o){a+=s;break}a+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?a+="\\"+String(Number(o[1])+r):(a+=o[0],o[0]==="("&&n++)}return a}).map(i=>`(${i})`).join(t)}const wQe=/\b\B/,Jne="[a-zA-Z]\\w*",P$="[a-zA-Z_]\\w*",eie="\\b\\d+(\\.\\d+)?",tie="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",nie="\\b(0b[01]+)",EQe="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",kQe=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=Op(t,/.*\b/,e.binary,/\b.*/)),Qd({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},e)},zy={begin:"\\\\[\\s\\S]",relevance:0},TQe={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[zy]},_Qe={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[zy]},AQe={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},s_=function(e,t,n={}){const i=Qd({scope:"comment",begin:e,end:t,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=R$("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:Op(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},NQe=s_("//","$"),CQe=s_("/\\*","\\*/"),RQe=s_("#","$"),IQe={scope:"number",begin:eie,relevance:0},PQe={scope:"number",begin:tie,relevance:0},jQe={scope:"number",begin:nie,relevance:0},MQe={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[zy,{begin:/\[/,end:/\]/,relevance:0,contains:[zy]}]},LQe={scope:"title",begin:Jne,relevance:0},DQe={scope:"title",begin:P$,relevance:0},$Qe={begin:"\\.\\s*"+P$,relevance:0},QQe=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})};var QS=Object.freeze({__proto__:null,APOS_STRING_MODE:TQe,BACKSLASH_ESCAPE:zy,BINARY_NUMBER_MODE:jQe,BINARY_NUMBER_RE:nie,COMMENT:s_,C_BLOCK_COMMENT_MODE:CQe,C_LINE_COMMENT_MODE:NQe,C_NUMBER_MODE:PQe,C_NUMBER_RE:tie,END_SAME_AS_BEGIN:QQe,HASH_COMMENT_MODE:RQe,IDENT_RE:Jne,MATCH_NOTHING_RE:wQe,METHOD_GUARD:$Qe,NUMBER_MODE:IQe,NUMBER_RE:eie,PHRASAL_WORDS_MODE:AQe,QUOTE_STRING_MODE:_Qe,REGEXP_MODE:MQe,RE_STARTERS_RE:EQe,SHEBANG:kQe,TITLE_MODE:LQe,UNDERSCORE_IDENT_RE:P$,UNDERSCORE_TITLE_MODE:DQe});function BQe(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function UQe(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function zQe(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=BQe,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function FQe(e,t){Array.isArray(e.illegal)&&(e.illegal=R$(...e.illegal))}function VQe(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function XQe(e,t){e.relevance===void 0&&(e.relevance=1)}const qQe=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(i=>{delete e[i]}),e.keywords=n.keywords,e.begin=Op(n.beforeMatch,Zne(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},HQe=["of","and","for","in","not","or","if","then","parent","list","value"],YQe="keyword";function iie(e,t,n=YQe){const i=Object.create(null);return typeof e=="string"?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach(function(s){Object.assign(i,iie(e[s],t,s))}),i;function r(s,a){t&&(a=a.map(o=>o.toLowerCase())),a.forEach(function(o){const l=o.split("|");i[l[0]]=[s,GQe(l[0],l[1])]})}}function GQe(e,t){return t?Number(t):WQe(e)?0:1}function WQe(e){return HQe.includes(e.toLowerCase())}const DU={},Mh=e=>{console.error(e)},$U=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Lp=(e,t)=>{DU[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),DU[`${e}/${t}`]=!0)},WE=new Error;function rie(e,t,{key:n}){let i=0;const r=e[n],s={},a={};for(let o=1;o<=t.length;o++)a[o+i]=r[o],s[o+i]=!0,i+=Kne(t[o-1]);e[n]=a,e[n]._emit=s,e[n]._multi=!0}function ZQe(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Mh("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),WE;if(typeof e.beginScope!="object"||e.beginScope===null)throw Mh("beginScope must be object"),WE;rie(e,e.begin,{key:"beginScope"}),e.begin=I$(e.begin,{joinWith:""})}}function KQe(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Mh("skip, excludeEnd, returnEnd not compatible with endScope: {}"),WE;if(typeof e.endScope!="object"||e.endScope===null)throw Mh("endScope must be object"),WE;rie(e,e.end,{key:"endScope"}),e.end=I$(e.end,{joinWith:""})}}function JQe(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function e4e(e){JQe(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),ZQe(e),KQe(e)}function t4e(e){function t(a,o){return new RegExp(Uy(a),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(o?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,o]),this.matchAt+=Kne(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const o=this.regexes.map(l=>l[1]);this.matcherRe=t(I$(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(o);if(!l)return null;const u=l.findIndex((f,h)=>h>0&&f!==void 0),d=this.matchIndexes[u];return l.splice(0,u),Object.assign(l,d)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const l=new n;return this.rules.slice(o).forEach(([u,d])=>l.addRule(u,d)),l.compile(),this.multiRegexes[o]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,l){this.rules.push([o,l]),l.type==="begin"&&this.count++}exec(o){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let u=l.exec(o);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(o)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function r(a){const o=new i;return a.contains.forEach(l=>o.addRule(l.begin,{rule:l,type:"begin"})),a.terminatorEnd&&o.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&o.addRule(a.illegal,{type:"illegal"}),o}function s(a,o){const l=a;if(a.isCompiled)return l;[UQe,VQe,e4e,qQe].forEach(d=>d(a,o)),e.compilerExtensions.forEach(d=>d(a,o)),a.__beforeBegin=null,[zQe,FQe,XQe].forEach(d=>d(a,o)),a.isCompiled=!0;let u=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),u=a.keywords.$pattern,delete a.keywords.$pattern),u=u||/\w+/,a.keywords&&(a.keywords=iie(a.keywords,e.case_insensitive)),l.keywordPatternRe=t(u,!0),o&&(a.begin||(a.begin=/\B|\b/),l.beginRe=t(l.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(l.endRe=t(l.end)),l.terminatorEnd=Uy(l.end)||"",a.endsWithParent&&o.terminatorEnd&&(l.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(l.illegalRe=t(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(d){return n4e(d==="self"?a:d)})),a.contains.forEach(function(d){s(d,l)}),a.starts&&s(a.starts,o),l.matcher=r(l),l}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Qd(e.classNameAliases||{}),s(e)}function sie(e){return e?e.endsWithParent||sie(e.starts):!1}function n4e(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return Qd(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:sie(e)?Qd(e,{starts:e.starts?Qd(e.starts):null}):Object.isFrozen(e)?Qd(e):e}var i4e="11.11.1";class r4e extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const v2=Wne,QU=Qd,BU=Symbol("nomatch"),s4e=7,aie=function(e){const t=Object.create(null),n=Object.create(null),i=[];let r=!0;const s="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]};let o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:OQe};function l(N){return o.noHighlightRe.test(N)}function u(N){let M=N.className+" ";M+=N.parentNode?N.parentNode.className:"";const B=o.languageDetectRe.exec(M);if(B){const $=_(B[1]);return $||($U(s.replace("{}",B[1])),$U("Falling back to no-highlight mode for this block.",N)),$?B[1]:"no-highlight"}return M.split(/\s+/).find($=>l($)||_($))}function d(N,M,B){let $="",I="";typeof M=="object"?($=N,B=M.ignoreIllegals,I=M.language):(Lp("10.7.0","highlight(lang, code, ...args) has been deprecated."),Lp("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),I=N,$=M),B===void 0&&(B=!0);const G={code:$,language:I};L("before:highlight",G);const X=G.result?G.result:f(G.language,G.code,B);return X.code=G.code,L("after:highlight",X),X}function f(N,M,B,$){const I=Object.create(null);function G(q,oe){return q.keywords[oe]}function X(){if(!me.keywords){je.addText(Ue);return}let q=0;me.keywordPatternRe.lastIndex=0;let oe=me.keywordPatternRe.exec(Ue),de="";for(;oe;){de+=Ue.substring(q,oe.index);const Ie=he.case_insensitive?oe[0].toLowerCase():oe[0],ce=G(me,Ie);if(ce){const[Me,Ye]=ce;if(je.addText(de),de="",I[Ie]=(I[Ie]||0)+1,I[Ie]<=s4e&&(st+=Ye),Me.startsWith("_"))de+=oe[0];else{const dt=he.classNameAliases[Me]||Me;ae(oe[0],dt)}}else de+=oe[0];q=me.keywordPatternRe.lastIndex,oe=me.keywordPatternRe.exec(Ue)}de+=Ue.substring(q),je.addText(de)}function U(){if(Ue==="")return;let q=null;if(typeof me.subLanguage=="string"){if(!t[me.subLanguage]){je.addText(Ue);return}q=f(me.subLanguage,Ue,!0,Be[me.subLanguage]),Be[me.subLanguage]=q._top}else q=p(Ue,me.subLanguage.length?me.subLanguage:null);me.relevance>0&&(st+=q.relevance),je.__addSublanguage(q._emitter,q.language)}function Y(){me.subLanguage!=null?U():X(),Ue=""}function ae(q,oe){q!==""&&(je.startScope(oe),je.addText(q),je.endScope())}function fe(q,oe){let de=1;const Ie=oe.length-1;for(;de<=Ie;){if(!q._emit[de]){de++;continue}const ce=he.classNameAliases[q[de]]||q[de],Me=oe[de];ce?ae(Me,ce):(Ue=Me,X(),Ue=""),de++}}function ke(q,oe){return q.scope&&typeof q.scope=="string"&&je.openNode(he.classNameAliases[q.scope]||q.scope),q.beginScope&&(q.beginScope._wrap?(ae(Ue,he.classNameAliases[q.beginScope._wrap]||q.beginScope._wrap),Ue=""):q.beginScope._multi&&(fe(q.beginScope,oe),Ue="")),me=Object.create(q,{parent:{value:me}}),me}function K(q,oe,de){let Ie=SQe(q.endRe,de);if(Ie){if(q["on:end"]){const ce=new jU(q);q["on:end"](oe,ce),ce.isMatchIgnored&&(Ie=!1)}if(Ie){for(;q.endsParent&&q.parent;)q=q.parent;return q}}if(q.endsWithParent)return K(q.parent,oe,de)}function ie(q){return me.matcher.regexIndex===0?(Ue+=q[0],1):(at=!0,0)}function le(q){const oe=q[0],de=q.rule,Ie=new jU(de),ce=[de.__beforeBegin,de["on:begin"]];for(const Me of ce)if(Me&&(Me(q,Ie),Ie.isMatchIgnored))return ie(oe);return de.skip?Ue+=oe:(de.excludeBegin&&(Ue+=oe),Y(),!de.returnBegin&&!de.excludeBegin&&(Ue=oe)),ke(de,q),de.returnBegin?0:oe.length}function ge(q){const oe=q[0],de=M.substring(q.index),Ie=K(me,q,de);if(!Ie)return BU;const ce=me;me.endScope&&me.endScope._wrap?(Y(),ae(oe,me.endScope._wrap)):me.endScope&&me.endScope._multi?(Y(),fe(me.endScope,q)):ce.skip?Ue+=oe:(ce.returnEnd||ce.excludeEnd||(Ue+=oe),Y(),ce.excludeEnd&&(Ue=oe));do me.scope&&je.closeNode(),!me.skip&&!me.subLanguage&&(st+=me.relevance),me=me.parent;while(me!==Ie.parent);return Ie.starts&&ke(Ie.starts,q),ce.returnEnd?0:oe.length}function Ee(){const q=[];for(let oe=me;oe!==he;oe=oe.parent)oe.scope&&q.unshift(oe.scope);q.forEach(oe=>je.openNode(oe))}let Ce={};function _e(q,oe){const de=oe&&oe[0];if(Ue+=q,de==null)return Y(),0;if(Ce.type==="begin"&&oe.type==="end"&&Ce.index===oe.index&&de===""){if(Ue+=M.slice(oe.index,oe.index+1),!r){const Ie=new Error(`0 width match regex (${N})`);throw Ie.languageName=N,Ie.badRule=Ce.rule,Ie}return 1}if(Ce=oe,oe.type==="begin")return le(oe);if(oe.type==="illegal"&&!B){const Ie=new Error('Illegal lexeme "'+de+'" for mode "'+(me.scope||"")+'"');throw Ie.mode=me,Ie}else if(oe.type==="end"){const Ie=ge(oe);if(Ie!==BU)return Ie}if(oe.type==="illegal"&&de==="")return Ue+=` -`,1;if(Tt>1e5&&Tt>oe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Ue+=de,de.length}const he=_(N);if(!he)throw Mh(s.replace("{}",N)),new Error('Unknown language: "'+N+'"');const te=t4e(he);let Te="",me=$||te;const Be={},je=new o.__emitter(o);Ee();let Ue="",st=0,ct=0,Tt=0,at=!1;try{if(he.__emitTokens)he.__emitTokens(M,je);else{for(me.matcher.considerAll();;){Tt++,at?at=!1:me.matcher.considerAll(),me.matcher.lastIndex=ct;const q=me.matcher.exec(M);if(!q)break;const oe=M.substring(ct,q.index),de=_e(oe,q);ct=q.index+de}_e(M.substring(ct))}return je.finalize(),Te=je.toHTML(),{language:N,value:Te,relevance:st,illegal:!1,_emitter:je,_top:me}}catch(q){if(q.message&&q.message.includes("Illegal"))return{language:N,value:v2(M),illegal:!0,relevance:0,_illegalBy:{message:q.message,index:ct,context:M.slice(ct-100,ct+100),mode:q.mode,resultSoFar:Te},_emitter:je};if(r)return{language:N,value:v2(M),illegal:!1,relevance:0,errorRaised:q,_emitter:je,_top:me};throw q}}function h(N){const M={value:v2(N),illegal:!1,relevance:0,_top:a,_emitter:new o.__emitter(o)};return M._emitter.addText(N),M}function p(N,M){M=M||o.languages||Object.keys(t);const B=h(N),$=M.filter(_).filter(A).map(Y=>f(Y,N,!1));$.unshift(B);const I=$.sort((Y,ae)=>{if(Y.relevance!==ae.relevance)return ae.relevance-Y.relevance;if(Y.language&&ae.language){if(_(Y.language).supersetOf===ae.language)return 1;if(_(ae.language).supersetOf===Y.language)return-1}return 0}),[G,X]=I,U=G;return U.secondBest=X,U}function m(N,M,B){const $=M&&n[M]||B;N.classList.add("hljs"),N.classList.add(`language-${$}`)}function g(N){let M=null;const B=u(N);if(l(B))return;if(L("before:highlightElement",{el:N,language:B}),N.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",N);return}if(N.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(N)),o.throwUnescapedHTML))throw new r4e("One of your code blocks includes unescaped HTML.",N.innerHTML);M=N;const $=M.textContent,I=B?d($,{language:B,ignoreIllegals:!0}):p($);N.innerHTML=I.value,N.dataset.highlighted="yes",m(N,B,I.language),N.result={language:I.language,re:I.relevance,relevance:I.relevance},I.secondBest&&(N.secondBest={language:I.secondBest.language,relevance:I.secondBest.relevance}),L("after:highlightElement",{el:N,result:I,text:$})}function y(N){o=QU(o,N)}const b=()=>{v(),Lp("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function S(){v(),Lp("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let x=!1;function v(){function N(){v()}if(document.readyState==="loading"){x||window.addEventListener("DOMContentLoaded",N,!1),x=!0;return}document.querySelectorAll(o.cssSelector).forEach(g)}function E(N,M){let B=null;try{B=M(e)}catch($){if(Mh("Language definition for '{}' could not be registered.".replace("{}",N)),r)Mh($);else throw $;B=a}B.name||(B.name=N),t[N]=B,B.rawDefinition=M.bind(null,e),B.aliases&&C(B.aliases,{languageName:N})}function w(N){delete t[N];for(const M of Object.keys(n))n[M]===N&&delete n[M]}function k(){return Object.keys(t)}function _(N){return N=(N||"").toLowerCase(),t[N]||t[n[N]]}function C(N,{languageName:M}){typeof N=="string"&&(N=[N]),N.forEach(B=>{n[B.toLowerCase()]=M})}function A(N){const M=_(N);return M&&!M.disableAutodetect}function R(N){N["before:highlightBlock"]&&!N["before:highlightElement"]&&(N["before:highlightElement"]=M=>{N["before:highlightBlock"](Object.assign({block:M.el},M))}),N["after:highlightBlock"]&&!N["after:highlightElement"]&&(N["after:highlightElement"]=M=>{N["after:highlightBlock"](Object.assign({block:M.el},M))})}function j(N){R(N),i.push(N)}function Q(N){const M=i.indexOf(N);M!==-1&&i.splice(M,1)}function L(N,M){const B=N;i.forEach(function($){$[B]&&$[B](M)})}function D(N){return Lp("10.7.0","highlightBlock will be removed entirely in v12.0"),Lp("10.7.0","Please use highlightElement now."),g(N)}Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:v,highlightElement:g,highlightBlock:D,configure:y,initHighlighting:b,initHighlightingOnLoad:S,registerLanguage:E,unregisterLanguage:w,listLanguages:k,getLanguage:_,registerAliases:C,autoDetection:A,inherit:QU,addPlugin:j,removePlugin:Q}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString=i4e,e.regex={concat:Op,lookahead:Zne,either:R$,optional:yQe,anyNumberOfTimes:bQe};for(const N in QS)typeof QS[N]=="object"&&Gne(QS[N]);return Object.assign(e,QS),e},Bg=aie({});Bg.newInstance=()=>aie({});var a4e=Bg;Bg.HighlightJS=Bg;Bg.default=Bg;const Aa=n0(a4e),UU={},o4e="hljs-";function l4e(e){const t=Aa.newInstance();return e&&s(e),{highlight:n,highlightAuto:i,listLanguages:r,register:s,registerAlias:a,registered:o};function n(l,u,d){const f=d||UU,h=typeof f.prefix=="string"?f.prefix:o4e;if(!t.getLanguage(l))throw new Error("Unknown language: `"+l+"` is not registered");t.configure({__emitter:c4e,classPrefix:h});const p=t.highlight(u,{ignoreIllegals:!0,language:l});if(p.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:p.errorRaised});const m=p._emitter.root,g=m.data;return g.language=p.language,g.relevance=p.relevance,m}function i(l,u){const f=(u||UU).subset||r();let h=-1,p=0,m;for(;++hp&&(p=y.data.relevance,m=y)}return m||{type:"root",children:[],data:{language:void 0,relevance:p}}}function r(){return t.listLanguages()}function s(l,u){if(typeof l=="string")t.registerLanguage(l,u);else{let d;for(d in l)Object.hasOwn(l,d)&&t.registerLanguage(d,l[d])}}function a(l,u){if(typeof l=="string")t.registerAliases(typeof u=="string"?u:[...u],{languageName:l});else{let d;for(d in l)if(Object.hasOwn(l,d)){const f=l[d];t.registerAliases(typeof f=="string"?f:[...f],{languageName:d})}}}function o(l){return!!t.getLanguage(l)}}class c4e{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],i=n.children[n.children.length-1];i&&i.type==="text"?i.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const i=this.stack[this.stack.length-1],r=t.root.children;n?i.children.push({type:"element",tagName:"span",properties:{className:[n]},children:r}):i.children.push(...r)}openNode(t){const n=this,i=t.split(".").map(function(a,o){return o?a+"_".repeat(o):n.options.classPrefix+a}),r=this.stack[this.stack.length-1],s={type:"element",tagName:"span",properties:{className:i},children:[]};r.children.push(s),this.stack.push(s)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const u4e={};function zU(e){const t=e||u4e,n=t.aliases,i=t.detect||!1,r=t.languages||hQe,s=t.plainText,a=t.prefix,o=t.subset;let l="hljs";const u=l4e(r);if(n&&u.registerAlias(n),a){const d=a.indexOf("-");l=d===-1?a:a.slice(0,d)}return function(d,f){Jx(d,"element",function(h,p,m){if(h.tagName!=="code"||!m||m.type!=="element"||m.tagName!=="pre")return;const g=d4e(h);if(g===!1||!g&&!i||g&&s&&s.includes(g))return;Array.isArray(h.properties.className)||(h.properties.className=[]),h.properties.className.includes(l)||h.properties.className.unshift(l);const y=Y5e(h,{whitespace:"pre"});let b;try{b=g?u.highlight(g,y,{prefix:a}):u.highlightAuto(y,{prefix:a,subset:o})}catch(S){const x=S;if(g&&/Unknown language/.test(x.message)){f.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[m,h],cause:x,place:h.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw x}!g&&b.data&&b.data.language&&h.properties.className.push("language-"+b.data.language),b.children.length>0&&(h.children=b.children)})}}function d4e(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let i;for(;++n-1&&s<=t.length){let a=0;for(;;){let o=n[a];if(o===void 0){const l=XU(t,n[a-1]);o=l===-1?t.length+1:l+1,n[a]=o}if(o>s)return{line:a+1,column:s-(a>0?n[a-1]:0)+1,offset:s};a++}}}function r(s){if(s&&typeof s.line=="number"&&typeof s.column=="number"&&!Number.isNaN(s.line)&&!Number.isNaN(s.column)){for(;n.length1?n[s.line-2]:0)+s.column-1;if(a=55296&&e<=57343}function D4e(e){return e>=56320&&e<=57343}function $4e(e,t){return(e-55296)*1024+9216+t}function fie(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function hie(e){return e>=64976&&e<=65007||L4e.has(e)}var Ne;(function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(Ne||(Ne={}));const Q4e=65536;class B4e{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=Q4e,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t,n){const{line:i,col:r,offset:s}=this,a=r+n,o=s+n;return{code:t,startLine:i,endLine:i,startCol:a,endCol:a,startOffset:o,endOffset:o}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const n=this.html.charCodeAt(this.pos+1);if(D4e(n))return this.pos++,this._addGap(),$4e(t,n)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,W.EOF;return this._err(Ne.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,n){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=n}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,n){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(n)return this.html.startsWith(t,this.pos);for(let i=0;i=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,W.EOF;const i=this.html.charCodeAt(n);return i===W.CARRIAGE_RETURN?W.LINE_FEED:i}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,W.EOF;let t=this.html.charCodeAt(this.pos);return t===W.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,W.LINE_FEED):t===W.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,die(t)&&(t=this._processSurrogate(t)),this.handler.onParseError===null||t>31&&t<127||t===W.LINE_FEED||t===W.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){fie(t)?this._err(Ne.controlCharacterInInputStream):hie(t)&&this._err(Ne.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.pos=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null}const U4e=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(e=>e.charCodeAt(0))),z4e=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function F4e(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=z4e.get(e))!==null&&t!==void 0?t:e}var cs;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(cs||(cs={}));const V4e=32;var Bd;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Bd||(Bd={}));function $P(e){return e>=cs.ZERO&&e<=cs.NINE}function X4e(e){return e>=cs.UPPER_A&&e<=cs.UPPER_F||e>=cs.LOWER_A&&e<=cs.LOWER_F}function q4e(e){return e>=cs.UPPER_A&&e<=cs.UPPER_Z||e>=cs.LOWER_A&&e<=cs.LOWER_Z||$P(e)}function H4e(e){return e===cs.EQUALS||q4e(e)}var is;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(is||(is={}));var ru;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(ru||(ru={}));class Y4e{constructor(t,n,i){this.decodeTree=t,this.emitCodePoint=n,this.errors=i,this.state=is.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=ru.Strict}startEntity(t){this.decodeMode=t,this.state=is.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case is.EntityStart:return t.charCodeAt(n)===cs.NUM?(this.state=is.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=is.NamedEntity,this.stateNamedEntity(t,n));case is.NumericStart:return this.stateNumericStart(t,n);case is.NumericDecimal:return this.stateNumericDecimal(t,n);case is.NumericHex:return this.stateNumericHex(t,n);case is.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|V4e)===cs.LOWER_X?(this.state=is.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=is.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,i,r){if(n!==i){const s=i-n;this.result=this.result*Math.pow(r,s)+Number.parseInt(t.substr(n,s),r),this.consumed+=s}}stateNumericHex(t,n){const i=n;for(;n>14;for(;n>14,s!==0){if(a===cs.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==ru.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;const{result:n,decodeTree:i}=this,r=(i[n]&Bd.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,r,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,i){const{decodeTree:r}=this;return this.emitCodePoint(n===1?r[t]&~Bd.VALUE_LENGTH:r[t+1],i),n===3&&this.emitCodePoint(r[t+2],i),i}end(){var t;switch(this.state){case is.NamedEntity:return this.result!==0&&(this.decodeMode!==ru.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case is.NumericDecimal:return this.emitNumericEntity(0,2);case is.NumericHex:return this.emitNumericEntity(0,3);case is.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case is.EntityStart:return 0}}}function G4e(e,t,n,i){const r=(t&Bd.BRANCH_LENGTH)>>7,s=t&Bd.JUMP_TABLE;if(r===0)return s!==0&&i===s?n:-1;if(s){const l=i-s;return l<0||l>=r?-1:e[n+l]-1}let a=n,o=a+r-1;for(;a<=o;){const l=a+o>>>1,u=e[l];if(ui)o=l-1;else return e[l+r]}return-1}var ze;(function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"})(ze||(ze={}));var Lh;(function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"})(Lh||(Lh={}));var _o;(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})(_o||(_o={}));var Oe;(function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SEARCH="search",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"})(Oe||(Oe={}));var T;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SEARCH=94]="SEARCH",e[e.SECTION=95]="SECTION",e[e.SELECT=96]="SELECT",e[e.SOURCE=97]="SOURCE",e[e.SMALL=98]="SMALL",e[e.SPAN=99]="SPAN",e[e.STRIKE=100]="STRIKE",e[e.STRONG=101]="STRONG",e[e.STYLE=102]="STYLE",e[e.SUB=103]="SUB",e[e.SUMMARY=104]="SUMMARY",e[e.SUP=105]="SUP",e[e.TABLE=106]="TABLE",e[e.TBODY=107]="TBODY",e[e.TEMPLATE=108]="TEMPLATE",e[e.TEXTAREA=109]="TEXTAREA",e[e.TFOOT=110]="TFOOT",e[e.TD=111]="TD",e[e.TH=112]="TH",e[e.THEAD=113]="THEAD",e[e.TITLE=114]="TITLE",e[e.TR=115]="TR",e[e.TRACK=116]="TRACK",e[e.TT=117]="TT",e[e.U=118]="U",e[e.UL=119]="UL",e[e.SVG=120]="SVG",e[e.VAR=121]="VAR",e[e.WBR=122]="WBR",e[e.XMP=123]="XMP"})(T||(T={}));const W4e=new Map([[Oe.A,T.A],[Oe.ADDRESS,T.ADDRESS],[Oe.ANNOTATION_XML,T.ANNOTATION_XML],[Oe.APPLET,T.APPLET],[Oe.AREA,T.AREA],[Oe.ARTICLE,T.ARTICLE],[Oe.ASIDE,T.ASIDE],[Oe.B,T.B],[Oe.BASE,T.BASE],[Oe.BASEFONT,T.BASEFONT],[Oe.BGSOUND,T.BGSOUND],[Oe.BIG,T.BIG],[Oe.BLOCKQUOTE,T.BLOCKQUOTE],[Oe.BODY,T.BODY],[Oe.BR,T.BR],[Oe.BUTTON,T.BUTTON],[Oe.CAPTION,T.CAPTION],[Oe.CENTER,T.CENTER],[Oe.CODE,T.CODE],[Oe.COL,T.COL],[Oe.COLGROUP,T.COLGROUP],[Oe.DD,T.DD],[Oe.DESC,T.DESC],[Oe.DETAILS,T.DETAILS],[Oe.DIALOG,T.DIALOG],[Oe.DIR,T.DIR],[Oe.DIV,T.DIV],[Oe.DL,T.DL],[Oe.DT,T.DT],[Oe.EM,T.EM],[Oe.EMBED,T.EMBED],[Oe.FIELDSET,T.FIELDSET],[Oe.FIGCAPTION,T.FIGCAPTION],[Oe.FIGURE,T.FIGURE],[Oe.FONT,T.FONT],[Oe.FOOTER,T.FOOTER],[Oe.FOREIGN_OBJECT,T.FOREIGN_OBJECT],[Oe.FORM,T.FORM],[Oe.FRAME,T.FRAME],[Oe.FRAMESET,T.FRAMESET],[Oe.H1,T.H1],[Oe.H2,T.H2],[Oe.H3,T.H3],[Oe.H4,T.H4],[Oe.H5,T.H5],[Oe.H6,T.H6],[Oe.HEAD,T.HEAD],[Oe.HEADER,T.HEADER],[Oe.HGROUP,T.HGROUP],[Oe.HR,T.HR],[Oe.HTML,T.HTML],[Oe.I,T.I],[Oe.IMG,T.IMG],[Oe.IMAGE,T.IMAGE],[Oe.INPUT,T.INPUT],[Oe.IFRAME,T.IFRAME],[Oe.KEYGEN,T.KEYGEN],[Oe.LABEL,T.LABEL],[Oe.LI,T.LI],[Oe.LINK,T.LINK],[Oe.LISTING,T.LISTING],[Oe.MAIN,T.MAIN],[Oe.MALIGNMARK,T.MALIGNMARK],[Oe.MARQUEE,T.MARQUEE],[Oe.MATH,T.MATH],[Oe.MENU,T.MENU],[Oe.META,T.META],[Oe.MGLYPH,T.MGLYPH],[Oe.MI,T.MI],[Oe.MO,T.MO],[Oe.MN,T.MN],[Oe.MS,T.MS],[Oe.MTEXT,T.MTEXT],[Oe.NAV,T.NAV],[Oe.NOBR,T.NOBR],[Oe.NOFRAMES,T.NOFRAMES],[Oe.NOEMBED,T.NOEMBED],[Oe.NOSCRIPT,T.NOSCRIPT],[Oe.OBJECT,T.OBJECT],[Oe.OL,T.OL],[Oe.OPTGROUP,T.OPTGROUP],[Oe.OPTION,T.OPTION],[Oe.P,T.P],[Oe.PARAM,T.PARAM],[Oe.PLAINTEXT,T.PLAINTEXT],[Oe.PRE,T.PRE],[Oe.RB,T.RB],[Oe.RP,T.RP],[Oe.RT,T.RT],[Oe.RTC,T.RTC],[Oe.RUBY,T.RUBY],[Oe.S,T.S],[Oe.SCRIPT,T.SCRIPT],[Oe.SEARCH,T.SEARCH],[Oe.SECTION,T.SECTION],[Oe.SELECT,T.SELECT],[Oe.SOURCE,T.SOURCE],[Oe.SMALL,T.SMALL],[Oe.SPAN,T.SPAN],[Oe.STRIKE,T.STRIKE],[Oe.STRONG,T.STRONG],[Oe.STYLE,T.STYLE],[Oe.SUB,T.SUB],[Oe.SUMMARY,T.SUMMARY],[Oe.SUP,T.SUP],[Oe.TABLE,T.TABLE],[Oe.TBODY,T.TBODY],[Oe.TEMPLATE,T.TEMPLATE],[Oe.TEXTAREA,T.TEXTAREA],[Oe.TFOOT,T.TFOOT],[Oe.TD,T.TD],[Oe.TH,T.TH],[Oe.THEAD,T.THEAD],[Oe.TITLE,T.TITLE],[Oe.TR,T.TR],[Oe.TRACK,T.TRACK],[Oe.TT,T.TT],[Oe.U,T.U],[Oe.UL,T.UL],[Oe.SVG,T.SVG],[Oe.VAR,T.VAR],[Oe.WBR,T.WBR],[Oe.XMP,T.XMP]]);function E0(e){var t;return(t=W4e.get(e))!==null&&t!==void 0?t:T.UNKNOWN}const Xe=T,Z4e={[ze.HTML]:new Set([Xe.ADDRESS,Xe.APPLET,Xe.AREA,Xe.ARTICLE,Xe.ASIDE,Xe.BASE,Xe.BASEFONT,Xe.BGSOUND,Xe.BLOCKQUOTE,Xe.BODY,Xe.BR,Xe.BUTTON,Xe.CAPTION,Xe.CENTER,Xe.COL,Xe.COLGROUP,Xe.DD,Xe.DETAILS,Xe.DIR,Xe.DIV,Xe.DL,Xe.DT,Xe.EMBED,Xe.FIELDSET,Xe.FIGCAPTION,Xe.FIGURE,Xe.FOOTER,Xe.FORM,Xe.FRAME,Xe.FRAMESET,Xe.H1,Xe.H2,Xe.H3,Xe.H4,Xe.H5,Xe.H6,Xe.HEAD,Xe.HEADER,Xe.HGROUP,Xe.HR,Xe.HTML,Xe.IFRAME,Xe.IMG,Xe.INPUT,Xe.LI,Xe.LINK,Xe.LISTING,Xe.MAIN,Xe.MARQUEE,Xe.MENU,Xe.META,Xe.NAV,Xe.NOEMBED,Xe.NOFRAMES,Xe.NOSCRIPT,Xe.OBJECT,Xe.OL,Xe.P,Xe.PARAM,Xe.PLAINTEXT,Xe.PRE,Xe.SCRIPT,Xe.SECTION,Xe.SELECT,Xe.SOURCE,Xe.STYLE,Xe.SUMMARY,Xe.TABLE,Xe.TBODY,Xe.TD,Xe.TEMPLATE,Xe.TEXTAREA,Xe.TFOOT,Xe.TH,Xe.THEAD,Xe.TITLE,Xe.TR,Xe.TRACK,Xe.UL,Xe.WBR,Xe.XMP]),[ze.MATHML]:new Set([Xe.MI,Xe.MO,Xe.MN,Xe.MS,Xe.MTEXT,Xe.ANNOTATION_XML]),[ze.SVG]:new Set([Xe.TITLE,Xe.FOREIGN_OBJECT,Xe.DESC]),[ze.XLINK]:new Set,[ze.XML]:new Set,[ze.XMLNS]:new Set},QP=new Set([Xe.H1,Xe.H2,Xe.H3,Xe.H4,Xe.H5,Xe.H6]);Oe.STYLE,Oe.SCRIPT,Oe.XMP,Oe.IFRAME,Oe.NOEMBED,Oe.NOFRAMES,Oe.PLAINTEXT;var J;(function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(J||(J={}));const wr={DATA:J.DATA,RCDATA:J.RCDATA,RAWTEXT:J.RAWTEXT,SCRIPT_DATA:J.SCRIPT_DATA,PLAINTEXT:J.PLAINTEXT,CDATA_SECTION:J.CDATA_SECTION};function K4e(e){return e>=W.DIGIT_0&&e<=W.DIGIT_9}function JO(e){return e>=W.LATIN_CAPITAL_A&&e<=W.LATIN_CAPITAL_Z}function J4e(e){return e>=W.LATIN_SMALL_A&&e<=W.LATIN_SMALL_Z}function Od(e){return J4e(e)||JO(e)}function HU(e){return Od(e)||K4e(e)}function BS(e){return e+32}function mie(e){return e===W.SPACE||e===W.LINE_FEED||e===W.TABULATION||e===W.FORM_FEED}function YU(e){return mie(e)||e===W.SOLIDUS||e===W.GREATER_THAN_SIGN}function e6e(e){return e===W.NULL?Ne.nullCharacterReference:e>1114111?Ne.characterReferenceOutsideUnicodeRange:die(e)?Ne.surrogateCharacterReference:hie(e)?Ne.noncharacterCharacterReference:fie(e)||e===W.CARRIAGE_RETURN?Ne.controlCharacterReference:null}class t6e{constructor(t,n){this.options=t,this.handler=n,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=J.DATA,this.returnState=J.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new B4e(n),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new Y4e(U4e,(i,r)=>{this.preprocessor.pos=this.entityStartPos+r-1,this._flushCodePointConsumedAsCharacterReference(i)},n.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(Ne.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:i=>{this._err(Ne.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+i)},validateNumericCharacterReference:i=>{const r=e6e(i);r&&this._err(r,1)}}:void 0)}_err(t,n=0){var i,r;(r=(i=this.handler).onParseError)===null||r===void 0||r.call(i,this.preprocessor.getError(t,n))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||t==null||t())}write(t,n,i){this.active=!0,this.preprocessor.write(t,n),this._runParsingLoop(),this.paused||i==null||i()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let n=0;n0&&this._err(Ne.endTagWithAttributes),t.selfClosing&&this._err(Ne.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case On.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case On.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case On.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){const t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:On.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,n){if(this.currentCharacterToken)if(this.currentCharacterToken.type===t){this.currentCharacterToken.chars+=n;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(t,n)}_emitCodePoint(t){const n=mie(t)?On.WHITESPACE_CHARACTER:t===W.NULL?On.NULL_CHARACTER:On.CHARACTER;this._appendCharToCurrentCharacterToken(n,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(On.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=J.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?ru.Attribute:ru.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===J.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===J.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===J.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case J.DATA:{this._stateData(t);break}case J.RCDATA:{this._stateRcdata(t);break}case J.RAWTEXT:{this._stateRawtext(t);break}case J.SCRIPT_DATA:{this._stateScriptData(t);break}case J.PLAINTEXT:{this._statePlaintext(t);break}case J.TAG_OPEN:{this._stateTagOpen(t);break}case J.END_TAG_OPEN:{this._stateEndTagOpen(t);break}case J.TAG_NAME:{this._stateTagName(t);break}case J.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(t);break}case J.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(t);break}case J.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(t);break}case J.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(t);break}case J.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(t);break}case J.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(t);break}case J.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(t);break}case J.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(t);break}case J.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(t);break}case J.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(t);break}case J.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(t);break}case J.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(t);break}case J.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(t);break}case J.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(t);break}case J.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(t);break}case J.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(t);break}case J.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(t);break}case J.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(t);break}case J.ATTRIBUTE_NAME:{this._stateAttributeName(t);break}case J.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(t);break}case J.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(t);break}case J.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(t);break}case J.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(t);break}case J.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(t);break}case J.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(t);break}case J.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(t);break}case J.BOGUS_COMMENT:{this._stateBogusComment(t);break}case J.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(t);break}case J.COMMENT_START:{this._stateCommentStart(t);break}case J.COMMENT_START_DASH:{this._stateCommentStartDash(t);break}case J.COMMENT:{this._stateComment(t);break}case J.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(t);break}case J.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(t);break}case J.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(t);break}case J.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(t);break}case J.COMMENT_END_DASH:{this._stateCommentEndDash(t);break}case J.COMMENT_END:{this._stateCommentEnd(t);break}case J.COMMENT_END_BANG:{this._stateCommentEndBang(t);break}case J.DOCTYPE:{this._stateDoctype(t);break}case J.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(t);break}case J.DOCTYPE_NAME:{this._stateDoctypeName(t);break}case J.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(t);break}case J.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(t);break}case J.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(t);break}case J.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(t);break}case J.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(t);break}case J.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(t);break}case J.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break}case J.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(t);break}case J.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(t);break}case J.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(t);break}case J.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(t);break}case J.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(t);break}case J.BOGUS_DOCTYPE:{this._stateBogusDoctype(t);break}case J.CDATA_SECTION:{this._stateCdataSection(t);break}case J.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(t);break}case J.CDATA_SECTION_END:{this._stateCdataSectionEnd(t);break}case J.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case J.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(t);break}default:throw new Error("Unknown state")}}_stateData(t){switch(t){case W.LESS_THAN_SIGN:{this.state=J.TAG_OPEN;break}case W.AMPERSAND:{this._startCharacterReference();break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this._emitCodePoint(t);break}case W.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case W.AMPERSAND:{this._startCharacterReference();break}case W.LESS_THAN_SIGN:{this.state=J.RCDATA_LESS_THAN_SIGN;break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this._emitChars(Gi);break}case W.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case W.LESS_THAN_SIGN:{this.state=J.RAWTEXT_LESS_THAN_SIGN;break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this._emitChars(Gi);break}case W.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case W.LESS_THAN_SIGN:{this.state=J.SCRIPT_DATA_LESS_THAN_SIGN;break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this._emitChars(Gi);break}case W.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case W.NULL:{this._err(Ne.unexpectedNullCharacter),this._emitChars(Gi);break}case W.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateTagOpen(t){if(Od(t))this._createStartTagToken(),this.state=J.TAG_NAME,this._stateTagName(t);else switch(t){case W.EXCLAMATION_MARK:{this.state=J.MARKUP_DECLARATION_OPEN;break}case W.SOLIDUS:{this.state=J.END_TAG_OPEN;break}case W.QUESTION_MARK:{this._err(Ne.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=J.BOGUS_COMMENT,this._stateBogusComment(t);break}case W.EOF:{this._err(Ne.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(Ne.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=J.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(Od(t))this._createEndTagToken(),this.state=J.TAG_NAME,this._stateTagName(t);else switch(t){case W.GREATER_THAN_SIGN:{this._err(Ne.missingEndTagName),this.state=J.DATA;break}case W.EOF:{this._err(Ne.eofBeforeTagName),this._emitChars("");break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this.state=J.SCRIPT_DATA_ESCAPED,this._emitChars(Gi);break}case W.EOF:{this._err(Ne.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=J.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===W.SOLIDUS?this.state=J.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:Od(t)?(this._emitChars("<"),this.state=J.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=J.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){Od(t)?(this.state=J.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("");break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this.state=J.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Gi);break}case W.EOF:{this._err(Ne.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=J.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===W.SOLIDUS?(this.state=J.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=J.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(pa.SCRIPT,!1)&&YU(this.preprocessor.peek(pa.SCRIPT.length))){this._emitCodePoint(t);for(let n=0;n0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!0)}replace(t,n){const i=this._indexOf(t);this.items[i]=n,i===this.stackTop&&(this.current=n)}insertAfter(t,n,i){const r=this._indexOf(t)+1;this.items.splice(r,0,n),this.tagIDs.splice(r,0,i),this.stackTop++,r===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,r===this.stackTop)}popUntilTagNamePopped(t){let n=this.stackTop+1;do n=this.tagIDs.lastIndexOf(t,n-1);while(n>0&&this.treeAdapter.getNamespaceURI(this.items[n])!==ze.HTML);this.shortenToLength(Math.max(n,0))}shortenToLength(t){for(;this.stackTop>=t;){const n=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(n,this.stackTop=0;i--)if(t.has(this.tagIDs[i])&&this.treeAdapter.getNamespaceURI(this.items[i])===n)return i;return-1}clearBackTo(t,n){const i=this._indexOfTagNames(t,n);this.shortenToLength(i+1)}clearBackToTableContext(){this.clearBackTo(a6e,ze.HTML)}clearBackToTableBodyContext(){this.clearBackTo(s6e,ze.HTML)}clearBackToTableRowContext(){this.clearBackTo(r6e,ze.HTML)}remove(t){const n=this._indexOf(t);n>=0&&(n===this.stackTop?this.pop():(this.items.splice(n,1),this.tagIDs.splice(n,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===T.BODY?this.items[1]:null}contains(t){return this._indexOf(t)>-1}getCommonAncestor(t){const n=this._indexOf(t)-1;return n>=0?this.items[n]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===T.HTML}hasInDynamicScope(t,n){for(let i=this.stackTop;i>=0;i--){const r=this.tagIDs[i];switch(this.treeAdapter.getNamespaceURI(this.items[i])){case ze.HTML:{if(r===t)return!0;if(n.has(r))return!1;break}case ze.SVG:{if(ZU.has(r))return!1;break}case ze.MATHML:{if(WU.has(r))return!1;break}}}return!0}hasInScope(t){return this.hasInDynamicScope(t,ZE)}hasInListItemScope(t){return this.hasInDynamicScope(t,n6e)}hasInButtonScope(t){return this.hasInDynamicScope(t,i6e)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case ze.HTML:{if(QP.has(n))return!0;if(ZE.has(n))return!1;break}case ze.SVG:{if(ZU.has(n))return!1;break}case ze.MATHML:{if(WU.has(n))return!1;break}}}return!0}hasInTableScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===ze.HTML)switch(this.tagIDs[n]){case t:return!0;case T.TABLE:case T.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===ze.HTML)switch(this.tagIDs[t]){case T.TBODY:case T.THEAD:case T.TFOOT:return!0;case T.TABLE:case T.HTML:return!1}return!0}hasInSelectScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===ze.HTML)switch(this.tagIDs[n]){case t:return!0;case T.OPTION:case T.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&gie.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&GU.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;this.currentTagId!==void 0&&this.currentTagId!==t&&GU.has(this.currentTagId);)this.pop()}}const w2=3;var Zl;(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(Zl||(Zl={}));const KU={type:Zl.Marker};class c6e{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,n){const i=[],r=n.length,s=this.treeAdapter.getTagName(t),a=this.treeAdapter.getNamespaceURI(t);for(let o=0;o[a.name,a.value]));let s=0;for(let a=0;ar.get(l.name)===l.value)&&(s+=1,s>=w2&&this.entries.splice(o.idx,1))}}insertMarker(){this.entries.unshift(KU)}pushElement(t,n){this._ensureNoahArkCondition(t),this.entries.unshift({type:Zl.Element,element:t,token:n})}insertElementAfterBookmark(t,n){const i=this.entries.indexOf(this.bookmark);this.entries.splice(i,0,{type:Zl.Element,element:t,token:n})}removeEntry(t){const n=this.entries.indexOf(t);n!==-1&&this.entries.splice(n,1)}clearToLastMarker(){const t=this.entries.indexOf(KU);t===-1?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){const n=this.entries.find(i=>i.type===Zl.Marker||this.treeAdapter.getTagName(i.element)===t);return n&&n.type===Zl.Element?n:null}getElementEntry(t){return this.entries.find(n=>n.type===Zl.Element&&n.element===t)}}const bd={createDocument(){return{nodeName:"#document",mode:_o.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},createCommentNode(e){return{nodeName:"#comment",data:e,parentNode:null}},createTextNode(e){return{nodeName:"#text",value:e,parentNode:null}},appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){const i=e.childNodes.indexOf(n);e.childNodes.splice(i,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,n,i){const r=e.childNodes.find(s=>s.nodeName==="#documentType");if(r)r.name=t,r.publicId=n,r.systemId=i;else{const s={nodeName:"#documentType",name:t,publicId:n,systemId:i,parentNode:null};bd.appendChild(e,s)}},setDocumentMode(e,t){e.mode=t},getDocumentMode(e){return e.mode},detachNode(e){if(e.parentNode){const t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){const n=e.childNodes[e.childNodes.length-1];if(bd.isTextNode(n)){n.value+=t;return}}bd.appendChild(e,bd.createTextNode(t))},insertTextBefore(e,t,n){const i=e.childNodes[e.childNodes.indexOf(n)-1];i&&bd.isTextNode(i)?i.value+=t:bd.insertBefore(e,bd.createTextNode(t),n)},adoptAttributes(e,t){const n=new Set(e.attrs.map(i=>i.name));for(let i=0;ie.startsWith(n))}function m6e(e){return e.name===Oie&&e.publicId===null&&(e.systemId===null||e.systemId===u6e)}function g6e(e){if(e.name!==Oie)return _o.QUIRKS;const{systemId:t}=e;if(t&&t.toLowerCase()===d6e)return _o.QUIRKS;let{publicId:n}=e;if(n!==null){if(n=n.toLowerCase(),h6e.has(n))return _o.QUIRKS;let i=t===null?f6e:bie;if(JU(n,i))return _o.QUIRKS;if(i=t===null?yie:p6e,JU(n,i))return _o.LIMITED_QUIRKS}return _o.NO_QUIRKS}const e7={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},O6e="definitionurl",b6e="definitionURL",y6e=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),x6e=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:ze.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:ze.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:ze.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:ze.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:ze.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:ze.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:ze.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:ze.XML}],["xml:space",{prefix:"xml",name:"space",namespace:ze.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:ze.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:ze.XMLNS}]]),S6e=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),v6e=new Set([T.B,T.BIG,T.BLOCKQUOTE,T.BODY,T.BR,T.CENTER,T.CODE,T.DD,T.DIV,T.DL,T.DT,T.EM,T.EMBED,T.H1,T.H2,T.H3,T.H4,T.H5,T.H6,T.HEAD,T.HR,T.I,T.IMG,T.LI,T.LISTING,T.MENU,T.META,T.NOBR,T.OL,T.P,T.PRE,T.RUBY,T.S,T.SMALL,T.SPAN,T.STRONG,T.STRIKE,T.SUB,T.SUP,T.TABLE,T.TT,T.U,T.UL,T.VAR]);function w6e(e){const t=e.tagID;return t===T.FONT&&e.attrs.some(({name:i})=>i===Lh.COLOR||i===Lh.SIZE||i===Lh.FACE)||v6e.has(t)}function xie(e){for(let t=0;t0&&this._setContextModes(t,n)}onItemPop(t,n){var i,r;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),(r=(i=this.treeAdapter).onItemPop)===null||r===void 0||r.call(i,t,this.openElements.current),n){let s,a;this.openElements.stackTop===0&&this.fragmentContext?(s=this.fragmentContext,a=this.fragmentContextID):{current:s,currentTagId:a}=this.openElements,this._setContextModes(s,a)}}_setContextModes(t,n){const i=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===ze.HTML;this.currentNotInHTML=!i,this.tokenizer.inForeignNode=!i&&t!==void 0&&n!==void 0&&!this._isIntegrationPoint(n,t)}_switchToTextParsing(t,n){this._insertElement(t,ze.HTML),this.tokenizer.state=n,this.originalInsertionMode=this.insertionMode,this.insertionMode=se.TEXT}switchToPlaintextParsing(){this.insertionMode=se.TEXT,this.originalInsertionMode=se.IN_BODY,this.tokenizer.state=wr.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let t=this.fragmentContext;for(;t;){if(this.treeAdapter.getTagName(t)===Oe.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==ze.HTML))switch(this.fragmentContextID){case T.TITLE:case T.TEXTAREA:{this.tokenizer.state=wr.RCDATA;break}case T.STYLE:case T.XMP:case T.IFRAME:case T.NOEMBED:case T.NOFRAMES:case T.NOSCRIPT:{this.tokenizer.state=wr.RAWTEXT;break}case T.SCRIPT:{this.tokenizer.state=wr.SCRIPT_DATA;break}case T.PLAINTEXT:{this.tokenizer.state=wr.PLAINTEXT;break}}}_setDocumentType(t){const n=t.name||"",i=t.publicId||"",r=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,n,i,r),t.location){const a=this.treeAdapter.getChildNodes(this.document).find(o=>this.treeAdapter.isDocumentTypeNode(o));a&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}}_attachElementToTree(t,n){if(this.options.sourceCodeLocationInfo){const i=n&&{...n,startTag:n};this.treeAdapter.setNodeSourceCodeLocation(t,i)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{const i=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(i??this.document,t)}}_appendElement(t,n){const i=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(i,t.location)}_insertElement(t,n){const i=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(i,t.location),this.openElements.push(i,t.tagID)}_insertFakeElement(t,n){const i=this.treeAdapter.createElement(t,ze.HTML,[]);this._attachElementToTree(i,null),this.openElements.push(i,n)}_insertTemplate(t){const n=this.treeAdapter.createElement(t.tagName,ze.HTML,t.attrs),i=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(n,i),this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(i,null)}_insertFakeRootElement(){const t=this.treeAdapter.createElement(Oe.HTML,ze.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,null),this.treeAdapter.appendChild(this.openElements.current,t),this.openElements.push(t,T.HTML)}_appendCommentNode(t,n){const i=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(n,i),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(i,t.location)}_insertCharacters(t){let n,i;if(this._shouldFosterParentOnInsertion()?({parent:n,beforeElement:i}=this._findFosterParentingLocation(),i?this.treeAdapter.insertTextBefore(n,t.chars,i):this.treeAdapter.insertText(n,t.chars)):(n=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(n,t.chars)),!t.location)return;const r=this.treeAdapter.getChildNodes(n),s=i?r.lastIndexOf(i):r.length,a=r[s-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){const{endLine:l,endCol:u,endOffset:d}=t.location;this.treeAdapter.updateNodeSourceCodeLocation(a,{endLine:l,endCol:u,endOffset:d})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}_adoptNodes(t,n){for(let i=this.treeAdapter.getFirstChild(t);i;i=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(i),this.treeAdapter.appendChild(n,i)}_setEndLocation(t,n){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&n.location){const i=n.location,r=this.treeAdapter.getTagName(t),s=n.type===On.END_TAG&&r===n.tagName?{endTag:{...i},endLine:i.endLine,endCol:i.endCol,endOffset:i.endOffset}:{endLine:i.startLine,endCol:i.startCol,endOffset:i.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,s)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let n,i;return this.openElements.stackTop===0&&this.fragmentContext?(n=this.fragmentContext,i=this.fragmentContextID):{current:n,currentTagId:i}=this.openElements,t.tagID===T.SVG&&this.treeAdapter.getTagName(n)===Oe.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(n)===ze.MATHML?!1:this.tokenizer.inForeignNode||(t.tagID===T.MGLYPH||t.tagID===T.MALIGNMARK)&&i!==void 0&&!this._isIntegrationPoint(i,n,ze.HTML)}_processToken(t){switch(t.type){case On.CHARACTER:{this.onCharacter(t);break}case On.NULL_CHARACTER:{this.onNullCharacter(t);break}case On.COMMENT:{this.onComment(t);break}case On.DOCTYPE:{this.onDoctype(t);break}case On.START_TAG:{this._processStartTag(t);break}case On.END_TAG:{this.onEndTag(t);break}case On.EOF:{this.onEof(t);break}case On.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(t);break}}}_isIntegrationPoint(t,n,i){const r=this.treeAdapter.getNamespaceURI(n),s=this.treeAdapter.getAttrList(n);return _6e(t,r,s,i)}_reconstructActiveFormattingElements(){const t=this.activeFormattingElements.entries.length;if(t){const n=this.activeFormattingElements.entries.findIndex(r=>r.type===Zl.Marker||this.openElements.contains(r.element)),i=n===-1?t-1:n-1;for(let r=i;r>=0;r--){const s=this.activeFormattingElements.entries[r];this._insertElement(s.token,this.treeAdapter.getNamespaceURI(s.element)),s.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=se.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(T.P),this.openElements.popUntilTagNamePopped(T.P)}_resetInsertionMode(){for(let t=this.openElements.stackTop;t>=0;t--)switch(t===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[t]){case T.TR:{this.insertionMode=se.IN_ROW;return}case T.TBODY:case T.THEAD:case T.TFOOT:{this.insertionMode=se.IN_TABLE_BODY;return}case T.CAPTION:{this.insertionMode=se.IN_CAPTION;return}case T.COLGROUP:{this.insertionMode=se.IN_COLUMN_GROUP;return}case T.TABLE:{this.insertionMode=se.IN_TABLE;return}case T.BODY:{this.insertionMode=se.IN_BODY;return}case T.FRAMESET:{this.insertionMode=se.IN_FRAMESET;return}case T.SELECT:{this._resetInsertionModeForSelect(t);return}case T.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case T.HTML:{this.insertionMode=this.headElement?se.AFTER_HEAD:se.BEFORE_HEAD;return}case T.TD:case T.TH:{if(t>0){this.insertionMode=se.IN_CELL;return}break}case T.HEAD:{if(t>0){this.insertionMode=se.IN_HEAD;return}break}}this.insertionMode=se.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let n=t-1;n>0;n--){const i=this.openElements.tagIDs[n];if(i===T.TEMPLATE)break;if(i===T.TABLE){this.insertionMode=se.IN_SELECT_IN_TABLE;return}}this.insertionMode=se.IN_SELECT}_isElementCausesFosterParenting(t){return vie.has(t)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let t=this.openElements.stackTop;t>=0;t--){const n=this.openElements.items[t];switch(this.openElements.tagIDs[t]){case T.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(n)===ze.HTML)return{parent:this.treeAdapter.getTemplateContent(n),beforeElement:null};break}case T.TABLE:{const i=this.treeAdapter.getParentNode(n);return i?{parent:i,beforeElement:n}:{parent:this.openElements.items[t-1],beforeElement:null}}}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(t){const n=this._findFosterParentingLocation();n.beforeElement?this.treeAdapter.insertBefore(n.parent,t,n.beforeElement):this.treeAdapter.appendChild(n.parent,t)}_isSpecialElement(t,n){const i=this.treeAdapter.getNamespaceURI(t);return Z4e[i].has(n)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){o8e(this,t);return}switch(this.insertionMode){case se.INITIAL:{vO(this,t);break}case se.BEFORE_HTML:{Lb(this,t);break}case se.BEFORE_HEAD:{Db(this,t);break}case se.IN_HEAD:{$b(this,t);break}case se.IN_HEAD_NO_SCRIPT:{Qb(this,t);break}case se.AFTER_HEAD:{Bb(this,t);break}case se.IN_BODY:case se.IN_CAPTION:case se.IN_CELL:case se.IN_TEMPLATE:{Eie(this,t);break}case se.TEXT:case se.IN_SELECT:case se.IN_SELECT_IN_TABLE:{this._insertCharacters(t);break}case se.IN_TABLE:case se.IN_TABLE_BODY:case se.IN_ROW:{E2(this,t);break}case se.IN_TABLE_TEXT:{Cie(this,t);break}case se.IN_COLUMN_GROUP:{KE(this,t);break}case se.AFTER_BODY:{JE(this,t);break}case se.AFTER_AFTER_BODY:{mw(this,t);break}}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){a8e(this,t);return}switch(this.insertionMode){case se.INITIAL:{vO(this,t);break}case se.BEFORE_HTML:{Lb(this,t);break}case se.BEFORE_HEAD:{Db(this,t);break}case se.IN_HEAD:{$b(this,t);break}case se.IN_HEAD_NO_SCRIPT:{Qb(this,t);break}case se.AFTER_HEAD:{Bb(this,t);break}case se.TEXT:{this._insertCharacters(t);break}case se.IN_TABLE:case se.IN_TABLE_BODY:case se.IN_ROW:{E2(this,t);break}case se.IN_COLUMN_GROUP:{KE(this,t);break}case se.AFTER_BODY:{JE(this,t);break}case se.AFTER_AFTER_BODY:{mw(this,t);break}}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML){BP(this,t);return}switch(this.insertionMode){case se.INITIAL:case se.BEFORE_HTML:case se.BEFORE_HEAD:case se.IN_HEAD:case se.IN_HEAD_NO_SCRIPT:case se.AFTER_HEAD:case se.IN_BODY:case se.IN_TABLE:case se.IN_CAPTION:case se.IN_COLUMN_GROUP:case se.IN_TABLE_BODY:case se.IN_ROW:case se.IN_CELL:case se.IN_SELECT:case se.IN_SELECT_IN_TABLE:case se.IN_TEMPLATE:case se.IN_FRAMESET:case se.AFTER_FRAMESET:{BP(this,t);break}case se.IN_TABLE_TEXT:{wO(this,t);break}case se.AFTER_BODY:{$6e(this,t);break}case se.AFTER_AFTER_BODY:case se.AFTER_AFTER_FRAMESET:{Q6e(this,t);break}}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case se.INITIAL:{B6e(this,t);break}case se.BEFORE_HEAD:case se.IN_HEAD:case se.IN_HEAD_NO_SCRIPT:case se.AFTER_HEAD:{this._err(t,Ne.misplacedDoctype);break}case se.IN_TABLE_TEXT:{wO(this,t);break}}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,Ne.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?l8e(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case se.INITIAL:{vO(this,t);break}case se.BEFORE_HTML:{U6e(this,t);break}case se.BEFORE_HEAD:{F6e(this,t);break}case se.IN_HEAD:{Al(this,t);break}case se.IN_HEAD_NO_SCRIPT:{q6e(this,t);break}case se.AFTER_HEAD:{Y6e(this,t);break}case se.IN_BODY:{Us(this,t);break}case se.IN_TABLE:{Ug(this,t);break}case se.IN_TABLE_TEXT:{wO(this,t);break}case se.IN_CAPTION:{VBe(this,t);break}case se.IN_COLUMN_GROUP:{Q$(this,t);break}case se.IN_TABLE_BODY:{l_(this,t);break}case se.IN_ROW:{c_(this,t);break}case se.IN_CELL:{HBe(this,t);break}case se.IN_SELECT:{Pie(this,t);break}case se.IN_SELECT_IN_TABLE:{GBe(this,t);break}case se.IN_TEMPLATE:{ZBe(this,t);break}case se.AFTER_BODY:{JBe(this,t);break}case se.IN_FRAMESET:{e8e(this,t);break}case se.AFTER_FRAMESET:{n8e(this,t);break}case se.AFTER_AFTER_BODY:{r8e(this,t);break}case se.AFTER_AFTER_FRAMESET:{s8e(this,t);break}}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?c8e(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case se.INITIAL:{vO(this,t);break}case se.BEFORE_HTML:{z6e(this,t);break}case se.BEFORE_HEAD:{V6e(this,t);break}case se.IN_HEAD:{X6e(this,t);break}case se.IN_HEAD_NO_SCRIPT:{H6e(this,t);break}case se.AFTER_HEAD:{G6e(this,t);break}case se.IN_BODY:{o_(this,t);break}case se.TEXT:{jBe(this,t);break}case se.IN_TABLE:{Fy(this,t);break}case se.IN_TABLE_TEXT:{wO(this,t);break}case se.IN_CAPTION:{XBe(this,t);break}case se.IN_COLUMN_GROUP:{qBe(this,t);break}case se.IN_TABLE_BODY:{UP(this,t);break}case se.IN_ROW:{Iie(this,t);break}case se.IN_CELL:{YBe(this,t);break}case se.IN_SELECT:{jie(this,t);break}case se.IN_SELECT_IN_TABLE:{WBe(this,t);break}case se.IN_TEMPLATE:{KBe(this,t);break}case se.AFTER_BODY:{Lie(this,t);break}case se.IN_FRAMESET:{t8e(this,t);break}case se.AFTER_FRAMESET:{i8e(this,t);break}case se.AFTER_AFTER_BODY:{mw(this,t);break}}}onEof(t){switch(this.insertionMode){case se.INITIAL:{vO(this,t);break}case se.BEFORE_HTML:{Lb(this,t);break}case se.BEFORE_HEAD:{Db(this,t);break}case se.IN_HEAD:{$b(this,t);break}case se.IN_HEAD_NO_SCRIPT:{Qb(this,t);break}case se.AFTER_HEAD:{Bb(this,t);break}case se.IN_BODY:case se.IN_TABLE:case se.IN_CAPTION:case se.IN_COLUMN_GROUP:case se.IN_TABLE_BODY:case se.IN_ROW:case se.IN_CELL:case se.IN_SELECT:case se.IN_SELECT_IN_TABLE:{Aie(this,t);break}case se.TEXT:{MBe(this,t);break}case se.IN_TABLE_TEXT:{wO(this,t);break}case se.IN_TEMPLATE:{Mie(this,t);break}case se.AFTER_BODY:case se.IN_FRAMESET:case se.AFTER_FRAMESET:case se.AFTER_AFTER_BODY:case se.AFTER_AFTER_FRAMESET:{$$(this,t);break}}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===W.LINE_FEED)){if(t.chars.length===1)return;t.chars=t.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(t);return}switch(this.insertionMode){case se.IN_HEAD:case se.IN_HEAD_NO_SCRIPT:case se.AFTER_HEAD:case se.TEXT:case se.IN_COLUMN_GROUP:case se.IN_SELECT:case se.IN_SELECT_IN_TABLE:case se.IN_FRAMESET:case se.AFTER_FRAMESET:{this._insertCharacters(t);break}case se.IN_BODY:case se.IN_CAPTION:case se.IN_CELL:case se.IN_TEMPLATE:case se.AFTER_BODY:case se.AFTER_AFTER_BODY:case se.AFTER_AFTER_FRAMESET:{wie(this,t);break}case se.IN_TABLE:case se.IN_TABLE_BODY:case se.IN_ROW:{E2(this,t);break}case se.IN_TABLE_TEXT:{Nie(this,t);break}}}};function I6e(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagID)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):_ie(e,t),n}function P6e(e,t){let n=null,i=e.openElements.stackTop;for(;i>=0;i--){const r=e.openElements.items[i];if(r===t.element)break;e._isSpecialElement(r,e.openElements.tagIDs[i])&&(n=r)}return n||(e.openElements.shortenToLength(Math.max(i,0)),e.activeFormattingElements.removeEntry(t)),n}function j6e(e,t,n){let i=t,r=e.openElements.getCommonAncestor(t);for(let s=0,a=r;a!==n;s++,a=r){r=e.openElements.getCommonAncestor(a);const o=e.activeFormattingElements.getElementEntry(a),l=o&&s>=C6e;!o||l?(l&&e.activeFormattingElements.removeEntry(o),e.openElements.remove(a)):(a=M6e(e,o),i===t&&(e.activeFormattingElements.bookmark=o),e.treeAdapter.detachNode(i),e.treeAdapter.appendChild(a,i),i=a)}return i}function M6e(e,t){const n=e.treeAdapter.getNamespaceURI(t.element),i=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,i),t.element=i,i}function L6e(e,t,n){const i=e.treeAdapter.getTagName(t),r=E0(i);if(e._isElementCausesFosterParenting(r))e._fosterParentElement(n);else{const s=e.treeAdapter.getNamespaceURI(t);r===T.TEMPLATE&&s===ze.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function D6e(e,t,n){const i=e.treeAdapter.getNamespaceURI(n.element),{token:r}=n,s=e.treeAdapter.createElement(r.tagName,i,r.attrs);e._adoptNodes(t,s),e.treeAdapter.appendChild(t,s),e.activeFormattingElements.insertElementAfterBookmark(s,r),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,s,r.tagID)}function D$(e,t){for(let n=0;n=n;i--)e._setEndLocation(e.openElements.items[i],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){const i=e.openElements.items[0],r=e.treeAdapter.getNodeSourceCodeLocation(i);if(r&&!r.endTag&&(e._setEndLocation(i,t),e.openElements.stackTop>=1)){const s=e.openElements.items[1],a=e.treeAdapter.getNodeSourceCodeLocation(s);a&&!a.endTag&&e._setEndLocation(s,t)}}}}function B6e(e,t){e._setDocumentType(t);const n=t.forceQuirks?_o.QUIRKS:g6e(t);m6e(t)||e._err(t,Ne.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=se.BEFORE_HTML}function vO(e,t){e._err(t,Ne.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,_o.QUIRKS),e.insertionMode=se.BEFORE_HTML,e._processToken(t)}function U6e(e,t){t.tagID===T.HTML?(e._insertElement(t,ze.HTML),e.insertionMode=se.BEFORE_HEAD):Lb(e,t)}function z6e(e,t){const n=t.tagID;(n===T.HTML||n===T.HEAD||n===T.BODY||n===T.BR)&&Lb(e,t)}function Lb(e,t){e._insertFakeRootElement(),e.insertionMode=se.BEFORE_HEAD,e._processToken(t)}function F6e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.HEAD:{e._insertElement(t,ze.HTML),e.headElement=e.openElements.current,e.insertionMode=se.IN_HEAD;break}default:Db(e,t)}}function V6e(e,t){const n=t.tagID;n===T.HEAD||n===T.BODY||n===T.HTML||n===T.BR?Db(e,t):e._err(t,Ne.endTagWithoutMatchingOpenElement)}function Db(e,t){e._insertFakeElement(Oe.HEAD,T.HEAD),e.headElement=e.openElements.current,e.insertionMode=se.IN_HEAD,e._processToken(t)}function Al(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.BASE:case T.BASEFONT:case T.BGSOUND:case T.LINK:case T.META:{e._appendElement(t,ze.HTML),t.ackSelfClosing=!0;break}case T.TITLE:{e._switchToTextParsing(t,wr.RCDATA);break}case T.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(t,wr.RAWTEXT):(e._insertElement(t,ze.HTML),e.insertionMode=se.IN_HEAD_NO_SCRIPT);break}case T.NOFRAMES:case T.STYLE:{e._switchToTextParsing(t,wr.RAWTEXT);break}case T.SCRIPT:{e._switchToTextParsing(t,wr.SCRIPT_DATA);break}case T.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=se.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(se.IN_TEMPLATE);break}case T.HEAD:{e._err(t,Ne.misplacedStartTagForHeadElement);break}default:$b(e,t)}}function X6e(e,t){switch(t.tagID){case T.HEAD:{e.openElements.pop(),e.insertionMode=se.AFTER_HEAD;break}case T.BODY:case T.BR:case T.HTML:{$b(e,t);break}case T.TEMPLATE:{bp(e,t);break}default:e._err(t,Ne.endTagWithoutMatchingOpenElement)}}function bp(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==T.TEMPLATE&&e._err(t,Ne.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(T.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,Ne.endTagWithoutMatchingOpenElement)}function $b(e,t){e.openElements.pop(),e.insertionMode=se.AFTER_HEAD,e._processToken(t)}function q6e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.BASEFONT:case T.BGSOUND:case T.HEAD:case T.LINK:case T.META:case T.NOFRAMES:case T.STYLE:{Al(e,t);break}case T.NOSCRIPT:{e._err(t,Ne.nestedNoscriptInHead);break}default:Qb(e,t)}}function H6e(e,t){switch(t.tagID){case T.NOSCRIPT:{e.openElements.pop(),e.insertionMode=se.IN_HEAD;break}case T.BR:{Qb(e,t);break}default:e._err(t,Ne.endTagWithoutMatchingOpenElement)}}function Qb(e,t){const n=t.type===On.EOF?Ne.openElementsLeftAfterEof:Ne.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=se.IN_HEAD,e._processToken(t)}function Y6e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.BODY:{e._insertElement(t,ze.HTML),e.framesetOk=!1,e.insertionMode=se.IN_BODY;break}case T.FRAMESET:{e._insertElement(t,ze.HTML),e.insertionMode=se.IN_FRAMESET;break}case T.BASE:case T.BASEFONT:case T.BGSOUND:case T.LINK:case T.META:case T.NOFRAMES:case T.SCRIPT:case T.STYLE:case T.TEMPLATE:case T.TITLE:{e._err(t,Ne.abandonedHeadElementChild),e.openElements.push(e.headElement,T.HEAD),Al(e,t),e.openElements.remove(e.headElement);break}case T.HEAD:{e._err(t,Ne.misplacedStartTagForHeadElement);break}default:Bb(e,t)}}function G6e(e,t){switch(t.tagID){case T.BODY:case T.HTML:case T.BR:{Bb(e,t);break}case T.TEMPLATE:{bp(e,t);break}default:e._err(t,Ne.endTagWithoutMatchingOpenElement)}}function Bb(e,t){e._insertFakeElement(Oe.BODY,T.BODY),e.insertionMode=se.IN_BODY,a_(e,t)}function a_(e,t){switch(t.type){case On.CHARACTER:{Eie(e,t);break}case On.WHITESPACE_CHARACTER:{wie(e,t);break}case On.COMMENT:{BP(e,t);break}case On.START_TAG:{Us(e,t);break}case On.END_TAG:{o_(e,t);break}case On.EOF:{Aie(e,t);break}}}function wie(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function Eie(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function W6e(e,t){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function Z6e(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}function K6e(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,ze.HTML),e.insertionMode=se.IN_FRAMESET)}function J6e(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML)}function eBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e.openElements.currentTagId!==void 0&&QP.has(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,ze.HTML)}function tBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function nBe(e,t){const n=e.openElements.tmplCount>0;(!e.formElement||n)&&(e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML),n||(e.formElement=e.openElements.current))}function iBe(e,t){e.framesetOk=!1;const n=t.tagID;for(let i=e.openElements.stackTop;i>=0;i--){const r=e.openElements.tagIDs[i];if(n===T.LI&&r===T.LI||(n===T.DD||n===T.DT)&&(r===T.DD||r===T.DT)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r);break}if(r!==T.ADDRESS&&r!==T.DIV&&r!==T.P&&e._isSpecialElement(e.openElements.items[i],r))break}e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML)}function rBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML),e.tokenizer.state=wr.PLAINTEXT}function sBe(e,t){e.openElements.hasInScope(T.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(T.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML),e.framesetOk=!1}function aBe(e,t){const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(Oe.A);n&&(D$(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function oBe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function lBe(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(T.NOBR)&&(D$(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,ze.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function cBe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function uBe(e,t){e.treeAdapter.getDocumentMode(e.document)!==_o.QUIRKS&&e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML),e.framesetOk=!1,e.insertionMode=se.IN_TABLE}function kie(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,ze.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Tie(e){const t=pie(e,Lh.TYPE);return t!=null&&t.toLowerCase()===A6e}function dBe(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,ze.HTML),Tie(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}function fBe(e,t){e._appendElement(t,ze.HTML),t.ackSelfClosing=!0}function hBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._appendElement(t,ze.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function pBe(e,t){t.tagName=Oe.IMG,t.tagID=T.IMG,kie(e,t)}function mBe(e,t){e._insertElement(t,ze.HTML),e.skipNextNewLine=!0,e.tokenizer.state=wr.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=se.TEXT}function gBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,wr.RAWTEXT)}function OBe(e,t){e.framesetOk=!1,e._switchToTextParsing(t,wr.RAWTEXT)}function i7(e,t){e._switchToTextParsing(t,wr.RAWTEXT)}function bBe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===se.IN_TABLE||e.insertionMode===se.IN_CAPTION||e.insertionMode===se.IN_TABLE_BODY||e.insertionMode===se.IN_ROW||e.insertionMode===se.IN_CELL?se.IN_SELECT_IN_TABLE:se.IN_SELECT}function yBe(e,t){e.openElements.currentTagId===T.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML)}function xBe(e,t){e.openElements.hasInScope(T.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,ze.HTML)}function SBe(e,t){e.openElements.hasInScope(T.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(T.RTC),e._insertElement(t,ze.HTML)}function vBe(e,t){e._reconstructActiveFormattingElements(),xie(t),L$(t),t.selfClosing?e._appendElement(t,ze.MATHML):e._insertElement(t,ze.MATHML),t.ackSelfClosing=!0}function wBe(e,t){e._reconstructActiveFormattingElements(),Sie(t),L$(t),t.selfClosing?e._appendElement(t,ze.SVG):e._insertElement(t,ze.SVG),t.ackSelfClosing=!0}function r7(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML)}function Us(e,t){switch(t.tagID){case T.I:case T.S:case T.B:case T.U:case T.EM:case T.TT:case T.BIG:case T.CODE:case T.FONT:case T.SMALL:case T.STRIKE:case T.STRONG:{oBe(e,t);break}case T.A:{aBe(e,t);break}case T.H1:case T.H2:case T.H3:case T.H4:case T.H5:case T.H6:{eBe(e,t);break}case T.P:case T.DL:case T.OL:case T.UL:case T.DIV:case T.DIR:case T.NAV:case T.MAIN:case T.MENU:case T.ASIDE:case T.CENTER:case T.FIGURE:case T.FOOTER:case T.HEADER:case T.HGROUP:case T.DIALOG:case T.DETAILS:case T.ADDRESS:case T.ARTICLE:case T.SEARCH:case T.SECTION:case T.SUMMARY:case T.FIELDSET:case T.BLOCKQUOTE:case T.FIGCAPTION:{J6e(e,t);break}case T.LI:case T.DD:case T.DT:{iBe(e,t);break}case T.BR:case T.IMG:case T.WBR:case T.AREA:case T.EMBED:case T.KEYGEN:{kie(e,t);break}case T.HR:{hBe(e,t);break}case T.RB:case T.RTC:{xBe(e,t);break}case T.RT:case T.RP:{SBe(e,t);break}case T.PRE:case T.LISTING:{tBe(e,t);break}case T.XMP:{gBe(e,t);break}case T.SVG:{wBe(e,t);break}case T.HTML:{W6e(e,t);break}case T.BASE:case T.LINK:case T.META:case T.STYLE:case T.TITLE:case T.SCRIPT:case T.BGSOUND:case T.BASEFONT:case T.TEMPLATE:{Al(e,t);break}case T.BODY:{Z6e(e,t);break}case T.FORM:{nBe(e,t);break}case T.NOBR:{lBe(e,t);break}case T.MATH:{vBe(e,t);break}case T.TABLE:{uBe(e,t);break}case T.INPUT:{dBe(e,t);break}case T.PARAM:case T.TRACK:case T.SOURCE:{fBe(e,t);break}case T.IMAGE:{pBe(e,t);break}case T.BUTTON:{sBe(e,t);break}case T.APPLET:case T.OBJECT:case T.MARQUEE:{cBe(e,t);break}case T.IFRAME:{OBe(e,t);break}case T.SELECT:{bBe(e,t);break}case T.OPTION:case T.OPTGROUP:{yBe(e,t);break}case T.NOEMBED:case T.NOFRAMES:{i7(e,t);break}case T.FRAMESET:{K6e(e,t);break}case T.TEXTAREA:{mBe(e,t);break}case T.NOSCRIPT:{e.options.scriptingEnabled?i7(e,t):r7(e,t);break}case T.PLAINTEXT:{rBe(e,t);break}case T.COL:case T.TH:case T.TD:case T.TR:case T.HEAD:case T.FRAME:case T.TBODY:case T.TFOOT:case T.THEAD:case T.CAPTION:case T.COLGROUP:break;default:r7(e,t)}}function EBe(e,t){if(e.openElements.hasInScope(T.BODY)&&(e.insertionMode=se.AFTER_BODY,e.options.sourceCodeLocationInfo)){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}function kBe(e,t){e.openElements.hasInScope(T.BODY)&&(e.insertionMode=se.AFTER_BODY,Lie(e,t))}function TBe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function _Be(e){const t=e.openElements.tmplCount>0,{formElement:n}=e;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(T.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(T.FORM):n&&e.openElements.remove(n))}function ABe(e){e.openElements.hasInButtonScope(T.P)||e._insertFakeElement(Oe.P,T.P),e._closePElement()}function NBe(e){e.openElements.hasInListItemScope(T.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(T.LI),e.openElements.popUntilTagNamePopped(T.LI))}function CBe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}function RBe(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function IBe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function PBe(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(Oe.BR,T.BR),e.openElements.pop(),e.framesetOk=!1}function _ie(e,t){const n=t.tagName,i=t.tagID;for(let r=e.openElements.stackTop;r>0;r--){const s=e.openElements.items[r],a=e.openElements.tagIDs[r];if(i===a&&(i!==T.UNKNOWN||e.treeAdapter.getTagName(s)===n)){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.stackTop>=r&&e.openElements.shortenToLength(r);break}if(e._isSpecialElement(s,a))break}}function o_(e,t){switch(t.tagID){case T.A:case T.B:case T.I:case T.S:case T.U:case T.EM:case T.TT:case T.BIG:case T.CODE:case T.FONT:case T.NOBR:case T.SMALL:case T.STRIKE:case T.STRONG:{D$(e,t);break}case T.P:{ABe(e);break}case T.DL:case T.UL:case T.OL:case T.DIR:case T.DIV:case T.NAV:case T.PRE:case T.MAIN:case T.MENU:case T.ASIDE:case T.BUTTON:case T.CENTER:case T.FIGURE:case T.FOOTER:case T.HEADER:case T.HGROUP:case T.DIALOG:case T.ADDRESS:case T.ARTICLE:case T.DETAILS:case T.SEARCH:case T.SECTION:case T.SUMMARY:case T.LISTING:case T.FIELDSET:case T.BLOCKQUOTE:case T.FIGCAPTION:{TBe(e,t);break}case T.LI:{NBe(e);break}case T.DD:case T.DT:{CBe(e,t);break}case T.H1:case T.H2:case T.H3:case T.H4:case T.H5:case T.H6:{RBe(e);break}case T.BR:{PBe(e);break}case T.BODY:{EBe(e,t);break}case T.HTML:{kBe(e,t);break}case T.FORM:{_Be(e);break}case T.APPLET:case T.OBJECT:case T.MARQUEE:{IBe(e,t);break}case T.TEMPLATE:{bp(e,t);break}default:_ie(e,t)}}function Aie(e,t){e.tmplInsertionModeStack.length>0?Mie(e,t):$$(e,t)}function jBe(e,t){var n;t.tagID===T.SCRIPT&&((n=e.scriptHandler)===null||n===void 0||n.call(e,e.openElements.current)),e.openElements.pop(),e.insertionMode=e.originalInsertionMode}function MBe(e,t){e._err(t,Ne.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function E2(e,t){if(e.openElements.currentTagId!==void 0&&vie.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=se.IN_TABLE_TEXT,t.type){case On.CHARACTER:{Cie(e,t);break}case On.WHITESPACE_CHARACTER:{Nie(e,t);break}}else t1(e,t)}function LBe(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,ze.HTML),e.insertionMode=se.IN_CAPTION}function DBe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,ze.HTML),e.insertionMode=se.IN_COLUMN_GROUP}function $Be(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Oe.COLGROUP,T.COLGROUP),e.insertionMode=se.IN_COLUMN_GROUP,Q$(e,t)}function QBe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,ze.HTML),e.insertionMode=se.IN_TABLE_BODY}function BBe(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Oe.TBODY,T.TBODY),e.insertionMode=se.IN_TABLE_BODY,l_(e,t)}function UBe(e,t){e.openElements.hasInTableScope(T.TABLE)&&(e.openElements.popUntilTagNamePopped(T.TABLE),e._resetInsertionMode(),e._processStartTag(t))}function zBe(e,t){Tie(t)?e._appendElement(t,ze.HTML):t1(e,t),t.ackSelfClosing=!0}function FBe(e,t){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(t,ze.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function Ug(e,t){switch(t.tagID){case T.TD:case T.TH:case T.TR:{BBe(e,t);break}case T.STYLE:case T.SCRIPT:case T.TEMPLATE:{Al(e,t);break}case T.COL:{$Be(e,t);break}case T.FORM:{FBe(e,t);break}case T.TABLE:{UBe(e,t);break}case T.TBODY:case T.TFOOT:case T.THEAD:{QBe(e,t);break}case T.INPUT:{zBe(e,t);break}case T.CAPTION:{LBe(e,t);break}case T.COLGROUP:{DBe(e,t);break}default:t1(e,t)}}function Fy(e,t){switch(t.tagID){case T.TABLE:{e.openElements.hasInTableScope(T.TABLE)&&(e.openElements.popUntilTagNamePopped(T.TABLE),e._resetInsertionMode());break}case T.TEMPLATE:{bp(e,t);break}case T.BODY:case T.CAPTION:case T.COL:case T.COLGROUP:case T.HTML:case T.TBODY:case T.TD:case T.TFOOT:case T.TH:case T.THEAD:case T.TR:break;default:t1(e,t)}}function t1(e,t){const n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,a_(e,t),e.fosterParentingEnabled=n}function Nie(e,t){e.pendingCharacterTokens.push(t)}function Cie(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function wO(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===T.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===T.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===T.OPTGROUP&&e.openElements.pop();break}case T.OPTION:{e.openElements.currentTagId===T.OPTION&&e.openElements.pop();break}case T.SELECT:{e.openElements.hasInSelectScope(T.SELECT)&&(e.openElements.popUntilTagNamePopped(T.SELECT),e._resetInsertionMode());break}case T.TEMPLATE:{bp(e,t);break}}}function GBe(e,t){const n=t.tagID;n===T.CAPTION||n===T.TABLE||n===T.TBODY||n===T.TFOOT||n===T.THEAD||n===T.TR||n===T.TD||n===T.TH?(e.openElements.popUntilTagNamePopped(T.SELECT),e._resetInsertionMode(),e._processStartTag(t)):Pie(e,t)}function WBe(e,t){const n=t.tagID;n===T.CAPTION||n===T.TABLE||n===T.TBODY||n===T.TFOOT||n===T.THEAD||n===T.TR||n===T.TD||n===T.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(T.SELECT),e._resetInsertionMode(),e.onEndTag(t)):jie(e,t)}function ZBe(e,t){switch(t.tagID){case T.BASE:case T.BASEFONT:case T.BGSOUND:case T.LINK:case T.META:case T.NOFRAMES:case T.SCRIPT:case T.STYLE:case T.TEMPLATE:case T.TITLE:{Al(e,t);break}case T.CAPTION:case T.COLGROUP:case T.TBODY:case T.TFOOT:case T.THEAD:{e.tmplInsertionModeStack[0]=se.IN_TABLE,e.insertionMode=se.IN_TABLE,Ug(e,t);break}case T.COL:{e.tmplInsertionModeStack[0]=se.IN_COLUMN_GROUP,e.insertionMode=se.IN_COLUMN_GROUP,Q$(e,t);break}case T.TR:{e.tmplInsertionModeStack[0]=se.IN_TABLE_BODY,e.insertionMode=se.IN_TABLE_BODY,l_(e,t);break}case T.TD:case T.TH:{e.tmplInsertionModeStack[0]=se.IN_ROW,e.insertionMode=se.IN_ROW,c_(e,t);break}default:e.tmplInsertionModeStack[0]=se.IN_BODY,e.insertionMode=se.IN_BODY,Us(e,t)}}function KBe(e,t){t.tagID===T.TEMPLATE&&bp(e,t)}function Mie(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(T.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):$$(e,t)}function JBe(e,t){t.tagID===T.HTML?Us(e,t):JE(e,t)}function Lie(e,t){var n;if(t.tagID===T.HTML){if(e.fragmentContext||(e.insertionMode=se.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===T.HTML){e._setEndLocation(e.openElements.items[0],t);const i=e.openElements.items[1];i&&!(!((n=e.treeAdapter.getNodeSourceCodeLocation(i))===null||n===void 0)&&n.endTag)&&e._setEndLocation(i,t)}}else JE(e,t)}function JE(e,t){e.insertionMode=se.IN_BODY,a_(e,t)}function e8e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.FRAMESET:{e._insertElement(t,ze.HTML);break}case T.FRAME:{e._appendElement(t,ze.HTML),t.ackSelfClosing=!0;break}case T.NOFRAMES:{Al(e,t);break}}}function t8e(e,t){t.tagID===T.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==T.FRAMESET&&(e.insertionMode=se.AFTER_FRAMESET))}function n8e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.NOFRAMES:{Al(e,t);break}}}function i8e(e,t){t.tagID===T.HTML&&(e.insertionMode=se.AFTER_AFTER_FRAMESET)}function r8e(e,t){t.tagID===T.HTML?Us(e,t):mw(e,t)}function mw(e,t){e.insertionMode=se.IN_BODY,a_(e,t)}function s8e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.NOFRAMES:{Al(e,t);break}}}function a8e(e,t){t.chars=Gi,e._insertCharacters(t)}function o8e(e,t){e._insertCharacters(t),e.framesetOk=!1}function Die(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==ze.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function l8e(e,t){if(w6e(t))Die(e),e._startTagOutsideForeignContent(t);else{const n=e._getAdjustedCurrentElement(),i=e.treeAdapter.getNamespaceURI(n);i===ze.MATHML?xie(t):i===ze.SVG&&(E6e(t),Sie(t)),L$(t),t.selfClosing?e._appendElement(t,i):e._insertElement(t,i),t.ackSelfClosing=!0}}function c8e(e,t){if(t.tagID===T.P||t.tagID===T.BR){Die(e),e._endTagOutsideForeignContent(t);return}for(let n=e.openElements.stackTop;n>0;n--){const i=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(i)===ze.HTML){e._endTagOutsideForeignContent(t);break}const r=e.treeAdapter.getTagName(i);if(r.toLowerCase()===t.tagName){t.tagName=r,e.openElements.shortenToLength(n);break}}}Oe.AREA,Oe.BASE,Oe.BASEFONT,Oe.BGSOUND,Oe.BR,Oe.COL,Oe.EMBED,Oe.FRAME,Oe.HR,Oe.IMG,Oe.INPUT,Oe.KEYGEN,Oe.LINK,Oe.META,Oe.PARAM,Oe.SOURCE,Oe.TRACK,Oe.WBR;const u8e=/<(\/?)(iframe|noembed|noframes|plaintext|script|style|textarea|title|xmp)(?=[\t\n\f\r />])/gi,d8e=new Set(["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"]),s7={sourceCodeLocationInfo:!0,scriptingEnabled:!1};function $ie(e,t){const n=S8e(e),i=Jte("type",{handlers:{root:f8e,element:h8e,text:p8e,comment:Bie,doctype:m8e,raw:O8e},unknown:b8e}),r={parser:n?new n7(s7):n7.getFragmentParser(void 0,s7),handle(o){i(o,r)},stitches:!1,options:t||{}};i(e,r),k0(r,_c());const s=n?r.parser.document:r.parser.getFragment(),a=v4e(s,{file:r.options.file});return r.stitches&&Jx(a,"comment",function(o,l,u){const d=o;if(d.value.stitch&&u&&l!==void 0){const f=u.children;return f[l]=d.value.stitch,l}}),a.type==="root"&&a.children.length===1&&a.children[0].type===e.type?a.children[0]:a}function Qie(e,t){let n=-1;if(e)for(;++n4&&(t.parser.tokenizer.state=0);const n={type:On.CHARACTER,chars:e.value,location:n1(e)};k0(t,_c(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function m8e(e,t){const n={type:On.DOCTYPE,name:"html",forceQuirks:!1,publicId:"",systemId:"",location:n1(e)};k0(t,_c(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function g8e(e,t){t.stitches=!0;const n=v8e(e);if("children"in e&&"children"in n){const i=$ie({type:"root",children:e.children},t.options);n.children=i.children}Bie({type:"comment",value:{stitch:n}},t)}function Bie(e,t){const n=e.value,i={type:On.COMMENT,data:n,location:n1(e)};k0(t,_c(e)),t.parser.currentToken=i,t.parser._processToken(t.parser.currentToken)}function O8e(e,t){if(t.parser.tokenizer.preprocessor.html="",t.parser.tokenizer.preprocessor.pos=-1,t.parser.tokenizer.preprocessor.lastGapPos=-2,t.parser.tokenizer.preprocessor.gapStack=[],t.parser.tokenizer.preprocessor.skipNextNewLine=!1,t.parser.tokenizer.preprocessor.lastChunkWritten=!1,t.parser.tokenizer.preprocessor.endOfChunkHit=!1,t.parser.tokenizer.preprocessor.isEol=!1,Uie(t,_c(e)),t.parser.tokenizer.write(t.options.tagfilter?e.value.replace(u8e,"<$1$2"):e.value,!1),t.parser.tokenizer._runParsingLoop(),t.parser.tokenizer.state===72||t.parser.tokenizer.state===78){t.parser.tokenizer.preprocessor.lastChunkWritten=!0;const n=t.parser.tokenizer._consume();t.parser.tokenizer._callState(n)}}function b8e(e,t){const n=e;if(t.options.passThrough&&t.options.passThrough.includes(n.type))g8e(n,t);else{let i="";throw d8e.has(n.type)&&(i=". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax"),new Error("Cannot compile `"+n.type+"` node"+i)}}function k0(e,t){Uie(e,t);const n=e.parser.tokenizer.currentCharacterToken;n&&n.location&&(n.location.endLine=e.parser.tokenizer.preprocessor.line,n.location.endCol=e.parser.tokenizer.preprocessor.col+1,n.location.endOffset=e.parser.tokenizer.preprocessor.offset+1,e.parser.currentToken=n,e.parser._processToken(e.parser.currentToken)),e.parser.tokenizer.paused=!1,e.parser.tokenizer.inLoop=!1,e.parser.tokenizer.active=!1,e.parser.tokenizer.returnState=wr.DATA,e.parser.tokenizer.charRefCode=-1,e.parser.tokenizer.consumedAfterSnapshot=-1,e.parser.tokenizer.currentLocation=null,e.parser.tokenizer.currentCharacterToken=null,e.parser.tokenizer.currentToken=null,e.parser.tokenizer.currentAttr={name:"",value:""}}function Uie(e,t){if(t&&t.offset!==void 0){const n={startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:-1,endCol:-1,endOffset:-1};e.parser.tokenizer.preprocessor.lineStartPos=-t.column+1,e.parser.tokenizer.preprocessor.droppedBufferSize=t.offset,e.parser.tokenizer.preprocessor.line=t.line,e.parser.tokenizer.currentLocation=n}}function y8e(e,t){const n=e.tagName.toLowerCase();if(t.parser.tokenizer.state===wr.PLAINTEXT)return;k0(t,_c(e));const i=t.parser.openElements.current;let r="namespaceURI"in i?i.namespaceURI:bh.html;r===bh.html&&n==="svg"&&(r=bh.svg);const s=_4e({...e,children:[]},{space:r===bh.svg?"svg":"html"}),a={type:On.START_TAG,tagName:n,tagID:E0(n),selfClosing:!1,ackSelfClosing:!1,attrs:"attrs"in s?s.attrs:[],location:n1(e)};t.parser.currentToken=a,t.parser._processToken(t.parser.currentToken),t.parser.tokenizer.lastStartTagName=n}function x8e(e,t){const n=e.tagName.toLowerCase();if(!t.parser.tokenizer.inForeignNode&&M4e.includes(n)||t.parser.tokenizer.state===wr.PLAINTEXT)return;k0(t,e_(e));const i={type:On.END_TAG,tagName:n,tagID:E0(n),selfClosing:!1,ackSelfClosing:!1,attrs:[],location:n1(e)};t.parser.currentToken=i,t.parser._processToken(t.parser.currentToken),n===t.parser.tokenizer.lastStartTagName&&(t.parser.tokenizer.state===wr.RCDATA||t.parser.tokenizer.state===wr.RAWTEXT||t.parser.tokenizer.state===wr.SCRIPT_DATA)&&(t.parser.tokenizer.state=wr.DATA)}function S8e(e){const t=e.type==="root"?e.children[0]:e;return!!(t&&(t.type==="doctype"||t.type==="element"&&t.tagName.toLowerCase()==="html"))}function n1(e){const t=_c(e)||{line:void 0,column:void 0,offset:void 0},n=e_(e)||{line:void 0,column:void 0,offset:void 0};return{startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:n.line,endCol:n.column,endOffset:n.offset}}function v8e(e){return"children"in e?Qg({...e,children:[]}):Qg(e)}function w8e(e){return function(t,n){return $ie(t,{...e,file:n})}}const zie=[".mp4",".webm",".mov",".m4v",".ogg",".avi"];function Fie(e){if(!e)return!1;try{const t=e.toLowerCase();return zie.some(n=>t.includes(n))}catch{return!1}}function E8e(e){var i;const t=(i=e==null?void 0:e.properties)==null?void 0:i.href;if(!t)return!1;if(Fie(t))return!0;const n=e==null?void 0:e.children;if(n&&Array.isArray(n)){const r=n.map(s=>(s==null?void 0:s.value)||"").join("").toLowerCase();return zie.some(s=>r.includes(s))}return!1}function k8e({text:e,className:t,allowRawHtml:n=!0}){const[i,r]=O.useState(null),s=(l,u)=>{if(l.src)return l.src;if(u){const d=h=>{var p;if(!h)return null;if(h.type==="source"&&((p=h.properties)!=null&&p.src))return h.properties.src;if(h.children)for(const m of h.children){const g=d(m);if(g)return g}return null},f=d({children:u});if(f)return f}return""},a=l=>{try{const d=new URL(l).pathname.split("/");return d[d.length-1]||"video.mp4"}catch{return"video.mp4"}},o=l=>l?Array.isArray(l)?l.map(u=>(u==null?void 0:u.value)||"").join("")||"video":(l==null?void 0:l.value)||"video":"video";return c.jsxs("div",{className:t?`md ${t}`:"md",children:[c.jsx(ADe,{remarkPlugins:[U5e],rehypePlugins:n?[w8e,zU]:[zU],components:{a:({node:l,...u})=>{const d=u.href;if(d&&(Fie(d)||E8e(l))){const f=d,h=o(l==null?void 0:l.children);return c.jsxs("div",{className:"video-container",children:[c.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":`点击播放视频: ${h}`,onClick:()=>r({src:f,title:h}),children:[c.jsx("video",{src:f,playsInline:!0,className:"video-thumbnail",preload:"metadata"}),c.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:c.jsx(Ih,{})})]}),c.jsx("div",{className:"video-caption",children:c.jsx("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"video-link-text",children:h})})]})}return c.jsx("a",{...u,target:"_blank",rel:"noopener noreferrer"})},img:({node:l,src:u,alt:d,...f})=>{const h=c.jsx("img",{...f,src:u,alt:d??"",loading:"lazy"});return u?c.jsx(rZ,{src:u,children:c.jsxs("button",{type:"button",className:"image-preview-trigger","aria-label":`放大预览:${d||"图片"}`,children:[h,c.jsx("span",{className:"image-preview-hint","aria-hidden":"true",children:c.jsx(Ih,{})})]})}):h},video:({node:l,src:u,children:d,...f})=>{const h=s({src:u},d);return h?c.jsx("div",{className:"video-container",children:c.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":"点击放大视频",onClick:()=>r({src:h}),children:[c.jsx("video",{src:h,...f,playsInline:!0,className:"video-thumbnail",children:d}),c.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:c.jsx(Ih,{})})]})}):c.jsx("video",{src:u,controls:!0,playsInline:!0,className:"video-inline",...f,children:d})}},children:e}),i&&c.jsx("div",{className:"video-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":"视频预览",onClick:()=>r(null),children:c.jsxs("div",{className:"video-viewer",onClick:l=>l.stopPropagation(),children:[c.jsxs("div",{className:"video-viewer-header",children:[c.jsx("div",{className:"video-viewer-title",children:i.title||a(i.src)}),c.jsxs("nav",{className:"video-viewer-nav",children:[c.jsx("a",{href:i.src,download:i.title||a(i.src),"aria-label":"下载视频",title:"下载视频",className:"video-viewer-download",children:c.jsx(ET,{})}),c.jsx("button",{type:"button",className:"video-viewer-close","aria-label":"关闭",onClick:()=>r(null),children:c.jsx(aa,{})})]})]}),c.jsx("div",{className:"video-viewer-body",children:c.jsx("video",{src:i.src,controls:!0,autoPlay:!0,playsInline:!0,className:"video-fullscreen"})})]})})]})}const i1=O.memo(k8e);function u_({value:e,skillPrefix:t="/",onRemoveSkill:n,onRemoveAgent:i}){return e.skills.length===0&&!e.targetAgent?null:c.jsxs("div",{className:"invocation-chips","aria-label":"本轮调用上下文",children:[e.skills.map(r=>c.jsxs("span",{className:"invocation-chip invocation-chip--skill",title:r.description,children:[c.jsx(Sy,{"aria-hidden":!0}),c.jsxs("span",{children:[t,r.name]}),n?c.jsx("button",{type:"button",onClick:()=>n(r.name),"aria-label":`移除技能 ${r.name}`,children:c.jsx(aa,{})}):null]},r.name)),e.targetAgent?c.jsxs("span",{className:"invocation-chip invocation-chip--agent",title:e.targetAgent.description,children:[c.jsx(oZ,{"aria-hidden":!0}),c.jsx("span",{children:e.targetAgent.name}),i?c.jsx("button",{type:"button",onClick:i,"aria-label":`移除 Agent ${e.targetAgent.name}`,children:c.jsx(aa,{})}):null]}):null]})}function B$(e=""){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e==="application/pdf"?"pdf":e==="text/markdown"?"markdown":"text"}function Vie(e){var n,i,r,s;const t=B$(e.mimeType);return t==="pdf"?"PDF":t==="markdown"?"MD":t==="video"?((i=(n=e.mimeType)==null?void 0:n.split("/")[1])==null?void 0:i.toUpperCase())??"VIDEO":t==="image"?((s=(r=e.mimeType)==null?void 0:r.split("/")[1])==null?void 0:s.toUpperCase())??"IMAGE":"TXT"}function Xie(e){return e?e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:""}function qie(e,t){return e.previewUrl?e.previewUrl:e.data?`data:${e.mimeType??"application/octet-stream"};base64,${e.data}`:e.uri?YZ(t,e.uri):""}function T8e({kind:e}){return e==="image"?c.jsx(OD,{}):e==="video"?c.jsx(dZ,{}):e==="pdf"?c.jsx(Zxe,{}):c.jsx(mD,{})}function d_({appName:e,items:t,compact:n=!1,onRemove:i}){const[r,s]=O.useState(null);return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:`media-grid${n?" media-grid--compact":""}`,children:t.map(a=>{const o=B$(a.mimeType),l=qie(a,e),u=a.status==="uploading"||a.status==="error"||!l,d=c.jsxs("button",{type:"button",className:"media-card-main",disabled:u,onClick:o==="image"?void 0:()=>s(a),"aria-label":`预览 ${a.name??"附件"}`,children:[o==="image"&&l?c.jsx("img",{className:"media-card-image",src:l,alt:a.name??"图片",loading:"lazy"}):o==="video"&&l?c.jsxs("div",{className:"media-card-video-container",children:[c.jsx("video",{className:"media-card-video",src:l,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}),c.jsx("span",{className:"media-card-video-play",children:c.jsx(d1e,{})})]}):c.jsx("span",{className:"media-card-icon",children:c.jsx(T8e,{kind:o})}),c.jsxs("span",{className:"media-card-copy",children:[c.jsx("span",{className:"media-card-name",children:a.name??"附件"}),c.jsxs("span",{className:"media-card-meta",children:[c.jsx("span",{className:"media-card-type",children:Vie(a)}),a.status==="uploading"?c.jsxs(c.Fragment,{children:[c.jsx(qn,{className:"media-card-spinner"})," 上传中"]}):a.status==="error"?a.error??"上传失败":Xie(a.sizeBytes)]})]}),!n&&a.status!=="uploading"&&a.status!=="error"?c.jsx(Ih,{className:"media-card-open"}):null]});return c.jsxs(dr.div,{className:`media-card media-card--${o}${a.status==="error"?" media-card--error":""}`,layout:!0,initial:{opacity:0,scale:.985,y:4},animate:{opacity:1,scale:1,y:0},children:[o==="image"&&!u?c.jsx(rZ,{src:l,children:d}):d,i?c.jsx("button",{type:"button",className:"media-card-remove","aria-label":`移除 ${a.name??"附件"}`,onClick:()=>i(a.id),children:c.jsx(aa,{})}):null]},a.id)})}),c.jsx(Zd,{children:r?c.jsx(_8e,{appName:e,item:r,onClose:()=>s(null)}):null})]})}function _8e({appName:e,item:t,onClose:n}){const i=O.useMemo(()=>qie(t,e),[e,t]),r=B$(t.mimeType),[s,a]=O.useState(""),[o,l]=O.useState(r==="text"||r==="markdown"),[u,d]=O.useState("");return O.useEffect(()=>{const f=h=>{h.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]),O.useEffect(()=>{if(r!=="text"&&r!=="markdown")return;const f=new AbortController;return l(!0),d(""),fetch(i,{signal:f.signal}).then(h=>{if(!h.ok)throw new Error(`HTTP ${h.status}`);return h.text()}).then(a).catch(h=>{f.signal.aborted||d(h instanceof Error?h.message:String(h))}).finally(()=>{f.signal.aborted||l(!1)}),()=>f.abort()},[r,i]),c.jsx(dr.div,{className:"media-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":t.name??"附件预览",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onMouseDown:f=>{f.target===f.currentTarget&&n()},children:c.jsxs(dr.div,{className:"media-viewer",initial:{opacity:0,y:18,scale:.985},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:10,scale:.99},transition:{type:"spring",stiffness:420,damping:30},children:[c.jsxs("header",{className:"media-viewer-header",children:[c.jsxs("div",{children:[c.jsx("strong",{children:t.name??"附件"}),c.jsxs("span",{children:[Vie(t),t.sizeBytes?` · ${Xie(t.sizeBytes)}`:""]})]}),c.jsxs("nav",{children:[c.jsx("a",{href:i,download:t.name,"aria-label":"下载",children:c.jsx(ET,{})}),c.jsx("button",{type:"button",onClick:n,"aria-label":"关闭",children:c.jsx(aa,{})})]})]}),c.jsxs("div",{className:`media-viewer-body media-viewer-body--${r}`,children:[r==="image"?c.jsx("img",{src:i,alt:t.name??"图片"}):null,r==="video"?c.jsx("div",{className:"media-viewer-video-wrapper",children:c.jsx("video",{src:i,controls:!0,autoPlay:!0,playsInline:!0,preload:"auto",className:"media-viewer-video"})}):null,r==="pdf"?c.jsx("iframe",{src:i,title:t.name??"PDF"}):null,o?c.jsxs("div",{className:"media-viewer-loading",children:[c.jsx(qn,{})," 正在读取文档…"]}):null,!o&&u?c.jsxs("div",{className:"media-viewer-loading",children:["文档加载失败:",u]}):null,!o&&r==="markdown"?c.jsx("div",{className:"media-document",children:c.jsx(i1,{text:s})}):null,!o&&r==="text"?c.jsx("pre",{className:"media-document media-document--plain",children:s}):null]})]})})}function A8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"10.25",cy:"10.25",r:"6.25"}),c.jsx("path",{d:"M4.15 10.25h12.2M10.25 4c1.65 1.72 2.5 3.8 2.5 6.25s-.85 4.53-2.5 6.25M10.25 4c-1.65 1.72-2.5 3.8-2.5 6.25s.85 4.53 2.5 6.25M14.8 14.8 20 20"})]})}function N8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.25",y:"5.25",width:"15.5",height:"13.5",rx:"2.25"}),c.jsx("circle",{cx:"8.1",cy:"9.3",r:"1.35"}),c.jsx("path",{d:"m4.7 16.5 3.65-3.7 2.45 2.25 2.2-2.2 4.35 4.1"}),c.jsx("path",{d:"m19.4 2.75.48 1.37 1.37.48-1.37.48-.48 1.37-.48-1.37-1.37-.48 1.37-.48.48-1.37Z",fill:"currentColor",stroke:"none"})]})}function U$(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{className:"video-generate-icon__body",d:"M3.25 9h17.5v7.35a2.4 2.4 0 0 1-2.4 2.4H5.65a2.4 2.4 0 0 1-2.4-2.4V9Z"}),c.jsxs("g",{className:"video-generate-icon__clapper",children:[c.jsx("path",{d:"M3.25 9V7.65a2.4 2.4 0 0 1 2.4-2.4h12.7a2.4 2.4 0 0 1 2.4 2.4V9H3.25Z"}),c.jsx("path",{d:"M6.75 5.25 9.3 9M12 5.25 14.55 9M17.25 5.25 19.8 9"})]}),c.jsx("path",{d:"m10.25 11.45 4 2.55-4 2.55v-5.1Z"})]})}function C8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M4.25 5.25h15.5v10.5H4.25zM8.25 19.75h7.5M12 15.75v4"}),c.jsx("path",{d:"m7.25 12.75 2.35-2.4 2.15 1.65 3.4-3.6 1.6 1.55"}),c.jsx("circle",{cx:"7.25",cy:"8.4",r:".7",fill:"currentColor",stroke:"none"})]})}function R8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M5 7.4c0-1.55 3.13-2.8 7-2.8s7 1.25 7 2.8-3.13 2.8-7 2.8-7-1.25-7-2.8Z"}),c.jsx("path",{d:"M5 7.4v4.55c0 1.55 3.13 2.8 7 2.8s7-1.25 7-2.8V7.4M5 11.95v4.55c0 1.55 3.13 2.8 7 2.8s7-1.25 7-2.8v-4.55"}),c.jsx("path",{d:"M8.2 12.25h.01M8.2 16.8h.01"})]})}function I8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M4.25 4.25h4.5v15.5h-4.5zM8.75 5.75h5v14h-5zM13.75 4.25h4.1v10.25h-4.1z"}),c.jsx("path",{d:"M5.75 7h1.5M10.25 8.25h2M10.25 11h2M15.15 7h1.3"}),c.jsx("circle",{cx:"17.45",cy:"17.35",r:"2.45"}),c.jsx("path",{d:"m19.25 19.15 1.55 1.55"})]})}function P8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M4.25 6.25h6.25c1 0 1.5.55 1.5 1.45v11.05c0-.9-.5-1.45-1.5-1.45H4.25V6.25Z"}),c.jsx("path",{d:"M19.75 9.1v8.2H13.5c-1 0-1.5.55-1.5 1.45V7.7c0-.9.5-1.45 1.5-1.45h2.15"}),c.jsx("path",{d:"m19 3.2.58 1.62 1.62.58-1.62.58L19 7.6l-.58-1.62-1.62-.58 1.62-.58L19 3.2Z",fill:"currentColor",stroke:"none"})]})}function j8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"m4.2 8.4 1.15 10.2h13.3L19.8 8.4"}),c.jsx("path",{d:"M4.2 8.4h15.6L17.9 5H6.1L4.2 8.4Z"}),c.jsx("path",{d:"M7.2 12.2c1.1-1 2.25 1.25 3.4.25 1.05-.9 2.15 1.3 3.3.25"}),c.jsx("path",{d:"m8.2 15.1 1.45 1.35 1.45-1.35M13.55 16.45h2.35"})]})}function Hie(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m6 3.25 4.5 4.75L6 12.75"})})}function M8e({definition:e,label:t,done:n,open:i,onToggle:r}){const s=e.icon,a=t??(n?e.doneLabel:e.runningLabel);return c.jsxs("button",{type:"button",className:`builtin-tool-head${n?" is-done":" is-running"}`,"data-tool-tone":e.tone,onClick:r,"aria-expanded":i,children:[c.jsx("span",{className:"builtin-tool-icon","aria-hidden":"true",children:c.jsx(s,{})}),n?c.jsx("span",{className:"builtin-tool-label",children:a}):c.jsx(hs,{className:"builtin-tool-label",duration:2.4,spread:18,"aria-live":"polite",children:a}),c.jsx(Hie,{className:`builtin-tool-chevron${i?" is-open":""}`})]})}const L8e={web_search:{name:"web_search",runningLabel:"正在进行网络搜索",doneLabel:"已完成网络搜索",tone:"search",icon:A8e},run_code:{name:"run_code",runningLabel:"正在 AgentKit 沙箱中执行代码",doneLabel:"已在 AgentKit 沙箱中完成代码执行",tone:"sandbox",icon:j8e},image_generate:{name:"image_generate",runningLabel:"正在生成图片",doneLabel:"已完成图片生成",tone:"image",icon:N8e},video_generate:{name:"video_generate",runningLabel:"正在生成视频",doneLabel:"已完成视频生成",tone:"video",icon:U$},ppt_generate:{name:"ppt_generate",runningLabel:"正在生成 PPT",doneLabel:"已完成 PPT 生成",tone:"presentation",icon:C8e},load_memory:{name:"load_memory",runningLabel:"正在检索长期记忆",doneLabel:"已完成记忆检索",tone:"memory",icon:R8e},load_knowledgebase:{name:"load_knowledgebase",runningLabel:"正在检索知识库",doneLabel:"已完成知识库检索",tone:"knowledge",icon:I8e},load_skill:{name:"load_skill",runningLabel:"正在加载技能",doneLabel:"已加载技能",tone:"skill",icon:P8e}};function D8e(e){return L8e[e]}const Yie="send_a2ui_json_to_client",$8e=28;function Q8e(e,t,n){let i=t;for(let r=0;r65535?2:1}return i}function B8e(e){return e<=4?1:Math.min(18,Math.max(2,Math.ceil(e/6)))}function Gie(e,t,n,i){const[r,s]=O.useState(()=>t?"":e),a=O.useRef(r),o=O.useRef(e),l=O.useRef(null),u=O.useRef(0),d=O.useRef(n);return o.current=e,d.current=n,O.useEffect(()=>{const f=a.current,h=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!t||h||!e.startsWith(f)){l.current!==null&&window.cancelAnimationFrame(l.current),l.current=null,f!==e&&(a.current=e,s(e));return}if(f===e||l.current!==null)return;const p=m=>{const g=o.current,y=a.current;if(!g.startsWith(y)){a.current=g,s(g),l.current=null;return}if(m-u.current<$8e){l.current=window.requestAnimationFrame(p);return}const b=g.length-y.length;if(b<=0){l.current=null;return}const S=Q8e(g,y.length,B8e(b)),x=g.slice(0,S);a.current=x,u.current=m,s(x),l.current=x===g?null:window.requestAnimationFrame(p)};l.current=window.requestAnimationFrame(p)},[t,e]),O.useLayoutEffect(()=>{var f;(f=d.current)==null||f.call(d)},[r]),O.useEffect(()=>{r===e&&(i==null||i())},[r,i,e]),O.useEffect(()=>()=>{l.current!==null&&(window.cancelAnimationFrame(l.current),l.current=null)},[]),r}function U8e({className:e}){return c.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:c.jsx("path",{d:"M12 2.2l1.7 5.1a3 3 0 0 0 1.9 1.9L20.8 11l-5.1 1.7a3 3 0 0 0-1.9 1.9L12 19.8l-1.7-5.1a3 3 0 0 0-1.9-1.9L3.2 11l5.1-1.7a3 3 0 0 0 1.9-1.9L12 2.2z"})})}function z8e(){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:c.jsx("path",{d:"M14.3 5.25a4.6 4.6 0 0 0-5.55 5.55L3.6 15.95a1.8 1.8 0 0 0 0 2.55l1.9 1.9a1.8 1.8 0 0 0 2.55 0l5.15-5.15a4.6 4.6 0 0 0 5.55-5.55l-2.9 2.9-2.45-.55-.55-2.45 2.9-2.9a4.6 4.6 0 0 0-1.45-1.45Z"})})}function F8e(e,t){if(e!=="load_skill"||t==null||typeof t!="object"||Array.isArray(t))return;const n=t.skill_name;if(!(typeof n!="string"||!n.trim()))return`使用 ${n.trim()} 技能`}function Wie({text:e,done:t,answerStarted:n=!1,streaming:i=!1,onStreamFrame:r}){const[s,a]=O.useState(!(t||n)),o=O.useRef(!1);O.useEffect(()=>{o.current||a(!(t||n))},[n,t]);const l=()=>{o.current=!0,a(p=>!p)},u=e.replace(/^\s+/,""),d=Gie(u,!t||i,r),{ref:f,onScroll:h}=ZIe(d);return c.jsxs("div",{className:"block-thinking",children:[c.jsxs("button",{className:"think-head",onClick:l,type:"button",children:[c.jsx("span",{className:"think-icon","aria-hidden":"true",children:c.jsx(U8e,{className:`spark ${t?"":"pulse"}`})}),t?c.jsx("span",{className:"think-label think-label--done",children:"已完成思考"}):c.jsx(hs,{className:"think-label",duration:2.4,spread:18,children:"思考中"}),c.jsx(p0,{className:`chev ${s?"open":""}`})]}),c.jsx("div",{className:`think-collapse ${s&&d?"open":""}`,children:c.jsx("div",{className:"think-collapse-inner",children:c.jsx("div",{className:"think-body scroll",ref:f,onScroll:h,children:d})})})]})}function Zie(){return c.jsx(Wie,{text:"",done:!1})}const V8e=O.memo(function({text:t,streaming:n,onStreamFrame:i,onStreamComplete:r}){const s=Gie(t,n,i,r);return s?c.jsx("div",{className:"bubble",children:c.jsx(i1,{text:s})}):null});function X8e({name:e,args:t,response:n,done:i}){const[r,s]=O.useState(!1),a=e===Yie?"渲染 UI":e,o=D8e(e),l=n==null?null:typeof n=="string"?n:JSON.stringify(n,null,2),u=l&&l.length>2e3?l.slice(0,2e3)+` -…(已截断)`:l;return c.jsxs(dr.div,{className:`block-tool${o?" block-tool--builtin":""}`,initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[o?c.jsx(M8e,{definition:o,label:F8e(e,t),done:i,open:r,onToggle:()=>s(d=>!d)}):c.jsxs("button",{className:"tool-head tool-head--generic",onClick:()=>s(d=>!d),type:"button","aria-expanded":r,children:[c.jsx("span",{className:"tool-icon tool-icon--generic","aria-hidden":"true",children:c.jsx(z8e,{})}),i?c.jsx("span",{className:"tool-name",children:a}):c.jsx(hs,{className:"tool-name",duration:2.2,spread:15,children:a}),c.jsx(Hie,{className:`tool-chevron${r?" is-open":""}`})]}),c.jsx("div",{className:`think-collapse ${r?"open":""}`,children:c.jsx("div",{className:"think-collapse-inner",children:c.jsxs("div",{className:"tool-detail",children:[t!=null&&c.jsxs("div",{className:"tool-section",children:[c.jsx("div",{className:"tool-section-label",children:"参数"}),c.jsx("pre",{className:"tool-args",children:JSON.stringify(t,null,2)})]}),u!=null&&c.jsxs("div",{className:"tool-section",children:[c.jsx("div",{className:"tool-section-label",children:"返回"}),c.jsx("pre",{className:"tool-args tool-result",children:u})]})]})})})]})}function q8e({block:e,onDownload:t,onPreview:n}){const[i,r]=O.useState(""),[s,a]=O.useState(""),[o,l]=O.useState(null);O.useEffect(()=>()=>{o&&URL.revokeObjectURL(o.url)},[o]);const u=()=>l(null),d=async(p,m)=>{if(t){r(`download:${p}`),a("");try{await t(p,m)}catch(g){a(g instanceof Error?g.message:String(g))}finally{r("")}}},f=async(p,m,g)=>{if(n){r(`preview:${g}`),a("");try{const y=await n(p,m);l({name:g,url:y})}catch(y){a(y instanceof Error?y.message:String(y))}finally{r("")}}},h=e.files.filter(p=>!p.filename.endsWith(".preview.webp"));return c.jsxs("div",{className:"artifact-list",children:[h.map(p=>{const m=`${p.filename.replace(/\.pptx$/i,"")}.preview.webp`,g=e.files.find(y=>y.filename===m);return c.jsxs("div",{className:"artifact-card",children:[c.jsx("span",{className:"artifact-card__icon","aria-hidden":"true",children:c.jsx(mD,{})}),c.jsxs("span",{className:"artifact-card__copy",children:[c.jsx("span",{className:"artifact-card__name",children:p.filename}),c.jsx("span",{className:"artifact-card__hint",children:"PowerPoint 演示文稿"})]}),c.jsxs("span",{className:"artifact-card__actions",children:[g&&c.jsxs("button",{className:"artifact-card__action",type:"button",disabled:!n||i!=="",onClick:()=>void f(g.filename,g.version,p.filename),children:[i===`preview:${p.filename}`?c.jsx(qn,{className:"spin"}):c.jsx(Yxe,{}),"预览"]}),c.jsxs("button",{className:"artifact-card__action artifact-card__action--primary",type:"button",disabled:!t||i!=="",onClick:()=>void d(p.filename,p.version),children:[i===`download:${p.filename}`?c.jsx(qn,{className:"spin"}):c.jsx(ET,{}),"下载"]})]})]},`${p.filename}:${p.version}`)}),s&&c.jsx("div",{className:"artifact-card__error",children:s}),o&&c.jsxs("div",{className:"artifact-preview",role:"dialog","aria-modal":"true","aria-label":`${o.name} 预览`,children:[c.jsx("button",{className:"artifact-preview__backdrop",type:"button","aria-label":"关闭预览",onClick:u}),c.jsxs("div",{className:"artifact-preview__panel",children:[c.jsxs("div",{className:"artifact-preview__header",children:[c.jsx("span",{children:o.name}),c.jsx("button",{type:"button","aria-label":"关闭预览",onClick:u,children:c.jsx(aa,{})})]}),c.jsx("div",{className:"artifact-preview__canvas",children:c.jsx("img",{src:o.url,alt:`${o.name} 幻灯片预览`})})]})]})]})}function H8e({block:e,onAuth:t}){const[n,i]=O.useState(e.done?"done":"idle"),[r,s]=O.useState(""),a=e.label||"MCP 工具集",o=(()=>{try{return e.authUri?new URL(e.authUri).host:""}catch{return""}})(),l=async()=>{if(t){s(""),i("authorizing");try{await t(e),i("done")}catch(d){s(d instanceof Error?d.message:String(d)),i("idle")}}};return e.done||n==="done"?c.jsxs(dr.div,{className:"auth-card-collapsed",initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},children:[c.jsx(jB,{className:"auth-card-icon auth-card-icon--done"}),c.jsxs("span",{children:["已授权 · ",a]})]}):c.jsxs(dr.div,{className:"auth-card",initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[c.jsxs("div",{className:"auth-card-head",children:[c.jsx(jB,{className:"auth-card-icon"}),c.jsxs("span",{className:"auth-card-title",children:[a," 需要授权"]})]}),c.jsxs("p",{className:"auth-card-desc",children:["工具集 ",c.jsx("code",{className:"auth-card-code",children:a})," 使用 OAuth 保护, 需登录授权后方可调用。",o&&c.jsxs(c.Fragment,{children:[" ","将跳转至 ",c.jsx("code",{className:"auth-card-code",children:o})," 完成登录,"]}),"授权完成后对话自动继续。"]}),c.jsx("button",{className:"auth-card-btn",onClick:l,disabled:n==="authorizing"||!e.authUri,children:n==="authorizing"?c.jsxs(c.Fragment,{children:[c.jsx(qn,{className:"cw-i spin"})," 等待授权…"]}):c.jsx(c.Fragment,{children:"去授权"})}),!e.authUri&&c.jsx("div",{className:"auth-card-err",children:"未在事件中找到授权地址。"}),r&&c.jsx("div",{className:"auth-card-err",children:r})]})}function z$({blocks:e,appName:t="",streaming:n=!1,onStreamFrame:i,onStreamComplete:r,onAction:s,onAuth:a,onArtifactDownload:o,onArtifactPreview:l}){const u=e.reduce((d,f,h)=>f.kind==="text"?h:d,-1);return c.jsx(c.Fragment,{children:e.map((d,f)=>{switch(d.kind){case"thinking":{const h=e.slice(f+1).some(p=>p.kind==="text"&&!!p.text.trim());return c.jsx(Wie,{text:d.text,done:d.done,answerStarted:h,streaming:n,onStreamFrame:i},f)}case"text":{const h=d.text.replace(/^\s+/,"");return h?c.jsx(V8e,{text:h,streaming:n,onStreamFrame:i,onStreamComplete:f===u?r:void 0},f):null}case"attachment":return c.jsx(d_,{appName:t,items:d.files},f);case"artifact":return c.jsx(q8e,{block:d,onDownload:o,onPreview:l},f);case"invocation":return c.jsx(u_,{value:d.value},f);case"tool":return d.name===Yie&&d.done?null:c.jsx(X8e,{name:d.name,args:d.args,response:d.response,done:d.done},f);case"agent-transfer":return null;case"auth":return c.jsx(H8e,{block:d,onAuth:a},f);case"a2ui":return ute(d.messages).filter(h=>h.components[h.rootId]).map(h=>c.jsx(dr.div,{initial:{opacity:0,y:8,scale:.985},animate:{opacity:1,y:0,scale:1},transition:{type:"spring",stiffness:380,damping:30},children:c.jsx(WIe,{surface:h,onAction:s})},`${f}-${h.surfaceId}`));default:return null}})})}const Y8e=()=>{};function G8e(e){if(e.kind==="message")return{kind:"text",text:e.text};if(e.kind==="thinking")return{kind:"thinking",text:e.text,done:e.status==="done"};if(e.kind==="tool")return{kind:"tool",name:e.name,args:e.args,response:e.response,done:e.status==="done"};throw new Error("不支持的 Skill 对话活动")}function W8e({activities:e}){const t=O.useMemo(()=>e.filter(n=>n.kind!=="status").map(G8e),[e]);return t.length===0?null:c.jsx("div",{className:"skill-conversation","aria-label":"Skill 生成对话","aria-live":"polite",children:c.jsx(z$,{blocks:t,onAction:Y8e})})}function a7(){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m7 9 5 5 5-5",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function k2({label:e,value:t,options:n,onChange:i,disabled:r=!1,allowCustom:s=!1,required:a=!1,placeholder:o="请选择",error:l}){const u=O.useId(),d=O.useId(),f=O.useId(),h=O.useRef(null),p=O.useRef(null),m=O.useRef(null),g=O.useRef(null),y=O.useRef([]),b=n.findIndex(Q=>Q.value===t),S=t.trim().toLocaleLowerCase(),x=s&&S?n.filter(Q=>Q.value.toLocaleLowerCase().includes(S)||Q.label.toLocaleLowerCase().includes(S)):n,[v,E]=O.useState(!1),[w,k]=O.useState(Math.max(0,b)),_=b>=0?n[b]:void 0,C=r||!s&&n.length===0,A=(Q=!1)=>{E(!1),Q&&window.requestAnimationFrame(()=>{var L,D;return s?(L=m.current)==null?void 0:L.focus():(D=p.current)==null?void 0:D.focus()})},R=Q=>{C||x.length!==0&&(k(Math.min(Math.max(Q,0),x.length-1)),E(!0))};O.useEffect(()=>{if(!v)return;const Q=g.current,L=s?void 0:window.requestAnimationFrame(()=>{var B;(B=y.current[w])==null||B.focus()}),D=B=>{if(!Q)return;const $=Q.scrollTop<=0,I=Q.scrollTop+Q.clientHeight>=Q.scrollHeight-1;(Q.scrollHeight<=Q.clientHeight||B.deltaY<0&&$||B.deltaY>0&&I)&&B.preventDefault(),B.stopPropagation()},N=B=>{var $;B.target instanceof Node&&!(($=h.current)!=null&&$.contains(B.target))&&A()},M=B=>{B.key==="Escape"&&A(!0)};return Q==null||Q.addEventListener("wheel",D,{passive:!1}),window.addEventListener("pointerdown",N),window.addEventListener("keydown",M),()=>{L!==void 0&&window.cancelAnimationFrame(L),Q==null||Q.removeEventListener("wheel",D),window.removeEventListener("pointerdown",N),window.removeEventListener("keydown",M)}},[w,s,v]);const j=Q=>{var D;if(x.length===0)return;const L=(Q+x.length)%x.length;k(L),(D=y.current[L])==null||D.focus()};return c.jsxs("div",{ref:h,className:`skill-config-select${v?" is-open":""}`,onBlur:Q=>{var L;(!Q.relatedTarget||!((L=h.current)!=null&&L.contains(Q.relatedTarget)))&&A()},children:[c.jsxs("span",{id:d,className:"skill-config-select__label",children:[e,a?c.jsx("span",{className:"skill-required-mark","aria-hidden":"true",children:"*"}):null]}),s?c.jsxs("div",{className:`skill-config-select__trigger is-editable${r?" is-disabled":""}`,"aria-expanded":v,children:[c.jsx("input",{ref:m,value:t,disabled:r,role:"combobox","aria-autocomplete":"list","aria-expanded":v,"aria-controls":v?u:void 0,"aria-labelledby":d,"aria-required":a,"aria-invalid":!!l,"aria-describedby":l?f:void 0,placeholder:o,onChange:Q=>{i(Q.target.value),k(0),n.length>0&&E(!0)},onClick:()=>{!v&&x.length>0&&R(0)},onKeyDown:Q=>{var L,D;if(!(Q.nativeEvent.isComposing||Q.keyCode===229))if(Q.key==="ArrowDown")Q.preventDefault(),v?(L=y.current[w])==null||L.focus():R(0);else if(Q.key==="ArrowUp")Q.preventDefault(),v?(D=y.current[x.length-1])==null||D.focus():R(x.length-1);else if(Q.key==="Enter"&&v){Q.preventDefault();const N=x[w];N&&i(N.value),A()}else Q.key==="Escape"&&(Q.preventDefault(),A())}}),c.jsx("button",{type:"button",className:"skill-config-select__toggle",disabled:r||n.length===0,"aria-label":v?"收起模型选项":"展开模型选项",onClick:()=>{v?A():R(0)},children:c.jsx(a7,{})})]}):c.jsxs("button",{ref:p,type:"button",className:"skill-config-select__trigger",disabled:C,"aria-haspopup":"listbox","aria-expanded":v,"aria-controls":v?u:void 0,"aria-labelledby":d,"aria-required":a,onClick:()=>{v?A():R(b>=0?b:0)},onKeyDown:Q=>{Q.key==="ArrowDown"?(Q.preventDefault(),R(b>=0?b:0)):Q.key==="ArrowUp"&&(Q.preventDefault(),R(b>=0?b:n.length-1))},children:[c.jsx("span",{className:_?void 0:"is-placeholder",title:_==null?void 0:_.label,children:(_==null?void 0:_.label)||(n.length===0?"暂无可用选项":o)}),c.jsx(a7,{})]}),v?c.jsxs("div",{ref:g,id:u,className:"skill-config-select__menu",role:"listbox","aria-labelledby":d,children:[x.length===0?c.jsx("div",{className:"skill-config-select__empty",role:"status",children:"没有匹配项,可直接使用当前模型 ID"}):null,x.map((Q,L)=>{const D=Q.value===t;return c.jsx("button",{ref:N=>{y.current[L]=N},type:"button",role:"option","aria-selected":D,tabIndex:L===w?0:-1,className:`skill-config-select__option${D?" is-selected":""}`,title:Q.label,onFocus:()=>k(L),onClick:()=>{i(Q.value),A(!0)},onKeyDown:N=>{N.key==="ArrowDown"?(N.preventDefault(),j(L+1)):N.key==="ArrowUp"?(N.preventDefault(),j(L-1)):N.key==="Home"?(N.preventDefault(),j(0)):N.key==="End"&&(N.preventDefault(),j(n.length-1))},children:Q.label},Q.value)})]}):null,l?c.jsx("span",{id:f,className:"skill-config-select__error",role:"alert",children:l}):null]})}function ss(e,t){return e instanceof Error?e:typeof e=="string"&&e.trim()?new Error(e.trim()):new Error(t)}function eo({error:e}){var r,s,a,o,l;const t=e,n=(s=(r=t.originalError)==null?void 0:r.message)==null?void 0:s.trim(),i=[typeof t.status=="number"?`HTTP ${t.status}${t.statusText?` ${t.statusText}`:""}`:"",t.code?`错误码:${t.code}`:"",(a=t.originalError)!=null&&a.type?`错误类型:${t.originalError.type}`:"",(o=t.originalError)!=null&&o.repr&&t.originalError.repr!==n?`异常表示:${t.originalError.repr}`:"",(l=t.rawResponse)!=null&&l.trim()?`服务端原始响应: +`))}function l(p,m,g,y){const b=g.enter("tableCell"),S=g.enter("phrasing"),x=g.containerPhrasing(p,{...y,before:s,after:s});return S(),b(),x}function u(p,m){return O5e(p,{align:m,alignDelimiters:i,padding:n,stringLength:r})}function d(p,m,g){const y=p.children;let b=-1;const S=[],x=m.enter("table");for(;++b0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const S$e={tokenize:N$e,partial:!0};function v$e(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:T$e,continuation:{tokenize:_$e},exit:A$e}},text:{91:{name:"gfmFootnoteCall",tokenize:k$e},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:w$e,resolveTo:E$e}}}}function w$e(e,t,n){const i=this;let r=i.events.length;const s=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let a;for(;r--;){const l=i.events[r][1];if(l.type==="labelImage"){a=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return o;function o(l){if(!a||!a._balanced)return n(l);const u=yl(i.sliceSerialize({start:a.end,end:i.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function E$e(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},r={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};r.end.column++,r.end.offset++,r.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},o=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",r,t],["exit",r,t],["enter",s,t],["enter",a,t],["exit",a,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...o),e}function k$e(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let s=0,a;return o;function o(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),l}function l(f){return f!==94?n(f):(e.enter("gfmFootnoteCallMarker"),e.consume(f),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(f){if(s>999||f===93&&!a||f===null||f===91||_i(f))return n(f);if(f===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return r.includes(yl(i.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return _i(f)||(a=!0),s++,e.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(e.consume(f),s++,u):u(f)}}function T$e(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let s,a=0,o;return l;function l(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(m)}function d(m){if(a>999||m===93&&!o||m===null||m===91||_i(m))return n(m);if(m===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return s=yl(i.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return _i(m)||(o=!0),a++,e.consume(m),m===92?f:d}function f(m){return m===91||m===92||m===93?(e.consume(m),a++,d):d(m)}function h(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),r.includes(s)||r.push(s),zn(e,p,"gfmFootnoteDefinitionWhitespace")):n(m)}function p(m){return t(m)}}function _$e(e,t,n){return e.check(Zx,t,e.attempt(S$e,t,n))}function A$e(e){e.exit("gfmFootnoteDefinition")}function N$e(e,t,n){const i=this;return zn(e,r,"gfmFootnoteDefinitionIndent",5);function r(s){const a=i.events[i.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(s):n(s)}}function C$e(e){let n=(e||{}).singleTilde;const i={name:"strikethrough",tokenize:s,resolveAll:r};return n==null&&(n=!0),{text:{126:i},insideSpan:{null:[i]},attentionMarkers:{null:[126]}};function r(a,o){let l=-1;for(;++l1?l(m):(a.consume(m),f++,p);if(f<2&&!n)return l(m);const y=a.exit("strikethroughSequenceTemporary"),b=Qg(m);return y._open=!b||b===2&&!!g,y._close=!g||g===2&&!!b,o(m)}}}class R$e{constructor(){this.map=[]}add(t,n,i){I$e(this,t,n,i)}consume(t){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const i=[];for(;n>0;)n-=1,i.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];i.push(t.slice()),t.length=0;let r=i.pop();for(;r;){for(const s of r)t.push(s);r=i.pop()}this.map.length=0}}function I$e(e,t,n,i){let r=0;if(!(n===0&&i.length===0)){for(;r-1;){const L=i.events[R][1].type;if(L==="lineEnding"||L==="linePrefix")R--;else break}const j=R>-1?i.events[R][1].type:null,Q=j==="tableHead"||j==="tableRow"?w:l;return Q===w&&i.parser.lazy[i.now().line]?n(A):Q(A)}function l(A){return e.enter("tableHead"),e.enter("tableRow"),u(A)}function u(A){return A===124||(a=!0,s+=1),d(A)}function d(A){return A===null?n(A):Lt(A)?s>1?(s=0,i.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),p):n(A):vn(A)?zn(e,d,"whitespace")(A):(s+=1,a&&(a=!1,r+=1),A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),a=!0,d):(e.enter("data"),f(A)))}function f(A){return A===null||A===124||_i(A)?(e.exit("data"),d(A)):(e.consume(A),A===92?h:f)}function h(A){return A===92||A===124?(e.consume(A),f):f(A)}function p(A){return i.interrupt=!1,i.parser.lazy[i.now().line]?n(A):(e.enter("tableDelimiterRow"),a=!1,vn(A)?zn(e,m,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):m(A))}function m(A){return A===45||A===58?y(A):A===124?(a=!0,e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),g):E(A)}function g(A){return vn(A)?zn(e,y,"whitespace")(A):y(A)}function y(A){return A===58?(s+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),b):A===45?(s+=1,b(A)):A===null||Lt(A)?v(A):E(A)}function b(A){return A===45?(e.enter("tableDelimiterFiller"),S(A)):E(A)}function S(A){return A===45?(e.consume(A),S):A===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(A))}function x(A){return vn(A)?zn(e,v,"whitespace")(A):v(A)}function v(A){return A===124?m(A):A===null||Lt(A)?!a||r!==s?E(A):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(A)):E(A)}function E(A){return n(A)}function w(A){return e.enter("tableRow"),k(A)}function k(A){return A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),k):A===null||Lt(A)?(e.exit("tableRow"),t(A)):vn(A)?zn(e,k,"whitespace")(A):(e.enter("data"),_(A))}function _(A){return A===null||A===124||_i(A)?(e.exit("data"),k(A)):(e.consume(A),A===92?C:_)}function C(A){return A===92||A===124?(e.consume(A),_):_(A)}}function L$e(e,t){let n=-1,i=!0,r=0,s=[0,0,0,0],a=[0,0,0,0],o=!1,l=0,u,d,f;const h=new R$e;for(;++nn[2]+1){const m=n[2]+1,g=n[3]-n[2]-1;e.add(m,g,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return r!==void 0&&(s.end=Object.assign({},tm(t.events,r)),e.add(r,0,[["exit",s,t]]),s=void 0),s}function wU(e,t,n,i,r){const s=[],a=tm(t.events,n);r&&(r.end=Object.assign({},a),s.push(["exit",r,t])),i.end=Object.assign({},a),s.push(["exit",i,t]),e.add(n+1,0,s)}function tm(e,t){const n=e[t],i=n[0]==="enter"?"start":"end";return n[1][i]}const D$e={name:"tasklistCheck",tokenize:Q$e};function $$e(){return{text:{91:D$e}}}function Q$e(e,t,n){const i=this;return r;function r(l){return i.previous!==null||!i._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),s)}function s(l){return _i(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),a):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),a):n(l)}function a(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),o):n(l)}function o(l){return Lt(l)?t(l):vn(l)?e.check({tokenize:B$e},t,n)(l):n(l)}}function B$e(e,t,n){return zn(e,i,"whitespace");function i(r){return r===null?n(r):t(r)}}function U$e(e){return Nte([f$e(),v$e(),C$e(e),j$e(),$$e()])}const z$e={};function F$e(e){const t=this,n=e||z$e,i=t.data(),r=i.micromarkExtensions||(i.micromarkExtensions=[]),s=i.fromMarkdownExtensions||(i.fromMarkdownExtensions=[]),a=i.toMarkdownExtensions||(i.toMarkdownExtensions=[]);r.push(U$e(n)),s.push(l$e()),a.push(c$e(n))}const EU=function(e,t,n){const i=Kx(n);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++tu&&(u=d):d&&(u!==void 0&&u>-1&&l.push(` +`.repeat(u)||" "),u=-1,l.push(d))}return l.join("")}function vne(e,t,n){return e.type==="element"?Z$e(e,t,n):e.type==="text"?n.whitespace==="normal"?wne(e,n):K$e(e):[]}function Z$e(e,t,n){const i=Ene(e,n),r=e.children||[];let s=-1,a=[];if(G$e(e))return a;let o,l;for(LP(e)||AU(e)&&EU(t,e,AU)?l=` +`:Y$e(e)?(o=2,l=2):Sne(e)&&(o=1,l=1);++s]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],b=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],v={type:g,keyword:m,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},E={className:"function.dispatch",relevance:0,keywords:{_hint:b},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},w=[E,f,o,n,e.C_BLOCK_COMMENT_MODE,d,u],k={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:v,contains:w.concat([{begin:/\(/,end:/\)/,keywords:v,contains:w.concat(["self"]),relevance:0}]),relevance:0},_={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:v,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:v,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:v,illegal:"",keywords:v,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:v},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function s3e(e){const t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},n=r3e(e),i=n.keywords;return i.type=[...i.type,...t.type],i.literal=[...i.literal,...t.literal],i.built_in=[...i.built_in,...t.built_in],i._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function kne(e){const t=e.regex,n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,r]};r.contains.push(o);const l={match:/\\"/},u={className:"string",begin:/'/,end:/'/},d={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},h=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},g=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],b={match:/(\/[a-z._-]+)+/},S=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],x=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],v=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],E=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:g,literal:y,built_in:[...S,...x,"set","shopt",...v,...E]},contains:[p,e.SHEBANG(),m,f,s,a,b,o,l,u,d,n]}}function a3e(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="("+i+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",y={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},b=[f,o,n,e.C_BLOCK_COMMENT_MODE,d,u],S={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:b.concat([{begin:/\(/,end:/\)/,keywords:y,contains:b.concat(["self"]),relevance:0}]),relevance:0},x={begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:y,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(h,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:y,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:y}}}function o3e(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="(?!struct)("+i+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],b=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],v={type:g,keyword:m,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},E={className:"function.dispatch",relevance:0,keywords:{_hint:b},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},w=[E,f,o,n,e.C_BLOCK_COMMENT_MODE,d,u],k={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:v,contains:w.concat([{begin:/\(/,end:/\)/,keywords:v,contains:w.concat(["self"]),relevance:0}]),relevance:0},_={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:v,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:v,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:v,illegal:"",keywords:v,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:v},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function l3e(e){const t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],s=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],a={keyword:r.concat(s),built_in:t,literal:i},o=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},f=e.inherit(d,{illegal:/\n/}),h={className:"subst",begin:/\{/,end:/\}/,keywords:a},p=e.inherit(h,{illegal:/\n/}),m={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,p]},g={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]},y=e.inherit(g,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});h.contains=[g,m,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.C_BLOCK_COMMENT_MODE],p.contains=[y,m,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const b={variants:[u,g,m,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},S={begin:"<",end:">",contains:[{beginKeywords:"in out"},o]},x=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",v={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:a,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},b,l,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},o,S,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,S,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+x+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,S],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[b,l,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},v]}}const c3e=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),u3e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],d3e=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],f3e=[...u3e,...d3e],h3e=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),p3e=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),m3e=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),g3e=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function O3e(e){const t=e.regex,n=c3e(e),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",o=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,i,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+p3e.join("|")+")"},{begin:":(:)?("+m3e.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+g3e.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:h3e.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+f3e.join("|")+")\\b"}]}}function b3e(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function y3e(e){const s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"_ne(e,t,n-1))}function S3e(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",i=n+_ne("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),l={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},u={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},d={className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:l,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[d,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:l,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,NU,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},NU,u]}}const CU="[A-Za-z$_][0-9A-Za-z$_]*",v3e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],w3e=["true","false","null","undefined","NaN","Infinity"],Ane=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Nne=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Cne=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],E3e=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],k3e=[].concat(Cne,Ane,Nne);function Rne(e){const t=e.regex,n=(B,{after:$})=>{const I="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(B,$)=>{const I=B[0].length+B.index,G=B.input[I];if(G==="<"||G===","){$.ignoreMatch();return}G===">"&&(n(B,{after:I})||$.ignoreMatch());let X;const U=B.input.substring(I);if(X=U.match(/^\s*=/)){$.ignoreMatch();return}if((X=U.match(/^\s+extends\s+/))&&X.index===0){$.ignoreMatch();return}}},o={$pattern:CU,keyword:v3e,literal:w3e,built_in:k3e,"variable.language":E3e},l="[0-9](_?[0-9])*",u=`\\.(${l})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${l})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},S={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const v=[].concat(S,h.contains),E=v.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(v)}]),w={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E},k={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,t.concat(i,"(",t.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Ane,...Nne]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[w],illegal:/%/},R={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function j(B){return t.concat("(?!",B.join("|"),")")}const Q={match:t.concat(/\b/,j([...Cne,"super","import"].map(B=>`${B}\\s*\\(`)),i,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},L={begin:t.concat(/\./,t.lookahead(t.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},D={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},w]},N="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(N)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[w]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:E,CLASS_REFERENCE:_},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,_,{scope:"attr",match:i+t.lookahead(":"),relevance:0},M,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:N,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[w,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},L,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[w]},Q,R,k,D,{match:/\$[(.]/}]}}function Ine(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[t,n,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var im="[0-9](_*[0-9])*",LS=`\\.(${im})`,DS="[0-9a-fA-F](_*[0-9a-fA-F])*",T3e={className:"number",variants:[{begin:`(\\b(${im})((${LS})|\\.)?|(${LS}))[eE][+-]?(${im})[fFdD]?\\b`},{begin:`\\b(${im})((${LS})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${LS})[fFdD]?\\b`},{begin:`\\b(${im})[fFdD]\\b`},{begin:`\\b0[xX]((${DS})\\.?|(${DS})?\\.(${DS}))[pP][+-]?(${im})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${DS})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function _3e(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,r]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,r]}]};r.contains.push(a);const o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(a,{className:"string"}),"self"]}]},u=T3e,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},h=f;return h.variants[1].contains=[f],f.variants[1].contains=[h],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,n,i,o,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,o,l,a,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},o,l]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` +`},u]}}const A3e=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),N3e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],C3e=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],R3e=[...N3e,...C3e],I3e=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Pne=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),jne=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),P3e=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),j3e=Pne.concat(jne).sort().reverse();function M3e(e){const t=A3e(e),n=j3e,i="and or not only",r="[\\w-]+",s="("+r+"|@\\{"+r+"\\})",a=[],o=[],l=function(x){return{className:"string",begin:"~?"+x+".*?"+x}},u=function(x,v,E){return{className:x,begin:v,relevance:E}},d={$pattern:/[a-z-]+/,keyword:i,attribute:I3e.join(" ")},f={begin:"\\(",end:"\\)",contains:o,keywords:d,relevance:0};o.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l("'"),l('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,f,u("variable","@@?"+r,10),u("variable","@\\{"+r+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const h=o.concat({begin:/\{/,end:/\}/,contains:a}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},m={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+P3e.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:o,relevance:0}},y={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:h}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,u("keyword","all\\b"),u("variable","@\\{"+r+"\\}"),{begin:"\\b("+R3e.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",s,0),u("selector-id","#"+s),u("selector-class","\\."+s,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Pne.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+jne.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:h},{begin:"!important"},t.FUNCTION_DISPATCH]},S={begin:r+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[b]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,y,S,m,b,p,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function L3e(e){const t="\\[=*\\[",n="\\]=*\\]",i={begin:t,end:n,contains:["self"]},r=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[i],relevance:5}])}}function Mne(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),h=e.inherit(d,{contains:[]});u.contains.push(h),d.contains.push(f);let p=[n,l];return[u,d,f,h].forEach(b=>{b.contains=b.contains.concat(p)}),p=p.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,s,u,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},r,i,l,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function D3e(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},l={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+l.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:l,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function $3e(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},l={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[o]},u={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},d=[e.BACKSLASH_ESCAPE,s,l],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],h=(g,y,b="\\1")=>{const S=b==="\\1"?b:t.concat(b,y);return t.concat(t.concat("(?:",g,")"),y,/(?:\\.|[^\\\/])*?/,S,/(?:\\.|[^\\\/])*?/,b,i)},p=(g,y,b)=>t.concat(t.concat("(?:",g,")"),y,/(?:\\.|[^\\\/])*?/,b,i),m=[l,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:d,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:h("s|tr|y",t.either(...f,{capture:!0}))},{begin:h("s|tr|y","\\(","\\)")},{begin:h("s|tr|y","\\[","\\]")},{begin:h("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=m,a.contains=m,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:m}}function Q3e(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,i=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s=t.concat(/[A-Z]+/,n),a={scope:"variable",match:"\\$+"+i},o={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(l)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(L,D)=>{D.data._beginMatch=L[1]||L[2]},"on:end":(L,D)=>{D.data._beginMatch!==L[1]&&D.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ +]`,m={scope:"string",variants:[d,u,f,h]},g={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},y=["false","null","true"],b=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],S=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],v={keyword:b,literal:(L=>{const D=[];return L.forEach(N=>{D.push(N),N.toLowerCase()===N?D.push(N.toUpperCase()):D.push(N.toLowerCase())}),D})(y),built_in:S},E=L=>L.map(D=>D.replace(/\|\d+$/,"")),w={variants:[{match:[/new/,t.concat(p,"+"),t.concat("(?!",E(S).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},k=t.concat(i,"\\b(?!\\()"),_={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{1:"title.class",3:"variable.constant"}},{match:[r,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},C={scope:"attr",match:t.concat(i,t.lookahead(":"),t.lookahead(/(?!::)/))},A={relevance:0,begin:/\(/,end:/\)/,keywords:v,contains:[C,a,_,e.C_BLOCK_COMMENT_MODE,m,g,w]},R={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",E(b).join("\\b|"),"|",E(S).join("\\b|"),"\\b)"),i,t.concat(p,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[A]};A.contains.push(R);const j=[C,_,e.C_BLOCK_COMMENT_MODE,m,g,w],Q={begin:t.concat(/#\[\s*\\?/,t.either(r,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:y,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:y,keyword:["new","array"]},contains:["self",...j]},...j,{scope:"meta",variants:[{match:r},{match:s}]}]};return{case_insensitive:!1,keywords:v,contains:[Q,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},o,{scope:"variable.language",match:/\$this\b/},a,R,_,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},w,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:v,contains:["self",Q,a,_,e.C_BLOCK_COMMENT_MODE,m,g]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},m,g]}}function B3e(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function U3e(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Dne(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},l={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},d={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l,d,u]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,d,u]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h="[0-9](_?[0-9])*",p=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,m=`\\b|${i.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${p}))[eE][+-]?(${h})[jJ]?(?=${m})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${m})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${m})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${m})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${m})`},{begin:`\\b(${h})[jJ](?=${m})`}]},y={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},b={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",l,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[l,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,y,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[b]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,b,f]}]}}function z3e(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function F3e(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[s,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function V3e(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=t.concat(i,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},o={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[o]}),e.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:a},f={className:"string",contains:[e.BACKSLASH_ESCAPE,d],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,d]})]}]},h="[1-9](_?[0-9])*|0",p="[0-9](_?[0-9])*",m={className:"number",relevance:0,variants:[{begin:`\\b(${h})(\\.(${p}))?([eE][+-]?(${p})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},g={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},w=[f,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:a},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[f,{begin:n}],relevance:0},m,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,d],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(l,u),relevance:0}].concat(l,u);d.contains=w,g.contains=w;const A=[{begin:/^\s*=>/,starts:{end:"$",contains:w}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:a,contains:w}}];return u.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(A).concat(u).concat(w)}}function X3e(e){const t=e.regex,n=/(r#)?/,i=t.concat(n,e.UNDERSCORE_IDENT_RE),r=t.concat(n,e.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",o=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],l=["true","false","Some","None","Ok","Err"],u=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:d,keyword:o,literal:l,built_in:u},illegal:""},s]}}const q3e=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),H3e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Y3e=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],G3e=[...H3e,...Y3e],W3e=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Z3e=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),K3e=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),J3e=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function e4e(e){const t=q3e(e),n=K3e,i=Z3e,r="@[a-z-]+",s="and or not only",o={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+G3e.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},o,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+J3e.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,o,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:W3e.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},o,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function t4e(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function n4e(e){const t=e.regex,n=e.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],l=["add","asc","collation","desc","final","first","last","view"],u=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],f=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],h=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],p=d,m=[...u,...l].filter(E=>!d.includes(E)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},b={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function S(E){return t.concat(/\b/,t.either(...E.map(w=>w.replace(/\s+/,"\\s+"))),/\b/)}const x={scope:"keyword",match:S(h),relevance:0};function v(E,{exceptions:w,when:k}={}){const _=k;return w=w||[],E.map(C=>C.match(/\|\d+$/)||w.includes(C)?C:_(C)?`${C}|0`:C)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:v(m,{when:E=>E.length<3}),literal:s,type:o,built_in:f},contains:[{scope:"type",match:S(a)},x,b,g,i,r,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,y]}}function $ne(e){return e?typeof e=="string"?e:e.source:null}function vO(e){return mi("(?=",e,")")}function mi(...e){return e.map(n=>$ne(n)).join("")}function i4e(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Zs(...e){return"("+(i4e(e).capture?"":"?:")+e.map(i=>$ne(i)).join("|")+")"}const N5=e=>mi(/\b/,e,/\w$/.test(e)?/\b/:/\B/),r4e=["Protocol","Type"].map(N5),RU=["init","self"].map(N5),s4e=["Any","Self"],xN=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],IU=["false","nil","true"],a4e=["assignment","associativity","higherThan","left","lowerThan","none","right"],o4e=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],PU=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Qne=Zs(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Bne=Zs(Qne,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),SN=mi(Qne,Bne,"*"),Une=Zs(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),YE=Zs(Une,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Hl=mi(Une,YE,"*"),$S=mi(/[A-Z]/,YE,"*"),l4e=["attached","autoclosure",mi(/convention\(/,Zs("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",mi(/objc\(/,Hl,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],c4e=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function u4e(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[e.C_LINE_COMMENT_MODE,n],r={match:[/\./,Zs(...r4e,...RU)],className:{2:"keyword"}},s={match:mi(/\./,Zs(...xN)),relevance:0},a=xN.filter(te=>typeof te=="string").concat(["_|0"]),o=xN.filter(te=>typeof te!="string").concat(s4e).map(N5),l={variants:[{className:"keyword",match:Zs(...o,...RU)}]},u={$pattern:Zs(/\b\w+/,/#\w+/),keyword:a.concat(o4e),literal:IU},d=[r,s,l],f={match:mi(/\./,Zs(...PU)),relevance:0},h={className:"built_in",match:mi(/\b/,Zs(...PU),/(?=\()/)},p=[f,h],m={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:SN},{match:`\\.(\\.|${Bne})+`}]},y=[m,g],b="([0-9]_*)+",S="([0-9a-fA-F]_*)+",x={className:"number",relevance:0,variants:[{match:`\\b(${b})(\\.(${b}))?([eE][+-]?(${b}))?\\b`},{match:`\\b0x(${S})(\\.(${S}))?([pP][+-]?(${b}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},v=(te="")=>({className:"subst",variants:[{match:mi(/\\/,te,/[0\\tnr"']/)},{match:mi(/\\/,te,/u\{[0-9a-fA-F]{1,8}\}/)}]}),E=(te="")=>({className:"subst",match:mi(/\\/,te,/[\t ]*(?:[\r\n]|\r\n)/)}),w=(te="")=>({className:"subst",label:"interpol",begin:mi(/\\/,te,/\(/),end:/\)/}),k=(te="")=>({begin:mi(te,/"""/),end:mi(/"""/,te),contains:[v(te),E(te),w(te)]}),_=(te="")=>({begin:mi(te,/"/),end:mi(/"/,te),contains:[v(te),w(te)]}),C={className:"string",variants:[k(),k("#"),k("##"),k("###"),_(),_("#"),_("##"),_("###")]},A=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],R={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:A},j=te=>{const Te=mi(te,/\//),me=mi(/\//,te);return{begin:Te,end:me,contains:[...A,{scope:"comment",begin:`#(?!.*${me})`,end:/$/}]}},Q={scope:"regexp",variants:[j("###"),j("##"),j("#"),R]},L={match:mi(/`/,Hl,/`/)},D={className:"variable",match:/\$\d+/},N={className:"variable",match:`\\$${YE}+`},M=[L,D,N],B={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:c4e,contains:[...y,x,C]}]}},$={scope:"keyword",match:mi(/@/,Zs(...l4e),vO(Zs(/\(/,/\s+/)))},I={scope:"meta",match:mi(/@/,Hl)},G=[B,$,I],X={match:vO(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:mi(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,YE,"+")},{className:"type",match:$S,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:mi(/\s+&\s+/,vO($S)),relevance:0}]},U={begin://,keywords:u,contains:[...i,...d,...G,m,X]};X.contains.push(U);const Y={match:mi(Hl,/\s*:/),keywords:"_|0",relevance:0},ae={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",Y,...i,Q,...d,...p,...y,x,C,...M,...G,X]},fe={begin://,keywords:"repeat each",contains:[...i,X]},ke={begin:Zs(vO(mi(Hl,/\s*:/)),vO(mi(Hl,/\s+/,Hl,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Hl}]},K={begin:/\(/,end:/\)/,keywords:u,contains:[ke,...i,...d,...y,x,C,...G,X,ae],endsParent:!0,illegal:/["']/},ie={match:[/(func|macro)/,/\s+/,Zs(L.match,Hl,SN)],className:{1:"keyword",3:"title.function"},contains:[fe,K,t],illegal:[/\[/,/%/]},le={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[fe,K,t],illegal:/\[|%/},ge={match:[/operator/,/\s+/,SN],className:{1:"keyword",3:"title"}},Ee={begin:[/precedencegroup/,/\s+/,$S],className:{1:"keyword",3:"title"},contains:[X],keywords:[...a4e,...IU],end:/}/},Ce={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},_e={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},he={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Hl,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[fe,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:$S},...d],relevance:0}]};for(const te of C.variants){const Te=te.contains.find(Be=>Be.label==="interpol");Te.keywords=u;const me=[...d,...p,...y,x,C,...M];Te.contains=[...me,{begin:/\(/,end:/\)/,contains:["self",...me]}]}return{name:"Swift",keywords:u,contains:[...i,ie,le,Ce,_e,he,ge,Ee,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},Q,...d,...p,...y,x,C,...M,...G,X,ae]}}const GE="[A-Za-z$_][0-9A-Za-z$_]*",zne=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Fne=["true","false","null","undefined","NaN","Infinity"],Vne=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Xne=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],qne=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Hne=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Yne=[].concat(qne,Vne,Xne);function d4e(e){const t=e.regex,n=(B,{after:$})=>{const I="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(B,$)=>{const I=B[0].length+B.index,G=B.input[I];if(G==="<"||G===","){$.ignoreMatch();return}G===">"&&(n(B,{after:I})||$.ignoreMatch());let X;const U=B.input.substring(I);if(X=U.match(/^\s*=/)){$.ignoreMatch();return}if((X=U.match(/^\s+extends\s+/))&&X.index===0){$.ignoreMatch();return}}},o={$pattern:GE,keyword:zne,literal:Fne,built_in:Yne,"variable.language":Hne},l="[0-9](_?[0-9])*",u=`\\.(${l})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${l})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},S={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const v=[].concat(S,h.contains),E=v.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(v)}]),w={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E},k={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,t.concat(i,"(",t.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Vne,...Xne]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[w],illegal:/%/},R={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function j(B){return t.concat("(?!",B.join("|"),")")}const Q={match:t.concat(/\b/,j([...qne,"super","import"].map(B=>`${B}\\s*\\(`)),i,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},L={begin:t.concat(/\./,t.lookahead(t.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},D={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},w]},N="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(N)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[w]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:E,CLASS_REFERENCE:_},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,S,{match:/\$\d+/},f,_,{scope:"attr",match:i+t.lookahead(":"),relevance:0},M,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:N,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[w,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},L,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[w]},Q,R,k,D,{match:/\$[(.]/}]}}function Gne(e){const t=e.regex,n=d4e(e),i=GE,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[n.exports.CLASS_REFERENCE]},o={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:GE,keyword:zne.concat(l),literal:Fne,built_in:Yne.concat(r),"variable.language":Hne},d={className:"meta",begin:"@"+i},f=(g,y,b)=>{const S=g.contains.findIndex(x=>x.label===y);if(S===-1)throw new Error("can not find mode to replace");g.contains.splice(S,1,b)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),p=Object.assign({},h,{match:t.concat(i,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,p]),n.contains=n.contains.concat([d,s,a,p]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",o);const m=n.contains.find(g=>g.label==="func.def");return m.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function f4e(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,l={className:"literal",variants:[{begin:t.concat(/# */,t.either(s,r),/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,t.either(s,r),/ +/,t.either(a,o),/ *#/)}]},u={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},d={className:"label",begin:/^\w+:/},f=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),h=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,i,l,u,d,f,h,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[h]}]}}function h4e(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),i=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],r={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},o={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},l={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},u={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:i},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,a,r,e.QUOTE_STRING_MODE,l,u,o]}}function p4e(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(s,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[s,l,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[s,a,l,o]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:u}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Wne(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},a={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},o=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},m={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},y=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},h,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},m,g,s,a],b=[...y];return b.pop(),b.push(o),p.contains=b,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}const m4e={arduino:s3e,bash:kne,c:a3e,cpp:o3e,csharp:l3e,css:O3e,diff:b3e,go:y3e,graphql:x3e,ini:Tne,java:S3e,javascript:Rne,json:Ine,kotlin:_3e,less:M3e,lua:L3e,makefile:Mne,markdown:Lne,objectivec:D3e,perl:$3e,php:Q3e,"php-template":B3e,plaintext:U3e,python:Dne,"python-repl":z3e,r:F3e,ruby:V3e,rust:X3e,scss:e4e,shell:t4e,sql:n4e,swift:u4e,typescript:Gne,vbnet:f4e,wasm:h4e,xml:p4e,yaml:Wne};function Zne(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&Zne(n)}),e}let jU=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function Kne(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Qd(e,...t){const n=Object.create(null);for(const i in e)n[i]=e[i];return t.forEach(function(i){for(const r in i)n[r]=i[r]}),n}const g4e="",MU=e=>!!e.scope,O4e=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${t}${e}`};class b4e{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=Kne(t)}openNode(t){if(!MU(t))return;const n=O4e(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){MU(t)&&(this.buffer+=g4e)}value(){return this.buffer}span(t){this.buffer+=``}}const LU=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class C5{constructor(){this.rootNode=LU(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n=LU({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(i=>this._walk(t,i)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{C5._collapse(n)}))}}class y4e extends C5{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const i=t.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new b4e(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Uy(e){return e?typeof e=="string"?e:e.source:null}function Jne(e){return Op("(?=",e,")")}function x4e(e){return Op("(?:",e,")*")}function S4e(e){return Op("(?:",e,")?")}function Op(...e){return e.map(n=>Uy(n)).join("")}function v4e(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function R5(...e){return"("+(v4e(e).capture?"":"?:")+e.map(i=>Uy(i)).join("|")+")"}function eie(e){return new RegExp(e.toString()+"|").exec("").length-1}function w4e(e,t){const n=e&&e.exec(t);return n&&n.index===0}const E4e=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function I5(e,{joinWith:t}){let n=0;return e.map(i=>{n+=1;const r=n;let s=Uy(i),a="";for(;s.length>0;){const o=E4e.exec(s);if(!o){a+=s;break}a+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?a+="\\"+String(Number(o[1])+r):(a+=o[0],o[0]==="("&&n++)}return a}).map(i=>`(${i})`).join(t)}const k4e=/\b\B/,tie="[a-zA-Z]\\w*",P5="[a-zA-Z_]\\w*",nie="\\b\\d+(\\.\\d+)?",iie="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",rie="\\b(0b[01]+)",T4e="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",_4e=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=Op(t,/.*\b/,e.binary,/\b.*/)),Qd({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},e)},zy={begin:"\\\\[\\s\\S]",relevance:0},A4e={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[zy]},N4e={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[zy]},C4e={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},s_=function(e,t,n={}){const i=Qd({scope:"comment",begin:e,end:t,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=R5("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:Op(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},R4e=s_("//","$"),I4e=s_("/\\*","\\*/"),P4e=s_("#","$"),j4e={scope:"number",begin:nie,relevance:0},M4e={scope:"number",begin:iie,relevance:0},L4e={scope:"number",begin:rie,relevance:0},D4e={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[zy,{begin:/\[/,end:/\]/,relevance:0,contains:[zy]}]},$4e={scope:"title",begin:tie,relevance:0},Q4e={scope:"title",begin:P5,relevance:0},B4e={begin:"\\.\\s*"+P5,relevance:0},U4e=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})};var QS=Object.freeze({__proto__:null,APOS_STRING_MODE:A4e,BACKSLASH_ESCAPE:zy,BINARY_NUMBER_MODE:L4e,BINARY_NUMBER_RE:rie,COMMENT:s_,C_BLOCK_COMMENT_MODE:I4e,C_LINE_COMMENT_MODE:R4e,C_NUMBER_MODE:M4e,C_NUMBER_RE:iie,END_SAME_AS_BEGIN:U4e,HASH_COMMENT_MODE:P4e,IDENT_RE:tie,MATCH_NOTHING_RE:k4e,METHOD_GUARD:B4e,NUMBER_MODE:j4e,NUMBER_RE:nie,PHRASAL_WORDS_MODE:C4e,QUOTE_STRING_MODE:N4e,REGEXP_MODE:D4e,RE_STARTERS_RE:T4e,SHEBANG:_4e,TITLE_MODE:$4e,UNDERSCORE_IDENT_RE:P5,UNDERSCORE_TITLE_MODE:Q4e});function z4e(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function F4e(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function V4e(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=z4e,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function X4e(e,t){Array.isArray(e.illegal)&&(e.illegal=R5(...e.illegal))}function q4e(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function H4e(e,t){e.relevance===void 0&&(e.relevance=1)}const Y4e=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(i=>{delete e[i]}),e.keywords=n.keywords,e.begin=Op(n.beforeMatch,Jne(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},G4e=["of","and","for","in","not","or","if","then","parent","list","value"],W4e="keyword";function sie(e,t,n=W4e){const i=Object.create(null);return typeof e=="string"?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach(function(s){Object.assign(i,sie(e[s],t,s))}),i;function r(s,a){t&&(a=a.map(o=>o.toLowerCase())),a.forEach(function(o){const l=o.split("|");i[l[0]]=[s,Z4e(l[0],l[1])]})}}function Z4e(e,t){return t?Number(t):K4e(e)?0:1}function K4e(e){return G4e.includes(e.toLowerCase())}const DU={},Mh=e=>{console.error(e)},$U=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Lp=(e,t)=>{DU[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),DU[`${e}/${t}`]=!0)},WE=new Error;function aie(e,t,{key:n}){let i=0;const r=e[n],s={},a={};for(let o=1;o<=t.length;o++)a[o+i]=r[o],s[o+i]=!0,i+=eie(t[o-1]);e[n]=a,e[n]._emit=s,e[n]._multi=!0}function J4e(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Mh("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),WE;if(typeof e.beginScope!="object"||e.beginScope===null)throw Mh("beginScope must be object"),WE;aie(e,e.begin,{key:"beginScope"}),e.begin=I5(e.begin,{joinWith:""})}}function eQe(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Mh("skip, excludeEnd, returnEnd not compatible with endScope: {}"),WE;if(typeof e.endScope!="object"||e.endScope===null)throw Mh("endScope must be object"),WE;aie(e,e.end,{key:"endScope"}),e.end=I5(e.end,{joinWith:""})}}function tQe(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function nQe(e){tQe(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),J4e(e),eQe(e)}function iQe(e){function t(a,o){return new RegExp(Uy(a),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(o?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,o]),this.matchAt+=eie(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const o=this.regexes.map(l=>l[1]);this.matcherRe=t(I5(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(o);if(!l)return null;const u=l.findIndex((f,h)=>h>0&&f!==void 0),d=this.matchIndexes[u];return l.splice(0,u),Object.assign(l,d)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const l=new n;return this.rules.slice(o).forEach(([u,d])=>l.addRule(u,d)),l.compile(),this.multiRegexes[o]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,l){this.rules.push([o,l]),l.type==="begin"&&this.count++}exec(o){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let u=l.exec(o);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(o)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function r(a){const o=new i;return a.contains.forEach(l=>o.addRule(l.begin,{rule:l,type:"begin"})),a.terminatorEnd&&o.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&o.addRule(a.illegal,{type:"illegal"}),o}function s(a,o){const l=a;if(a.isCompiled)return l;[F4e,q4e,nQe,Y4e].forEach(d=>d(a,o)),e.compilerExtensions.forEach(d=>d(a,o)),a.__beforeBegin=null,[V4e,X4e,H4e].forEach(d=>d(a,o)),a.isCompiled=!0;let u=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),u=a.keywords.$pattern,delete a.keywords.$pattern),u=u||/\w+/,a.keywords&&(a.keywords=sie(a.keywords,e.case_insensitive)),l.keywordPatternRe=t(u,!0),o&&(a.begin||(a.begin=/\B|\b/),l.beginRe=t(l.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(l.endRe=t(l.end)),l.terminatorEnd=Uy(l.end)||"",a.endsWithParent&&o.terminatorEnd&&(l.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(l.illegalRe=t(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(d){return rQe(d==="self"?a:d)})),a.contains.forEach(function(d){s(d,l)}),a.starts&&s(a.starts,o),l.matcher=r(l),l}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Qd(e.classNameAliases||{}),s(e)}function oie(e){return e?e.endsWithParent||oie(e.starts):!1}function rQe(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return Qd(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:oie(e)?Qd(e,{starts:e.starts?Qd(e.starts):null}):Object.isFrozen(e)?Qd(e):e}var sQe="11.11.1";class aQe extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const vN=Kne,QU=Qd,BU=Symbol("nomatch"),oQe=7,lie=function(e){const t=Object.create(null),n=Object.create(null),i=[];let r=!0;const s="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]};let o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:y4e};function l(N){return o.noHighlightRe.test(N)}function u(N){let M=N.className+" ";M+=N.parentNode?N.parentNode.className:"";const B=o.languageDetectRe.exec(M);if(B){const $=_(B[1]);return $||($U(s.replace("{}",B[1])),$U("Falling back to no-highlight mode for this block.",N)),$?B[1]:"no-highlight"}return M.split(/\s+/).find($=>l($)||_($))}function d(N,M,B){let $="",I="";typeof M=="object"?($=N,B=M.ignoreIllegals,I=M.language):(Lp("10.7.0","highlight(lang, code, ...args) has been deprecated."),Lp("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),I=N,$=M),B===void 0&&(B=!0);const G={code:$,language:I};L("before:highlight",G);const X=G.result?G.result:f(G.language,G.code,B);return X.code=G.code,L("after:highlight",X),X}function f(N,M,B,$){const I=Object.create(null);function G(q,oe){return q.keywords[oe]}function X(){if(!me.keywords){je.addText(Ue);return}let q=0;me.keywordPatternRe.lastIndex=0;let oe=me.keywordPatternRe.exec(Ue),de="";for(;oe;){de+=Ue.substring(q,oe.index);const Ie=he.case_insensitive?oe[0].toLowerCase():oe[0],ce=G(me,Ie);if(ce){const[Me,Ye]=ce;if(je.addText(de),de="",I[Ie]=(I[Ie]||0)+1,I[Ie]<=oQe&&(st+=Ye),Me.startsWith("_"))de+=oe[0];else{const dt=he.classNameAliases[Me]||Me;ae(oe[0],dt)}}else de+=oe[0];q=me.keywordPatternRe.lastIndex,oe=me.keywordPatternRe.exec(Ue)}de+=Ue.substring(q),je.addText(de)}function U(){if(Ue==="")return;let q=null;if(typeof me.subLanguage=="string"){if(!t[me.subLanguage]){je.addText(Ue);return}q=f(me.subLanguage,Ue,!0,Be[me.subLanguage]),Be[me.subLanguage]=q._top}else q=p(Ue,me.subLanguage.length?me.subLanguage:null);me.relevance>0&&(st+=q.relevance),je.__addSublanguage(q._emitter,q.language)}function Y(){me.subLanguage!=null?U():X(),Ue=""}function ae(q,oe){q!==""&&(je.startScope(oe),je.addText(q),je.endScope())}function fe(q,oe){let de=1;const Ie=oe.length-1;for(;de<=Ie;){if(!q._emit[de]){de++;continue}const ce=he.classNameAliases[q[de]]||q[de],Me=oe[de];ce?ae(Me,ce):(Ue=Me,X(),Ue=""),de++}}function ke(q,oe){return q.scope&&typeof q.scope=="string"&&je.openNode(he.classNameAliases[q.scope]||q.scope),q.beginScope&&(q.beginScope._wrap?(ae(Ue,he.classNameAliases[q.beginScope._wrap]||q.beginScope._wrap),Ue=""):q.beginScope._multi&&(fe(q.beginScope,oe),Ue="")),me=Object.create(q,{parent:{value:me}}),me}function K(q,oe,de){let Ie=w4e(q.endRe,de);if(Ie){if(q["on:end"]){const ce=new jU(q);q["on:end"](oe,ce),ce.isMatchIgnored&&(Ie=!1)}if(Ie){for(;q.endsParent&&q.parent;)q=q.parent;return q}}if(q.endsWithParent)return K(q.parent,oe,de)}function ie(q){return me.matcher.regexIndex===0?(Ue+=q[0],1):(at=!0,0)}function le(q){const oe=q[0],de=q.rule,Ie=new jU(de),ce=[de.__beforeBegin,de["on:begin"]];for(const Me of ce)if(Me&&(Me(q,Ie),Ie.isMatchIgnored))return ie(oe);return de.skip?Ue+=oe:(de.excludeBegin&&(Ue+=oe),Y(),!de.returnBegin&&!de.excludeBegin&&(Ue=oe)),ke(de,q),de.returnBegin?0:oe.length}function ge(q){const oe=q[0],de=M.substring(q.index),Ie=K(me,q,de);if(!Ie)return BU;const ce=me;me.endScope&&me.endScope._wrap?(Y(),ae(oe,me.endScope._wrap)):me.endScope&&me.endScope._multi?(Y(),fe(me.endScope,q)):ce.skip?Ue+=oe:(ce.returnEnd||ce.excludeEnd||(Ue+=oe),Y(),ce.excludeEnd&&(Ue=oe));do me.scope&&je.closeNode(),!me.skip&&!me.subLanguage&&(st+=me.relevance),me=me.parent;while(me!==Ie.parent);return Ie.starts&&ke(Ie.starts,q),ce.returnEnd?0:oe.length}function Ee(){const q=[];for(let oe=me;oe!==he;oe=oe.parent)oe.scope&&q.unshift(oe.scope);q.forEach(oe=>je.openNode(oe))}let Ce={};function _e(q,oe){const de=oe&&oe[0];if(Ue+=q,de==null)return Y(),0;if(Ce.type==="begin"&&oe.type==="end"&&Ce.index===oe.index&&de===""){if(Ue+=M.slice(oe.index,oe.index+1),!r){const Ie=new Error(`0 width match regex (${N})`);throw Ie.languageName=N,Ie.badRule=Ce.rule,Ie}return 1}if(Ce=oe,oe.type==="begin")return le(oe);if(oe.type==="illegal"&&!B){const Ie=new Error('Illegal lexeme "'+de+'" for mode "'+(me.scope||"")+'"');throw Ie.mode=me,Ie}else if(oe.type==="end"){const Ie=ge(oe);if(Ie!==BU)return Ie}if(oe.type==="illegal"&&de==="")return Ue+=` +`,1;if(Tt>1e5&&Tt>oe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Ue+=de,de.length}const he=_(N);if(!he)throw Mh(s.replace("{}",N)),new Error('Unknown language: "'+N+'"');const te=iQe(he);let Te="",me=$||te;const Be={},je=new o.__emitter(o);Ee();let Ue="",st=0,ct=0,Tt=0,at=!1;try{if(he.__emitTokens)he.__emitTokens(M,je);else{for(me.matcher.considerAll();;){Tt++,at?at=!1:me.matcher.considerAll(),me.matcher.lastIndex=ct;const q=me.matcher.exec(M);if(!q)break;const oe=M.substring(ct,q.index),de=_e(oe,q);ct=q.index+de}_e(M.substring(ct))}return je.finalize(),Te=je.toHTML(),{language:N,value:Te,relevance:st,illegal:!1,_emitter:je,_top:me}}catch(q){if(q.message&&q.message.includes("Illegal"))return{language:N,value:vN(M),illegal:!0,relevance:0,_illegalBy:{message:q.message,index:ct,context:M.slice(ct-100,ct+100),mode:q.mode,resultSoFar:Te},_emitter:je};if(r)return{language:N,value:vN(M),illegal:!1,relevance:0,errorRaised:q,_emitter:je,_top:me};throw q}}function h(N){const M={value:vN(N),illegal:!1,relevance:0,_top:a,_emitter:new o.__emitter(o)};return M._emitter.addText(N),M}function p(N,M){M=M||o.languages||Object.keys(t);const B=h(N),$=M.filter(_).filter(A).map(Y=>f(Y,N,!1));$.unshift(B);const I=$.sort((Y,ae)=>{if(Y.relevance!==ae.relevance)return ae.relevance-Y.relevance;if(Y.language&&ae.language){if(_(Y.language).supersetOf===ae.language)return 1;if(_(ae.language).supersetOf===Y.language)return-1}return 0}),[G,X]=I,U=G;return U.secondBest=X,U}function m(N,M,B){const $=M&&n[M]||B;N.classList.add("hljs"),N.classList.add(`language-${$}`)}function g(N){let M=null;const B=u(N);if(l(B))return;if(L("before:highlightElement",{el:N,language:B}),N.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",N);return}if(N.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(N)),o.throwUnescapedHTML))throw new aQe("One of your code blocks includes unescaped HTML.",N.innerHTML);M=N;const $=M.textContent,I=B?d($,{language:B,ignoreIllegals:!0}):p($);N.innerHTML=I.value,N.dataset.highlighted="yes",m(N,B,I.language),N.result={language:I.language,re:I.relevance,relevance:I.relevance},I.secondBest&&(N.secondBest={language:I.secondBest.language,relevance:I.secondBest.relevance}),L("after:highlightElement",{el:N,result:I,text:$})}function y(N){o=QU(o,N)}const b=()=>{v(),Lp("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function S(){v(),Lp("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let x=!1;function v(){function N(){v()}if(document.readyState==="loading"){x||window.addEventListener("DOMContentLoaded",N,!1),x=!0;return}document.querySelectorAll(o.cssSelector).forEach(g)}function E(N,M){let B=null;try{B=M(e)}catch($){if(Mh("Language definition for '{}' could not be registered.".replace("{}",N)),r)Mh($);else throw $;B=a}B.name||(B.name=N),t[N]=B,B.rawDefinition=M.bind(null,e),B.aliases&&C(B.aliases,{languageName:N})}function w(N){delete t[N];for(const M of Object.keys(n))n[M]===N&&delete n[M]}function k(){return Object.keys(t)}function _(N){return N=(N||"").toLowerCase(),t[N]||t[n[N]]}function C(N,{languageName:M}){typeof N=="string"&&(N=[N]),N.forEach(B=>{n[B.toLowerCase()]=M})}function A(N){const M=_(N);return M&&!M.disableAutodetect}function R(N){N["before:highlightBlock"]&&!N["before:highlightElement"]&&(N["before:highlightElement"]=M=>{N["before:highlightBlock"](Object.assign({block:M.el},M))}),N["after:highlightBlock"]&&!N["after:highlightElement"]&&(N["after:highlightElement"]=M=>{N["after:highlightBlock"](Object.assign({block:M.el},M))})}function j(N){R(N),i.push(N)}function Q(N){const M=i.indexOf(N);M!==-1&&i.splice(M,1)}function L(N,M){const B=N;i.forEach(function($){$[B]&&$[B](M)})}function D(N){return Lp("10.7.0","highlightBlock will be removed entirely in v12.0"),Lp("10.7.0","Please use highlightElement now."),g(N)}Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:v,highlightElement:g,highlightBlock:D,configure:y,initHighlighting:b,initHighlightingOnLoad:S,registerLanguage:E,unregisterLanguage:w,listLanguages:k,getLanguage:_,registerAliases:C,autoDetection:A,inherit:QU,addPlugin:j,removePlugin:Q}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString=sQe,e.regex={concat:Op,lookahead:Jne,either:R5,optional:S4e,anyNumberOfTimes:x4e};for(const N in QS)typeof QS[N]=="object"&&Zne(QS[N]);return Object.assign(e,QS),e},Ug=lie({});Ug.newInstance=()=>lie({});var lQe=Ug;Ug.HighlightJS=Ug;Ug.default=Ug;const Na=i0(lQe),UU={},cQe="hljs-";function uQe(e){const t=Na.newInstance();return e&&s(e),{highlight:n,highlightAuto:i,listLanguages:r,register:s,registerAlias:a,registered:o};function n(l,u,d){const f=d||UU,h=typeof f.prefix=="string"?f.prefix:cQe;if(!t.getLanguage(l))throw new Error("Unknown language: `"+l+"` is not registered");t.configure({__emitter:dQe,classPrefix:h});const p=t.highlight(u,{ignoreIllegals:!0,language:l});if(p.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:p.errorRaised});const m=p._emitter.root,g=m.data;return g.language=p.language,g.relevance=p.relevance,m}function i(l,u){const f=(u||UU).subset||r();let h=-1,p=0,m;for(;++hp&&(p=y.data.relevance,m=y)}return m||{type:"root",children:[],data:{language:void 0,relevance:p}}}function r(){return t.listLanguages()}function s(l,u){if(typeof l=="string")t.registerLanguage(l,u);else{let d;for(d in l)Object.hasOwn(l,d)&&t.registerLanguage(d,l[d])}}function a(l,u){if(typeof l=="string")t.registerAliases(typeof u=="string"?u:[...u],{languageName:l});else{let d;for(d in l)if(Object.hasOwn(l,d)){const f=l[d];t.registerAliases(typeof f=="string"?f:[...f],{languageName:d})}}}function o(l){return!!t.getLanguage(l)}}class dQe{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],i=n.children[n.children.length-1];i&&i.type==="text"?i.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const i=this.stack[this.stack.length-1],r=t.root.children;n?i.children.push({type:"element",tagName:"span",properties:{className:[n]},children:r}):i.children.push(...r)}openNode(t){const n=this,i=t.split(".").map(function(a,o){return o?a+"_".repeat(o):n.options.classPrefix+a}),r=this.stack[this.stack.length-1],s={type:"element",tagName:"span",properties:{className:i},children:[]};r.children.push(s),this.stack.push(s)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const fQe={};function zU(e){const t=e||fQe,n=t.aliases,i=t.detect||!1,r=t.languages||m4e,s=t.plainText,a=t.prefix,o=t.subset;let l="hljs";const u=uQe(r);if(n&&u.registerAlias(n),a){const d=a.indexOf("-");l=d===-1?a:a.slice(0,d)}return function(d,f){Jx(d,"element",function(h,p,m){if(h.tagName!=="code"||!m||m.type!=="element"||m.tagName!=="pre")return;const g=hQe(h);if(g===!1||!g&&!i||g&&s&&s.includes(g))return;Array.isArray(h.properties.className)||(h.properties.className=[]),h.properties.className.includes(l)||h.properties.className.unshift(l);const y=W$e(h,{whitespace:"pre"});let b;try{b=g?u.highlight(g,y,{prefix:a}):u.highlightAuto(y,{prefix:a,subset:o})}catch(S){const x=S;if(g&&/Unknown language/.test(x.message)){f.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[m,h],cause:x,place:h.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw x}!g&&b.data&&b.data.language&&h.properties.className.push("language-"+b.data.language),b.children.length>0&&(h.children=b.children)})}}function hQe(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let i;for(;++n-1&&s<=t.length){let a=0;for(;;){let o=n[a];if(o===void 0){const l=XU(t,n[a-1]);o=l===-1?t.length+1:l+1,n[a]=o}if(o>s)return{line:a+1,column:s-(a>0?n[a-1]:0)+1,offset:s};a++}}}function r(s){if(s&&typeof s.line=="number"&&typeof s.column=="number"&&!Number.isNaN(s.line)&&!Number.isNaN(s.column)){for(;n.length1?n[s.line-2]:0)+s.column-1;if(a=55296&&e<=57343}function QQe(e){return e>=56320&&e<=57343}function BQe(e,t){return(e-55296)*1024+9216+t}function pie(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function mie(e){return e>=64976&&e<=65007||$Qe.has(e)}var Ne;(function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(Ne||(Ne={}));const UQe=65536;class zQe{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=UQe,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t,n){const{line:i,col:r,offset:s}=this,a=r+n,o=s+n;return{code:t,startLine:i,endLine:i,startCol:a,endCol:a,startOffset:o,endOffset:o}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const n=this.html.charCodeAt(this.pos+1);if(QQe(n))return this.pos++,this._addGap(),BQe(t,n)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,W.EOF;return this._err(Ne.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,n){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=n}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,n){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(n)return this.html.startsWith(t,this.pos);for(let i=0;i=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,W.EOF;const i=this.html.charCodeAt(n);return i===W.CARRIAGE_RETURN?W.LINE_FEED:i}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,W.EOF;let t=this.html.charCodeAt(this.pos);return t===W.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,W.LINE_FEED):t===W.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,hie(t)&&(t=this._processSurrogate(t)),this.handler.onParseError===null||t>31&&t<127||t===W.LINE_FEED||t===W.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){pie(t)?this._err(Ne.controlCharacterInInputStream):mie(t)&&this._err(Ne.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.pos=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null}const FQe=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(e=>e.charCodeAt(0))),VQe=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function XQe(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=VQe.get(e))!==null&&t!==void 0?t:e}var cs;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(cs||(cs={}));const qQe=32;var Bd;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Bd||(Bd={}));function $P(e){return e>=cs.ZERO&&e<=cs.NINE}function HQe(e){return e>=cs.UPPER_A&&e<=cs.UPPER_F||e>=cs.LOWER_A&&e<=cs.LOWER_F}function YQe(e){return e>=cs.UPPER_A&&e<=cs.UPPER_Z||e>=cs.LOWER_A&&e<=cs.LOWER_Z||$P(e)}function GQe(e){return e===cs.EQUALS||YQe(e)}var is;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(is||(is={}));var su;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(su||(su={}));class WQe{constructor(t,n,i){this.decodeTree=t,this.emitCodePoint=n,this.errors=i,this.state=is.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=su.Strict}startEntity(t){this.decodeMode=t,this.state=is.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case is.EntityStart:return t.charCodeAt(n)===cs.NUM?(this.state=is.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=is.NamedEntity,this.stateNamedEntity(t,n));case is.NumericStart:return this.stateNumericStart(t,n);case is.NumericDecimal:return this.stateNumericDecimal(t,n);case is.NumericHex:return this.stateNumericHex(t,n);case is.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|qQe)===cs.LOWER_X?(this.state=is.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=is.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,i,r){if(n!==i){const s=i-n;this.result=this.result*Math.pow(r,s)+Number.parseInt(t.substr(n,s),r),this.consumed+=s}}stateNumericHex(t,n){const i=n;for(;n>14;for(;n>14,s!==0){if(a===cs.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==su.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;const{result:n,decodeTree:i}=this,r=(i[n]&Bd.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,r,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,i){const{decodeTree:r}=this;return this.emitCodePoint(n===1?r[t]&~Bd.VALUE_LENGTH:r[t+1],i),n===3&&this.emitCodePoint(r[t+2],i),i}end(){var t;switch(this.state){case is.NamedEntity:return this.result!==0&&(this.decodeMode!==su.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case is.NumericDecimal:return this.emitNumericEntity(0,2);case is.NumericHex:return this.emitNumericEntity(0,3);case is.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case is.EntityStart:return 0}}}function ZQe(e,t,n,i){const r=(t&Bd.BRANCH_LENGTH)>>7,s=t&Bd.JUMP_TABLE;if(r===0)return s!==0&&i===s?n:-1;if(s){const l=i-s;return l<0||l>=r?-1:e[n+l]-1}let a=n,o=a+r-1;for(;a<=o;){const l=a+o>>>1,u=e[l];if(ui)o=l-1;else return e[l+r]}return-1}var ze;(function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"})(ze||(ze={}));var Lh;(function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"})(Lh||(Lh={}));var _o;(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})(_o||(_o={}));var Oe;(function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SEARCH="search",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"})(Oe||(Oe={}));var T;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SEARCH=94]="SEARCH",e[e.SECTION=95]="SECTION",e[e.SELECT=96]="SELECT",e[e.SOURCE=97]="SOURCE",e[e.SMALL=98]="SMALL",e[e.SPAN=99]="SPAN",e[e.STRIKE=100]="STRIKE",e[e.STRONG=101]="STRONG",e[e.STYLE=102]="STYLE",e[e.SUB=103]="SUB",e[e.SUMMARY=104]="SUMMARY",e[e.SUP=105]="SUP",e[e.TABLE=106]="TABLE",e[e.TBODY=107]="TBODY",e[e.TEMPLATE=108]="TEMPLATE",e[e.TEXTAREA=109]="TEXTAREA",e[e.TFOOT=110]="TFOOT",e[e.TD=111]="TD",e[e.TH=112]="TH",e[e.THEAD=113]="THEAD",e[e.TITLE=114]="TITLE",e[e.TR=115]="TR",e[e.TRACK=116]="TRACK",e[e.TT=117]="TT",e[e.U=118]="U",e[e.UL=119]="UL",e[e.SVG=120]="SVG",e[e.VAR=121]="VAR",e[e.WBR=122]="WBR",e[e.XMP=123]="XMP"})(T||(T={}));const KQe=new Map([[Oe.A,T.A],[Oe.ADDRESS,T.ADDRESS],[Oe.ANNOTATION_XML,T.ANNOTATION_XML],[Oe.APPLET,T.APPLET],[Oe.AREA,T.AREA],[Oe.ARTICLE,T.ARTICLE],[Oe.ASIDE,T.ASIDE],[Oe.B,T.B],[Oe.BASE,T.BASE],[Oe.BASEFONT,T.BASEFONT],[Oe.BGSOUND,T.BGSOUND],[Oe.BIG,T.BIG],[Oe.BLOCKQUOTE,T.BLOCKQUOTE],[Oe.BODY,T.BODY],[Oe.BR,T.BR],[Oe.BUTTON,T.BUTTON],[Oe.CAPTION,T.CAPTION],[Oe.CENTER,T.CENTER],[Oe.CODE,T.CODE],[Oe.COL,T.COL],[Oe.COLGROUP,T.COLGROUP],[Oe.DD,T.DD],[Oe.DESC,T.DESC],[Oe.DETAILS,T.DETAILS],[Oe.DIALOG,T.DIALOG],[Oe.DIR,T.DIR],[Oe.DIV,T.DIV],[Oe.DL,T.DL],[Oe.DT,T.DT],[Oe.EM,T.EM],[Oe.EMBED,T.EMBED],[Oe.FIELDSET,T.FIELDSET],[Oe.FIGCAPTION,T.FIGCAPTION],[Oe.FIGURE,T.FIGURE],[Oe.FONT,T.FONT],[Oe.FOOTER,T.FOOTER],[Oe.FOREIGN_OBJECT,T.FOREIGN_OBJECT],[Oe.FORM,T.FORM],[Oe.FRAME,T.FRAME],[Oe.FRAMESET,T.FRAMESET],[Oe.H1,T.H1],[Oe.H2,T.H2],[Oe.H3,T.H3],[Oe.H4,T.H4],[Oe.H5,T.H5],[Oe.H6,T.H6],[Oe.HEAD,T.HEAD],[Oe.HEADER,T.HEADER],[Oe.HGROUP,T.HGROUP],[Oe.HR,T.HR],[Oe.HTML,T.HTML],[Oe.I,T.I],[Oe.IMG,T.IMG],[Oe.IMAGE,T.IMAGE],[Oe.INPUT,T.INPUT],[Oe.IFRAME,T.IFRAME],[Oe.KEYGEN,T.KEYGEN],[Oe.LABEL,T.LABEL],[Oe.LI,T.LI],[Oe.LINK,T.LINK],[Oe.LISTING,T.LISTING],[Oe.MAIN,T.MAIN],[Oe.MALIGNMARK,T.MALIGNMARK],[Oe.MARQUEE,T.MARQUEE],[Oe.MATH,T.MATH],[Oe.MENU,T.MENU],[Oe.META,T.META],[Oe.MGLYPH,T.MGLYPH],[Oe.MI,T.MI],[Oe.MO,T.MO],[Oe.MN,T.MN],[Oe.MS,T.MS],[Oe.MTEXT,T.MTEXT],[Oe.NAV,T.NAV],[Oe.NOBR,T.NOBR],[Oe.NOFRAMES,T.NOFRAMES],[Oe.NOEMBED,T.NOEMBED],[Oe.NOSCRIPT,T.NOSCRIPT],[Oe.OBJECT,T.OBJECT],[Oe.OL,T.OL],[Oe.OPTGROUP,T.OPTGROUP],[Oe.OPTION,T.OPTION],[Oe.P,T.P],[Oe.PARAM,T.PARAM],[Oe.PLAINTEXT,T.PLAINTEXT],[Oe.PRE,T.PRE],[Oe.RB,T.RB],[Oe.RP,T.RP],[Oe.RT,T.RT],[Oe.RTC,T.RTC],[Oe.RUBY,T.RUBY],[Oe.S,T.S],[Oe.SCRIPT,T.SCRIPT],[Oe.SEARCH,T.SEARCH],[Oe.SECTION,T.SECTION],[Oe.SELECT,T.SELECT],[Oe.SOURCE,T.SOURCE],[Oe.SMALL,T.SMALL],[Oe.SPAN,T.SPAN],[Oe.STRIKE,T.STRIKE],[Oe.STRONG,T.STRONG],[Oe.STYLE,T.STYLE],[Oe.SUB,T.SUB],[Oe.SUMMARY,T.SUMMARY],[Oe.SUP,T.SUP],[Oe.TABLE,T.TABLE],[Oe.TBODY,T.TBODY],[Oe.TEMPLATE,T.TEMPLATE],[Oe.TEXTAREA,T.TEXTAREA],[Oe.TFOOT,T.TFOOT],[Oe.TD,T.TD],[Oe.TH,T.TH],[Oe.THEAD,T.THEAD],[Oe.TITLE,T.TITLE],[Oe.TR,T.TR],[Oe.TRACK,T.TRACK],[Oe.TT,T.TT],[Oe.U,T.U],[Oe.UL,T.UL],[Oe.SVG,T.SVG],[Oe.VAR,T.VAR],[Oe.WBR,T.WBR],[Oe.XMP,T.XMP]]);function k0(e){var t;return(t=KQe.get(e))!==null&&t!==void 0?t:T.UNKNOWN}const Xe=T,JQe={[ze.HTML]:new Set([Xe.ADDRESS,Xe.APPLET,Xe.AREA,Xe.ARTICLE,Xe.ASIDE,Xe.BASE,Xe.BASEFONT,Xe.BGSOUND,Xe.BLOCKQUOTE,Xe.BODY,Xe.BR,Xe.BUTTON,Xe.CAPTION,Xe.CENTER,Xe.COL,Xe.COLGROUP,Xe.DD,Xe.DETAILS,Xe.DIR,Xe.DIV,Xe.DL,Xe.DT,Xe.EMBED,Xe.FIELDSET,Xe.FIGCAPTION,Xe.FIGURE,Xe.FOOTER,Xe.FORM,Xe.FRAME,Xe.FRAMESET,Xe.H1,Xe.H2,Xe.H3,Xe.H4,Xe.H5,Xe.H6,Xe.HEAD,Xe.HEADER,Xe.HGROUP,Xe.HR,Xe.HTML,Xe.IFRAME,Xe.IMG,Xe.INPUT,Xe.LI,Xe.LINK,Xe.LISTING,Xe.MAIN,Xe.MARQUEE,Xe.MENU,Xe.META,Xe.NAV,Xe.NOEMBED,Xe.NOFRAMES,Xe.NOSCRIPT,Xe.OBJECT,Xe.OL,Xe.P,Xe.PARAM,Xe.PLAINTEXT,Xe.PRE,Xe.SCRIPT,Xe.SECTION,Xe.SELECT,Xe.SOURCE,Xe.STYLE,Xe.SUMMARY,Xe.TABLE,Xe.TBODY,Xe.TD,Xe.TEMPLATE,Xe.TEXTAREA,Xe.TFOOT,Xe.TH,Xe.THEAD,Xe.TITLE,Xe.TR,Xe.TRACK,Xe.UL,Xe.WBR,Xe.XMP]),[ze.MATHML]:new Set([Xe.MI,Xe.MO,Xe.MN,Xe.MS,Xe.MTEXT,Xe.ANNOTATION_XML]),[ze.SVG]:new Set([Xe.TITLE,Xe.FOREIGN_OBJECT,Xe.DESC]),[ze.XLINK]:new Set,[ze.XML]:new Set,[ze.XMLNS]:new Set},QP=new Set([Xe.H1,Xe.H2,Xe.H3,Xe.H4,Xe.H5,Xe.H6]);Oe.STYLE,Oe.SCRIPT,Oe.XMP,Oe.IFRAME,Oe.NOEMBED,Oe.NOFRAMES,Oe.PLAINTEXT;var J;(function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(J||(J={}));const wr={DATA:J.DATA,RCDATA:J.RCDATA,RAWTEXT:J.RAWTEXT,SCRIPT_DATA:J.SCRIPT_DATA,PLAINTEXT:J.PLAINTEXT,CDATA_SECTION:J.CDATA_SECTION};function e6e(e){return e>=W.DIGIT_0&&e<=W.DIGIT_9}function JO(e){return e>=W.LATIN_CAPITAL_A&&e<=W.LATIN_CAPITAL_Z}function t6e(e){return e>=W.LATIN_SMALL_A&&e<=W.LATIN_SMALL_Z}function Od(e){return t6e(e)||JO(e)}function HU(e){return Od(e)||e6e(e)}function BS(e){return e+32}function Oie(e){return e===W.SPACE||e===W.LINE_FEED||e===W.TABULATION||e===W.FORM_FEED}function YU(e){return Oie(e)||e===W.SOLIDUS||e===W.GREATER_THAN_SIGN}function n6e(e){return e===W.NULL?Ne.nullCharacterReference:e>1114111?Ne.characterReferenceOutsideUnicodeRange:hie(e)?Ne.surrogateCharacterReference:mie(e)?Ne.noncharacterCharacterReference:pie(e)||e===W.CARRIAGE_RETURN?Ne.controlCharacterReference:null}class i6e{constructor(t,n){this.options=t,this.handler=n,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=J.DATA,this.returnState=J.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new zQe(n),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new WQe(FQe,(i,r)=>{this.preprocessor.pos=this.entityStartPos+r-1,this._flushCodePointConsumedAsCharacterReference(i)},n.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(Ne.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:i=>{this._err(Ne.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+i)},validateNumericCharacterReference:i=>{const r=n6e(i);r&&this._err(r,1)}}:void 0)}_err(t,n=0){var i,r;(r=(i=this.handler).onParseError)===null||r===void 0||r.call(i,this.preprocessor.getError(t,n))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||t==null||t())}write(t,n,i){this.active=!0,this.preprocessor.write(t,n),this._runParsingLoop(),this.paused||i==null||i()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let n=0;n0&&this._err(Ne.endTagWithAttributes),t.selfClosing&&this._err(Ne.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case On.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case On.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case On.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){const t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:On.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,n){if(this.currentCharacterToken)if(this.currentCharacterToken.type===t){this.currentCharacterToken.chars+=n;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(t,n)}_emitCodePoint(t){const n=Oie(t)?On.WHITESPACE_CHARACTER:t===W.NULL?On.NULL_CHARACTER:On.CHARACTER;this._appendCharToCurrentCharacterToken(n,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(On.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=J.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?su.Attribute:su.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===J.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===J.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===J.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case J.DATA:{this._stateData(t);break}case J.RCDATA:{this._stateRcdata(t);break}case J.RAWTEXT:{this._stateRawtext(t);break}case J.SCRIPT_DATA:{this._stateScriptData(t);break}case J.PLAINTEXT:{this._statePlaintext(t);break}case J.TAG_OPEN:{this._stateTagOpen(t);break}case J.END_TAG_OPEN:{this._stateEndTagOpen(t);break}case J.TAG_NAME:{this._stateTagName(t);break}case J.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(t);break}case J.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(t);break}case J.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(t);break}case J.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(t);break}case J.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(t);break}case J.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(t);break}case J.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(t);break}case J.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(t);break}case J.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(t);break}case J.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(t);break}case J.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(t);break}case J.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(t);break}case J.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(t);break}case J.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(t);break}case J.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(t);break}case J.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(t);break}case J.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(t);break}case J.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(t);break}case J.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(t);break}case J.ATTRIBUTE_NAME:{this._stateAttributeName(t);break}case J.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(t);break}case J.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(t);break}case J.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(t);break}case J.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(t);break}case J.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(t);break}case J.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(t);break}case J.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(t);break}case J.BOGUS_COMMENT:{this._stateBogusComment(t);break}case J.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(t);break}case J.COMMENT_START:{this._stateCommentStart(t);break}case J.COMMENT_START_DASH:{this._stateCommentStartDash(t);break}case J.COMMENT:{this._stateComment(t);break}case J.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(t);break}case J.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(t);break}case J.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(t);break}case J.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(t);break}case J.COMMENT_END_DASH:{this._stateCommentEndDash(t);break}case J.COMMENT_END:{this._stateCommentEnd(t);break}case J.COMMENT_END_BANG:{this._stateCommentEndBang(t);break}case J.DOCTYPE:{this._stateDoctype(t);break}case J.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(t);break}case J.DOCTYPE_NAME:{this._stateDoctypeName(t);break}case J.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(t);break}case J.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(t);break}case J.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(t);break}case J.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(t);break}case J.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(t);break}case J.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(t);break}case J.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break}case J.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(t);break}case J.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(t);break}case J.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(t);break}case J.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(t);break}case J.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(t);break}case J.BOGUS_DOCTYPE:{this._stateBogusDoctype(t);break}case J.CDATA_SECTION:{this._stateCdataSection(t);break}case J.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(t);break}case J.CDATA_SECTION_END:{this._stateCdataSectionEnd(t);break}case J.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case J.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(t);break}default:throw new Error("Unknown state")}}_stateData(t){switch(t){case W.LESS_THAN_SIGN:{this.state=J.TAG_OPEN;break}case W.AMPERSAND:{this._startCharacterReference();break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this._emitCodePoint(t);break}case W.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case W.AMPERSAND:{this._startCharacterReference();break}case W.LESS_THAN_SIGN:{this.state=J.RCDATA_LESS_THAN_SIGN;break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this._emitChars(Gi);break}case W.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case W.LESS_THAN_SIGN:{this.state=J.RAWTEXT_LESS_THAN_SIGN;break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this._emitChars(Gi);break}case W.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case W.LESS_THAN_SIGN:{this.state=J.SCRIPT_DATA_LESS_THAN_SIGN;break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this._emitChars(Gi);break}case W.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case W.NULL:{this._err(Ne.unexpectedNullCharacter),this._emitChars(Gi);break}case W.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateTagOpen(t){if(Od(t))this._createStartTagToken(),this.state=J.TAG_NAME,this._stateTagName(t);else switch(t){case W.EXCLAMATION_MARK:{this.state=J.MARKUP_DECLARATION_OPEN;break}case W.SOLIDUS:{this.state=J.END_TAG_OPEN;break}case W.QUESTION_MARK:{this._err(Ne.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=J.BOGUS_COMMENT,this._stateBogusComment(t);break}case W.EOF:{this._err(Ne.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(Ne.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=J.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(Od(t))this._createEndTagToken(),this.state=J.TAG_NAME,this._stateTagName(t);else switch(t){case W.GREATER_THAN_SIGN:{this._err(Ne.missingEndTagName),this.state=J.DATA;break}case W.EOF:{this._err(Ne.eofBeforeTagName),this._emitChars("");break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this.state=J.SCRIPT_DATA_ESCAPED,this._emitChars(Gi);break}case W.EOF:{this._err(Ne.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=J.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===W.SOLIDUS?this.state=J.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:Od(t)?(this._emitChars("<"),this.state=J.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=J.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){Od(t)?(this.state=J.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("");break}case W.NULL:{this._err(Ne.unexpectedNullCharacter),this.state=J.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Gi);break}case W.EOF:{this._err(Ne.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=J.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===W.SOLIDUS?(this.state=J.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=J.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(ma.SCRIPT,!1)&&YU(this.preprocessor.peek(ma.SCRIPT.length))){this._emitCodePoint(t);for(let n=0;n0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!0)}replace(t,n){const i=this._indexOf(t);this.items[i]=n,i===this.stackTop&&(this.current=n)}insertAfter(t,n,i){const r=this._indexOf(t)+1;this.items.splice(r,0,n),this.tagIDs.splice(r,0,i),this.stackTop++,r===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,r===this.stackTop)}popUntilTagNamePopped(t){let n=this.stackTop+1;do n=this.tagIDs.lastIndexOf(t,n-1);while(n>0&&this.treeAdapter.getNamespaceURI(this.items[n])!==ze.HTML);this.shortenToLength(Math.max(n,0))}shortenToLength(t){for(;this.stackTop>=t;){const n=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(n,this.stackTop=0;i--)if(t.has(this.tagIDs[i])&&this.treeAdapter.getNamespaceURI(this.items[i])===n)return i;return-1}clearBackTo(t,n){const i=this._indexOfTagNames(t,n);this.shortenToLength(i+1)}clearBackToTableContext(){this.clearBackTo(l6e,ze.HTML)}clearBackToTableBodyContext(){this.clearBackTo(o6e,ze.HTML)}clearBackToTableRowContext(){this.clearBackTo(a6e,ze.HTML)}remove(t){const n=this._indexOf(t);n>=0&&(n===this.stackTop?this.pop():(this.items.splice(n,1),this.tagIDs.splice(n,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===T.BODY?this.items[1]:null}contains(t){return this._indexOf(t)>-1}getCommonAncestor(t){const n=this._indexOf(t)-1;return n>=0?this.items[n]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===T.HTML}hasInDynamicScope(t,n){for(let i=this.stackTop;i>=0;i--){const r=this.tagIDs[i];switch(this.treeAdapter.getNamespaceURI(this.items[i])){case ze.HTML:{if(r===t)return!0;if(n.has(r))return!1;break}case ze.SVG:{if(ZU.has(r))return!1;break}case ze.MATHML:{if(WU.has(r))return!1;break}}}return!0}hasInScope(t){return this.hasInDynamicScope(t,ZE)}hasInListItemScope(t){return this.hasInDynamicScope(t,r6e)}hasInButtonScope(t){return this.hasInDynamicScope(t,s6e)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case ze.HTML:{if(QP.has(n))return!0;if(ZE.has(n))return!1;break}case ze.SVG:{if(ZU.has(n))return!1;break}case ze.MATHML:{if(WU.has(n))return!1;break}}}return!0}hasInTableScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===ze.HTML)switch(this.tagIDs[n]){case t:return!0;case T.TABLE:case T.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===ze.HTML)switch(this.tagIDs[t]){case T.TBODY:case T.THEAD:case T.TFOOT:return!0;case T.TABLE:case T.HTML:return!1}return!0}hasInSelectScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===ze.HTML)switch(this.tagIDs[n]){case t:return!0;case T.OPTION:case T.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&bie.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&GU.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;this.currentTagId!==void 0&&this.currentTagId!==t&&GU.has(this.currentTagId);)this.pop()}}const wN=3;var Zl;(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(Zl||(Zl={}));const KU={type:Zl.Marker};class d6e{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,n){const i=[],r=n.length,s=this.treeAdapter.getTagName(t),a=this.treeAdapter.getNamespaceURI(t);for(let o=0;o[a.name,a.value]));let s=0;for(let a=0;ar.get(l.name)===l.value)&&(s+=1,s>=wN&&this.entries.splice(o.idx,1))}}insertMarker(){this.entries.unshift(KU)}pushElement(t,n){this._ensureNoahArkCondition(t),this.entries.unshift({type:Zl.Element,element:t,token:n})}insertElementAfterBookmark(t,n){const i=this.entries.indexOf(this.bookmark);this.entries.splice(i,0,{type:Zl.Element,element:t,token:n})}removeEntry(t){const n=this.entries.indexOf(t);n!==-1&&this.entries.splice(n,1)}clearToLastMarker(){const t=this.entries.indexOf(KU);t===-1?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){const n=this.entries.find(i=>i.type===Zl.Marker||this.treeAdapter.getTagName(i.element)===t);return n&&n.type===Zl.Element?n:null}getElementEntry(t){return this.entries.find(n=>n.type===Zl.Element&&n.element===t)}}const bd={createDocument(){return{nodeName:"#document",mode:_o.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},createCommentNode(e){return{nodeName:"#comment",data:e,parentNode:null}},createTextNode(e){return{nodeName:"#text",value:e,parentNode:null}},appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){const i=e.childNodes.indexOf(n);e.childNodes.splice(i,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,n,i){const r=e.childNodes.find(s=>s.nodeName==="#documentType");if(r)r.name=t,r.publicId=n,r.systemId=i;else{const s={nodeName:"#documentType",name:t,publicId:n,systemId:i,parentNode:null};bd.appendChild(e,s)}},setDocumentMode(e,t){e.mode=t},getDocumentMode(e){return e.mode},detachNode(e){if(e.parentNode){const t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){const n=e.childNodes[e.childNodes.length-1];if(bd.isTextNode(n)){n.value+=t;return}}bd.appendChild(e,bd.createTextNode(t))},insertTextBefore(e,t,n){const i=e.childNodes[e.childNodes.indexOf(n)-1];i&&bd.isTextNode(i)?i.value+=t:bd.insertBefore(e,bd.createTextNode(t),n)},adoptAttributes(e,t){const n=new Set(e.attrs.map(i=>i.name));for(let i=0;ie.startsWith(n))}function O6e(e){return e.name===yie&&e.publicId===null&&(e.systemId===null||e.systemId===f6e)}function b6e(e){if(e.name!==yie)return _o.QUIRKS;const{systemId:t}=e;if(t&&t.toLowerCase()===h6e)return _o.QUIRKS;let{publicId:n}=e;if(n!==null){if(n=n.toLowerCase(),m6e.has(n))return _o.QUIRKS;let i=t===null?p6e:xie;if(JU(n,i))return _o.QUIRKS;if(i=t===null?Sie:g6e,JU(n,i))return _o.LIMITED_QUIRKS}return _o.NO_QUIRKS}const e7={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},y6e="definitionurl",x6e="definitionURL",S6e=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),v6e=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:ze.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:ze.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:ze.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:ze.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:ze.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:ze.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:ze.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:ze.XML}],["xml:space",{prefix:"xml",name:"space",namespace:ze.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:ze.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:ze.XMLNS}]]),w6e=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),E6e=new Set([T.B,T.BIG,T.BLOCKQUOTE,T.BODY,T.BR,T.CENTER,T.CODE,T.DD,T.DIV,T.DL,T.DT,T.EM,T.EMBED,T.H1,T.H2,T.H3,T.H4,T.H5,T.H6,T.HEAD,T.HR,T.I,T.IMG,T.LI,T.LISTING,T.MENU,T.META,T.NOBR,T.OL,T.P,T.PRE,T.RUBY,T.S,T.SMALL,T.SPAN,T.STRONG,T.STRIKE,T.SUB,T.SUP,T.TABLE,T.TT,T.U,T.UL,T.VAR]);function k6e(e){const t=e.tagID;return t===T.FONT&&e.attrs.some(({name:i})=>i===Lh.COLOR||i===Lh.SIZE||i===Lh.FACE)||E6e.has(t)}function vie(e){for(let t=0;t0&&this._setContextModes(t,n)}onItemPop(t,n){var i,r;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),(r=(i=this.treeAdapter).onItemPop)===null||r===void 0||r.call(i,t,this.openElements.current),n){let s,a;this.openElements.stackTop===0&&this.fragmentContext?(s=this.fragmentContext,a=this.fragmentContextID):{current:s,currentTagId:a}=this.openElements,this._setContextModes(s,a)}}_setContextModes(t,n){const i=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===ze.HTML;this.currentNotInHTML=!i,this.tokenizer.inForeignNode=!i&&t!==void 0&&n!==void 0&&!this._isIntegrationPoint(n,t)}_switchToTextParsing(t,n){this._insertElement(t,ze.HTML),this.tokenizer.state=n,this.originalInsertionMode=this.insertionMode,this.insertionMode=se.TEXT}switchToPlaintextParsing(){this.insertionMode=se.TEXT,this.originalInsertionMode=se.IN_BODY,this.tokenizer.state=wr.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let t=this.fragmentContext;for(;t;){if(this.treeAdapter.getTagName(t)===Oe.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==ze.HTML))switch(this.fragmentContextID){case T.TITLE:case T.TEXTAREA:{this.tokenizer.state=wr.RCDATA;break}case T.STYLE:case T.XMP:case T.IFRAME:case T.NOEMBED:case T.NOFRAMES:case T.NOSCRIPT:{this.tokenizer.state=wr.RAWTEXT;break}case T.SCRIPT:{this.tokenizer.state=wr.SCRIPT_DATA;break}case T.PLAINTEXT:{this.tokenizer.state=wr.PLAINTEXT;break}}}_setDocumentType(t){const n=t.name||"",i=t.publicId||"",r=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,n,i,r),t.location){const a=this.treeAdapter.getChildNodes(this.document).find(o=>this.treeAdapter.isDocumentTypeNode(o));a&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}}_attachElementToTree(t,n){if(this.options.sourceCodeLocationInfo){const i=n&&{...n,startTag:n};this.treeAdapter.setNodeSourceCodeLocation(t,i)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{const i=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(i??this.document,t)}}_appendElement(t,n){const i=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(i,t.location)}_insertElement(t,n){const i=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(i,t.location),this.openElements.push(i,t.tagID)}_insertFakeElement(t,n){const i=this.treeAdapter.createElement(t,ze.HTML,[]);this._attachElementToTree(i,null),this.openElements.push(i,n)}_insertTemplate(t){const n=this.treeAdapter.createElement(t.tagName,ze.HTML,t.attrs),i=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(n,i),this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(i,null)}_insertFakeRootElement(){const t=this.treeAdapter.createElement(Oe.HTML,ze.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,null),this.treeAdapter.appendChild(this.openElements.current,t),this.openElements.push(t,T.HTML)}_appendCommentNode(t,n){const i=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(n,i),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(i,t.location)}_insertCharacters(t){let n,i;if(this._shouldFosterParentOnInsertion()?({parent:n,beforeElement:i}=this._findFosterParentingLocation(),i?this.treeAdapter.insertTextBefore(n,t.chars,i):this.treeAdapter.insertText(n,t.chars)):(n=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(n,t.chars)),!t.location)return;const r=this.treeAdapter.getChildNodes(n),s=i?r.lastIndexOf(i):r.length,a=r[s-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){const{endLine:l,endCol:u,endOffset:d}=t.location;this.treeAdapter.updateNodeSourceCodeLocation(a,{endLine:l,endCol:u,endOffset:d})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}_adoptNodes(t,n){for(let i=this.treeAdapter.getFirstChild(t);i;i=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(i),this.treeAdapter.appendChild(n,i)}_setEndLocation(t,n){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&n.location){const i=n.location,r=this.treeAdapter.getTagName(t),s=n.type===On.END_TAG&&r===n.tagName?{endTag:{...i},endLine:i.endLine,endCol:i.endCol,endOffset:i.endOffset}:{endLine:i.startLine,endCol:i.startCol,endOffset:i.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,s)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let n,i;return this.openElements.stackTop===0&&this.fragmentContext?(n=this.fragmentContext,i=this.fragmentContextID):{current:n,currentTagId:i}=this.openElements,t.tagID===T.SVG&&this.treeAdapter.getTagName(n)===Oe.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(n)===ze.MATHML?!1:this.tokenizer.inForeignNode||(t.tagID===T.MGLYPH||t.tagID===T.MALIGNMARK)&&i!==void 0&&!this._isIntegrationPoint(i,n,ze.HTML)}_processToken(t){switch(t.type){case On.CHARACTER:{this.onCharacter(t);break}case On.NULL_CHARACTER:{this.onNullCharacter(t);break}case On.COMMENT:{this.onComment(t);break}case On.DOCTYPE:{this.onDoctype(t);break}case On.START_TAG:{this._processStartTag(t);break}case On.END_TAG:{this.onEndTag(t);break}case On.EOF:{this.onEof(t);break}case On.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(t);break}}}_isIntegrationPoint(t,n,i){const r=this.treeAdapter.getNamespaceURI(n),s=this.treeAdapter.getAttrList(n);return N6e(t,r,s,i)}_reconstructActiveFormattingElements(){const t=this.activeFormattingElements.entries.length;if(t){const n=this.activeFormattingElements.entries.findIndex(r=>r.type===Zl.Marker||this.openElements.contains(r.element)),i=n===-1?t-1:n-1;for(let r=i;r>=0;r--){const s=this.activeFormattingElements.entries[r];this._insertElement(s.token,this.treeAdapter.getNamespaceURI(s.element)),s.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=se.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(T.P),this.openElements.popUntilTagNamePopped(T.P)}_resetInsertionMode(){for(let t=this.openElements.stackTop;t>=0;t--)switch(t===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[t]){case T.TR:{this.insertionMode=se.IN_ROW;return}case T.TBODY:case T.THEAD:case T.TFOOT:{this.insertionMode=se.IN_TABLE_BODY;return}case T.CAPTION:{this.insertionMode=se.IN_CAPTION;return}case T.COLGROUP:{this.insertionMode=se.IN_COLUMN_GROUP;return}case T.TABLE:{this.insertionMode=se.IN_TABLE;return}case T.BODY:{this.insertionMode=se.IN_BODY;return}case T.FRAMESET:{this.insertionMode=se.IN_FRAMESET;return}case T.SELECT:{this._resetInsertionModeForSelect(t);return}case T.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case T.HTML:{this.insertionMode=this.headElement?se.AFTER_HEAD:se.BEFORE_HEAD;return}case T.TD:case T.TH:{if(t>0){this.insertionMode=se.IN_CELL;return}break}case T.HEAD:{if(t>0){this.insertionMode=se.IN_HEAD;return}break}}this.insertionMode=se.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let n=t-1;n>0;n--){const i=this.openElements.tagIDs[n];if(i===T.TEMPLATE)break;if(i===T.TABLE){this.insertionMode=se.IN_SELECT_IN_TABLE;return}}this.insertionMode=se.IN_SELECT}_isElementCausesFosterParenting(t){return Eie.has(t)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let t=this.openElements.stackTop;t>=0;t--){const n=this.openElements.items[t];switch(this.openElements.tagIDs[t]){case T.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(n)===ze.HTML)return{parent:this.treeAdapter.getTemplateContent(n),beforeElement:null};break}case T.TABLE:{const i=this.treeAdapter.getParentNode(n);return i?{parent:i,beforeElement:n}:{parent:this.openElements.items[t-1],beforeElement:null}}}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(t){const n=this._findFosterParentingLocation();n.beforeElement?this.treeAdapter.insertBefore(n.parent,t,n.beforeElement):this.treeAdapter.appendChild(n.parent,t)}_isSpecialElement(t,n){const i=this.treeAdapter.getNamespaceURI(t);return JQe[i].has(n)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){c8e(this,t);return}switch(this.insertionMode){case se.INITIAL:{wO(this,t);break}case se.BEFORE_HTML:{Lb(this,t);break}case se.BEFORE_HEAD:{Db(this,t);break}case se.IN_HEAD:{$b(this,t);break}case se.IN_HEAD_NO_SCRIPT:{Qb(this,t);break}case se.AFTER_HEAD:{Bb(this,t);break}case se.IN_BODY:case se.IN_CAPTION:case se.IN_CELL:case se.IN_TEMPLATE:{Tie(this,t);break}case se.TEXT:case se.IN_SELECT:case se.IN_SELECT_IN_TABLE:{this._insertCharacters(t);break}case se.IN_TABLE:case se.IN_TABLE_BODY:case se.IN_ROW:{EN(this,t);break}case se.IN_TABLE_TEXT:{Iie(this,t);break}case se.IN_COLUMN_GROUP:{KE(this,t);break}case se.AFTER_BODY:{JE(this,t);break}case se.AFTER_AFTER_BODY:{mw(this,t);break}}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){l8e(this,t);return}switch(this.insertionMode){case se.INITIAL:{wO(this,t);break}case se.BEFORE_HTML:{Lb(this,t);break}case se.BEFORE_HEAD:{Db(this,t);break}case se.IN_HEAD:{$b(this,t);break}case se.IN_HEAD_NO_SCRIPT:{Qb(this,t);break}case se.AFTER_HEAD:{Bb(this,t);break}case se.TEXT:{this._insertCharacters(t);break}case se.IN_TABLE:case se.IN_TABLE_BODY:case se.IN_ROW:{EN(this,t);break}case se.IN_COLUMN_GROUP:{KE(this,t);break}case se.AFTER_BODY:{JE(this,t);break}case se.AFTER_AFTER_BODY:{mw(this,t);break}}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML){BP(this,t);return}switch(this.insertionMode){case se.INITIAL:case se.BEFORE_HTML:case se.BEFORE_HEAD:case se.IN_HEAD:case se.IN_HEAD_NO_SCRIPT:case se.AFTER_HEAD:case se.IN_BODY:case se.IN_TABLE:case se.IN_CAPTION:case se.IN_COLUMN_GROUP:case se.IN_TABLE_BODY:case se.IN_ROW:case se.IN_CELL:case se.IN_SELECT:case se.IN_SELECT_IN_TABLE:case se.IN_TEMPLATE:case se.IN_FRAMESET:case se.AFTER_FRAMESET:{BP(this,t);break}case se.IN_TABLE_TEXT:{EO(this,t);break}case se.AFTER_BODY:{B6e(this,t);break}case se.AFTER_AFTER_BODY:case se.AFTER_AFTER_FRAMESET:{U6e(this,t);break}}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case se.INITIAL:{z6e(this,t);break}case se.BEFORE_HEAD:case se.IN_HEAD:case se.IN_HEAD_NO_SCRIPT:case se.AFTER_HEAD:{this._err(t,Ne.misplacedDoctype);break}case se.IN_TABLE_TEXT:{EO(this,t);break}}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,Ne.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?u8e(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case se.INITIAL:{wO(this,t);break}case se.BEFORE_HTML:{F6e(this,t);break}case se.BEFORE_HEAD:{X6e(this,t);break}case se.IN_HEAD:{Al(this,t);break}case se.IN_HEAD_NO_SCRIPT:{Y6e(this,t);break}case se.AFTER_HEAD:{W6e(this,t);break}case se.IN_BODY:{Us(this,t);break}case se.IN_TABLE:{zg(this,t);break}case se.IN_TABLE_TEXT:{EO(this,t);break}case se.IN_CAPTION:{qBe(this,t);break}case se.IN_COLUMN_GROUP:{Q5(this,t);break}case se.IN_TABLE_BODY:{l_(this,t);break}case se.IN_ROW:{c_(this,t);break}case se.IN_CELL:{GBe(this,t);break}case se.IN_SELECT:{Mie(this,t);break}case se.IN_SELECT_IN_TABLE:{ZBe(this,t);break}case se.IN_TEMPLATE:{JBe(this,t);break}case se.AFTER_BODY:{t8e(this,t);break}case se.IN_FRAMESET:{n8e(this,t);break}case se.AFTER_FRAMESET:{r8e(this,t);break}case se.AFTER_AFTER_BODY:{a8e(this,t);break}case se.AFTER_AFTER_FRAMESET:{o8e(this,t);break}}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?d8e(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case se.INITIAL:{wO(this,t);break}case se.BEFORE_HTML:{V6e(this,t);break}case se.BEFORE_HEAD:{q6e(this,t);break}case se.IN_HEAD:{H6e(this,t);break}case se.IN_HEAD_NO_SCRIPT:{G6e(this,t);break}case se.AFTER_HEAD:{Z6e(this,t);break}case se.IN_BODY:{o_(this,t);break}case se.TEXT:{LBe(this,t);break}case se.IN_TABLE:{Fy(this,t);break}case se.IN_TABLE_TEXT:{EO(this,t);break}case se.IN_CAPTION:{HBe(this,t);break}case se.IN_COLUMN_GROUP:{YBe(this,t);break}case se.IN_TABLE_BODY:{UP(this,t);break}case se.IN_ROW:{jie(this,t);break}case se.IN_CELL:{WBe(this,t);break}case se.IN_SELECT:{Lie(this,t);break}case se.IN_SELECT_IN_TABLE:{KBe(this,t);break}case se.IN_TEMPLATE:{e8e(this,t);break}case se.AFTER_BODY:{$ie(this,t);break}case se.IN_FRAMESET:{i8e(this,t);break}case se.AFTER_FRAMESET:{s8e(this,t);break}case se.AFTER_AFTER_BODY:{mw(this,t);break}}}onEof(t){switch(this.insertionMode){case se.INITIAL:{wO(this,t);break}case se.BEFORE_HTML:{Lb(this,t);break}case se.BEFORE_HEAD:{Db(this,t);break}case se.IN_HEAD:{$b(this,t);break}case se.IN_HEAD_NO_SCRIPT:{Qb(this,t);break}case se.AFTER_HEAD:{Bb(this,t);break}case se.IN_BODY:case se.IN_TABLE:case se.IN_CAPTION:case se.IN_COLUMN_GROUP:case se.IN_TABLE_BODY:case se.IN_ROW:case se.IN_CELL:case se.IN_SELECT:case se.IN_SELECT_IN_TABLE:{Cie(this,t);break}case se.TEXT:{DBe(this,t);break}case se.IN_TABLE_TEXT:{EO(this,t);break}case se.IN_TEMPLATE:{Die(this,t);break}case se.AFTER_BODY:case se.IN_FRAMESET:case se.AFTER_FRAMESET:case se.AFTER_AFTER_BODY:case se.AFTER_AFTER_FRAMESET:{$5(this,t);break}}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===W.LINE_FEED)){if(t.chars.length===1)return;t.chars=t.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(t);return}switch(this.insertionMode){case se.IN_HEAD:case se.IN_HEAD_NO_SCRIPT:case se.AFTER_HEAD:case se.TEXT:case se.IN_COLUMN_GROUP:case se.IN_SELECT:case se.IN_SELECT_IN_TABLE:case se.IN_FRAMESET:case se.AFTER_FRAMESET:{this._insertCharacters(t);break}case se.IN_BODY:case se.IN_CAPTION:case se.IN_CELL:case se.IN_TEMPLATE:case se.AFTER_BODY:case se.AFTER_AFTER_BODY:case se.AFTER_AFTER_FRAMESET:{kie(this,t);break}case se.IN_TABLE:case se.IN_TABLE_BODY:case se.IN_ROW:{EN(this,t);break}case se.IN_TABLE_TEXT:{Rie(this,t);break}}}};function j6e(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagID)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):Nie(e,t),n}function M6e(e,t){let n=null,i=e.openElements.stackTop;for(;i>=0;i--){const r=e.openElements.items[i];if(r===t.element)break;e._isSpecialElement(r,e.openElements.tagIDs[i])&&(n=r)}return n||(e.openElements.shortenToLength(Math.max(i,0)),e.activeFormattingElements.removeEntry(t)),n}function L6e(e,t,n){let i=t,r=e.openElements.getCommonAncestor(t);for(let s=0,a=r;a!==n;s++,a=r){r=e.openElements.getCommonAncestor(a);const o=e.activeFormattingElements.getElementEntry(a),l=o&&s>=I6e;!o||l?(l&&e.activeFormattingElements.removeEntry(o),e.openElements.remove(a)):(a=D6e(e,o),i===t&&(e.activeFormattingElements.bookmark=o),e.treeAdapter.detachNode(i),e.treeAdapter.appendChild(a,i),i=a)}return i}function D6e(e,t){const n=e.treeAdapter.getNamespaceURI(t.element),i=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,i),t.element=i,i}function $6e(e,t,n){const i=e.treeAdapter.getTagName(t),r=k0(i);if(e._isElementCausesFosterParenting(r))e._fosterParentElement(n);else{const s=e.treeAdapter.getNamespaceURI(t);r===T.TEMPLATE&&s===ze.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function Q6e(e,t,n){const i=e.treeAdapter.getNamespaceURI(n.element),{token:r}=n,s=e.treeAdapter.createElement(r.tagName,i,r.attrs);e._adoptNodes(t,s),e.treeAdapter.appendChild(t,s),e.activeFormattingElements.insertElementAfterBookmark(s,r),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,s,r.tagID)}function D5(e,t){for(let n=0;n=n;i--)e._setEndLocation(e.openElements.items[i],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){const i=e.openElements.items[0],r=e.treeAdapter.getNodeSourceCodeLocation(i);if(r&&!r.endTag&&(e._setEndLocation(i,t),e.openElements.stackTop>=1)){const s=e.openElements.items[1],a=e.treeAdapter.getNodeSourceCodeLocation(s);a&&!a.endTag&&e._setEndLocation(s,t)}}}}function z6e(e,t){e._setDocumentType(t);const n=t.forceQuirks?_o.QUIRKS:b6e(t);O6e(t)||e._err(t,Ne.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=se.BEFORE_HTML}function wO(e,t){e._err(t,Ne.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,_o.QUIRKS),e.insertionMode=se.BEFORE_HTML,e._processToken(t)}function F6e(e,t){t.tagID===T.HTML?(e._insertElement(t,ze.HTML),e.insertionMode=se.BEFORE_HEAD):Lb(e,t)}function V6e(e,t){const n=t.tagID;(n===T.HTML||n===T.HEAD||n===T.BODY||n===T.BR)&&Lb(e,t)}function Lb(e,t){e._insertFakeRootElement(),e.insertionMode=se.BEFORE_HEAD,e._processToken(t)}function X6e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.HEAD:{e._insertElement(t,ze.HTML),e.headElement=e.openElements.current,e.insertionMode=se.IN_HEAD;break}default:Db(e,t)}}function q6e(e,t){const n=t.tagID;n===T.HEAD||n===T.BODY||n===T.HTML||n===T.BR?Db(e,t):e._err(t,Ne.endTagWithoutMatchingOpenElement)}function Db(e,t){e._insertFakeElement(Oe.HEAD,T.HEAD),e.headElement=e.openElements.current,e.insertionMode=se.IN_HEAD,e._processToken(t)}function Al(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.BASE:case T.BASEFONT:case T.BGSOUND:case T.LINK:case T.META:{e._appendElement(t,ze.HTML),t.ackSelfClosing=!0;break}case T.TITLE:{e._switchToTextParsing(t,wr.RCDATA);break}case T.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(t,wr.RAWTEXT):(e._insertElement(t,ze.HTML),e.insertionMode=se.IN_HEAD_NO_SCRIPT);break}case T.NOFRAMES:case T.STYLE:{e._switchToTextParsing(t,wr.RAWTEXT);break}case T.SCRIPT:{e._switchToTextParsing(t,wr.SCRIPT_DATA);break}case T.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=se.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(se.IN_TEMPLATE);break}case T.HEAD:{e._err(t,Ne.misplacedStartTagForHeadElement);break}default:$b(e,t)}}function H6e(e,t){switch(t.tagID){case T.HEAD:{e.openElements.pop(),e.insertionMode=se.AFTER_HEAD;break}case T.BODY:case T.BR:case T.HTML:{$b(e,t);break}case T.TEMPLATE:{bp(e,t);break}default:e._err(t,Ne.endTagWithoutMatchingOpenElement)}}function bp(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==T.TEMPLATE&&e._err(t,Ne.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(T.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,Ne.endTagWithoutMatchingOpenElement)}function $b(e,t){e.openElements.pop(),e.insertionMode=se.AFTER_HEAD,e._processToken(t)}function Y6e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.BASEFONT:case T.BGSOUND:case T.HEAD:case T.LINK:case T.META:case T.NOFRAMES:case T.STYLE:{Al(e,t);break}case T.NOSCRIPT:{e._err(t,Ne.nestedNoscriptInHead);break}default:Qb(e,t)}}function G6e(e,t){switch(t.tagID){case T.NOSCRIPT:{e.openElements.pop(),e.insertionMode=se.IN_HEAD;break}case T.BR:{Qb(e,t);break}default:e._err(t,Ne.endTagWithoutMatchingOpenElement)}}function Qb(e,t){const n=t.type===On.EOF?Ne.openElementsLeftAfterEof:Ne.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=se.IN_HEAD,e._processToken(t)}function W6e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.BODY:{e._insertElement(t,ze.HTML),e.framesetOk=!1,e.insertionMode=se.IN_BODY;break}case T.FRAMESET:{e._insertElement(t,ze.HTML),e.insertionMode=se.IN_FRAMESET;break}case T.BASE:case T.BASEFONT:case T.BGSOUND:case T.LINK:case T.META:case T.NOFRAMES:case T.SCRIPT:case T.STYLE:case T.TEMPLATE:case T.TITLE:{e._err(t,Ne.abandonedHeadElementChild),e.openElements.push(e.headElement,T.HEAD),Al(e,t),e.openElements.remove(e.headElement);break}case T.HEAD:{e._err(t,Ne.misplacedStartTagForHeadElement);break}default:Bb(e,t)}}function Z6e(e,t){switch(t.tagID){case T.BODY:case T.HTML:case T.BR:{Bb(e,t);break}case T.TEMPLATE:{bp(e,t);break}default:e._err(t,Ne.endTagWithoutMatchingOpenElement)}}function Bb(e,t){e._insertFakeElement(Oe.BODY,T.BODY),e.insertionMode=se.IN_BODY,a_(e,t)}function a_(e,t){switch(t.type){case On.CHARACTER:{Tie(e,t);break}case On.WHITESPACE_CHARACTER:{kie(e,t);break}case On.COMMENT:{BP(e,t);break}case On.START_TAG:{Us(e,t);break}case On.END_TAG:{o_(e,t);break}case On.EOF:{Cie(e,t);break}}}function kie(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function Tie(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function K6e(e,t){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function J6e(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}function eBe(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,ze.HTML),e.insertionMode=se.IN_FRAMESET)}function tBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML)}function nBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e.openElements.currentTagId!==void 0&&QP.has(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,ze.HTML)}function iBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function rBe(e,t){const n=e.openElements.tmplCount>0;(!e.formElement||n)&&(e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML),n||(e.formElement=e.openElements.current))}function sBe(e,t){e.framesetOk=!1;const n=t.tagID;for(let i=e.openElements.stackTop;i>=0;i--){const r=e.openElements.tagIDs[i];if(n===T.LI&&r===T.LI||(n===T.DD||n===T.DT)&&(r===T.DD||r===T.DT)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r);break}if(r!==T.ADDRESS&&r!==T.DIV&&r!==T.P&&e._isSpecialElement(e.openElements.items[i],r))break}e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML)}function aBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML),e.tokenizer.state=wr.PLAINTEXT}function oBe(e,t){e.openElements.hasInScope(T.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(T.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML),e.framesetOk=!1}function lBe(e,t){const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(Oe.A);n&&(D5(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function cBe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function uBe(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(T.NOBR)&&(D5(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,ze.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function dBe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function fBe(e,t){e.treeAdapter.getDocumentMode(e.document)!==_o.QUIRKS&&e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._insertElement(t,ze.HTML),e.framesetOk=!1,e.insertionMode=se.IN_TABLE}function _ie(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,ze.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Aie(e){const t=gie(e,Lh.TYPE);return t!=null&&t.toLowerCase()===C6e}function hBe(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,ze.HTML),Aie(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}function pBe(e,t){e._appendElement(t,ze.HTML),t.ackSelfClosing=!0}function mBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._appendElement(t,ze.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function gBe(e,t){t.tagName=Oe.IMG,t.tagID=T.IMG,_ie(e,t)}function OBe(e,t){e._insertElement(t,ze.HTML),e.skipNextNewLine=!0,e.tokenizer.state=wr.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=se.TEXT}function bBe(e,t){e.openElements.hasInButtonScope(T.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,wr.RAWTEXT)}function yBe(e,t){e.framesetOk=!1,e._switchToTextParsing(t,wr.RAWTEXT)}function i7(e,t){e._switchToTextParsing(t,wr.RAWTEXT)}function xBe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===se.IN_TABLE||e.insertionMode===se.IN_CAPTION||e.insertionMode===se.IN_TABLE_BODY||e.insertionMode===se.IN_ROW||e.insertionMode===se.IN_CELL?se.IN_SELECT_IN_TABLE:se.IN_SELECT}function SBe(e,t){e.openElements.currentTagId===T.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML)}function vBe(e,t){e.openElements.hasInScope(T.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,ze.HTML)}function wBe(e,t){e.openElements.hasInScope(T.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(T.RTC),e._insertElement(t,ze.HTML)}function EBe(e,t){e._reconstructActiveFormattingElements(),vie(t),L5(t),t.selfClosing?e._appendElement(t,ze.MATHML):e._insertElement(t,ze.MATHML),t.ackSelfClosing=!0}function kBe(e,t){e._reconstructActiveFormattingElements(),wie(t),L5(t),t.selfClosing?e._appendElement(t,ze.SVG):e._insertElement(t,ze.SVG),t.ackSelfClosing=!0}function r7(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,ze.HTML)}function Us(e,t){switch(t.tagID){case T.I:case T.S:case T.B:case T.U:case T.EM:case T.TT:case T.BIG:case T.CODE:case T.FONT:case T.SMALL:case T.STRIKE:case T.STRONG:{cBe(e,t);break}case T.A:{lBe(e,t);break}case T.H1:case T.H2:case T.H3:case T.H4:case T.H5:case T.H6:{nBe(e,t);break}case T.P:case T.DL:case T.OL:case T.UL:case T.DIV:case T.DIR:case T.NAV:case T.MAIN:case T.MENU:case T.ASIDE:case T.CENTER:case T.FIGURE:case T.FOOTER:case T.HEADER:case T.HGROUP:case T.DIALOG:case T.DETAILS:case T.ADDRESS:case T.ARTICLE:case T.SEARCH:case T.SECTION:case T.SUMMARY:case T.FIELDSET:case T.BLOCKQUOTE:case T.FIGCAPTION:{tBe(e,t);break}case T.LI:case T.DD:case T.DT:{sBe(e,t);break}case T.BR:case T.IMG:case T.WBR:case T.AREA:case T.EMBED:case T.KEYGEN:{_ie(e,t);break}case T.HR:{mBe(e,t);break}case T.RB:case T.RTC:{vBe(e,t);break}case T.RT:case T.RP:{wBe(e,t);break}case T.PRE:case T.LISTING:{iBe(e,t);break}case T.XMP:{bBe(e,t);break}case T.SVG:{kBe(e,t);break}case T.HTML:{K6e(e,t);break}case T.BASE:case T.LINK:case T.META:case T.STYLE:case T.TITLE:case T.SCRIPT:case T.BGSOUND:case T.BASEFONT:case T.TEMPLATE:{Al(e,t);break}case T.BODY:{J6e(e,t);break}case T.FORM:{rBe(e,t);break}case T.NOBR:{uBe(e,t);break}case T.MATH:{EBe(e,t);break}case T.TABLE:{fBe(e,t);break}case T.INPUT:{hBe(e,t);break}case T.PARAM:case T.TRACK:case T.SOURCE:{pBe(e,t);break}case T.IMAGE:{gBe(e,t);break}case T.BUTTON:{oBe(e,t);break}case T.APPLET:case T.OBJECT:case T.MARQUEE:{dBe(e,t);break}case T.IFRAME:{yBe(e,t);break}case T.SELECT:{xBe(e,t);break}case T.OPTION:case T.OPTGROUP:{SBe(e,t);break}case T.NOEMBED:case T.NOFRAMES:{i7(e,t);break}case T.FRAMESET:{eBe(e,t);break}case T.TEXTAREA:{OBe(e,t);break}case T.NOSCRIPT:{e.options.scriptingEnabled?i7(e,t):r7(e,t);break}case T.PLAINTEXT:{aBe(e,t);break}case T.COL:case T.TH:case T.TD:case T.TR:case T.HEAD:case T.FRAME:case T.TBODY:case T.TFOOT:case T.THEAD:case T.CAPTION:case T.COLGROUP:break;default:r7(e,t)}}function TBe(e,t){if(e.openElements.hasInScope(T.BODY)&&(e.insertionMode=se.AFTER_BODY,e.options.sourceCodeLocationInfo)){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}function _Be(e,t){e.openElements.hasInScope(T.BODY)&&(e.insertionMode=se.AFTER_BODY,$ie(e,t))}function ABe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function NBe(e){const t=e.openElements.tmplCount>0,{formElement:n}=e;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(T.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(T.FORM):n&&e.openElements.remove(n))}function CBe(e){e.openElements.hasInButtonScope(T.P)||e._insertFakeElement(Oe.P,T.P),e._closePElement()}function RBe(e){e.openElements.hasInListItemScope(T.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(T.LI),e.openElements.popUntilTagNamePopped(T.LI))}function IBe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}function PBe(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function jBe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function MBe(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(Oe.BR,T.BR),e.openElements.pop(),e.framesetOk=!1}function Nie(e,t){const n=t.tagName,i=t.tagID;for(let r=e.openElements.stackTop;r>0;r--){const s=e.openElements.items[r],a=e.openElements.tagIDs[r];if(i===a&&(i!==T.UNKNOWN||e.treeAdapter.getTagName(s)===n)){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.stackTop>=r&&e.openElements.shortenToLength(r);break}if(e._isSpecialElement(s,a))break}}function o_(e,t){switch(t.tagID){case T.A:case T.B:case T.I:case T.S:case T.U:case T.EM:case T.TT:case T.BIG:case T.CODE:case T.FONT:case T.NOBR:case T.SMALL:case T.STRIKE:case T.STRONG:{D5(e,t);break}case T.P:{CBe(e);break}case T.DL:case T.UL:case T.OL:case T.DIR:case T.DIV:case T.NAV:case T.PRE:case T.MAIN:case T.MENU:case T.ASIDE:case T.BUTTON:case T.CENTER:case T.FIGURE:case T.FOOTER:case T.HEADER:case T.HGROUP:case T.DIALOG:case T.ADDRESS:case T.ARTICLE:case T.DETAILS:case T.SEARCH:case T.SECTION:case T.SUMMARY:case T.LISTING:case T.FIELDSET:case T.BLOCKQUOTE:case T.FIGCAPTION:{ABe(e,t);break}case T.LI:{RBe(e);break}case T.DD:case T.DT:{IBe(e,t);break}case T.H1:case T.H2:case T.H3:case T.H4:case T.H5:case T.H6:{PBe(e);break}case T.BR:{MBe(e);break}case T.BODY:{TBe(e,t);break}case T.HTML:{_Be(e,t);break}case T.FORM:{NBe(e);break}case T.APPLET:case T.OBJECT:case T.MARQUEE:{jBe(e,t);break}case T.TEMPLATE:{bp(e,t);break}default:Nie(e,t)}}function Cie(e,t){e.tmplInsertionModeStack.length>0?Die(e,t):$5(e,t)}function LBe(e,t){var n;t.tagID===T.SCRIPT&&((n=e.scriptHandler)===null||n===void 0||n.call(e,e.openElements.current)),e.openElements.pop(),e.insertionMode=e.originalInsertionMode}function DBe(e,t){e._err(t,Ne.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function EN(e,t){if(e.openElements.currentTagId!==void 0&&Eie.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=se.IN_TABLE_TEXT,t.type){case On.CHARACTER:{Iie(e,t);break}case On.WHITESPACE_CHARACTER:{Rie(e,t);break}}else t1(e,t)}function $Be(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,ze.HTML),e.insertionMode=se.IN_CAPTION}function QBe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,ze.HTML),e.insertionMode=se.IN_COLUMN_GROUP}function BBe(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Oe.COLGROUP,T.COLGROUP),e.insertionMode=se.IN_COLUMN_GROUP,Q5(e,t)}function UBe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,ze.HTML),e.insertionMode=se.IN_TABLE_BODY}function zBe(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Oe.TBODY,T.TBODY),e.insertionMode=se.IN_TABLE_BODY,l_(e,t)}function FBe(e,t){e.openElements.hasInTableScope(T.TABLE)&&(e.openElements.popUntilTagNamePopped(T.TABLE),e._resetInsertionMode(),e._processStartTag(t))}function VBe(e,t){Aie(t)?e._appendElement(t,ze.HTML):t1(e,t),t.ackSelfClosing=!0}function XBe(e,t){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(t,ze.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function zg(e,t){switch(t.tagID){case T.TD:case T.TH:case T.TR:{zBe(e,t);break}case T.STYLE:case T.SCRIPT:case T.TEMPLATE:{Al(e,t);break}case T.COL:{BBe(e,t);break}case T.FORM:{XBe(e,t);break}case T.TABLE:{FBe(e,t);break}case T.TBODY:case T.TFOOT:case T.THEAD:{UBe(e,t);break}case T.INPUT:{VBe(e,t);break}case T.CAPTION:{$Be(e,t);break}case T.COLGROUP:{QBe(e,t);break}default:t1(e,t)}}function Fy(e,t){switch(t.tagID){case T.TABLE:{e.openElements.hasInTableScope(T.TABLE)&&(e.openElements.popUntilTagNamePopped(T.TABLE),e._resetInsertionMode());break}case T.TEMPLATE:{bp(e,t);break}case T.BODY:case T.CAPTION:case T.COL:case T.COLGROUP:case T.HTML:case T.TBODY:case T.TD:case T.TFOOT:case T.TH:case T.THEAD:case T.TR:break;default:t1(e,t)}}function t1(e,t){const n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,a_(e,t),e.fosterParentingEnabled=n}function Rie(e,t){e.pendingCharacterTokens.push(t)}function Iie(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function EO(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===T.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===T.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===T.OPTGROUP&&e.openElements.pop();break}case T.OPTION:{e.openElements.currentTagId===T.OPTION&&e.openElements.pop();break}case T.SELECT:{e.openElements.hasInSelectScope(T.SELECT)&&(e.openElements.popUntilTagNamePopped(T.SELECT),e._resetInsertionMode());break}case T.TEMPLATE:{bp(e,t);break}}}function ZBe(e,t){const n=t.tagID;n===T.CAPTION||n===T.TABLE||n===T.TBODY||n===T.TFOOT||n===T.THEAD||n===T.TR||n===T.TD||n===T.TH?(e.openElements.popUntilTagNamePopped(T.SELECT),e._resetInsertionMode(),e._processStartTag(t)):Mie(e,t)}function KBe(e,t){const n=t.tagID;n===T.CAPTION||n===T.TABLE||n===T.TBODY||n===T.TFOOT||n===T.THEAD||n===T.TR||n===T.TD||n===T.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(T.SELECT),e._resetInsertionMode(),e.onEndTag(t)):Lie(e,t)}function JBe(e,t){switch(t.tagID){case T.BASE:case T.BASEFONT:case T.BGSOUND:case T.LINK:case T.META:case T.NOFRAMES:case T.SCRIPT:case T.STYLE:case T.TEMPLATE:case T.TITLE:{Al(e,t);break}case T.CAPTION:case T.COLGROUP:case T.TBODY:case T.TFOOT:case T.THEAD:{e.tmplInsertionModeStack[0]=se.IN_TABLE,e.insertionMode=se.IN_TABLE,zg(e,t);break}case T.COL:{e.tmplInsertionModeStack[0]=se.IN_COLUMN_GROUP,e.insertionMode=se.IN_COLUMN_GROUP,Q5(e,t);break}case T.TR:{e.tmplInsertionModeStack[0]=se.IN_TABLE_BODY,e.insertionMode=se.IN_TABLE_BODY,l_(e,t);break}case T.TD:case T.TH:{e.tmplInsertionModeStack[0]=se.IN_ROW,e.insertionMode=se.IN_ROW,c_(e,t);break}default:e.tmplInsertionModeStack[0]=se.IN_BODY,e.insertionMode=se.IN_BODY,Us(e,t)}}function e8e(e,t){t.tagID===T.TEMPLATE&&bp(e,t)}function Die(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(T.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):$5(e,t)}function t8e(e,t){t.tagID===T.HTML?Us(e,t):JE(e,t)}function $ie(e,t){var n;if(t.tagID===T.HTML){if(e.fragmentContext||(e.insertionMode=se.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===T.HTML){e._setEndLocation(e.openElements.items[0],t);const i=e.openElements.items[1];i&&!(!((n=e.treeAdapter.getNodeSourceCodeLocation(i))===null||n===void 0)&&n.endTag)&&e._setEndLocation(i,t)}}else JE(e,t)}function JE(e,t){e.insertionMode=se.IN_BODY,a_(e,t)}function n8e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.FRAMESET:{e._insertElement(t,ze.HTML);break}case T.FRAME:{e._appendElement(t,ze.HTML),t.ackSelfClosing=!0;break}case T.NOFRAMES:{Al(e,t);break}}}function i8e(e,t){t.tagID===T.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==T.FRAMESET&&(e.insertionMode=se.AFTER_FRAMESET))}function r8e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.NOFRAMES:{Al(e,t);break}}}function s8e(e,t){t.tagID===T.HTML&&(e.insertionMode=se.AFTER_AFTER_FRAMESET)}function a8e(e,t){t.tagID===T.HTML?Us(e,t):mw(e,t)}function mw(e,t){e.insertionMode=se.IN_BODY,a_(e,t)}function o8e(e,t){switch(t.tagID){case T.HTML:{Us(e,t);break}case T.NOFRAMES:{Al(e,t);break}}}function l8e(e,t){t.chars=Gi,e._insertCharacters(t)}function c8e(e,t){e._insertCharacters(t),e.framesetOk=!1}function Qie(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==ze.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function u8e(e,t){if(k6e(t))Qie(e),e._startTagOutsideForeignContent(t);else{const n=e._getAdjustedCurrentElement(),i=e.treeAdapter.getNamespaceURI(n);i===ze.MATHML?vie(t):i===ze.SVG&&(T6e(t),wie(t)),L5(t),t.selfClosing?e._appendElement(t,i):e._insertElement(t,i),t.ackSelfClosing=!0}}function d8e(e,t){if(t.tagID===T.P||t.tagID===T.BR){Qie(e),e._endTagOutsideForeignContent(t);return}for(let n=e.openElements.stackTop;n>0;n--){const i=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(i)===ze.HTML){e._endTagOutsideForeignContent(t);break}const r=e.treeAdapter.getTagName(i);if(r.toLowerCase()===t.tagName){t.tagName=r,e.openElements.shortenToLength(n);break}}}Oe.AREA,Oe.BASE,Oe.BASEFONT,Oe.BGSOUND,Oe.BR,Oe.COL,Oe.EMBED,Oe.FRAME,Oe.HR,Oe.IMG,Oe.INPUT,Oe.KEYGEN,Oe.LINK,Oe.META,Oe.PARAM,Oe.SOURCE,Oe.TRACK,Oe.WBR;const f8e=/<(\/?)(iframe|noembed|noframes|plaintext|script|style|textarea|title|xmp)(?=[\t\n\f\r />])/gi,h8e=new Set(["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"]),s7={sourceCodeLocationInfo:!0,scriptingEnabled:!1};function Bie(e,t){const n=w8e(e),i=tne("type",{handlers:{root:p8e,element:m8e,text:g8e,comment:zie,doctype:O8e,raw:y8e},unknown:x8e}),r={parser:n?new n7(s7):n7.getFragmentParser(void 0,s7),handle(o){i(o,r)},stitches:!1,options:t||{}};i(e,r),T0(r,_c());const s=n?r.parser.document:r.parser.getFragment(),a=EQe(s,{file:r.options.file});return r.stitches&&Jx(a,"comment",function(o,l,u){const d=o;if(d.value.stitch&&u&&l!==void 0){const f=u.children;return f[l]=d.value.stitch,l}}),a.type==="root"&&a.children.length===1&&a.children[0].type===e.type?a.children[0]:a}function Uie(e,t){let n=-1;if(e)for(;++n4&&(t.parser.tokenizer.state=0);const n={type:On.CHARACTER,chars:e.value,location:n1(e)};T0(t,_c(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function O8e(e,t){const n={type:On.DOCTYPE,name:"html",forceQuirks:!1,publicId:"",systemId:"",location:n1(e)};T0(t,_c(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function b8e(e,t){t.stitches=!0;const n=E8e(e);if("children"in e&&"children"in n){const i=Bie({type:"root",children:e.children},t.options);n.children=i.children}zie({type:"comment",value:{stitch:n}},t)}function zie(e,t){const n=e.value,i={type:On.COMMENT,data:n,location:n1(e)};T0(t,_c(e)),t.parser.currentToken=i,t.parser._processToken(t.parser.currentToken)}function y8e(e,t){if(t.parser.tokenizer.preprocessor.html="",t.parser.tokenizer.preprocessor.pos=-1,t.parser.tokenizer.preprocessor.lastGapPos=-2,t.parser.tokenizer.preprocessor.gapStack=[],t.parser.tokenizer.preprocessor.skipNextNewLine=!1,t.parser.tokenizer.preprocessor.lastChunkWritten=!1,t.parser.tokenizer.preprocessor.endOfChunkHit=!1,t.parser.tokenizer.preprocessor.isEol=!1,Fie(t,_c(e)),t.parser.tokenizer.write(t.options.tagfilter?e.value.replace(f8e,"<$1$2"):e.value,!1),t.parser.tokenizer._runParsingLoop(),t.parser.tokenizer.state===72||t.parser.tokenizer.state===78){t.parser.tokenizer.preprocessor.lastChunkWritten=!0;const n=t.parser.tokenizer._consume();t.parser.tokenizer._callState(n)}}function x8e(e,t){const n=e;if(t.options.passThrough&&t.options.passThrough.includes(n.type))b8e(n,t);else{let i="";throw h8e.has(n.type)&&(i=". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax"),new Error("Cannot compile `"+n.type+"` node"+i)}}function T0(e,t){Fie(e,t);const n=e.parser.tokenizer.currentCharacterToken;n&&n.location&&(n.location.endLine=e.parser.tokenizer.preprocessor.line,n.location.endCol=e.parser.tokenizer.preprocessor.col+1,n.location.endOffset=e.parser.tokenizer.preprocessor.offset+1,e.parser.currentToken=n,e.parser._processToken(e.parser.currentToken)),e.parser.tokenizer.paused=!1,e.parser.tokenizer.inLoop=!1,e.parser.tokenizer.active=!1,e.parser.tokenizer.returnState=wr.DATA,e.parser.tokenizer.charRefCode=-1,e.parser.tokenizer.consumedAfterSnapshot=-1,e.parser.tokenizer.currentLocation=null,e.parser.tokenizer.currentCharacterToken=null,e.parser.tokenizer.currentToken=null,e.parser.tokenizer.currentAttr={name:"",value:""}}function Fie(e,t){if(t&&t.offset!==void 0){const n={startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:-1,endCol:-1,endOffset:-1};e.parser.tokenizer.preprocessor.lineStartPos=-t.column+1,e.parser.tokenizer.preprocessor.droppedBufferSize=t.offset,e.parser.tokenizer.preprocessor.line=t.line,e.parser.tokenizer.currentLocation=n}}function S8e(e,t){const n=e.tagName.toLowerCase();if(t.parser.tokenizer.state===wr.PLAINTEXT)return;T0(t,_c(e));const i=t.parser.openElements.current;let r="namespaceURI"in i?i.namespaceURI:bh.html;r===bh.html&&n==="svg"&&(r=bh.svg);const s=NQe({...e,children:[]},{space:r===bh.svg?"svg":"html"}),a={type:On.START_TAG,tagName:n,tagID:k0(n),selfClosing:!1,ackSelfClosing:!1,attrs:"attrs"in s?s.attrs:[],location:n1(e)};t.parser.currentToken=a,t.parser._processToken(t.parser.currentToken),t.parser.tokenizer.lastStartTagName=n}function v8e(e,t){const n=e.tagName.toLowerCase();if(!t.parser.tokenizer.inForeignNode&&DQe.includes(n)||t.parser.tokenizer.state===wr.PLAINTEXT)return;T0(t,e_(e));const i={type:On.END_TAG,tagName:n,tagID:k0(n),selfClosing:!1,ackSelfClosing:!1,attrs:[],location:n1(e)};t.parser.currentToken=i,t.parser._processToken(t.parser.currentToken),n===t.parser.tokenizer.lastStartTagName&&(t.parser.tokenizer.state===wr.RCDATA||t.parser.tokenizer.state===wr.RAWTEXT||t.parser.tokenizer.state===wr.SCRIPT_DATA)&&(t.parser.tokenizer.state=wr.DATA)}function w8e(e){const t=e.type==="root"?e.children[0]:e;return!!(t&&(t.type==="doctype"||t.type==="element"&&t.tagName.toLowerCase()==="html"))}function n1(e){const t=_c(e)||{line:void 0,column:void 0,offset:void 0},n=e_(e)||{line:void 0,column:void 0,offset:void 0};return{startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:n.line,endCol:n.column,endOffset:n.offset}}function E8e(e){return"children"in e?Bg({...e,children:[]}):Bg(e)}function k8e(e){return function(t,n){return Bie(t,{...e,file:n})}}const Vie=[".mp4",".webm",".mov",".m4v",".ogg",".avi"];function Xie(e){if(!e)return!1;try{const t=e.toLowerCase();return Vie.some(n=>t.includes(n))}catch{return!1}}function T8e(e){var i;const t=(i=e==null?void 0:e.properties)==null?void 0:i.href;if(!t)return!1;if(Xie(t))return!0;const n=e==null?void 0:e.children;if(n&&Array.isArray(n)){const r=n.map(s=>(s==null?void 0:s.value)||"").join("").toLowerCase();return Vie.some(s=>r.includes(s))}return!1}function _8e({text:e,className:t,allowRawHtml:n=!0}){const[i,r]=O.useState(null),s=(l,u)=>{if(l.src)return l.src;if(u){const d=h=>{var p;if(!h)return null;if(h.type==="source"&&((p=h.properties)!=null&&p.src))return h.properties.src;if(h.children)for(const m of h.children){const g=d(m);if(g)return g}return null},f=d({children:u});if(f)return f}return""},a=l=>{try{const d=new URL(l).pathname.split("/");return d[d.length-1]||"video.mp4"}catch{return"video.mp4"}},o=l=>l?Array.isArray(l)?l.map(u=>(u==null?void 0:u.value)||"").join("")||"video":(l==null?void 0:l.value)||"video":"video";return c.jsxs("div",{className:t?`md ${t}`:"md",children:[c.jsx(CDe,{remarkPlugins:[F$e],rehypePlugins:n?[k8e,zU]:[zU],components:{a:({node:l,...u})=>{const d=u.href;if(d&&(Xie(d)||T8e(l))){const f=d,h=o(l==null?void 0:l.children);return c.jsxs("div",{className:"video-container",children:[c.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":`点击播放视频: ${h}`,onClick:()=>r({src:f,title:h}),children:[c.jsx("video",{src:f,playsInline:!0,className:"video-thumbnail",preload:"metadata"}),c.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:c.jsx(Ih,{})})]}),c.jsx("div",{className:"video-caption",children:c.jsx("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"video-link-text",children:h})})]})}return c.jsx("a",{...u,target:"_blank",rel:"noopener noreferrer"})},img:({node:l,src:u,alt:d,...f})=>{const h=c.jsx("img",{...f,src:u,alt:d??"",loading:"lazy"});return u?c.jsx(aZ,{src:u,children:c.jsxs("button",{type:"button",className:"image-preview-trigger","aria-label":`放大预览:${d||"图片"}`,children:[h,c.jsx("span",{className:"image-preview-hint","aria-hidden":"true",children:c.jsx(Ih,{})})]})}):h},video:({node:l,src:u,children:d,...f})=>{const h=s({src:u},d);return h?c.jsx("div",{className:"video-container",children:c.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":"点击放大视频",onClick:()=>r({src:h}),children:[c.jsx("video",{src:h,...f,playsInline:!0,className:"video-thumbnail",children:d}),c.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:c.jsx(Ih,{})})]})}):c.jsx("video",{src:u,controls:!0,playsInline:!0,className:"video-inline",...f,children:d})}},children:e}),i&&c.jsx("div",{className:"video-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":"视频预览",onClick:()=>r(null),children:c.jsxs("div",{className:"video-viewer",onClick:l=>l.stopPropagation(),children:[c.jsxs("div",{className:"video-viewer-header",children:[c.jsx("div",{className:"video-viewer-title",children:i.title||a(i.src)}),c.jsxs("nav",{className:"video-viewer-nav",children:[c.jsx("a",{href:i.src,download:i.title||a(i.src),"aria-label":"下载视频",title:"下载视频",className:"video-viewer-download",children:c.jsx(ET,{})}),c.jsx("button",{type:"button",className:"video-viewer-close","aria-label":"关闭",onClick:()=>r(null),children:c.jsx(aa,{})})]})]}),c.jsx("div",{className:"video-viewer-body",children:c.jsx("video",{src:i.src,controls:!0,autoPlay:!0,playsInline:!0,className:"video-fullscreen"})})]})})]})}const i1=O.memo(_8e);function u_({value:e,skillPrefix:t="/",onRemoveSkill:n,onRemoveAgent:i}){return e.skills.length===0&&!e.targetAgent?null:c.jsxs("div",{className:"invocation-chips","aria-label":"本轮调用上下文",children:[e.skills.map(r=>c.jsxs("span",{className:"invocation-chip invocation-chip--skill",title:r.description,children:[c.jsx(Sy,{"aria-hidden":!0}),c.jsxs("span",{children:[t,r.name]}),n?c.jsx("button",{type:"button",onClick:()=>n(r.name),"aria-label":`移除技能 ${r.name}`,children:c.jsx(aa,{})}):null]},r.name)),e.targetAgent?c.jsxs("span",{className:"invocation-chip invocation-chip--agent",title:e.targetAgent.description,children:[c.jsx(cZ,{"aria-hidden":!0}),c.jsx("span",{children:e.targetAgent.name}),i?c.jsx("button",{type:"button",onClick:i,"aria-label":`移除 Agent ${e.targetAgent.name}`,children:c.jsx(aa,{})}):null]}):null]})}function B5(e=""){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e==="application/pdf"?"pdf":e==="text/markdown"?"markdown":"text"}function qie(e){var n,i,r,s;const t=B5(e.mimeType);return t==="pdf"?"PDF":t==="markdown"?"MD":t==="video"?((i=(n=e.mimeType)==null?void 0:n.split("/")[1])==null?void 0:i.toUpperCase())??"VIDEO":t==="image"?((s=(r=e.mimeType)==null?void 0:r.split("/")[1])==null?void 0:s.toUpperCase())??"IMAGE":"TXT"}function Hie(e){return e?e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:""}function Yie(e,t){return e.previewUrl?e.previewUrl:e.data?`data:${e.mimeType??"application/octet-stream"};base64,${e.data}`:e.uri?WZ(t,e.uri):""}function A8e({kind:e}){return e==="image"?c.jsx(OD,{}):e==="video"?c.jsx(hZ,{}):e==="pdf"?c.jsx(Jxe,{}):c.jsx(mD,{})}function d_({appName:e,items:t,compact:n=!1,onRemove:i}){const[r,s]=O.useState(null);return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:`media-grid${n?" media-grid--compact":""}`,children:t.map(a=>{const o=B5(a.mimeType),l=Yie(a,e),u=a.status==="uploading"||a.status==="error"||!l,d=c.jsxs("button",{type:"button",className:"media-card-main",disabled:u,onClick:o==="image"?void 0:()=>s(a),"aria-label":`预览 ${a.name??"附件"}`,children:[o==="image"&&l?c.jsx("img",{className:"media-card-image",src:l,alt:a.name??"图片",loading:"lazy"}):o==="video"&&l?c.jsxs("div",{className:"media-card-video-container",children:[c.jsx("video",{className:"media-card-video",src:l,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}),c.jsx("span",{className:"media-card-video-play",children:c.jsx(h1e,{})})]}):c.jsx("span",{className:"media-card-icon",children:c.jsx(A8e,{kind:o})}),c.jsxs("span",{className:"media-card-copy",children:[c.jsx("span",{className:"media-card-name",children:a.name??"附件"}),c.jsxs("span",{className:"media-card-meta",children:[c.jsx("span",{className:"media-card-type",children:qie(a)}),a.status==="uploading"?c.jsxs(c.Fragment,{children:[c.jsx(qn,{className:"media-card-spinner"})," 上传中"]}):a.status==="error"?a.error??"上传失败":Hie(a.sizeBytes)]})]}),!n&&a.status!=="uploading"&&a.status!=="error"?c.jsx(Ih,{className:"media-card-open"}):null]});return c.jsxs(dr.div,{className:`media-card media-card--${o}${a.status==="error"?" media-card--error":""}`,layout:!0,initial:{opacity:0,scale:.985,y:4},animate:{opacity:1,scale:1,y:0},children:[o==="image"&&!u?c.jsx(aZ,{src:l,children:d}):d,i?c.jsx("button",{type:"button",className:"media-card-remove","aria-label":`移除 ${a.name??"附件"}`,onClick:()=>i(a.id),children:c.jsx(aa,{})}):null]},a.id)})}),c.jsx(Zd,{children:r?c.jsx(N8e,{appName:e,item:r,onClose:()=>s(null)}):null})]})}function N8e({appName:e,item:t,onClose:n}){const i=O.useMemo(()=>Yie(t,e),[e,t]),r=B5(t.mimeType),[s,a]=O.useState(""),[o,l]=O.useState(r==="text"||r==="markdown"),[u,d]=O.useState("");return O.useEffect(()=>{const f=h=>{h.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]),O.useEffect(()=>{if(r!=="text"&&r!=="markdown")return;const f=new AbortController;return l(!0),d(""),fetch(i,{signal:f.signal}).then(h=>{if(!h.ok)throw new Error(`HTTP ${h.status}`);return h.text()}).then(a).catch(h=>{f.signal.aborted||d(h instanceof Error?h.message:String(h))}).finally(()=>{f.signal.aborted||l(!1)}),()=>f.abort()},[r,i]),c.jsx(dr.div,{className:"media-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":t.name??"附件预览",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onMouseDown:f=>{f.target===f.currentTarget&&n()},children:c.jsxs(dr.div,{className:"media-viewer",initial:{opacity:0,y:18,scale:.985},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:10,scale:.99},transition:{type:"spring",stiffness:420,damping:30},children:[c.jsxs("header",{className:"media-viewer-header",children:[c.jsxs("div",{children:[c.jsx("strong",{children:t.name??"附件"}),c.jsxs("span",{children:[qie(t),t.sizeBytes?` · ${Hie(t.sizeBytes)}`:""]})]}),c.jsxs("nav",{children:[c.jsx("a",{href:i,download:t.name,"aria-label":"下载",children:c.jsx(ET,{})}),c.jsx("button",{type:"button",onClick:n,"aria-label":"关闭",children:c.jsx(aa,{})})]})]}),c.jsxs("div",{className:`media-viewer-body media-viewer-body--${r}`,children:[r==="image"?c.jsx("img",{src:i,alt:t.name??"图片"}):null,r==="video"?c.jsx("div",{className:"media-viewer-video-wrapper",children:c.jsx("video",{src:i,controls:!0,autoPlay:!0,playsInline:!0,preload:"auto",className:"media-viewer-video"})}):null,r==="pdf"?c.jsx("iframe",{src:i,title:t.name??"PDF"}):null,o?c.jsxs("div",{className:"media-viewer-loading",children:[c.jsx(qn,{})," 正在读取文档…"]}):null,!o&&u?c.jsxs("div",{className:"media-viewer-loading",children:["文档加载失败:",u]}):null,!o&&r==="markdown"?c.jsx("div",{className:"media-document",children:c.jsx(i1,{text:s})}):null,!o&&r==="text"?c.jsx("pre",{className:"media-document media-document--plain",children:s}):null]})]})})}function C8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"10.25",cy:"10.25",r:"6.25"}),c.jsx("path",{d:"M4.15 10.25h12.2M10.25 4c1.65 1.72 2.5 3.8 2.5 6.25s-.85 4.53-2.5 6.25M10.25 4c-1.65 1.72-2.5 3.8-2.5 6.25s.85 4.53 2.5 6.25M14.8 14.8 20 20"})]})}function R8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.25",y:"5.25",width:"15.5",height:"13.5",rx:"2.25"}),c.jsx("circle",{cx:"8.1",cy:"9.3",r:"1.35"}),c.jsx("path",{d:"m4.7 16.5 3.65-3.7 2.45 2.25 2.2-2.2 4.35 4.1"}),c.jsx("path",{d:"m19.4 2.75.48 1.37 1.37.48-1.37.48-.48 1.37-.48-1.37-1.37-.48 1.37-.48.48-1.37Z",fill:"currentColor",stroke:"none"})]})}function U5(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{className:"video-generate-icon__body",d:"M3.25 9h17.5v7.35a2.4 2.4 0 0 1-2.4 2.4H5.65a2.4 2.4 0 0 1-2.4-2.4V9Z"}),c.jsxs("g",{className:"video-generate-icon__clapper",children:[c.jsx("path",{d:"M3.25 9V7.65a2.4 2.4 0 0 1 2.4-2.4h12.7a2.4 2.4 0 0 1 2.4 2.4V9H3.25Z"}),c.jsx("path",{d:"M6.75 5.25 9.3 9M12 5.25 14.55 9M17.25 5.25 19.8 9"})]}),c.jsx("path",{d:"m10.25 11.45 4 2.55-4 2.55v-5.1Z"})]})}function I8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M4.25 5.25h15.5v10.5H4.25zM8.25 19.75h7.5M12 15.75v4"}),c.jsx("path",{d:"m7.25 12.75 2.35-2.4 2.15 1.65 3.4-3.6 1.6 1.55"}),c.jsx("circle",{cx:"7.25",cy:"8.4",r:".7",fill:"currentColor",stroke:"none"})]})}function P8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M5 7.4c0-1.55 3.13-2.8 7-2.8s7 1.25 7 2.8-3.13 2.8-7 2.8-7-1.25-7-2.8Z"}),c.jsx("path",{d:"M5 7.4v4.55c0 1.55 3.13 2.8 7 2.8s7-1.25 7-2.8V7.4M5 11.95v4.55c0 1.55 3.13 2.8 7 2.8s7-1.25 7-2.8v-4.55"}),c.jsx("path",{d:"M8.2 12.25h.01M8.2 16.8h.01"})]})}function j8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M4.25 4.25h4.5v15.5h-4.5zM8.75 5.75h5v14h-5zM13.75 4.25h4.1v10.25h-4.1z"}),c.jsx("path",{d:"M5.75 7h1.5M10.25 8.25h2M10.25 11h2M15.15 7h1.3"}),c.jsx("circle",{cx:"17.45",cy:"17.35",r:"2.45"}),c.jsx("path",{d:"m19.25 19.15 1.55 1.55"})]})}function M8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M4.25 6.25h6.25c1 0 1.5.55 1.5 1.45v11.05c0-.9-.5-1.45-1.5-1.45H4.25V6.25Z"}),c.jsx("path",{d:"M19.75 9.1v8.2H13.5c-1 0-1.5.55-1.5 1.45V7.7c0-.9.5-1.45 1.5-1.45h2.15"}),c.jsx("path",{d:"m19 3.2.58 1.62 1.62.58-1.62.58L19 7.6l-.58-1.62-1.62-.58 1.62-.58L19 3.2Z",fill:"currentColor",stroke:"none"})]})}function L8e(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"m4.2 8.4 1.15 10.2h13.3L19.8 8.4"}),c.jsx("path",{d:"M4.2 8.4h15.6L17.9 5H6.1L4.2 8.4Z"}),c.jsx("path",{d:"M7.2 12.2c1.1-1 2.25 1.25 3.4.25 1.05-.9 2.15 1.3 3.3.25"}),c.jsx("path",{d:"m8.2 15.1 1.45 1.35 1.45-1.35M13.55 16.45h2.35"})]})}function Gie(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m6 3.25 4.5 4.75L6 12.75"})})}function D8e({definition:e,label:t,done:n,open:i,onToggle:r}){const s=e.icon,a=t??(n?e.doneLabel:e.runningLabel);return c.jsxs("button",{type:"button",className:`builtin-tool-head${n?" is-done":" is-running"}`,"data-tool-tone":e.tone,onClick:r,"aria-expanded":i,children:[c.jsx("span",{className:"builtin-tool-icon","aria-hidden":"true",children:c.jsx(s,{})}),n?c.jsx("span",{className:"builtin-tool-label",children:a}):c.jsx(hs,{className:"builtin-tool-label",duration:2.4,spread:18,"aria-live":"polite",children:a}),c.jsx(Gie,{className:`builtin-tool-chevron${i?" is-open":""}`})]})}const $8e={web_search:{name:"web_search",runningLabel:"正在进行网络搜索",doneLabel:"已完成网络搜索",tone:"search",icon:C8e},run_code:{name:"run_code",runningLabel:"正在 AgentKit 沙箱中执行代码",doneLabel:"已在 AgentKit 沙箱中完成代码执行",tone:"sandbox",icon:L8e},image_generate:{name:"image_generate",runningLabel:"正在生成图片",doneLabel:"已完成图片生成",tone:"image",icon:R8e},video_generate:{name:"video_generate",runningLabel:"正在生成视频",doneLabel:"已完成视频生成",tone:"video",icon:U5},ppt_generate:{name:"ppt_generate",runningLabel:"正在生成 PPT",doneLabel:"已完成 PPT 生成",tone:"presentation",icon:I8e},load_memory:{name:"load_memory",runningLabel:"正在检索长期记忆",doneLabel:"已完成记忆检索",tone:"memory",icon:P8e},load_knowledgebase:{name:"load_knowledgebase",runningLabel:"正在检索知识库",doneLabel:"已完成知识库检索",tone:"knowledge",icon:j8e},load_skill:{name:"load_skill",runningLabel:"正在加载技能",doneLabel:"已加载技能",tone:"skill",icon:M8e}};function Q8e(e){return $8e[e]}function B8e(e){return c.jsx("svg",{viewBox:"0 0 111 117",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"M0 5.6016C7.82288e-05 0.621244 6.02226 -1.87314 9.54395 1.64847L40.1289 32.2334L68.5732 3.7891C69.5834 2.77903 70.9533 2.21099 72.3818 2.21097H82.7031C82.7917 2.20658 82.8806 2.20414 82.9697 2.20414H104.775C109.574 2.20427 111.977 8.00691 108.584 11.4004L64.916 55.0664C64.3075 55.8528 63.9436 56.7647 63.8242 57.6993C63.7142 56.4884 63.1964 55.3069 62.2695 54.3799L45.4082 37.5186H45.4072L40.124 32.2354L17.832 54.5284C16.7671 55.5933 16.2416 56.993 16.2549 58.3887C16.2417 59.7843 16.7672 61.1842 17.832 62.2491L39.9287 84.3467L9.54395 114.733C6.0223 118.255 0.000223474 115.761 0 110.78V5.6016ZM63.8018 58.8702C63.8962 59.9086 64.2936 60.9229 64.9961 61.7735L108.591 105.368C111.984 108.762 109.58 114.564 104.781 114.564H94.4336C94.3543 114.568 94.274 114.569 94.1934 114.569H72.3877C70.9592 114.569 69.5892 114.002 68.5791 112.992L39.9336 84.3467L58.4531 65.8282L58.4453 65.8203L62.2695 61.9981C63.1476 61.12 63.6567 60.0136 63.8018 58.8702Z",fill:"currentColor"})})}const Wie="send_a2ui_json_to_client",U8e=28;function z8e(e,t,n){let i=t;for(let r=0;r65535?2:1}return i}function F8e(e){return e<=4?1:Math.min(18,Math.max(2,Math.ceil(e/6)))}function Zie(e,t,n,i){const[r,s]=O.useState(()=>t?"":e),a=O.useRef(r),o=O.useRef(e),l=O.useRef(null),u=O.useRef(0),d=O.useRef(n);return o.current=e,d.current=n,O.useEffect(()=>{const f=a.current,h=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!t||h||!e.startsWith(f)){l.current!==null&&window.cancelAnimationFrame(l.current),l.current=null,f!==e&&(a.current=e,s(e));return}if(f===e||l.current!==null)return;const p=m=>{const g=o.current,y=a.current;if(!g.startsWith(y)){a.current=g,s(g),l.current=null;return}if(m-u.current{var f;(f=d.current)==null||f.call(d)},[r]),O.useEffect(()=>{r===e&&(i==null||i())},[r,i,e]),O.useEffect(()=>()=>{l.current!==null&&(window.cancelAnimationFrame(l.current),l.current=null)},[]),r}function V8e(){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:c.jsx("path",{d:"M14.3 5.25a4.6 4.6 0 0 0-5.55 5.55L3.6 15.95a1.8 1.8 0 0 0 0 2.55l1.9 1.9a1.8 1.8 0 0 0 2.55 0l5.15-5.15a4.6 4.6 0 0 0 5.55-5.55l-2.9 2.9-2.45-.55-.55-2.45 2.9-2.9a4.6 4.6 0 0 0-1.45-1.45Z"})})}function X8e(e,t){if(e!=="load_skill"||t==null||typeof t!="object"||Array.isArray(t))return;const n=t.skill_name;if(!(typeof n!="string"||!n.trim()))return`使用 ${n.trim()} 技能`}function Kie({text:e,done:t,answerStarted:n=!1,streaming:i=!1,onStreamFrame:r}){const[s,a]=O.useState(!(t||n)),o=O.useRef(!1);O.useEffect(()=>{o.current||a(!(t||n))},[n,t]);const l=()=>{o.current=!0,a(p=>!p)},u=e.replace(/^\s+/,""),d=Zie(u,!t||i,r),{ref:f,onScroll:h}=JIe(d);return c.jsxs("div",{className:"block-thinking",children:[c.jsxs("button",{className:"think-head",onClick:l,type:"button",children:[c.jsx("span",{className:"think-icon","aria-hidden":"true",children:c.jsx(B8e,{className:`thinking-logo ${t?"":"is-active"}`})}),t?c.jsx("span",{className:"think-label think-label--done",children:"已完成思考"}):c.jsx(hs,{className:"think-label",duration:2.4,spread:18,children:"思考中"}),c.jsx(m0,{className:`chev ${s?"open":""}`})]}),c.jsx("div",{className:`think-collapse ${s&&d?"open":""}`,children:c.jsx("div",{className:"think-collapse-inner",children:c.jsx("div",{className:"think-body scroll",ref:f,onScroll:h,children:d})})})]})}function Jie(){return c.jsx(Kie,{text:"",done:!1})}const q8e=O.memo(function({text:t,streaming:n,onStreamFrame:i,onStreamComplete:r}){const s=Zie(t,n,i,r);return s?c.jsx("div",{className:"bubble",children:c.jsx(i1,{text:s})}):null});function H8e({name:e,args:t,response:n,done:i}){const[r,s]=O.useState(!1),a=e===Wie?"渲染 UI":e,o=Q8e(e),l=n==null?null:typeof n=="string"?n:JSON.stringify(n,null,2),u=l&&l.length>2e3?l.slice(0,2e3)+` +…(已截断)`:l;return c.jsxs(dr.div,{className:`block-tool${o?" block-tool--builtin":""}`,initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[o?c.jsx(D8e,{definition:o,label:X8e(e,t),done:i,open:r,onToggle:()=>s(d=>!d)}):c.jsxs("button",{className:"tool-head tool-head--generic",onClick:()=>s(d=>!d),type:"button","aria-expanded":r,children:[c.jsx("span",{className:"tool-icon tool-icon--generic","aria-hidden":"true",children:c.jsx(V8e,{})}),i?c.jsx("span",{className:"tool-name",children:a}):c.jsx(hs,{className:"tool-name",duration:2.2,spread:15,children:a}),c.jsx(Gie,{className:`tool-chevron${r?" is-open":""}`})]}),c.jsx("div",{className:`think-collapse ${r?"open":""}`,children:c.jsx("div",{className:"think-collapse-inner",children:c.jsxs("div",{className:"tool-detail",children:[t!=null&&c.jsxs("div",{className:"tool-section",children:[c.jsx("div",{className:"tool-section-label",children:"参数"}),c.jsx("pre",{className:"tool-args",children:JSON.stringify(t,null,2)})]}),u!=null&&c.jsxs("div",{className:"tool-section",children:[c.jsx("div",{className:"tool-section-label",children:"返回"}),c.jsx("pre",{className:"tool-args tool-result",children:u})]})]})})})]})}function Y8e({block:e,onDownload:t,onPreview:n}){const[i,r]=O.useState(""),[s,a]=O.useState(""),[o,l]=O.useState(null);O.useEffect(()=>()=>{o&&URL.revokeObjectURL(o.url)},[o]);const u=()=>l(null),d=async(p,m)=>{if(t){r(`download:${p}`),a("");try{await t(p,m)}catch(g){a(g instanceof Error?g.message:String(g))}finally{r("")}}},f=async(p,m,g)=>{if(n){r(`preview:${g}`),a("");try{const y=await n(p,m);l({name:g,url:y})}catch(y){a(y instanceof Error?y.message:String(y))}finally{r("")}}},h=e.files.filter(p=>!p.filename.endsWith(".preview.webp"));return c.jsxs("div",{className:"artifact-list",children:[h.map(p=>{const m=`${p.filename.replace(/\.pptx$/i,"")}.preview.webp`,g=e.files.find(y=>y.filename===m);return c.jsxs("div",{className:"artifact-card",children:[c.jsx("span",{className:"artifact-card__icon","aria-hidden":"true",children:c.jsx(mD,{})}),c.jsxs("span",{className:"artifact-card__copy",children:[c.jsx("span",{className:"artifact-card__name",children:p.filename}),c.jsx("span",{className:"artifact-card__hint",children:"PowerPoint 演示文稿"})]}),c.jsxs("span",{className:"artifact-card__actions",children:[g&&c.jsxs("button",{className:"artifact-card__action",type:"button",disabled:!n||i!=="",onClick:()=>void f(g.filename,g.version,p.filename),children:[i===`preview:${p.filename}`?c.jsx(qn,{className:"spin"}):c.jsx(Wxe,{}),"预览"]}),c.jsxs("button",{className:"artifact-card__action artifact-card__action--primary",type:"button",disabled:!t||i!=="",onClick:()=>void d(p.filename,p.version),children:[i===`download:${p.filename}`?c.jsx(qn,{className:"spin"}):c.jsx(ET,{}),"下载"]})]})]},`${p.filename}:${p.version}`)}),s&&c.jsx("div",{className:"artifact-card__error",children:s}),o&&c.jsxs("div",{className:"artifact-preview",role:"dialog","aria-modal":"true","aria-label":`${o.name} 预览`,children:[c.jsx("button",{className:"artifact-preview__backdrop",type:"button","aria-label":"关闭预览",onClick:u}),c.jsxs("div",{className:"artifact-preview__panel",children:[c.jsxs("div",{className:"artifact-preview__header",children:[c.jsx("span",{children:o.name}),c.jsx("button",{type:"button","aria-label":"关闭预览",onClick:u,children:c.jsx(aa,{})})]}),c.jsx("div",{className:"artifact-preview__canvas",children:c.jsx("img",{src:o.url,alt:`${o.name} 幻灯片预览`})})]})]})]})}function G8e({block:e,onAuth:t}){const[n,i]=O.useState(e.done?"done":"idle"),[r,s]=O.useState(""),a=e.label||"MCP 工具集",o=(()=>{try{return e.authUri?new URL(e.authUri).host:""}catch{return""}})(),l=async()=>{if(t){s(""),i("authorizing");try{await t(e),i("done")}catch(d){s(d instanceof Error?d.message:String(d)),i("idle")}}};return e.done||n==="done"?c.jsxs(dr.div,{className:"auth-card-collapsed",initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},children:[c.jsx(jB,{className:"auth-card-icon auth-card-icon--done"}),c.jsxs("span",{children:["已授权 · ",a]})]}):c.jsxs(dr.div,{className:"auth-card",initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[c.jsxs("div",{className:"auth-card-head",children:[c.jsx(jB,{className:"auth-card-icon"}),c.jsxs("span",{className:"auth-card-title",children:[a," 需要授权"]})]}),c.jsxs("p",{className:"auth-card-desc",children:["工具集 ",c.jsx("code",{className:"auth-card-code",children:a})," 使用 OAuth 保护, 需登录授权后方可调用。",o&&c.jsxs(c.Fragment,{children:[" ","将跳转至 ",c.jsx("code",{className:"auth-card-code",children:o})," 完成登录,"]}),"授权完成后对话自动继续。"]}),c.jsx("button",{className:"auth-card-btn",onClick:l,disabled:n==="authorizing"||!e.authUri,children:n==="authorizing"?c.jsxs(c.Fragment,{children:[c.jsx(qn,{className:"cw-i spin"})," 等待授权…"]}):c.jsx(c.Fragment,{children:"去授权"})}),!e.authUri&&c.jsx("div",{className:"auth-card-err",children:"未在事件中找到授权地址。"}),r&&c.jsx("div",{className:"auth-card-err",children:r})]})}function z5({blocks:e,appName:t="",streaming:n=!1,onStreamFrame:i,onStreamComplete:r,onAction:s,onAuth:a,onArtifactDownload:o,onArtifactPreview:l}){const u=e.reduce((d,f,h)=>f.kind==="text"?h:d,-1);return c.jsx(c.Fragment,{children:e.map((d,f)=>{switch(d.kind){case"thinking":{const h=e.slice(f+1).some(p=>p.kind==="text"&&!!p.text.trim());return c.jsx(Kie,{text:d.text,done:d.done,answerStarted:h,streaming:n,onStreamFrame:i},f)}case"text":{const h=d.text.replace(/^\s+/,"");return h?c.jsx(q8e,{text:h,streaming:n,onStreamFrame:i,onStreamComplete:f===u?r:void 0},f):null}case"attachment":return c.jsx(d_,{appName:t,items:d.files},f);case"artifact":return c.jsx(Y8e,{block:d,onDownload:o,onPreview:l},f);case"invocation":return c.jsx(u_,{value:d.value},f);case"tool":return d.name===Wie&&d.done?null:c.jsx(H8e,{name:d.name,args:d.args,response:d.response,done:d.done},f);case"agent-transfer":return null;case"auth":return c.jsx(G8e,{block:d,onAuth:a},f);case"a2ui":return fte(d.messages).filter(h=>h.components[h.rootId]).map(h=>c.jsx(dr.div,{initial:{opacity:0,y:8,scale:.985},animate:{opacity:1,y:0,scale:1},transition:{type:"spring",stiffness:380,damping:30},children:c.jsx(KIe,{surface:h,onAction:s})},`${f}-${h.surfaceId}`));default:return null}})})}const W8e=()=>{};function Z8e(e){if(e.kind==="message")return{kind:"text",text:e.text};if(e.kind==="thinking")return{kind:"thinking",text:e.text,done:e.status==="done"};if(e.kind==="tool")return{kind:"tool",name:e.name,args:e.args,response:e.response,done:e.status==="done"};throw new Error("不支持的 Skill 对话活动")}function K8e({activities:e}){const t=O.useMemo(()=>e.filter(n=>n.kind!=="status").map(Z8e),[e]);return t.length===0?null:c.jsx("div",{className:"skill-conversation","aria-label":"Skill 生成对话","aria-live":"polite",children:c.jsx(z5,{blocks:t,onAction:W8e})})}function a7(){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m7 9 5 5 5-5",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function kN({label:e,value:t,options:n,onChange:i,disabled:r=!1,allowCustom:s=!1,required:a=!1,placeholder:o="请选择",error:l}){const u=O.useId(),d=O.useId(),f=O.useId(),h=O.useRef(null),p=O.useRef(null),m=O.useRef(null),g=O.useRef(null),y=O.useRef([]),b=n.findIndex(Q=>Q.value===t),S=t.trim().toLocaleLowerCase(),x=s&&S?n.filter(Q=>Q.value.toLocaleLowerCase().includes(S)||Q.label.toLocaleLowerCase().includes(S)):n,[v,E]=O.useState(!1),[w,k]=O.useState(Math.max(0,b)),_=b>=0?n[b]:void 0,C=r||!s&&n.length===0,A=(Q=!1)=>{E(!1),Q&&window.requestAnimationFrame(()=>{var L,D;return s?(L=m.current)==null?void 0:L.focus():(D=p.current)==null?void 0:D.focus()})},R=Q=>{C||x.length!==0&&(k(Math.min(Math.max(Q,0),x.length-1)),E(!0))};O.useEffect(()=>{if(!v)return;const Q=g.current,L=s?void 0:window.requestAnimationFrame(()=>{var B;(B=y.current[w])==null||B.focus()}),D=B=>{if(!Q)return;const $=Q.scrollTop<=0,I=Q.scrollTop+Q.clientHeight>=Q.scrollHeight-1;(Q.scrollHeight<=Q.clientHeight||B.deltaY<0&&$||B.deltaY>0&&I)&&B.preventDefault(),B.stopPropagation()},N=B=>{var $;B.target instanceof Node&&!(($=h.current)!=null&&$.contains(B.target))&&A()},M=B=>{B.key==="Escape"&&A(!0)};return Q==null||Q.addEventListener("wheel",D,{passive:!1}),window.addEventListener("pointerdown",N),window.addEventListener("keydown",M),()=>{L!==void 0&&window.cancelAnimationFrame(L),Q==null||Q.removeEventListener("wheel",D),window.removeEventListener("pointerdown",N),window.removeEventListener("keydown",M)}},[w,s,v]);const j=Q=>{var D;if(x.length===0)return;const L=(Q+x.length)%x.length;k(L),(D=y.current[L])==null||D.focus()};return c.jsxs("div",{ref:h,className:`skill-config-select${v?" is-open":""}`,onBlur:Q=>{var L;(!Q.relatedTarget||!((L=h.current)!=null&&L.contains(Q.relatedTarget)))&&A()},children:[c.jsxs("span",{id:d,className:"skill-config-select__label",children:[e,a?c.jsx("span",{className:"skill-required-mark","aria-hidden":"true",children:"*"}):null]}),s?c.jsxs("div",{className:`skill-config-select__trigger is-editable${r?" is-disabled":""}`,"aria-expanded":v,children:[c.jsx("input",{ref:m,value:t,disabled:r,role:"combobox","aria-autocomplete":"list","aria-expanded":v,"aria-controls":v?u:void 0,"aria-labelledby":d,"aria-required":a,"aria-invalid":!!l,"aria-describedby":l?f:void 0,placeholder:o,onChange:Q=>{i(Q.target.value),k(0),n.length>0&&E(!0)},onClick:()=>{!v&&x.length>0&&R(0)},onKeyDown:Q=>{var L,D;if(!(Q.nativeEvent.isComposing||Q.keyCode===229))if(Q.key==="ArrowDown")Q.preventDefault(),v?(L=y.current[w])==null||L.focus():R(0);else if(Q.key==="ArrowUp")Q.preventDefault(),v?(D=y.current[x.length-1])==null||D.focus():R(x.length-1);else if(Q.key==="Enter"&&v){Q.preventDefault();const N=x[w];N&&i(N.value),A()}else Q.key==="Escape"&&(Q.preventDefault(),A())}}),c.jsx("button",{type:"button",className:"skill-config-select__toggle",disabled:r||n.length===0,"aria-label":v?"收起模型选项":"展开模型选项",onClick:()=>{v?A():R(0)},children:c.jsx(a7,{})})]}):c.jsxs("button",{ref:p,type:"button",className:"skill-config-select__trigger",disabled:C,"aria-haspopup":"listbox","aria-expanded":v,"aria-controls":v?u:void 0,"aria-labelledby":d,"aria-required":a,onClick:()=>{v?A():R(b>=0?b:0)},onKeyDown:Q=>{Q.key==="ArrowDown"?(Q.preventDefault(),R(b>=0?b:0)):Q.key==="ArrowUp"&&(Q.preventDefault(),R(b>=0?b:n.length-1))},children:[c.jsx("span",{className:_?void 0:"is-placeholder",title:_==null?void 0:_.label,children:(_==null?void 0:_.label)||(n.length===0?"暂无可用选项":o)}),c.jsx(a7,{})]}),v?c.jsxs("div",{ref:g,id:u,className:"skill-config-select__menu",role:"listbox","aria-labelledby":d,children:[x.length===0?c.jsx("div",{className:"skill-config-select__empty",role:"status",children:"没有匹配项,可直接使用当前模型 ID"}):null,x.map((Q,L)=>{const D=Q.value===t;return c.jsx("button",{ref:N=>{y.current[L]=N},type:"button",role:"option","aria-selected":D,tabIndex:L===w?0:-1,className:`skill-config-select__option${D?" is-selected":""}`,title:Q.label,onFocus:()=>k(L),onClick:()=>{i(Q.value),A(!0)},onKeyDown:N=>{N.key==="ArrowDown"?(N.preventDefault(),j(L+1)):N.key==="ArrowUp"?(N.preventDefault(),j(L-1)):N.key==="Home"?(N.preventDefault(),j(0)):N.key==="End"&&(N.preventDefault(),j(n.length-1))},children:Q.label},Q.value)})]}):null,l?c.jsx("span",{id:f,className:"skill-config-select__error",role:"alert",children:l}):null]})}function ss(e,t){return e instanceof Error?e:typeof e=="string"&&e.trim()?new Error(e.trim()):new Error(t)}function eo({error:e}){var r,s,a,o,l;const t=e,n=(s=(r=t.originalError)==null?void 0:r.message)==null?void 0:s.trim(),i=[typeof t.status=="number"?`HTTP ${t.status}${t.statusText?` ${t.statusText}`:""}`:"",t.code?`错误码:${t.code}`:"",(a=t.originalError)!=null&&a.type?`错误类型:${t.originalError.type}`:"",(o=t.originalError)!=null&&o.repr&&t.originalError.repr!==n?`异常表示:${t.originalError.repr}`:"",(l=t.rawResponse)!=null&&l.trim()?`服务端原始响应: ${t.rawResponse.trim()}`:""].filter(Boolean);return c.jsxs("div",{className:"skill-error-details",children:[c.jsx("div",{className:"skill-error-details__summary",children:e.message}),n?c.jsxs("div",{className:"skill-error-details__original",children:["原始错误:",n]}):null,i.length>0?c.jsxs("details",{children:[c.jsx("summary",{children:"详细信息"}),c.jsx("pre",{children:i.join(` -`)})]}):null]})}const F$=Symbol.for("yaml.alias"),zP=Symbol.for("yaml.document"),ef=Symbol.for("yaml.map"),Kie=Symbol.for("yaml.pair"),xc=Symbol.for("yaml.scalar"),T0=Symbol.for("yaml.seq"),Vo=Symbol.for("yaml.node.type"),_0=e=>!!e&&typeof e=="object"&&e[Vo]===F$,r1=e=>!!e&&typeof e=="object"&&e[Vo]===zP,s1=e=>!!e&&typeof e=="object"&&e[Vo]===ef,_r=e=>!!e&&typeof e=="object"&&e[Vo]===Kie,Mi=e=>!!e&&typeof e=="object"&&e[Vo]===xc,a1=e=>!!e&&typeof e=="object"&&e[Vo]===T0;function Er(e){if(e&&typeof e=="object")switch(e[Vo]){case ef:case T0:return!0}return!1}function Tr(e){if(e&&typeof e=="object")switch(e[Vo]){case F$:case ef:case xc:case T0:return!0}return!1}const Jie=e=>(Mi(e)||Er(e))&&!!e.anchor,ah=Symbol("break visit"),Z8e=Symbol("skip children"),Ub=Symbol("remove node");function A0(e,t){const n=K8e(t);r1(e)?Cm(null,e.contents,n,Object.freeze([e]))===Ub&&(e.contents=null):Cm(null,e,n,Object.freeze([]))}A0.BREAK=ah;A0.SKIP=Z8e;A0.REMOVE=Ub;function Cm(e,t,n,i){const r=J8e(e,t,n,i);if(Tr(r)||_r(r))return e9e(e,i,r),Cm(e,r,n,i);if(typeof r!="symbol"){if(Er(t)){i=Object.freeze(i.concat(t));for(let s=0;se.replace(/[!,[\]{}]/g,t=>t9e[t]);class Ks{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},Ks.defaultYaml,t),this.tags=Object.assign({},Ks.defaultTags,n)}clone(){const t=new Ks(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new Ks(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:Ks.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},Ks.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:Ks.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},Ks.defaultTags),this.atNextDocument=!1);const i=t.trim().split(/[ \t]+/),r=i.shift();switch(r){case"%TAG":{if(i.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),i.length<2))return!1;const[s,a]=i;return this.tags[s]=a,!0}case"%YAML":{if(this.yaml.explicit=!0,i.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[s]=i;if(s==="1.1"||s==="1.2")return this.yaml.version=s,!0;{const a=/^\d+\.\d+$/.test(s);return n(6,`Unsupported YAML version ${s}`,a),!1}}default:return n(0,`Unknown directive ${r}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){const a=t.slice(2,-1);return a==="!"||a==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),a)}const[,i,r]=t.match(/^(.*!)([^!]*)$/s);r||n(`The ${t} tag has no suffix`);const s=this.tags[i];if(s)try{return s+decodeURIComponent(r)}catch(a){return n(String(a)),null}return i==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,i]of Object.entries(this.tags))if(t.startsWith(i))return n+n9e(t.substring(i.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],i=Object.entries(this.tags);let r;if(t&&i.length>0&&Tr(t.contents)){const s={};A0(t.contents,(a,o)=>{Tr(o)&&o.tag&&(s[o.tag]=!0)}),r=Object.keys(s)}else r=[];for(const[s,a]of i)s==="!!"&&a==="tag:yaml.org,2002:"||(!t||r.some(o=>o.startsWith(a)))&&n.push(`%TAG ${s} ${a}`);return n.join(` -`)}}Ks.defaultYaml={explicit:!1,version:"1.2"};Ks.defaultTags={"!!":"tag:yaml.org,2002:"};function ere(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){const n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(n)}return!0}function tre(e){const t=new Set;return A0(e,{Value(n,i){i.anchor&&t.add(i.anchor)}}),t}function nre(e,t){for(let n=1;;++n){const i=`${e}${n}`;if(!t.has(i))return i}}function i9e(e,t){const n=[],i=new Map;let r=null;return{onAnchor:s=>{n.push(s),r??(r=tre(e));const a=nre(t,r);return r.add(a),a},setAnchors:()=>{for(const s of n){const a=i.get(s);if(typeof a=="object"&&a.anchor&&(Mi(a.node)||Er(a.node)))a.node.anchor=a.anchor;else{const o=new Error("Failed to resolve repeated object (this should not happen)");throw o.source=s,o}}},sourceObjects:i}}function Rm(e,t,n,i){if(i&&typeof i=="object")if(Array.isArray(i))for(let r=0,s=i.length;rzo(i,String(r),n));if(e&&typeof e.toJSON=="function"){if(!n||!Jie(e))return e.toJSON(t,n);const i={aliasCount:0,count:1,res:void 0};n.anchors.set(e,i),n.onCreate=s=>{i.res=s,delete n.onCreate};const r=e.toJSON(t,n);return n.onCreate&&n.onCreate(r),r}return typeof e=="bigint"&&!(n!=null&&n.keep)?Number(e):e}class V${constructor(t){Object.defineProperty(this,Vo,{value:t})}clone(){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:n,maxAliasCount:i,onAnchor:r,reviver:s}={}){if(!r1(t))throw new TypeError("A document argument is required");const a={anchors:new Map,doc:t,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},o=zo(this,"",a);if(typeof r=="function")for(const{count:l,res:u}of a.anchors.values())r(u,l);return typeof s=="function"?Rm(s,{"":o},"",o):o}}let X$=class extends V${constructor(t){super(F$),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,n){if((n==null?void 0:n.maxAliasCount)===0)throw new ReferenceError("Alias resolution is disabled");let i;n!=null&&n.aliasResolveCache?i=n.aliasResolveCache:(i=[],A0(t,{Node:(s,a)=>{(_0(a)||Jie(a))&&i.push(a)}}),n&&(n.aliasResolveCache=i));let r;for(const s of i){if(s===this)break;s.anchor===this.source&&(r=s)}return r}toJSON(t,n){if(!n)return{source:this.source};const{anchors:i,doc:r,maxAliasCount:s}=n,a=this.resolve(r,n);if(!a){const l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let o=i.get(a);if(o||(zo(a,null,n),o=i.get(a)),(o==null?void 0:o.res)===void 0){const l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(s>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=gw(r,a,i)),o.count*o.aliasCount>s)){const l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return o.res}toString(t,n,i){const r=`*${this.source}`;if(t){if(ere(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){const s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(s)}if(t.implicitKey)return`${r} `}return r}};function gw(e,t,n){if(_0(t)){const i=t.resolve(e),r=n&&i&&n.get(i);return r?r.count*r.aliasCount:0}else if(Er(t)){let i=0;for(const r of t.items){const s=gw(e,r,n);s>i&&(i=s)}return i}else if(_r(t)){const i=gw(e,t.key,n),r=gw(e,t.value,n);return Math.max(i,r)}return 1}const ire=e=>!e||typeof e!="function"&&typeof e!="object";class en extends V${constructor(t){super(xc),this.value=t}toJSON(t,n){return n!=null&&n.keep?this.value:zo(this.value,t,n)}toString(){return String(this.value)}}en.BLOCK_FOLDED="BLOCK_FOLDED";en.BLOCK_LITERAL="BLOCK_LITERAL";en.PLAIN="PLAIN";en.QUOTE_DOUBLE="QUOTE_DOUBLE";en.QUOTE_SINGLE="QUOTE_SINGLE";const r9e="tag:yaml.org,2002:";function s9e(e,t,n){if(t){const i=n.filter(s=>s.tag===t),r=i.find(s=>!s.format)??i[0];if(!r)throw new Error(`Tag ${t} not found`);return r}return n.find(i=>{var r;return((r=i.identify)==null?void 0:r.call(i,e))&&!i.format})}function Vy(e,t,n){var f,h,p;if(r1(e)&&(e=e.contents),Tr(e))return e;if(_r(e)){const m=(h=(f=n.schema[ef]).createNode)==null?void 0:h.call(f,n.schema,null,n);return m.items.push(e),m}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:i,onAnchor:r,onTagObj:s,schema:a,sourceObjects:o}=n;let l;if(i&&e&&typeof e=="object"){if(l=o.get(e),l)return l.anchor??(l.anchor=r(e)),new X$(l.anchor);l={anchor:null,node:null},o.set(e,l)}t!=null&&t.startsWith("!!")&&(t=r9e+t.slice(2));let u=s9e(e,t,a.tags);if(!u){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){const m=new en(e);return l&&(l.node=m),m}u=e instanceof Map?a[ef]:Symbol.iterator in Object(e)?a[T0]:a[ef]}s&&(s(u),delete n.onTagObj);const d=u!=null&&u.createNode?u.createNode(n.schema,e,n):typeof((p=u==null?void 0:u.nodeClass)==null?void 0:p.from)=="function"?u.nodeClass.from(n.schema,e,n):new en(e);return t?d.tag=t:u.default||(d.tag=u.tag),l&&(l.node=d),d}function ek(e,t,n){let i=n;for(let r=t.length-1;r>=0;--r){const s=t[r];if(typeof s=="number"&&Number.isInteger(s)&&s>=0){const a=[];a[s]=i,i=a}else i=new Map([[s,i]])}return Vy(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const eb=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done;let rre=class extends V${constructor(t,n){super(t),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(t){const n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(n.schema=t),n.items=n.items.map(i=>Tr(i)||_r(i)?i.clone(t):i),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(eb(t))this.add(n);else{const[i,...r]=t,s=this.get(i,!0);if(Er(s))s.addIn(r,n);else if(s===void 0&&this.schema)this.set(i,ek(this.schema,r,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}}deleteIn(t){const[n,...i]=t;if(i.length===0)return this.delete(n);const r=this.get(n,!0);if(Er(r))return r.deleteIn(i);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}getIn(t,n){const[i,...r]=t,s=this.get(i,!0);return r.length===0?!n&&Mi(s)?s.value:s:Er(s)?s.getIn(r,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!_r(n))return!1;const i=n.value;return i==null||t&&Mi(i)&&i.value==null&&!i.commentBefore&&!i.comment&&!i.tag})}hasIn(t){const[n,...i]=t;if(i.length===0)return this.has(n);const r=this.get(n,!0);return Er(r)?r.hasIn(i):!1}setIn(t,n){const[i,...r]=t;if(r.length===0)this.set(i,n);else{const s=this.get(i,!0);if(Er(s))s.setIn(r,n);else if(s===void 0&&this.schema)this.set(i,ek(this.schema,r,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}}};const a9e=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function du(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const yh=(e,t,n)=>e.endsWith(` -`)?du(n,t):n.includes(` +`)})]}):null]})}const F5=Symbol.for("yaml.alias"),zP=Symbol.for("yaml.document"),ef=Symbol.for("yaml.map"),ere=Symbol.for("yaml.pair"),xc=Symbol.for("yaml.scalar"),_0=Symbol.for("yaml.seq"),Vo=Symbol.for("yaml.node.type"),A0=e=>!!e&&typeof e=="object"&&e[Vo]===F5,r1=e=>!!e&&typeof e=="object"&&e[Vo]===zP,s1=e=>!!e&&typeof e=="object"&&e[Vo]===ef,_r=e=>!!e&&typeof e=="object"&&e[Vo]===ere,Mi=e=>!!e&&typeof e=="object"&&e[Vo]===xc,a1=e=>!!e&&typeof e=="object"&&e[Vo]===_0;function Er(e){if(e&&typeof e=="object")switch(e[Vo]){case ef:case _0:return!0}return!1}function Tr(e){if(e&&typeof e=="object")switch(e[Vo]){case F5:case ef:case xc:case _0:return!0}return!1}const tre=e=>(Mi(e)||Er(e))&&!!e.anchor,ah=Symbol("break visit"),J8e=Symbol("skip children"),Ub=Symbol("remove node");function N0(e,t){const n=e9e(t);r1(e)?Rm(null,e.contents,n,Object.freeze([e]))===Ub&&(e.contents=null):Rm(null,e,n,Object.freeze([]))}N0.BREAK=ah;N0.SKIP=J8e;N0.REMOVE=Ub;function Rm(e,t,n,i){const r=t9e(e,t,n,i);if(Tr(r)||_r(r))return n9e(e,i,r),Rm(e,r,n,i);if(typeof r!="symbol"){if(Er(t)){i=Object.freeze(i.concat(t));for(let s=0;se.replace(/[!,[\]{}]/g,t=>i9e[t]);class Ks{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},Ks.defaultYaml,t),this.tags=Object.assign({},Ks.defaultTags,n)}clone(){const t=new Ks(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new Ks(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:Ks.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},Ks.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:Ks.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},Ks.defaultTags),this.atNextDocument=!1);const i=t.trim().split(/[ \t]+/),r=i.shift();switch(r){case"%TAG":{if(i.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),i.length<2))return!1;const[s,a]=i;return this.tags[s]=a,!0}case"%YAML":{if(this.yaml.explicit=!0,i.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[s]=i;if(s==="1.1"||s==="1.2")return this.yaml.version=s,!0;{const a=/^\d+\.\d+$/.test(s);return n(6,`Unsupported YAML version ${s}`,a),!1}}default:return n(0,`Unknown directive ${r}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){const a=t.slice(2,-1);return a==="!"||a==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),a)}const[,i,r]=t.match(/^(.*!)([^!]*)$/s);r||n(`The ${t} tag has no suffix`);const s=this.tags[i];if(s)try{return s+decodeURIComponent(r)}catch(a){return n(String(a)),null}return i==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,i]of Object.entries(this.tags))if(t.startsWith(i))return n+r9e(t.substring(i.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],i=Object.entries(this.tags);let r;if(t&&i.length>0&&Tr(t.contents)){const s={};N0(t.contents,(a,o)=>{Tr(o)&&o.tag&&(s[o.tag]=!0)}),r=Object.keys(s)}else r=[];for(const[s,a]of i)s==="!!"&&a==="tag:yaml.org,2002:"||(!t||r.some(o=>o.startsWith(a)))&&n.push(`%TAG ${s} ${a}`);return n.join(` +`)}}Ks.defaultYaml={explicit:!1,version:"1.2"};Ks.defaultTags={"!!":"tag:yaml.org,2002:"};function nre(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){const n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(n)}return!0}function ire(e){const t=new Set;return N0(e,{Value(n,i){i.anchor&&t.add(i.anchor)}}),t}function rre(e,t){for(let n=1;;++n){const i=`${e}${n}`;if(!t.has(i))return i}}function s9e(e,t){const n=[],i=new Map;let r=null;return{onAnchor:s=>{n.push(s),r??(r=ire(e));const a=rre(t,r);return r.add(a),a},setAnchors:()=>{for(const s of n){const a=i.get(s);if(typeof a=="object"&&a.anchor&&(Mi(a.node)||Er(a.node)))a.node.anchor=a.anchor;else{const o=new Error("Failed to resolve repeated object (this should not happen)");throw o.source=s,o}}},sourceObjects:i}}function Im(e,t,n,i){if(i&&typeof i=="object")if(Array.isArray(i))for(let r=0,s=i.length;rzo(i,String(r),n));if(e&&typeof e.toJSON=="function"){if(!n||!tre(e))return e.toJSON(t,n);const i={aliasCount:0,count:1,res:void 0};n.anchors.set(e,i),n.onCreate=s=>{i.res=s,delete n.onCreate};const r=e.toJSON(t,n);return n.onCreate&&n.onCreate(r),r}return typeof e=="bigint"&&!(n!=null&&n.keep)?Number(e):e}class V5{constructor(t){Object.defineProperty(this,Vo,{value:t})}clone(){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:n,maxAliasCount:i,onAnchor:r,reviver:s}={}){if(!r1(t))throw new TypeError("A document argument is required");const a={anchors:new Map,doc:t,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},o=zo(this,"",a);if(typeof r=="function")for(const{count:l,res:u}of a.anchors.values())r(u,l);return typeof s=="function"?Im(s,{"":o},"",o):o}}let X5=class extends V5{constructor(t){super(F5),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,n){if((n==null?void 0:n.maxAliasCount)===0)throw new ReferenceError("Alias resolution is disabled");let i;n!=null&&n.aliasResolveCache?i=n.aliasResolveCache:(i=[],N0(t,{Node:(s,a)=>{(A0(a)||tre(a))&&i.push(a)}}),n&&(n.aliasResolveCache=i));let r;for(const s of i){if(s===this)break;s.anchor===this.source&&(r=s)}return r}toJSON(t,n){if(!n)return{source:this.source};const{anchors:i,doc:r,maxAliasCount:s}=n,a=this.resolve(r,n);if(!a){const l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let o=i.get(a);if(o||(zo(a,null,n),o=i.get(a)),(o==null?void 0:o.res)===void 0){const l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(s>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=gw(r,a,i)),o.count*o.aliasCount>s)){const l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return o.res}toString(t,n,i){const r=`*${this.source}`;if(t){if(nre(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){const s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(s)}if(t.implicitKey)return`${r} `}return r}};function gw(e,t,n){if(A0(t)){const i=t.resolve(e),r=n&&i&&n.get(i);return r?r.count*r.aliasCount:0}else if(Er(t)){let i=0;for(const r of t.items){const s=gw(e,r,n);s>i&&(i=s)}return i}else if(_r(t)){const i=gw(e,t.key,n),r=gw(e,t.value,n);return Math.max(i,r)}return 1}const sre=e=>!e||typeof e!="function"&&typeof e!="object";class en extends V5{constructor(t){super(xc),this.value=t}toJSON(t,n){return n!=null&&n.keep?this.value:zo(this.value,t,n)}toString(){return String(this.value)}}en.BLOCK_FOLDED="BLOCK_FOLDED";en.BLOCK_LITERAL="BLOCK_LITERAL";en.PLAIN="PLAIN";en.QUOTE_DOUBLE="QUOTE_DOUBLE";en.QUOTE_SINGLE="QUOTE_SINGLE";const a9e="tag:yaml.org,2002:";function o9e(e,t,n){if(t){const i=n.filter(s=>s.tag===t),r=i.find(s=>!s.format)??i[0];if(!r)throw new Error(`Tag ${t} not found`);return r}return n.find(i=>{var r;return((r=i.identify)==null?void 0:r.call(i,e))&&!i.format})}function Vy(e,t,n){var f,h,p;if(r1(e)&&(e=e.contents),Tr(e))return e;if(_r(e)){const m=(h=(f=n.schema[ef]).createNode)==null?void 0:h.call(f,n.schema,null,n);return m.items.push(e),m}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:i,onAnchor:r,onTagObj:s,schema:a,sourceObjects:o}=n;let l;if(i&&e&&typeof e=="object"){if(l=o.get(e),l)return l.anchor??(l.anchor=r(e)),new X5(l.anchor);l={anchor:null,node:null},o.set(e,l)}t!=null&&t.startsWith("!!")&&(t=a9e+t.slice(2));let u=o9e(e,t,a.tags);if(!u){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){const m=new en(e);return l&&(l.node=m),m}u=e instanceof Map?a[ef]:Symbol.iterator in Object(e)?a[_0]:a[ef]}s&&(s(u),delete n.onTagObj);const d=u!=null&&u.createNode?u.createNode(n.schema,e,n):typeof((p=u==null?void 0:u.nodeClass)==null?void 0:p.from)=="function"?u.nodeClass.from(n.schema,e,n):new en(e);return t?d.tag=t:u.default||(d.tag=u.tag),l&&(l.node=d),d}function ek(e,t,n){let i=n;for(let r=t.length-1;r>=0;--r){const s=t[r];if(typeof s=="number"&&Number.isInteger(s)&&s>=0){const a=[];a[s]=i,i=a}else i=new Map([[s,i]])}return Vy(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const eb=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done;let are=class extends V5{constructor(t,n){super(t),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(t){const n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(n.schema=t),n.items=n.items.map(i=>Tr(i)||_r(i)?i.clone(t):i),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(eb(t))this.add(n);else{const[i,...r]=t,s=this.get(i,!0);if(Er(s))s.addIn(r,n);else if(s===void 0&&this.schema)this.set(i,ek(this.schema,r,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}}deleteIn(t){const[n,...i]=t;if(i.length===0)return this.delete(n);const r=this.get(n,!0);if(Er(r))return r.deleteIn(i);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}getIn(t,n){const[i,...r]=t,s=this.get(i,!0);return r.length===0?!n&&Mi(s)?s.value:s:Er(s)?s.getIn(r,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!_r(n))return!1;const i=n.value;return i==null||t&&Mi(i)&&i.value==null&&!i.commentBefore&&!i.comment&&!i.tag})}hasIn(t){const[n,...i]=t;if(i.length===0)return this.has(n);const r=this.get(n,!0);return Er(r)?r.hasIn(i):!1}setIn(t,n){const[i,...r]=t;if(r.length===0)this.set(i,n);else{const s=this.get(i,!0);if(Er(s))s.setIn(r,n);else if(s===void 0&&this.schema)this.set(i,ek(this.schema,r,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}}};const l9e=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function fu(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const yh=(e,t,n)=>e.endsWith(` +`)?fu(n,t):n.includes(` `)?` -`+du(n,t):(e.endsWith(" ")?"":" ")+n,sre="flow",FP="block",Ow="quoted";function f_(e,t,n="flow",{indentAtStart:i,lineWidth:r=80,minContentWidth:s=20,onFold:a,onOverflow:o}={}){if(!r||r<0)return e;rr-Math.max(2,s)?u.push(0):f=r-i);let h,p,m=!1,g=-1,y=-1,b=-1;n===FP&&(g=o7(e,g,t.length),g!==-1&&(f=g+l));for(let x;x=e[g+=1];){if(n===Ow&&x==="\\"){switch(y=g,e[g+1]){case"x":g+=3;break;case"u":g+=5;break;case"U":g+=9;break;default:g+=1}b=g}if(x===` +`+fu(n,t):(e.endsWith(" ")?"":" ")+n,ore="flow",FP="block",Ow="quoted";function f_(e,t,n="flow",{indentAtStart:i,lineWidth:r=80,minContentWidth:s=20,onFold:a,onOverflow:o}={}){if(!r||r<0)return e;rr-Math.max(2,s)?u.push(0):f=r-i);let h,p,m=!1,g=-1,y=-1,b=-1;n===FP&&(g=o7(e,g,t.length),g!==-1&&(f=g+l));for(let x;x=e[g+=1];){if(n===Ow&&x==="\\"){switch(y=g,e[g+1]){case"x":g+=3;break;case"u":g+=5;break;case"U":g+=9;break;default:g+=1}b=g}if(x===` `)n===FP&&(g=o7(e,g,t.length)),f=g+t.length+l,h=void 0;else{if(x===" "&&p&&p!==" "&&p!==` `&&p!==" "){const v=e[g+1];v&&v!==" "&&v!==` `&&v!==" "&&(h=g)}if(g>=f)if(h)u.push(h),f=h+l,h=void 0;else if(n===Ow){for(;p===" "||p===" ";)p=x,x=e[g+=1],m=!0;const v=g>b+1?g-2:y-1;if(d[v])return e;u.push(v),d[v]=!0,f=v+l,h=void 0}else m=!0}p=x}if(m&&o&&o(),u.length===0)return e;a&&a();let S=e.slice(0,u[0]);for(let x=0;x({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),p_=e=>/^(%|---|\.\.\.)/m.test(e);function o9e(e,t,n){if(!t||t<0)return!1;const i=t-n,r=e.length;if(r<=i)return!1;for(let s=0,a=0;s({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),p_=e=>/^(%|---|\.\.\.)/m.test(e);function c9e(e,t,n){if(!t||t<0)return!1;const i=t-n,r=e.length;if(r<=i)return!1;for(let s=0,a=0;si)return!0;if(a=s+1,r-a<=i)return!1}return!0}function zb(e,t){const n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;const{implicitKey:i}=t,r=t.options.doubleQuotedMinMultiLineLength,s=t.indent||(p_(e)?" ":"");let a="",o=0;for(let l=0,u=n[l];u;u=n[++l])if(u===" "&&n[l+1]==="\\"&&n[l+2]==="n"&&(a+=n.slice(o,l)+"\\ ",l+=1,o=l,u="\\"),u==="\\")switch(n[l+1]){case"u":{a+=n.slice(o,l);const d=n.substr(l+2,4);switch(d){case"0000":a+="\\0";break;case"0007":a+="\\a";break;case"000b":a+="\\v";break;case"001b":a+="\\e";break;case"0085":a+="\\N";break;case"00a0":a+="\\_";break;case"2028":a+="\\L";break;case"2029":a+="\\P";break;default:d.substr(0,2)==="00"?a+="\\x"+d.substr(2):a+=n.substr(l,6)}l+=5,o=l+1}break;case"n":if(i||n[l+2]==='"'||n.length `;let f,h;for(h=n.length;h>0;--h){const E=n[h-1];if(E!==` `&&E!==" "&&E!==" ")break}let p=n.substring(h);const m=p.indexOf(` @@ -523,47 +523,47 @@ ${n}`)+"'";return t.implicitKey?i:f_(i,n,sre,h_(t,!1))}function Im(e,t){const{si `)b=y;else break}let S=n.substring(0,b{w=!0});const _=f_(`${S}${E}${p}`,u,FP,k);if(!w)return`>${v} ${u}${_}`}return n=n.replace(/\n+/g,`$&${u}`),`|${v} -${u}${S}${n}${p}`}function l9e(e,t,n,i){const{type:r,value:s}=e,{actualString:a,implicitKey:o,indent:l,indentStep:u,inFlow:d}=t;if(o&&s.includes(` -`)||d&&/[[\]{},]/.test(s))return Im(s,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return o||d||!s.includes(` -`)?Im(s,t):bw(e,t,n,i);if(!o&&!d&&r!==en.PLAIN&&s.includes(` -`))return bw(e,t,n,i);if(p_(s)){if(l==="")return t.forceBlockIndent=!0,bw(e,t,n,i);if(o&&l===u)return Im(s,t)}const f=s.replace(/\n+/g,`$& -${l}`);if(a){const h=g=>{var y;return g.default&&g.tag!=="tag:yaml.org,2002:str"&&((y=g.test)==null?void 0:y.test(f))},{compat:p,tags:m}=t.doc.schema;if(m.some(h)||p!=null&&p.some(h))return Im(s,t)}return o?f:f_(f,l,sre,h_(t,!1))}function q$(e,t,n,i){const{implicitKey:r,inFlow:s}=t,a=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)});let{type:o}=e;o!==en.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(o=en.QUOTE_DOUBLE);const l=d=>{switch(d){case en.BLOCK_FOLDED:case en.BLOCK_LITERAL:return r||s?Im(a.value,t):bw(a,t,n,i);case en.QUOTE_DOUBLE:return zb(a.value,t);case en.QUOTE_SINGLE:return VP(a.value,t);case en.PLAIN:return l9e(a,t,n,i);default:return null}};let u=l(o);if(u===null){const{defaultKeyType:d,defaultStringType:f}=t.options,h=r&&d||f;if(u=l(h),u===null)throw new Error(`Unsupported default string type ${h}`)}return u}function are(e,t){const n=Object.assign({blockQuote:!0,commentString:a9e,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t);let i;switch(n.collectionStyle){case"block":i=!1;break;case"flow":i=!0;break;default:i=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:i,options:n}}function c9e(e,t){var r;if(t.tag){const s=e.filter(a=>a.tag===t.tag);if(s.length>0)return s.find(a=>a.format===t.format)??s[0]}let n,i;if(Mi(t)){i=t.value;let s=e.filter(a=>{var o;return(o=a.identify)==null?void 0:o.call(a,i)});if(s.length>1){const a=s.filter(o=>o.test);a.length>0&&(s=a)}n=s.find(a=>a.format===t.format)??s.find(a=>!a.format)}else i=t,n=e.find(s=>s.nodeClass&&i instanceof s.nodeClass);if(!n){const s=((r=i==null?void 0:i.constructor)==null?void 0:r.name)??(i===null?"null":typeof i);throw new Error(`Tag not resolved for ${s} value`)}return n}function u9e(e,t,{anchors:n,doc:i}){if(!i.directives)return"";const r=[],s=(Mi(e)||Er(e))&&e.anchor;s&&ere(s)&&(n.add(s),r.push(`&${s}`));const a=e.tag??(t.default?null:t.tag);return a&&r.push(i.directives.tagString(a)),r.join(" ")}function zg(e,t,n,i){var l;if(_r(e))return e.toString(t,n,i);if(_0(e)){if(t.doc.directives)return e.toString(t);if((l=t.resolvedAliases)!=null&&l.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let r;const s=Tr(e)?e:t.doc.createNode(e,{onTagObj:u=>r=u});r??(r=c9e(t.doc.schema.tags,s));const a=u9e(s,r,t);a.length>0&&(t.indentAtStart=(t.indentAtStart??0)+a.length+1);const o=typeof r.stringify=="function"?r.stringify(s,t,n,i):Mi(s)?q$(s,t,n,i):s.toString(t,n,i);return a?Mi(s)||o[0]==="{"||o[0]==="["?`${a} ${o}`:`${a} -${t.indent}${o}`:o}function d9e({key:e,value:t},n,i,r){const{allNullValues:s,doc:a,indent:o,indentStep:l,options:{commentString:u,indentSeq:d,simpleKeys:f}}=n;let h=Tr(e)&&e.comment||null;if(f){if(h)throw new Error("With simple keys, key nodes cannot have comments");if(Er(e)||!Tr(e)&&typeof e=="object"){const k="With simple keys, collection cannot be used as a key value";throw new Error(k)}}let p=!f&&(!e||h&&t==null&&!n.inFlow||Er(e)||(Mi(e)?e.type===en.BLOCK_FOLDED||e.type===en.BLOCK_LITERAL:typeof e=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(f||!s),indent:o+l});let m=!1,g=!1,y=zg(e,n,()=>m=!0,()=>g=!0);if(!p&&!n.inFlow&&y.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");p=!0}if(n.inFlow){if(s||t==null)return m&&i&&i(),y===""?"?":p?`? ${y}`:y}else if(s&&!f||t==null&&p)return y=`? ${y}`,h&&!m?y+=yh(y,n.indent,u(h)):g&&r&&r(),y;m&&(h=null),p?(h&&(y+=yh(y,n.indent,u(h))),y=`? ${y} -${o}:`):(y=`${y}:`,h&&(y+=yh(y,n.indent,u(h))));let b,S,x;Tr(t)?(b=!!t.spaceBefore,S=t.commentBefore,x=t.comment):(b=!1,S=null,x=null,t&&typeof t=="object"&&(t=a.createNode(t))),n.implicitKey=!1,!p&&!h&&Mi(t)&&(n.indentAtStart=y.length+1),g=!1,!d&&l.length>=2&&!n.inFlow&&!p&&a1(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let v=!1;const E=zg(t,n,()=>v=!0,()=>g=!0);let w=" ";if(h||b||S){if(w=b?` +${u}${S}${n}${p}`}function u9e(e,t,n,i){const{type:r,value:s}=e,{actualString:a,implicitKey:o,indent:l,indentStep:u,inFlow:d}=t;if(o&&s.includes(` +`)||d&&/[[\]{},]/.test(s))return Pm(s,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return o||d||!s.includes(` +`)?Pm(s,t):bw(e,t,n,i);if(!o&&!d&&r!==en.PLAIN&&s.includes(` +`))return bw(e,t,n,i);if(p_(s)){if(l==="")return t.forceBlockIndent=!0,bw(e,t,n,i);if(o&&l===u)return Pm(s,t)}const f=s.replace(/\n+/g,`$& +${l}`);if(a){const h=g=>{var y;return g.default&&g.tag!=="tag:yaml.org,2002:str"&&((y=g.test)==null?void 0:y.test(f))},{compat:p,tags:m}=t.doc.schema;if(m.some(h)||p!=null&&p.some(h))return Pm(s,t)}return o?f:f_(f,l,ore,h_(t,!1))}function q5(e,t,n,i){const{implicitKey:r,inFlow:s}=t,a=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)});let{type:o}=e;o!==en.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(o=en.QUOTE_DOUBLE);const l=d=>{switch(d){case en.BLOCK_FOLDED:case en.BLOCK_LITERAL:return r||s?Pm(a.value,t):bw(a,t,n,i);case en.QUOTE_DOUBLE:return zb(a.value,t);case en.QUOTE_SINGLE:return VP(a.value,t);case en.PLAIN:return u9e(a,t,n,i);default:return null}};let u=l(o);if(u===null){const{defaultKeyType:d,defaultStringType:f}=t.options,h=r&&d||f;if(u=l(h),u===null)throw new Error(`Unsupported default string type ${h}`)}return u}function lre(e,t){const n=Object.assign({blockQuote:!0,commentString:l9e,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t);let i;switch(n.collectionStyle){case"block":i=!1;break;case"flow":i=!0;break;default:i=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:i,options:n}}function d9e(e,t){var r;if(t.tag){const s=e.filter(a=>a.tag===t.tag);if(s.length>0)return s.find(a=>a.format===t.format)??s[0]}let n,i;if(Mi(t)){i=t.value;let s=e.filter(a=>{var o;return(o=a.identify)==null?void 0:o.call(a,i)});if(s.length>1){const a=s.filter(o=>o.test);a.length>0&&(s=a)}n=s.find(a=>a.format===t.format)??s.find(a=>!a.format)}else i=t,n=e.find(s=>s.nodeClass&&i instanceof s.nodeClass);if(!n){const s=((r=i==null?void 0:i.constructor)==null?void 0:r.name)??(i===null?"null":typeof i);throw new Error(`Tag not resolved for ${s} value`)}return n}function f9e(e,t,{anchors:n,doc:i}){if(!i.directives)return"";const r=[],s=(Mi(e)||Er(e))&&e.anchor;s&&nre(s)&&(n.add(s),r.push(`&${s}`));const a=e.tag??(t.default?null:t.tag);return a&&r.push(i.directives.tagString(a)),r.join(" ")}function Fg(e,t,n,i){var l;if(_r(e))return e.toString(t,n,i);if(A0(e)){if(t.doc.directives)return e.toString(t);if((l=t.resolvedAliases)!=null&&l.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let r;const s=Tr(e)?e:t.doc.createNode(e,{onTagObj:u=>r=u});r??(r=d9e(t.doc.schema.tags,s));const a=f9e(s,r,t);a.length>0&&(t.indentAtStart=(t.indentAtStart??0)+a.length+1);const o=typeof r.stringify=="function"?r.stringify(s,t,n,i):Mi(s)?q5(s,t,n,i):s.toString(t,n,i);return a?Mi(s)||o[0]==="{"||o[0]==="["?`${a} ${o}`:`${a} +${t.indent}${o}`:o}function h9e({key:e,value:t},n,i,r){const{allNullValues:s,doc:a,indent:o,indentStep:l,options:{commentString:u,indentSeq:d,simpleKeys:f}}=n;let h=Tr(e)&&e.comment||null;if(f){if(h)throw new Error("With simple keys, key nodes cannot have comments");if(Er(e)||!Tr(e)&&typeof e=="object"){const k="With simple keys, collection cannot be used as a key value";throw new Error(k)}}let p=!f&&(!e||h&&t==null&&!n.inFlow||Er(e)||(Mi(e)?e.type===en.BLOCK_FOLDED||e.type===en.BLOCK_LITERAL:typeof e=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(f||!s),indent:o+l});let m=!1,g=!1,y=Fg(e,n,()=>m=!0,()=>g=!0);if(!p&&!n.inFlow&&y.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");p=!0}if(n.inFlow){if(s||t==null)return m&&i&&i(),y===""?"?":p?`? ${y}`:y}else if(s&&!f||t==null&&p)return y=`? ${y}`,h&&!m?y+=yh(y,n.indent,u(h)):g&&r&&r(),y;m&&(h=null),p?(h&&(y+=yh(y,n.indent,u(h))),y=`? ${y} +${o}:`):(y=`${y}:`,h&&(y+=yh(y,n.indent,u(h))));let b,S,x;Tr(t)?(b=!!t.spaceBefore,S=t.commentBefore,x=t.comment):(b=!1,S=null,x=null,t&&typeof t=="object"&&(t=a.createNode(t))),n.implicitKey=!1,!p&&!h&&Mi(t)&&(n.indentAtStart=y.length+1),g=!1,!d&&l.length>=2&&!n.inFlow&&!p&&a1(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let v=!1;const E=Fg(t,n,()=>v=!0,()=>g=!0);let w=" ";if(h||b||S){if(w=b?` `:"",S){const k=u(S);w+=` -${du(k,n.indent)}`}E===""&&!n.inFlow?w===` +${fu(k,n.indent)}`}E===""&&!n.inFlow?w===` `&&x&&(w=` `):w+=` ${n.indent}`}else if(!p&&Er(t)){const k=E[0],_=E.indexOf(` `),C=_!==-1,A=n.inFlow??t.flow??t.items.length===0;if(C||!A){let R=!1;if(C&&(k==="&"||k==="!")){let j=E.indexOf(" ");k==="&"&&j!==-1&&j<_&&E[j+1]==="!"&&(j=E.indexOf(" ",j+1)),(j===-1||_e===US||typeof e=="symbol"&&e.description===US,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new en(Symbol(US)),{addToJSMap:ore}),stringify:()=>US},h9e=(e,t)=>(Ou.identify(t)||Mi(t)&&(!t.type||t.type===en.PLAIN)&&Ou.identify(t.value))&&(e==null?void 0:e.doc.schema.tags.some(n=>n.tag===Ou.tag&&n.default));function ore(e,t,n){const i=lre(e,n);if(a1(i))for(const r of i.items)T2(e,t,r);else if(Array.isArray(i))for(const r of i)T2(e,t,r);else T2(e,t,i)}function T2(e,t,n){const i=lre(e,n);if(!s1(i))throw new Error("Merge sources must be maps or map aliases");const r=i.toJSON(null,e,Map);for(const[s,a]of r)t instanceof Map?t.has(s)||t.set(s,a):t instanceof Set?t.add(s):Object.prototype.hasOwnProperty.call(t,s)||Object.defineProperty(t,s,{value:a,writable:!0,enumerable:!0,configurable:!0});return t}function lre(e,t){return e&&_0(t)?t.resolve(e.doc,e):t}function cre(e,t,{key:n,value:i}){if(Tr(n)&&n.addToJSMap)n.addToJSMap(e,t,i);else if(h9e(e,n))ore(e,t,i);else{const r=zo(n,"",e);if(t instanceof Map)t.set(r,zo(i,r,e));else if(t instanceof Set)t.add(r);else{const s=p9e(n,r,e),a=zo(i,s,e);s in t?Object.defineProperty(t,s,{value:a,writable:!0,enumerable:!0,configurable:!0}):t[s]=a}}return t}function p9e(e,t,n){if(t===null)return"";if(typeof t!="object")return String(t);if(Tr(e)&&(n!=null&&n.doc)){const i=are(n.doc,{});i.anchors=new Set;for(const s of n.anchors.keys())i.anchors.add(s.anchor);i.inFlow=!0,i.inStringifyKey=!0;const r=e.toString(i);if(!n.mapKeyWarned){let s=JSON.stringify(r);s.length>40&&(s=s.substring(0,36)+'..."'),f9e(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${s}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(t)}function H$(e,t,n){const i=Vy(e,void 0,n),r=Vy(t,void 0,n);return new ra(i,r)}class ra{constructor(t,n=null){Object.defineProperty(this,Vo,{value:Kie}),this.key=t,this.value=n}clone(t){let{key:n,value:i}=this;return Tr(n)&&(n=n.clone(t)),Tr(i)&&(i=i.clone(t)),new ra(n,i)}toJSON(t,n){const i=n!=null&&n.mapAsMap?new Map:{};return cre(n,i,this)}toString(t,n,i){return t!=null&&t.doc?d9e(this,t,n,i):JSON.stringify(this)}}function ure(e,t,n){return(t.inFlow??e.flow?g9e:m9e)(e,t,n)}function m9e({comment:e,items:t},n,{blockItemPrefix:i,flowChars:r,itemIndent:s,onChompKeep:a,onComment:o}){const{indent:l,options:{commentString:u}}=n,d=Object.assign({},n,{indent:s,type:null});let f=!1;const h=[];for(let m=0;my=null,()=>f=!0);y&&(b+=yh(b,s,u(y))),f&&y&&(f=!1),h.push(i+b)}let p;if(h.length===0)p=r.start+r.end;else{p=h[0];for(let m=1;me===US||typeof e=="symbol"&&e.description===US,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new en(Symbol(US)),{addToJSMap:cre}),stringify:()=>US},m9e=(e,t)=>(bu.identify(t)||Mi(t)&&(!t.type||t.type===en.PLAIN)&&bu.identify(t.value))&&(e==null?void 0:e.doc.schema.tags.some(n=>n.tag===bu.tag&&n.default));function cre(e,t,n){const i=ure(e,n);if(a1(i))for(const r of i.items)TN(e,t,r);else if(Array.isArray(i))for(const r of i)TN(e,t,r);else TN(e,t,i)}function TN(e,t,n){const i=ure(e,n);if(!s1(i))throw new Error("Merge sources must be maps or map aliases");const r=i.toJSON(null,e,Map);for(const[s,a]of r)t instanceof Map?t.has(s)||t.set(s,a):t instanceof Set?t.add(s):Object.prototype.hasOwnProperty.call(t,s)||Object.defineProperty(t,s,{value:a,writable:!0,enumerable:!0,configurable:!0});return t}function ure(e,t){return e&&A0(t)?t.resolve(e.doc,e):t}function dre(e,t,{key:n,value:i}){if(Tr(n)&&n.addToJSMap)n.addToJSMap(e,t,i);else if(m9e(e,n))cre(e,t,i);else{const r=zo(n,"",e);if(t instanceof Map)t.set(r,zo(i,r,e));else if(t instanceof Set)t.add(r);else{const s=g9e(n,r,e),a=zo(i,s,e);s in t?Object.defineProperty(t,s,{value:a,writable:!0,enumerable:!0,configurable:!0}):t[s]=a}}return t}function g9e(e,t,n){if(t===null)return"";if(typeof t!="object")return String(t);if(Tr(e)&&(n!=null&&n.doc)){const i=lre(n.doc,{});i.anchors=new Set;for(const s of n.anchors.keys())i.anchors.add(s.anchor);i.inFlow=!0,i.inStringifyKey=!0;const r=e.toString(i);if(!n.mapKeyWarned){let s=JSON.stringify(r);s.length>40&&(s=s.substring(0,36)+'..."'),p9e(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${s}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(t)}function H5(e,t,n){const i=Vy(e,void 0,n),r=Vy(t,void 0,n);return new ra(i,r)}class ra{constructor(t,n=null){Object.defineProperty(this,Vo,{value:ere}),this.key=t,this.value=n}clone(t){let{key:n,value:i}=this;return Tr(n)&&(n=n.clone(t)),Tr(i)&&(i=i.clone(t)),new ra(n,i)}toJSON(t,n){const i=n!=null&&n.mapAsMap?new Map:{};return dre(n,i,this)}toString(t,n,i){return t!=null&&t.doc?h9e(this,t,n,i):JSON.stringify(this)}}function fre(e,t,n){return(t.inFlow??e.flow?b9e:O9e)(e,t,n)}function O9e({comment:e,items:t},n,{blockItemPrefix:i,flowChars:r,itemIndent:s,onChompKeep:a,onComment:o}){const{indent:l,options:{commentString:u}}=n,d=Object.assign({},n,{indent:s,type:null});let f=!1;const h=[];for(let m=0;my=null,()=>f=!0);y&&(b+=yh(b,s,u(y))),f&&y&&(f=!1),h.push(i+b)}let p;if(h.length===0)p=r.start+r.end;else{p=h[0];for(let m=1;my=null);u||(u=f.length>d||b.includes(` +`+fu(u(e),l),o&&o()):f&&a&&a(),p}function b9e({items:e},t,{flowChars:n,itemIndent:i}){const{indent:r,indentStep:s,flowCollectionPadding:a,options:{commentString:o}}=t;i+=s;const l=Object.assign({},t,{indent:i,inFlow:!0,type:null});let u=!1,d=0;const f=[];for(let m=0;my=null);u||(u=f.length>d||b.includes(` `)),m0&&(u||(u=f.reduce((S,x)=>S+x.length+2,2)+(b.length+2)>t.options.lineWidth)),u&&(b+=",")),y&&(b+=yh(b,i,o(y))),f.push(b),d=f.length}const{start:h,end:p}=n;if(f.length===0)return h+p;if(!u){const m=f.reduce((g,y)=>g+y.length+2,2);u=t.options.lineWidth>0&&m>t.options.lineWidth}if(u){let m=h;for(const g of f)m+=g?` ${s}${r}${g}`:` `;return`${m} -${r}${p}`}else return`${h}${a}${f.join(" ")}${a}${p}`}function tk({indent:e,options:{commentString:t}},n,i,r){if(i&&r&&(i=i.replace(/^\n+/,"")),i){const s=du(t(i),e);n.push(s.trimStart())}}function xh(e,t){const n=Mi(t)?t.value:t;for(const i of e)if(_r(i)&&(i.key===t||i.key===n||Mi(i.key)&&i.key.value===n))return i}class Ro extends rre{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(ef,t),this.items=[]}static from(t,n,i){const{keepUndefined:r,replacer:s}=i,a=new this(t),o=(l,u)=>{if(typeof s=="function")u=s.call(n,l,u);else if(Array.isArray(s)&&!s.includes(l))return;(u!==void 0||r)&&a.items.push(H$(l,u,i))};if(n instanceof Map)for(const[l,u]of n)o(l,u);else if(n&&typeof n=="object")for(const l of Object.keys(n))o(l,n[l]);return typeof t.sortMapEntries=="function"&&a.items.sort(t.sortMapEntries),a}add(t,n){var a;let i;_r(t)?i=t:!t||typeof t!="object"||!("key"in t)?i=new ra(t,t==null?void 0:t.value):i=new ra(t.key,t.value);const r=xh(this.items,i.key),s=(a=this.schema)==null?void 0:a.sortMapEntries;if(r){if(!n)throw new Error(`Key ${i.key} already set`);Mi(r.value)&&ire(i.value)?r.value.value=i.value:r.value=i.value}else if(s){const o=this.items.findIndex(l=>s(i,l)<0);o===-1?this.items.push(i):this.items.splice(o,0,i)}else this.items.push(i)}delete(t){const n=xh(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){const i=xh(this.items,t),r=i==null?void 0:i.value;return(!n&&Mi(r)?r.value:r)??void 0}has(t){return!!xh(this.items,t)}set(t,n){this.add(new ra(t,n),!0)}toJSON(t,n,i){const r=i?new i:n!=null&&n.mapAsMap?new Map:{};n!=null&&n.onCreate&&n.onCreate(r);for(const s of this.items)cre(n,r,s);return r}toString(t,n,i){if(!t)return JSON.stringify(this);for(const r of this.items)if(!_r(r))throw new Error(`Map items must all be pairs; found ${JSON.stringify(r)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),ure(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:i,onComment:n})}}const N0={collection:"map",default:!0,nodeClass:Ro,tag:"tag:yaml.org,2002:map",resolve(e,t){return s1(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,n)=>Ro.from(e,t,n)};class Zh extends rre{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(T0,t),this.items=[]}add(t){this.items.push(t)}delete(t){const n=zS(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){const i=zS(t);if(typeof i!="number")return;const r=this.items[i];return!n&&Mi(r)?r.value:r}has(t){const n=zS(t);return typeof n=="number"&&n=0?t:null}const C0={collection:"seq",default:!0,nodeClass:Zh,tag:"tag:yaml.org,2002:seq",resolve(e,t){return a1(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,n)=>Zh.from(e,t,n)},m_={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,n,i){return t=Object.assign({actualString:!0},t),q$(e,t,n,i)}},g_={identify:e=>e==null,createNode:()=>new en(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new en(null),stringify:({source:e},t)=>typeof e=="string"&&g_.test.test(e)?e:t.options.nullStr},Y$={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new en(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},n){if(e&&Y$.test.test(e)){const i=e[0]==="t"||e[0]==="T";if(t===i)return e}return t?n.options.trueStr:n.options.falseStr}};function Nl({format:e,minFractionDigits:t,tag:n,value:i}){if(typeof i=="bigint")return String(i);const r=typeof i=="number"?i:Number(i);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let s=Object.is(i,-0)?"-0":JSON.stringify(i);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^-?\d/.test(s)&&!s.includes("e")){let a=s.indexOf(".");a<0&&(a=s.length,s+=".");let o=t-(s.length-a-1);for(;o-- >0;)s+="0"}return s}const dre={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Nl},fre={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():Nl(e)}},hre={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){const t=new en(parseFloat(e)),n=e.indexOf(".");return n!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-n-1),t},stringify:Nl},O_=e=>typeof e=="bigint"||Number.isInteger(e),G$=(e,t,n,{intAsBigInt:i})=>i?BigInt(e):parseInt(e.substring(t),n);function pre(e,t,n){const{value:i}=e;return O_(i)&&i>=0?n+i.toString(t):Nl(e)}const mre={identify:e=>O_(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>G$(e,2,8,n),stringify:e=>pre(e,8,"0o")},gre={identify:O_,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>G$(e,0,10,n),stringify:Nl},Ore={identify:e=>O_(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>G$(e,2,16,n),stringify:e=>pre(e,16,"0x")},O9e=[N0,C0,m_,g_,Y$,mre,gre,Ore,dre,fre,hre];function l7(e){return typeof e=="bigint"||Number.isInteger(e)}const FS=({value:e})=>JSON.stringify(e),b9e=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:FS},{identify:e=>e==null,createNode:()=>new en(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:FS},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:FS},{identify:l7,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>l7(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:FS}],y9e={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},x9e=[N0,C0].concat(b9e,y9e),W$={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof atob=="function"){const n=atob(e.replace(/[\n\r]/g,"")),i=new Uint8Array(n.length);for(let r=0;r1&&t("Each pair must have its own sequence indicator");const r=i.items[0]||new ra(new en(null));if(i.commentBefore&&(r.key.commentBefore=r.key.commentBefore?`${i.commentBefore} +${r}${p}`}else return`${h}${a}${f.join(" ")}${a}${p}`}function tk({indent:e,options:{commentString:t}},n,i,r){if(i&&r&&(i=i.replace(/^\n+/,"")),i){const s=fu(t(i),e);n.push(s.trimStart())}}function xh(e,t){const n=Mi(t)?t.value:t;for(const i of e)if(_r(i)&&(i.key===t||i.key===n||Mi(i.key)&&i.key.value===n))return i}class Ro extends are{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(ef,t),this.items=[]}static from(t,n,i){const{keepUndefined:r,replacer:s}=i,a=new this(t),o=(l,u)=>{if(typeof s=="function")u=s.call(n,l,u);else if(Array.isArray(s)&&!s.includes(l))return;(u!==void 0||r)&&a.items.push(H5(l,u,i))};if(n instanceof Map)for(const[l,u]of n)o(l,u);else if(n&&typeof n=="object")for(const l of Object.keys(n))o(l,n[l]);return typeof t.sortMapEntries=="function"&&a.items.sort(t.sortMapEntries),a}add(t,n){var a;let i;_r(t)?i=t:!t||typeof t!="object"||!("key"in t)?i=new ra(t,t==null?void 0:t.value):i=new ra(t.key,t.value);const r=xh(this.items,i.key),s=(a=this.schema)==null?void 0:a.sortMapEntries;if(r){if(!n)throw new Error(`Key ${i.key} already set`);Mi(r.value)&&sre(i.value)?r.value.value=i.value:r.value=i.value}else if(s){const o=this.items.findIndex(l=>s(i,l)<0);o===-1?this.items.push(i):this.items.splice(o,0,i)}else this.items.push(i)}delete(t){const n=xh(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){const i=xh(this.items,t),r=i==null?void 0:i.value;return(!n&&Mi(r)?r.value:r)??void 0}has(t){return!!xh(this.items,t)}set(t,n){this.add(new ra(t,n),!0)}toJSON(t,n,i){const r=i?new i:n!=null&&n.mapAsMap?new Map:{};n!=null&&n.onCreate&&n.onCreate(r);for(const s of this.items)dre(n,r,s);return r}toString(t,n,i){if(!t)return JSON.stringify(this);for(const r of this.items)if(!_r(r))throw new Error(`Map items must all be pairs; found ${JSON.stringify(r)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),fre(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:i,onComment:n})}}const C0={collection:"map",default:!0,nodeClass:Ro,tag:"tag:yaml.org,2002:map",resolve(e,t){return s1(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,n)=>Ro.from(e,t,n)};class Zh extends are{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(_0,t),this.items=[]}add(t){this.items.push(t)}delete(t){const n=zS(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){const i=zS(t);if(typeof i!="number")return;const r=this.items[i];return!n&&Mi(r)?r.value:r}has(t){const n=zS(t);return typeof n=="number"&&n=0?t:null}const R0={collection:"seq",default:!0,nodeClass:Zh,tag:"tag:yaml.org,2002:seq",resolve(e,t){return a1(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,n)=>Zh.from(e,t,n)},m_={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,n,i){return t=Object.assign({actualString:!0},t),q5(e,t,n,i)}},g_={identify:e=>e==null,createNode:()=>new en(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new en(null),stringify:({source:e},t)=>typeof e=="string"&&g_.test.test(e)?e:t.options.nullStr},Y5={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new en(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},n){if(e&&Y5.test.test(e)){const i=e[0]==="t"||e[0]==="T";if(t===i)return e}return t?n.options.trueStr:n.options.falseStr}};function Nl({format:e,minFractionDigits:t,tag:n,value:i}){if(typeof i=="bigint")return String(i);const r=typeof i=="number"?i:Number(i);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let s=Object.is(i,-0)?"-0":JSON.stringify(i);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^-?\d/.test(s)&&!s.includes("e")){let a=s.indexOf(".");a<0&&(a=s.length,s+=".");let o=t-(s.length-a-1);for(;o-- >0;)s+="0"}return s}const hre={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Nl},pre={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():Nl(e)}},mre={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){const t=new en(parseFloat(e)),n=e.indexOf(".");return n!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-n-1),t},stringify:Nl},O_=e=>typeof e=="bigint"||Number.isInteger(e),G5=(e,t,n,{intAsBigInt:i})=>i?BigInt(e):parseInt(e.substring(t),n);function gre(e,t,n){const{value:i}=e;return O_(i)&&i>=0?n+i.toString(t):Nl(e)}const Ore={identify:e=>O_(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>G5(e,2,8,n),stringify:e=>gre(e,8,"0o")},bre={identify:O_,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>G5(e,0,10,n),stringify:Nl},yre={identify:e=>O_(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>G5(e,2,16,n),stringify:e=>gre(e,16,"0x")},y9e=[C0,R0,m_,g_,Y5,Ore,bre,yre,hre,pre,mre];function l7(e){return typeof e=="bigint"||Number.isInteger(e)}const FS=({value:e})=>JSON.stringify(e),x9e=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:FS},{identify:e=>e==null,createNode:()=>new en(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:FS},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:FS},{identify:l7,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>l7(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:FS}],S9e={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},v9e=[C0,R0].concat(x9e,S9e),W5={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof atob=="function"){const n=atob(e.replace(/[\n\r]/g,"")),i=new Uint8Array(n.length);for(let r=0;r1&&t("Each pair must have its own sequence indicator");const r=i.items[0]||new ra(new en(null));if(i.commentBefore&&(r.key.commentBefore=r.key.commentBefore?`${i.commentBefore} ${r.key.commentBefore}`:i.commentBefore),i.comment){const s=r.value??r.key;s.comment=s.comment?`${i.comment} -${s.comment}`:i.comment}i=r}e.items[n]=_r(i)?i:new ra(i)}}else t("Expected a sequence for this tag");return e}function yre(e,t,n){const{replacer:i}=n,r=new Zh(e);r.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator in Object(t))for(let a of t){typeof i=="function"&&(a=i.call(t,String(s++),a));let o,l;if(Array.isArray(a))if(a.length===2)o=a[0],l=a[1];else throw new TypeError(`Expected [key, value] tuple: ${a}`);else if(a&&a instanceof Object){const u=Object.keys(a);if(u.length===1)o=u[0],l=a[o];else throw new TypeError(`Expected tuple with one key, not ${u.length} keys`)}else o=a;r.items.push(H$(o,l,n))}return r}const Z$={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:bre,createNode:yre};class Zm extends Zh{constructor(){super(),this.add=Ro.prototype.add.bind(this),this.delete=Ro.prototype.delete.bind(this),this.get=Ro.prototype.get.bind(this),this.has=Ro.prototype.has.bind(this),this.set=Ro.prototype.set.bind(this),this.tag=Zm.tag}toJSON(t,n){if(!n)return super.toJSON(t);const i=new Map;n!=null&&n.onCreate&&n.onCreate(i);for(const r of this.items){let s,a;if(_r(r)?(s=zo(r.key,"",n),a=zo(r.value,s,n)):s=zo(r,"",n),i.has(s))throw new Error("Ordered maps must not include duplicate keys");i.set(s,a)}return i}static from(t,n,i){const r=yre(t,n,i),s=new this;return s.items=r.items,s}}Zm.tag="tag:yaml.org,2002:omap";const K$={collection:"seq",identify:e=>e instanceof Map,nodeClass:Zm,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=bre(e,t),i=[];for(const{key:r}of n.items)Mi(r)&&(i.includes(r.value)?t(`Ordered maps must not include duplicate keys: ${r.value}`):i.push(r.value));return Object.assign(new Zm,n)},createNode:(e,t,n)=>Zm.from(e,t,n)};function xre({value:e,source:t},n){return t&&(e?Sre:vre).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const Sre={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new en(!0),stringify:xre},vre={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new en(!1),stringify:xre},S9e={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Nl},v9e={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():Nl(e)}},w9e={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){const t=new en(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(n!==-1){const i=e.substring(n+1).replace(/_/g,"");i[i.length-1]==="0"&&(t.minFractionDigits=i.length)}return t},stringify:Nl},o1=e=>typeof e=="bigint"||Number.isInteger(e);function b_(e,t,n,{intAsBigInt:i}){const r=e[0];if((r==="-"||r==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),i){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}const a=BigInt(e);return r==="-"?BigInt(-1)*a:a}const s=parseInt(e,n);return r==="-"?-1*s:s}function J$(e,t,n){const{value:i}=e;if(o1(i)){const r=i.toString(t);return i<0?"-"+n+r.substr(1):n+r}return Nl(e)}const E9e={identify:o1,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>b_(e,2,2,n),stringify:e=>J$(e,2,"0b")},k9e={identify:o1,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>b_(e,1,8,n),stringify:e=>J$(e,8,"0")},T9e={identify:o1,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>b_(e,0,10,n),stringify:Nl},_9e={identify:o1,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>b_(e,2,16,n),stringify:e=>J$(e,16,"0x")};class Km extends Ro{constructor(t){super(t),this.tag=Km.tag}add(t){let n;_r(t)?n=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?n=new ra(t.key,null):n=new ra(t,null),xh(this.items,n.key)||this.items.push(n)}get(t,n){const i=xh(this.items,t);return!n&&_r(i)?Mi(i.key)?i.key.value:i.key:i}set(t,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);const i=xh(this.items,t);i&&!n?this.items.splice(this.items.indexOf(i),1):!i&&n&&this.items.push(new ra(t))}toJSON(t,n){return super.toJSON(t,n,Set)}toString(t,n,i){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),n,i);throw new Error("Set items must all have null values")}static from(t,n,i){const{replacer:r}=i,s=new this(t);if(n&&Symbol.iterator in Object(n))for(let a of n)typeof r=="function"&&(a=r.call(n,a,a)),s.items.push(H$(a,null,i));return s}}Km.tag="tag:yaml.org,2002:set";const e5={collection:"map",identify:e=>e instanceof Set,nodeClass:Km,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>Km.from(e,t,n),resolve(e,t){if(s1(e)){if(e.hasAllNullValues(!0))return Object.assign(new Km,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function t5(e,t){const n=e[0],i=n==="-"||n==="+"?e.substring(1):e,r=a=>t?BigInt(a):Number(a),s=i.replace(/_/g,"").split(":").reduce((a,o)=>a*r(60)+r(o),r(0));return n==="-"?r(-1)*s:s}function wre(e){let{value:t}=e,n=a=>a;if(typeof t=="bigint")n=a=>BigInt(a);else if(isNaN(t)||!isFinite(t))return Nl(e);let i="";t<0&&(i="-",t*=n(-1));const r=n(60),s=[t%r];return t<60?s.unshift(0):(t=(t-s[0])/r,s.unshift(t%r),t>=60&&(t=(t-s[0])/r,s.unshift(t))),i+s.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const Ere={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>t5(e,n),stringify:wre},kre={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>t5(e,!1),stringify:wre},y_={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){const t=e.match(y_.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,n,i,r,s,a,o]=t.map(Number),l=t[7]?Number((t[7]+"00").substr(1,3)):0;let u=Date.UTC(n,i-1,r,s||0,a||0,o||0,l);const d=t[8];if(d&&d!=="Z"){let f=t5(d,!1);Math.abs(f)<30&&(f*=60),u-=6e4*f}return new Date(u)},stringify:({value:e})=>(e==null?void 0:e.toISOString().replace(/(T00:00:00)?\.000Z$/,""))??""},c7=[N0,C0,m_,g_,Sre,vre,E9e,k9e,T9e,_9e,S9e,v9e,w9e,W$,Ou,K$,Z$,e5,Ere,kre,y_],u7=new Map([["core",O9e],["failsafe",[N0,C0,m_]],["json",x9e],["yaml11",c7],["yaml-1.1",c7]]),d7={binary:W$,bool:Y$,float:hre,floatExp:fre,floatNaN:dre,floatTime:kre,int:gre,intHex:Ore,intOct:mre,intTime:Ere,map:N0,merge:Ou,null:g_,omap:K$,pairs:Z$,seq:C0,set:e5,timestamp:y_},A9e={"tag:yaml.org,2002:binary":W$,"tag:yaml.org,2002:merge":Ou,"tag:yaml.org,2002:omap":K$,"tag:yaml.org,2002:pairs":Z$,"tag:yaml.org,2002:set":e5,"tag:yaml.org,2002:timestamp":y_};function _2(e,t,n){const i=u7.get(t);if(i&&!e)return n&&!i.includes(Ou)?i.concat(Ou):i.slice();let r=i;if(!r)if(Array.isArray(e))r=[];else{const s=Array.from(u7.keys()).filter(a=>a!=="yaml11").map(a=>JSON.stringify(a)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${s} or define customTags array`)}if(Array.isArray(e))for(const s of e)r=r.concat(s);else typeof e=="function"&&(r=e(r.slice()));return n&&(r=r.concat(Ou)),r.reduce((s,a)=>{const o=typeof a=="string"?d7[a]:a;if(!o){const l=JSON.stringify(a),u=Object.keys(d7).map(d=>JSON.stringify(d)).join(", ");throw new Error(`Unknown custom tag ${l}; use one of ${u}`)}return s.includes(o)||s.push(o),s},[])}const N9e=(e,t)=>e.keyt.key?1:0;let C9e=class Tre{constructor({compat:t,customTags:n,merge:i,resolveKnownTags:r,schema:s,sortMapEntries:a,toStringDefaults:o}){this.compat=Array.isArray(t)?_2(t,"compat"):t?_2(null,t):null,this.name=typeof s=="string"&&s||"core",this.knownTags=r?A9e:{},this.tags=_2(n,this.name,i),this.toStringOptions=o??null,Object.defineProperty(this,ef,{value:N0}),Object.defineProperty(this,xc,{value:m_}),Object.defineProperty(this,T0,{value:C0}),this.sortMapEntries=typeof a=="function"?a:a===!0?N9e:null}clone(){const t=Object.create(Tre.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};function R9e(e,t){var l;const n=[];let i=t.directives===!0;if(t.directives!==!1&&e.directives){const u=e.directives.toString(e);u?(n.push(u),i=!0):e.directives.docStart&&(i=!0)}i&&n.push("---");const r=are(e,t),{commentString:s}=r.options;if(e.commentBefore){n.length!==1&&n.unshift("");const u=s(e.commentBefore);n.unshift(du(u,""))}let a=!1,o=null;if(e.contents){if(Tr(e.contents)){if(e.contents.spaceBefore&&i&&n.push(""),e.contents.commentBefore){const f=s(e.contents.commentBefore);n.push(du(f,""))}r.forceBlockIndent=!!e.comment,o=e.contents.comment}const u=o?void 0:()=>a=!0;let d=zg(e.contents,r,()=>o=null,u);o&&(d+=yh(d,"",s(o))),(d[0]==="|"||d[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${d}`:n.push(d)}else n.push(zg(e.contents,r));if((l=e.directives)!=null&&l.docEnd)if(e.comment){const u=s(e.comment);u.includes(` -`)?(n.push("..."),n.push(du(u,""))):n.push(`... ${u}`)}else n.push("...");else{let u=e.comment;u&&a&&(u=u.replace(/^\n+/,"")),u&&((!a||o)&&n[n.length-1]!==""&&n.push(""),n.push(du(s(u),"")))}return n.join(` +${s.comment}`:i.comment}i=r}e.items[n]=_r(i)?i:new ra(i)}}else t("Expected a sequence for this tag");return e}function Sre(e,t,n){const{replacer:i}=n,r=new Zh(e);r.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator in Object(t))for(let a of t){typeof i=="function"&&(a=i.call(t,String(s++),a));let o,l;if(Array.isArray(a))if(a.length===2)o=a[0],l=a[1];else throw new TypeError(`Expected [key, value] tuple: ${a}`);else if(a&&a instanceof Object){const u=Object.keys(a);if(u.length===1)o=u[0],l=a[o];else throw new TypeError(`Expected tuple with one key, not ${u.length} keys`)}else o=a;r.items.push(H5(o,l,n))}return r}const Z5={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:xre,createNode:Sre};class Km extends Zh{constructor(){super(),this.add=Ro.prototype.add.bind(this),this.delete=Ro.prototype.delete.bind(this),this.get=Ro.prototype.get.bind(this),this.has=Ro.prototype.has.bind(this),this.set=Ro.prototype.set.bind(this),this.tag=Km.tag}toJSON(t,n){if(!n)return super.toJSON(t);const i=new Map;n!=null&&n.onCreate&&n.onCreate(i);for(const r of this.items){let s,a;if(_r(r)?(s=zo(r.key,"",n),a=zo(r.value,s,n)):s=zo(r,"",n),i.has(s))throw new Error("Ordered maps must not include duplicate keys");i.set(s,a)}return i}static from(t,n,i){const r=Sre(t,n,i),s=new this;return s.items=r.items,s}}Km.tag="tag:yaml.org,2002:omap";const K5={collection:"seq",identify:e=>e instanceof Map,nodeClass:Km,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=xre(e,t),i=[];for(const{key:r}of n.items)Mi(r)&&(i.includes(r.value)?t(`Ordered maps must not include duplicate keys: ${r.value}`):i.push(r.value));return Object.assign(new Km,n)},createNode:(e,t,n)=>Km.from(e,t,n)};function vre({value:e,source:t},n){return t&&(e?wre:Ere).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const wre={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new en(!0),stringify:vre},Ere={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new en(!1),stringify:vre},w9e={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Nl},E9e={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():Nl(e)}},k9e={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){const t=new en(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(n!==-1){const i=e.substring(n+1).replace(/_/g,"");i[i.length-1]==="0"&&(t.minFractionDigits=i.length)}return t},stringify:Nl},o1=e=>typeof e=="bigint"||Number.isInteger(e);function b_(e,t,n,{intAsBigInt:i}){const r=e[0];if((r==="-"||r==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),i){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}const a=BigInt(e);return r==="-"?BigInt(-1)*a:a}const s=parseInt(e,n);return r==="-"?-1*s:s}function J5(e,t,n){const{value:i}=e;if(o1(i)){const r=i.toString(t);return i<0?"-"+n+r.substr(1):n+r}return Nl(e)}const T9e={identify:o1,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>b_(e,2,2,n),stringify:e=>J5(e,2,"0b")},_9e={identify:o1,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>b_(e,1,8,n),stringify:e=>J5(e,8,"0")},A9e={identify:o1,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>b_(e,0,10,n),stringify:Nl},N9e={identify:o1,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>b_(e,2,16,n),stringify:e=>J5(e,16,"0x")};class Jm extends Ro{constructor(t){super(t),this.tag=Jm.tag}add(t){let n;_r(t)?n=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?n=new ra(t.key,null):n=new ra(t,null),xh(this.items,n.key)||this.items.push(n)}get(t,n){const i=xh(this.items,t);return!n&&_r(i)?Mi(i.key)?i.key.value:i.key:i}set(t,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);const i=xh(this.items,t);i&&!n?this.items.splice(this.items.indexOf(i),1):!i&&n&&this.items.push(new ra(t))}toJSON(t,n){return super.toJSON(t,n,Set)}toString(t,n,i){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),n,i);throw new Error("Set items must all have null values")}static from(t,n,i){const{replacer:r}=i,s=new this(t);if(n&&Symbol.iterator in Object(n))for(let a of n)typeof r=="function"&&(a=r.call(n,a,a)),s.items.push(H5(a,null,i));return s}}Jm.tag="tag:yaml.org,2002:set";const e$={collection:"map",identify:e=>e instanceof Set,nodeClass:Jm,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>Jm.from(e,t,n),resolve(e,t){if(s1(e)){if(e.hasAllNullValues(!0))return Object.assign(new Jm,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function t$(e,t){const n=e[0],i=n==="-"||n==="+"?e.substring(1):e,r=a=>t?BigInt(a):Number(a),s=i.replace(/_/g,"").split(":").reduce((a,o)=>a*r(60)+r(o),r(0));return n==="-"?r(-1)*s:s}function kre(e){let{value:t}=e,n=a=>a;if(typeof t=="bigint")n=a=>BigInt(a);else if(isNaN(t)||!isFinite(t))return Nl(e);let i="";t<0&&(i="-",t*=n(-1));const r=n(60),s=[t%r];return t<60?s.unshift(0):(t=(t-s[0])/r,s.unshift(t%r),t>=60&&(t=(t-s[0])/r,s.unshift(t))),i+s.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const Tre={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>t$(e,n),stringify:kre},_re={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>t$(e,!1),stringify:kre},y_={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){const t=e.match(y_.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,n,i,r,s,a,o]=t.map(Number),l=t[7]?Number((t[7]+"00").substr(1,3)):0;let u=Date.UTC(n,i-1,r,s||0,a||0,o||0,l);const d=t[8];if(d&&d!=="Z"){let f=t$(d,!1);Math.abs(f)<30&&(f*=60),u-=6e4*f}return new Date(u)},stringify:({value:e})=>(e==null?void 0:e.toISOString().replace(/(T00:00:00)?\.000Z$/,""))??""},c7=[C0,R0,m_,g_,wre,Ere,T9e,_9e,A9e,N9e,w9e,E9e,k9e,W5,bu,K5,Z5,e$,Tre,_re,y_],u7=new Map([["core",y9e],["failsafe",[C0,R0,m_]],["json",v9e],["yaml11",c7],["yaml-1.1",c7]]),d7={binary:W5,bool:Y5,float:mre,floatExp:pre,floatNaN:hre,floatTime:_re,int:bre,intHex:yre,intOct:Ore,intTime:Tre,map:C0,merge:bu,null:g_,omap:K5,pairs:Z5,seq:R0,set:e$,timestamp:y_},C9e={"tag:yaml.org,2002:binary":W5,"tag:yaml.org,2002:merge":bu,"tag:yaml.org,2002:omap":K5,"tag:yaml.org,2002:pairs":Z5,"tag:yaml.org,2002:set":e$,"tag:yaml.org,2002:timestamp":y_};function _N(e,t,n){const i=u7.get(t);if(i&&!e)return n&&!i.includes(bu)?i.concat(bu):i.slice();let r=i;if(!r)if(Array.isArray(e))r=[];else{const s=Array.from(u7.keys()).filter(a=>a!=="yaml11").map(a=>JSON.stringify(a)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${s} or define customTags array`)}if(Array.isArray(e))for(const s of e)r=r.concat(s);else typeof e=="function"&&(r=e(r.slice()));return n&&(r=r.concat(bu)),r.reduce((s,a)=>{const o=typeof a=="string"?d7[a]:a;if(!o){const l=JSON.stringify(a),u=Object.keys(d7).map(d=>JSON.stringify(d)).join(", ");throw new Error(`Unknown custom tag ${l}; use one of ${u}`)}return s.includes(o)||s.push(o),s},[])}const R9e=(e,t)=>e.keyt.key?1:0;let I9e=class Are{constructor({compat:t,customTags:n,merge:i,resolveKnownTags:r,schema:s,sortMapEntries:a,toStringDefaults:o}){this.compat=Array.isArray(t)?_N(t,"compat"):t?_N(null,t):null,this.name=typeof s=="string"&&s||"core",this.knownTags=r?C9e:{},this.tags=_N(n,this.name,i),this.toStringOptions=o??null,Object.defineProperty(this,ef,{value:C0}),Object.defineProperty(this,xc,{value:m_}),Object.defineProperty(this,_0,{value:R0}),this.sortMapEntries=typeof a=="function"?a:a===!0?R9e:null}clone(){const t=Object.create(Are.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};function P9e(e,t){var l;const n=[];let i=t.directives===!0;if(t.directives!==!1&&e.directives){const u=e.directives.toString(e);u?(n.push(u),i=!0):e.directives.docStart&&(i=!0)}i&&n.push("---");const r=lre(e,t),{commentString:s}=r.options;if(e.commentBefore){n.length!==1&&n.unshift("");const u=s(e.commentBefore);n.unshift(fu(u,""))}let a=!1,o=null;if(e.contents){if(Tr(e.contents)){if(e.contents.spaceBefore&&i&&n.push(""),e.contents.commentBefore){const f=s(e.contents.commentBefore);n.push(fu(f,""))}r.forceBlockIndent=!!e.comment,o=e.contents.comment}const u=o?void 0:()=>a=!0;let d=Fg(e.contents,r,()=>o=null,u);o&&(d+=yh(d,"",s(o))),(d[0]==="|"||d[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${d}`:n.push(d)}else n.push(Fg(e.contents,r));if((l=e.directives)!=null&&l.docEnd)if(e.comment){const u=s(e.comment);u.includes(` +`)?(n.push("..."),n.push(fu(u,""))):n.push(`... ${u}`)}else n.push("...");else{let u=e.comment;u&&a&&(u=u.replace(/^\n+/,"")),u&&((!a||o)&&n[n.length-1]!==""&&n.push(""),n.push(fu(s(u),"")))}return n.join(` `)+` -`}class l1{constructor(t,n,i){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Vo,{value:zP});let r=null;typeof n=="function"||Array.isArray(n)?r=n:i===void 0&&n&&(i=n,n=void 0);const s=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},i);this.options=s;let{version:a}=s;i!=null&&i._directives?(this.directives=i._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new Ks({version:a}),this.setSchema(a,i),this.contents=t===void 0?null:this.createNode(t,r,i)}clone(){const t=Object.create(l1.prototype,{[Vo]:{value:zP}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=Tr(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){Dp(this.contents)&&this.contents.add(t)}addIn(t,n){Dp(this.contents)&&this.contents.addIn(t,n)}createAlias(t,n){if(!t.anchor){const i=tre(this);t.anchor=!n||i.has(n)?nre(n||"a",i):n}return new X$(t.anchor)}createNode(t,n,i){let r;if(typeof n=="function")t=n.call({"":t},"",t),r=n;else if(Array.isArray(n)){const y=S=>typeof S=="number"||S instanceof String||S instanceof Number,b=n.filter(y).map(String);b.length>0&&(n=n.concat(b)),r=n}else i===void 0&&n&&(i=n,n=void 0);const{aliasDuplicateObjects:s,anchorPrefix:a,flow:o,keepUndefined:l,onTagObj:u,tag:d}=i??{},{onAnchor:f,setAnchors:h,sourceObjects:p}=i9e(this,a||"a"),m={aliasDuplicateObjects:s??!0,keepUndefined:l??!1,onAnchor:f,onTagObj:u,replacer:r,schema:this.schema,sourceObjects:p},g=Vy(t,d,m);return o&&Er(g)&&(g.flow=!0),h(),g}createPair(t,n,i={}){const r=this.createNode(t,null,i),s=this.createNode(n,null,i);return new ra(r,s)}delete(t){return Dp(this.contents)?this.contents.delete(t):!1}deleteIn(t){return eb(t)?this.contents==null?!1:(this.contents=null,!0):Dp(this.contents)?this.contents.deleteIn(t):!1}get(t,n){return Er(this.contents)?this.contents.get(t,n):void 0}getIn(t,n){return eb(t)?!n&&Mi(this.contents)?this.contents.value:this.contents:Er(this.contents)?this.contents.getIn(t,n):void 0}has(t){return Er(this.contents)?this.contents.has(t):!1}hasIn(t){return eb(t)?this.contents!==void 0:Er(this.contents)?this.contents.hasIn(t):!1}set(t,n){this.contents==null?this.contents=ek(this.schema,[t],n):Dp(this.contents)&&this.contents.set(t,n)}setIn(t,n){eb(t)?this.contents=n:this.contents==null?this.contents=ek(this.schema,Array.from(t),n):Dp(this.contents)&&this.contents.setIn(t,n)}setSchema(t,n={}){typeof t=="number"&&(t=String(t));let i;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Ks({version:"1.1"}),i={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new Ks({version:t}),i={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,i=null;break;default:{const r=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${r}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(i)this.schema=new C9e(Object.assign(i,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:n,mapAsMap:i,maxAliasCount:r,onAnchor:s,reviver:a}={}){const o={anchors:new Map,doc:this,keep:!t,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},l=zo(this.contents,n??"",o);if(typeof s=="function")for(const{count:u,res:d}of o.anchors.values())s(d,u);return typeof a=="function"?Rm(a,{"":l},"",l):l}toJSON(t,n){return this.toJS({json:!0,jsonArg:t,mapAsMap:!1,onAnchor:n})}toString(t={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in t&&(!Number.isInteger(t.indent)||Number(t.indent)<=0)){const n=JSON.stringify(t.indent);throw new Error(`"indent" option must be a positive integer, not ${n}`)}return R9e(this,t)}}function Dp(e){if(Er(e))return!0;throw new Error("Expected a YAML collection as document contents")}class _re extends Error{constructor(t,n,i,r){super(),this.name=t,this.code=i,this.message=r,this.pos=n}}class tb extends _re{constructor(t,n,i){super("YAMLParseError",t,n,i)}}class I9e extends _re{constructor(t,n,i){super("YAMLWarning",t,n,i)}}const f7=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(o=>t.linePos(o));const{line:i,col:r}=n.linePos[0];n.message+=` at line ${i}, column ${r}`;let s=r-1,a=e.substring(t.lineStarts[i-1],t.lineStarts[i]).replace(/[\n\r]+$/,"");if(s>=60&&a.length>80){const o=Math.min(s-39,a.length-79);a="…"+a.substring(o),s-=o-1}if(a.length>80&&(a=a.substring(0,79)+"…"),i>1&&/^ *$/.test(a.substring(0,s))){let o=e.substring(t.lineStarts[i-2],t.lineStarts[i-1]);o.length>80&&(o=o.substring(0,79)+`… +`}class l1{constructor(t,n,i){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Vo,{value:zP});let r=null;typeof n=="function"||Array.isArray(n)?r=n:i===void 0&&n&&(i=n,n=void 0);const s=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},i);this.options=s;let{version:a}=s;i!=null&&i._directives?(this.directives=i._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new Ks({version:a}),this.setSchema(a,i),this.contents=t===void 0?null:this.createNode(t,r,i)}clone(){const t=Object.create(l1.prototype,{[Vo]:{value:zP}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=Tr(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){Dp(this.contents)&&this.contents.add(t)}addIn(t,n){Dp(this.contents)&&this.contents.addIn(t,n)}createAlias(t,n){if(!t.anchor){const i=ire(this);t.anchor=!n||i.has(n)?rre(n||"a",i):n}return new X5(t.anchor)}createNode(t,n,i){let r;if(typeof n=="function")t=n.call({"":t},"",t),r=n;else if(Array.isArray(n)){const y=S=>typeof S=="number"||S instanceof String||S instanceof Number,b=n.filter(y).map(String);b.length>0&&(n=n.concat(b)),r=n}else i===void 0&&n&&(i=n,n=void 0);const{aliasDuplicateObjects:s,anchorPrefix:a,flow:o,keepUndefined:l,onTagObj:u,tag:d}=i??{},{onAnchor:f,setAnchors:h,sourceObjects:p}=s9e(this,a||"a"),m={aliasDuplicateObjects:s??!0,keepUndefined:l??!1,onAnchor:f,onTagObj:u,replacer:r,schema:this.schema,sourceObjects:p},g=Vy(t,d,m);return o&&Er(g)&&(g.flow=!0),h(),g}createPair(t,n,i={}){const r=this.createNode(t,null,i),s=this.createNode(n,null,i);return new ra(r,s)}delete(t){return Dp(this.contents)?this.contents.delete(t):!1}deleteIn(t){return eb(t)?this.contents==null?!1:(this.contents=null,!0):Dp(this.contents)?this.contents.deleteIn(t):!1}get(t,n){return Er(this.contents)?this.contents.get(t,n):void 0}getIn(t,n){return eb(t)?!n&&Mi(this.contents)?this.contents.value:this.contents:Er(this.contents)?this.contents.getIn(t,n):void 0}has(t){return Er(this.contents)?this.contents.has(t):!1}hasIn(t){return eb(t)?this.contents!==void 0:Er(this.contents)?this.contents.hasIn(t):!1}set(t,n){this.contents==null?this.contents=ek(this.schema,[t],n):Dp(this.contents)&&this.contents.set(t,n)}setIn(t,n){eb(t)?this.contents=n:this.contents==null?this.contents=ek(this.schema,Array.from(t),n):Dp(this.contents)&&this.contents.setIn(t,n)}setSchema(t,n={}){typeof t=="number"&&(t=String(t));let i;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Ks({version:"1.1"}),i={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new Ks({version:t}),i={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,i=null;break;default:{const r=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${r}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(i)this.schema=new I9e(Object.assign(i,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:n,mapAsMap:i,maxAliasCount:r,onAnchor:s,reviver:a}={}){const o={anchors:new Map,doc:this,keep:!t,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},l=zo(this.contents,n??"",o);if(typeof s=="function")for(const{count:u,res:d}of o.anchors.values())s(d,u);return typeof a=="function"?Im(a,{"":l},"",l):l}toJSON(t,n){return this.toJS({json:!0,jsonArg:t,mapAsMap:!1,onAnchor:n})}toString(t={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in t&&(!Number.isInteger(t.indent)||Number(t.indent)<=0)){const n=JSON.stringify(t.indent);throw new Error(`"indent" option must be a positive integer, not ${n}`)}return P9e(this,t)}}function Dp(e){if(Er(e))return!0;throw new Error("Expected a YAML collection as document contents")}class Nre extends Error{constructor(t,n,i,r){super(),this.name=t,this.code=i,this.message=r,this.pos=n}}class tb extends Nre{constructor(t,n,i){super("YAMLParseError",t,n,i)}}class j9e extends Nre{constructor(t,n,i){super("YAMLWarning",t,n,i)}}const f7=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(o=>t.linePos(o));const{line:i,col:r}=n.linePos[0];n.message+=` at line ${i}, column ${r}`;let s=r-1,a=e.substring(t.lineStarts[i-1],t.lineStarts[i]).replace(/[\n\r]+$/,"");if(s>=60&&a.length>80){const o=Math.min(s-39,a.length-79);a="…"+a.substring(o),s-=o-1}if(a.length>80&&(a=a.substring(0,79)+"…"),i>1&&/^ *$/.test(a.substring(0,s))){let o=e.substring(t.lineStarts[i-2],t.lineStarts[i-1]);o.length>80&&(o=o.substring(0,79)+`… `),a=o+a}if(/[^ ]/.test(a)){let o=1;const l=n.linePos[1];(l==null?void 0:l.line)===i&&l.col>r&&(o=Math.max(1,Math.min(l.col-r,80-s)));const u=" ".repeat(s)+"^".repeat(o);n.message+=`: ${a} ${u} -`}};function Fg(e,{flow:t,indicator:n,next:i,offset:r,onError:s,parentIndent:a,startOnNewline:o}){let l=!1,u=o,d=o,f="",h="",p=!1,m=!1,g=null,y=null,b=null,S=null,x=null,v=null,E=null;for(const _ of e)switch(m&&(_.type!=="space"&&_.type!=="newline"&&_.type!=="comma"&&s(_.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),g&&(u&&_.type!=="comment"&&_.type!=="newline"&&s(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),_.type){case"space":!t&&(n!=="doc-start"||(i==null?void 0:i.type)!=="flow-collection")&&_.source.includes(" ")&&(g=_),d=!0;break;case"comment":{d||s(_,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const C=_.source.substring(1)||" ";f?f+=h+C:f=C,h="",u=!1;break}case"newline":u?f?f+=_.source:(!v||n!=="seq-item-ind")&&(l=!0):h+=_.source,u=!0,p=!0,(y||b)&&(S=_),d=!0;break;case"anchor":y&&s(_,"MULTIPLE_ANCHORS","A node can have at most one anchor"),_.source.endsWith(":")&&s(_.offset+_.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),y=_,E??(E=_.offset),u=!1,d=!1,m=!0;break;case"tag":{b&&s(_,"MULTIPLE_TAGS","A node can have at most one tag"),b=_,E??(E=_.offset),u=!1,d=!1,m=!0;break}case n:(y||b)&&s(_,"BAD_PROP_ORDER",`Anchors and tags must be after the ${_.source} indicator`),v&&s(_,"UNEXPECTED_TOKEN",`Unexpected ${_.source} in ${t??"collection"}`),v=_,u=n==="seq-item-ind"||n==="explicit-key-ind",d=!1;break;case"comma":if(t){x&&s(_,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),x=_,u=!1,d=!1;break}default:s(_,"UNEXPECTED_TOKEN",`Unexpected ${_.type} token`),u=!1,d=!1}const w=e[e.length-1],k=w?w.offset+w.source.length:r;return m&&i&&i.type!=="space"&&i.type!=="newline"&&i.type!=="comma"&&(i.type!=="scalar"||i.source!=="")&&s(i.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(u&&g.indent<=a||(i==null?void 0:i.type)==="block-map"||(i==null?void 0:i.type)==="block-seq")&&s(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:x,found:v,spaceBefore:l,comment:f,hasNewline:p,anchor:y,tag:b,newlineAfterProp:S,end:k,start:E??k}}function Xy(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(` -`))return!0;if(e.end){for(const t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(const t of e.items){for(const n of t.start)if(n.type==="newline")return!0;if(t.sep){for(const n of t.sep)if(n.type==="newline")return!0}if(Xy(t.key)||Xy(t.value))return!0}return!1;default:return!0}}function qP(e,t,n){if((t==null?void 0:t.type)==="flow-collection"){const i=t.end[0];i.indent===e&&(i.source==="]"||i.source==="}")&&Xy(t)&&n(i,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function Are(e,t,n){const{uniqueKeys:i}=e.options;if(i===!1)return!1;const r=typeof i=="function"?i:(s,a)=>s===a||Mi(s)&&Mi(a)&&s.value===a.value;return t.some(s=>r(s.key,n))}const h7="All mapping items must start at the same column";function P9e({composeNode:e,composeEmptyNode:t},n,i,r,s){var d;const a=(s==null?void 0:s.nodeClass)??Ro,o=new a(n.schema);n.atRoot&&(n.atRoot=!1);let l=i.offset,u=null;for(const f of i.items){const{start:h,key:p,sep:m,value:g}=f,y=Fg(h,{indicator:"explicit-key-ind",next:p??(m==null?void 0:m[0]),offset:l,onError:r,parentIndent:i.indent,startOnNewline:!0}),b=!y.found;if(b){if(p&&(p.type==="block-seq"?r(l,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in p&&p.indent!==i.indent&&r(l,"BAD_INDENT",h7)),!y.anchor&&!y.tag&&!m){u=y.end,y.comment&&(o.comment?o.comment+=` -`+y.comment:o.comment=y.comment);continue}(y.newlineAfterProp||Xy(p))&&r(p??h[h.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((d=y.found)==null?void 0:d.indent)!==i.indent&&r(l,"BAD_INDENT",h7);n.atKey=!0;const S=y.end,x=p?e(n,p,y,r):t(n,S,h,null,y,r);n.schema.compat&&qP(i.indent,p,r),n.atKey=!1,Are(n,o.items,x)&&r(S,"DUPLICATE_KEY","Map keys must be unique");const v=Fg(m??[],{indicator:"map-value-ind",next:g,offset:x.range[2],onError:r,parentIndent:i.indent,startOnNewline:!p||p.type==="block-scalar"});if(l=v.end,v.found){b&&((g==null?void 0:g.type)==="block-map"&&!v.hasNewline&&r(l,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&y.starte&&(e.type==="block-map"||e.type==="block-seq");function M9e({composeNode:e,composeEmptyNode:t},n,i,r,s){var y;const a=i.start.source==="{",o=a?"flow map":"flow sequence",l=(s==null?void 0:s.nodeClass)??(a?Ro:Zh),u=new l(n.schema);u.flow=!0;const d=n.atRoot;d&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let f=i.offset+i.start.source.length;for(let b=0;bs===a||Mi(s)&&Mi(a)&&s.value===a.value;return t.some(s=>r(s.key,n))}const h7="All mapping items must start at the same column";function M9e({composeNode:e,composeEmptyNode:t},n,i,r,s){var d;const a=(s==null?void 0:s.nodeClass)??Ro,o=new a(n.schema);n.atRoot&&(n.atRoot=!1);let l=i.offset,u=null;for(const f of i.items){const{start:h,key:p,sep:m,value:g}=f,y=Vg(h,{indicator:"explicit-key-ind",next:p??(m==null?void 0:m[0]),offset:l,onError:r,parentIndent:i.indent,startOnNewline:!0}),b=!y.found;if(b){if(p&&(p.type==="block-seq"?r(l,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in p&&p.indent!==i.indent&&r(l,"BAD_INDENT",h7)),!y.anchor&&!y.tag&&!m){u=y.end,y.comment&&(o.comment?o.comment+=` +`+y.comment:o.comment=y.comment);continue}(y.newlineAfterProp||Xy(p))&&r(p??h[h.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((d=y.found)==null?void 0:d.indent)!==i.indent&&r(l,"BAD_INDENT",h7);n.atKey=!0;const S=y.end,x=p?e(n,p,y,r):t(n,S,h,null,y,r);n.schema.compat&&qP(i.indent,p,r),n.atKey=!1,Cre(n,o.items,x)&&r(S,"DUPLICATE_KEY","Map keys must be unique");const v=Vg(m??[],{indicator:"map-value-ind",next:g,offset:x.range[2],onError:r,parentIndent:i.indent,startOnNewline:!p||p.type==="block-scalar"});if(l=v.end,v.found){b&&((g==null?void 0:g.type)==="block-map"&&!v.hasNewline&&r(l,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&y.starte&&(e.type==="block-map"||e.type==="block-seq");function D9e({composeNode:e,composeEmptyNode:t},n,i,r,s){var y;const a=i.start.source==="{",o=a?"flow map":"flow sequence",l=(s==null?void 0:s.nodeClass)??(a?Ro:Zh),u=new l(n.schema);u.flow=!0;const d=n.atRoot;d&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let f=i.offset+i.start.source.length;for(let b=0;b0){const b=c1(m,g,n.options.strict,r);b.comment&&(u.comment?u.comment+=` -`+b.comment:u.comment=b.comment),u.range=[i.offset,g,b.offset]}else u.range=[i.offset,g,g];return u}function C2(e,t,n,i,r,s){const a=n.type==="block-map"?P9e(e,t,n,i,s):n.type==="block-seq"?j9e(e,t,n,i,s):M9e(e,t,n,i,s),o=a.constructor;return r==="!"||r===o.tagName?(a.tag=o.tagName,a):(r&&(a.tag=r),a)}function L9e(e,t,n,i,r){var h;const s=i.tag,a=s?t.directives.tagName(s.source,p=>r(s,"TAG_RESOLVE_FAILED",p)):null;if(n.type==="block-seq"){const{anchor:p,newlineAfterProp:m}=i,g=p&&s?p.offset>s.offset?p:s:p??s;g&&(!m||m.offsetp.tag===a&&p.collection===o);if(!l){const p=t.schema.knownTags[a];if((p==null?void 0:p.collection)===o)t.schema.tags.push(Object.assign({},p,{default:!1})),l=p;else return p?r(s,"BAD_COLLECTION_TYPE",`${p.tag} used for ${o} collection, but expects ${p.collection??"scalar"}`,!0):r(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,!0),C2(e,t,n,r,a)}const u=C2(e,t,n,r,a,l),d=((h=l.resolve)==null?void 0:h.call(l,u,p=>r(s,"TAG_RESOLVE_FAILED",p),t.options))??u,f=Tr(d)?d:new en(d);return f.range=u.range,f.tag=a,l!=null&&l.format&&(f.format=l.format),f}function D9e(e,t,n){const i=t.offset,r=$9e(t,e.options.strict,n);if(!r)return{value:"",type:null,comment:"",range:[i,i,i]};const s=r.mode===">"?en.BLOCK_FOLDED:en.BLOCK_LITERAL,a=t.source?Q9e(t.source):[];let o=a.length;for(let g=a.length-1;g>=0;--g){const y=a[g][1];if(y===""||y==="\r")o=g;else break}if(o===0){const g=r.chomp==="+"&&a.length>0?` +`+_:C.comment=_,k.comment=k.comment.substring(_.length+1)}}if(!a&&!E&&!k.found){const _=w?e(n,w,k,r):t(n,k.end,E,null,k,r);u.items.push(_),f=_.range[2],NN(w)&&r(_.range,"BLOCK_IN_FLOW",AN)}else{n.atKey=!0;const _=k.end,C=v?e(n,v,k,r):t(n,_,x,null,k,r);NN(v)&&r(C.range,"BLOCK_IN_FLOW",AN),n.atKey=!1;const A=Vg(E??[],{flow:o,indicator:"map-value-ind",next:w,offset:C.range[2],onError:r,parentIndent:i.indent,startOnNewline:!1});if(A.found){if(!a&&!k.found&&n.options.strict){if(E)for(const Q of E){if(Q===A.found)break;if(Q.type==="newline"){r(Q,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}k.start0){const b=c1(m,g,n.options.strict,r);b.comment&&(u.comment?u.comment+=` +`+b.comment:u.comment=b.comment),u.range=[i.offset,g,b.offset]}else u.range=[i.offset,g,g];return u}function CN(e,t,n,i,r,s){const a=n.type==="block-map"?M9e(e,t,n,i,s):n.type==="block-seq"?L9e(e,t,n,i,s):D9e(e,t,n,i,s),o=a.constructor;return r==="!"||r===o.tagName?(a.tag=o.tagName,a):(r&&(a.tag=r),a)}function $9e(e,t,n,i,r){var h;const s=i.tag,a=s?t.directives.tagName(s.source,p=>r(s,"TAG_RESOLVE_FAILED",p)):null;if(n.type==="block-seq"){const{anchor:p,newlineAfterProp:m}=i,g=p&&s?p.offset>s.offset?p:s:p??s;g&&(!m||m.offsetp.tag===a&&p.collection===o);if(!l){const p=t.schema.knownTags[a];if((p==null?void 0:p.collection)===o)t.schema.tags.push(Object.assign({},p,{default:!1})),l=p;else return p?r(s,"BAD_COLLECTION_TYPE",`${p.tag} used for ${o} collection, but expects ${p.collection??"scalar"}`,!0):r(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,!0),CN(e,t,n,r,a)}const u=CN(e,t,n,r,a,l),d=((h=l.resolve)==null?void 0:h.call(l,u,p=>r(s,"TAG_RESOLVE_FAILED",p),t.options))??u,f=Tr(d)?d:new en(d);return f.range=u.range,f.tag=a,l!=null&&l.format&&(f.format=l.format),f}function Q9e(e,t,n){const i=t.offset,r=B9e(t,e.options.strict,n);if(!r)return{value:"",type:null,comment:"",range:[i,i,i]};const s=r.mode===">"?en.BLOCK_FOLDED:en.BLOCK_LITERAL,a=t.source?U9e(t.source):[];let o=a.length;for(let g=a.length-1;g>=0;--g){const y=a[g][1];if(y===""||y==="\r")o=g;else break}if(o===0){const g=r.chomp==="+"&&a.length>0?` `.repeat(Math.max(1,a.length-1)):"";let y=i+r.length;return t.source&&(y+=t.source.length),{value:g,type:s,comment:r.comment,range:[i,y,y]}}let l=t.indent+r.indent,u=t.offset+r.length,d=0;for(let g=0;gl&&(l=y.length);else{y.length=o;--g)a[g][0].length>l&&(o=g+1);let f="",h="",p=!1;for(let g=0;gl||b[0]===" "?(h===" "?h=` @@ -578,38 +578,38 @@ ${u} `+a[g][0].slice(l);f[f.length-1]!==` `&&(f+=` `);break;default:f+=` -`}const m=i+r.length+t.source.length;return{value:f,type:s,comment:r.comment,range:[i,m,m]}}function $9e({offset:e,props:t},n,i){if(t[0].type!=="block-scalar-header")return i(t[0],"IMPOSSIBLE","Block scalar header not found"),null;const{source:r}=t[0],s=r[0];let a=0,o="",l=-1;for(let h=1;hn(i+h,p,m);switch(r){case"scalar":o=en.PLAIN,l=U9e(s,u);break;case"single-quoted-scalar":o=en.QUOTE_SINGLE,l=z9e(s,u);break;case"double-quoted-scalar":o=en.QUOTE_DOUBLE,l=F9e(s,u);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${r}`),{value:"",type:null,comment:"",range:[i,i+s.length,i+s.length]}}const d=i+s.length,f=c1(a,d,t,n);return{value:l,type:o,comment:f.comment,range:[i,d,f.offset]}}function U9e(e,t){let n="";switch(e[0]){case" ":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":{n=`block scalar indicator ${e[0]}`;break}case"@":case"`":{n=`reserved character ${e[0]}`;break}}return n&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`),Nre(e)}function z9e(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),Nre(e.slice(1,-1)).replace(/''/g,"'")}function Nre(e){let t,n;try{t=new RegExp(`(.*?)(?n(i+h,p,m);switch(r){case"scalar":o=en.PLAIN,l=F9e(s,u);break;case"single-quoted-scalar":o=en.QUOTE_SINGLE,l=V9e(s,u);break;case"double-quoted-scalar":o=en.QUOTE_DOUBLE,l=X9e(s,u);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${r}`),{value:"",type:null,comment:"",range:[i,i+s.length,i+s.length]}}const d=i+s.length,f=c1(a,d,t,n);return{value:l,type:o,comment:f.comment,range:[i,d,f.offset]}}function F9e(e,t){let n="";switch(e[0]){case" ":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":{n=`block scalar indicator ${e[0]}`;break}case"@":case"`":{n=`reserved character ${e[0]}`;break}}return n&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`),Rre(e)}function V9e(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),Rre(e.slice(1,-1)).replace(/''/g,"'")}function Rre(e){let t,n;try{t=new RegExp(`(.*?)(?s?e.slice(s,i+1):r)}else n+=r}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}function V9e(e,t){let n="",i=e[t+1];for(;(i===" "||i===" "||i===` +`)&&(n+=i>s?e.slice(s,i+1):r)}else n+=r}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}function q9e(e,t){let n="",i=e[t+1];for(;(i===" "||i===" "||i===` `||i==="\r")&&!(i==="\r"&&e[t+2]!==` `);)i===` `&&(n+=` -`),t+=1,i=e[t+1];return n||(n=" "),{fold:n,offset:t}}const X9e={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:` -`,r:"\r",t:" ",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function q9e(e,t,n,i){const r=e.substr(t,n),a=r.length===n&&/^[0-9a-fA-F]+$/.test(r)?parseInt(r,16):NaN;try{return String.fromCodePoint(a)}catch{const o=e.substr(t-2,n+2);return i(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${o}`),o}}function Cre(e,t,n,i){const{value:r,type:s,comment:a,range:o}=t.type==="block-scalar"?D9e(e,t,i):B9e(t,e.options.strict,i),l=n?e.directives.tagName(n.source,f=>i(n,"TAG_RESOLVE_FAILED",f)):null;let u;e.options.stringKeys&&e.atKey?u=e.schema[xc]:l?u=H9e(e.schema,r,l,n,i):t.type==="scalar"?u=Y9e(e,r,t,i):u=e.schema[xc];let d;try{const f=u.resolve(r,h=>i(n??t,"TAG_RESOLVE_FAILED",h),e.options);d=Mi(f)?f:new en(f)}catch(f){const h=f instanceof Error?f.message:String(f);i(n??t,"TAG_RESOLVE_FAILED",h),d=new en(r)}return d.range=o,d.source=r,s&&(d.type=s),l&&(d.tag=l),u.format&&(d.format=u.format),a&&(d.comment=a),d}function H9e(e,t,n,i,r){var o;if(n==="!")return e[xc];const s=[];for(const l of e.tags)if(!l.collection&&l.tag===n)if(l.default&&l.test)s.push(l);else return l;for(const l of s)if((o=l.test)!=null&&o.test(t))return l;const a=e.knownTags[n];return a&&!a.collection?(e.tags.push(Object.assign({},a,{default:!1,test:void 0})),a):(r(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),e[xc])}function Y9e({atKey:e,directives:t,schema:n},i,r,s){const a=n.tags.find(o=>{var l;return(o.default===!0||e&&o.default==="key")&&((l=o.test)==null?void 0:l.test(i))})||n[xc];if(n.compat){const o=n.compat.find(l=>{var u;return l.default&&((u=l.test)==null?void 0:u.test(i))})??n[xc];if(a.tag!==o.tag){const l=t.tagString(a.tag),u=t.tagString(o.tag),d=`Value may be parsed as either ${l} or ${u}`;s(r,"TAG_RESOLVE_FAILED",d,!0)}}return a}function G9e(e,t,n){if(t){n??(n=t.length);for(let i=n-1;i>=0;--i){let r=t[i];switch(r.type){case"space":case"comment":case"newline":e-=r.source.length;continue}for(r=t[++i];(r==null?void 0:r.type)==="space";)e+=r.source.length,r=t[++i];break}}return e}const W9e={composeNode:Rre,composeEmptyNode:n5};function Rre(e,t,n,i){const r=e.atKey,{spaceBefore:s,comment:a,anchor:o,tag:l}=n;let u,d=!0;switch(t.type){case"alias":u=Z9e(e,t,i),(o||l)&&i(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":u=Cre(e,t,l,i),o&&(u.anchor=o.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{u=L9e(W9e,e,t,n,i),o&&(u.anchor=o.source.substring(1))}catch(f){const h=f instanceof Error?f.message:String(f);i(t,"RESOURCE_EXHAUSTION",h)}break;default:{const f=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;i(t,"UNEXPECTED_TOKEN",f),d=!1}}return u??(u=n5(e,t.offset,void 0,null,n,i)),o&&u.anchor===""&&i(o,"BAD_ALIAS","Anchor cannot be an empty string"),r&&e.options.stringKeys&&(!Mi(u)||typeof u.value!="string"||u.tag&&u.tag!=="tag:yaml.org,2002:str")&&i(l??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),s&&(u.spaceBefore=!0),a&&(t.type==="scalar"&&t.source===""?u.comment=a:u.commentBefore=a),e.options.keepSourceTokens&&d&&(u.srcToken=t),u}function n5(e,t,n,i,{spaceBefore:r,comment:s,anchor:a,tag:o,end:l},u){const d={type:"scalar",offset:G9e(t,n,i),indent:-1,source:""},f=Cre(e,d,o,u);return a&&(f.anchor=a.source.substring(1),f.anchor===""&&u(a,"BAD_ALIAS","Anchor cannot be an empty string")),r&&(f.spaceBefore=!0),s&&(f.comment=s,f.range[2]=l),f}function Z9e({options:e},{offset:t,source:n,end:i},r){const s=new X$(n.substring(1));s.source===""&&r(t,"BAD_ALIAS","Alias cannot be an empty string"),s.source.endsWith(":")&&r(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const a=t+n.length,o=c1(i,a,e.strict,r);return s.range=[t,a,o.offset],o.comment&&(s.comment=o.comment),s}function K9e(e,t,{offset:n,start:i,value:r,end:s},a){const o=Object.assign({_directives:t},e),l=new l1(void 0,o),u={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},d=Fg(i,{indicator:"doc-start",next:r??(s==null?void 0:s[0]),offset:n,onError:a,parentIndent:0,startOnNewline:!0});d.found&&(l.directives.docStart=!0,r&&(r.type==="block-map"||r.type==="block-seq")&&!d.hasNewline&&a(d.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=r?Rre(u,r,d,a):n5(u,d.end,i,null,d,a);const f=l.contents.range[2],h=c1(s,f,!1,a);return h.comment&&(l.comment=h.comment),l.range=[n,f,h.offset],l}function EO(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];const{offset:t,source:n}=e;return[t,t+(typeof n=="string"?n.length:1)]}function p7(e){var r;let t="",n=!1,i=!1;for(let s=0;si(n,"TAG_RESOLVE_FAILED",f)):null;let u;e.options.stringKeys&&e.atKey?u=e.schema[xc]:l?u=G9e(e.schema,r,l,n,i):t.type==="scalar"?u=W9e(e,r,t,i):u=e.schema[xc];let d;try{const f=u.resolve(r,h=>i(n??t,"TAG_RESOLVE_FAILED",h),e.options);d=Mi(f)?f:new en(f)}catch(f){const h=f instanceof Error?f.message:String(f);i(n??t,"TAG_RESOLVE_FAILED",h),d=new en(r)}return d.range=o,d.source=r,s&&(d.type=s),l&&(d.tag=l),u.format&&(d.format=u.format),a&&(d.comment=a),d}function G9e(e,t,n,i,r){var o;if(n==="!")return e[xc];const s=[];for(const l of e.tags)if(!l.collection&&l.tag===n)if(l.default&&l.test)s.push(l);else return l;for(const l of s)if((o=l.test)!=null&&o.test(t))return l;const a=e.knownTags[n];return a&&!a.collection?(e.tags.push(Object.assign({},a,{default:!1,test:void 0})),a):(r(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),e[xc])}function W9e({atKey:e,directives:t,schema:n},i,r,s){const a=n.tags.find(o=>{var l;return(o.default===!0||e&&o.default==="key")&&((l=o.test)==null?void 0:l.test(i))})||n[xc];if(n.compat){const o=n.compat.find(l=>{var u;return l.default&&((u=l.test)==null?void 0:u.test(i))})??n[xc];if(a.tag!==o.tag){const l=t.tagString(a.tag),u=t.tagString(o.tag),d=`Value may be parsed as either ${l} or ${u}`;s(r,"TAG_RESOLVE_FAILED",d,!0)}}return a}function Z9e(e,t,n){if(t){n??(n=t.length);for(let i=n-1;i>=0;--i){let r=t[i];switch(r.type){case"space":case"comment":case"newline":e-=r.source.length;continue}for(r=t[++i];(r==null?void 0:r.type)==="space";)e+=r.source.length,r=t[++i];break}}return e}const K9e={composeNode:Pre,composeEmptyNode:n$};function Pre(e,t,n,i){const r=e.atKey,{spaceBefore:s,comment:a,anchor:o,tag:l}=n;let u,d=!0;switch(t.type){case"alias":u=J9e(e,t,i),(o||l)&&i(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":u=Ire(e,t,l,i),o&&(u.anchor=o.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{u=$9e(K9e,e,t,n,i),o&&(u.anchor=o.source.substring(1))}catch(f){const h=f instanceof Error?f.message:String(f);i(t,"RESOURCE_EXHAUSTION",h)}break;default:{const f=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;i(t,"UNEXPECTED_TOKEN",f),d=!1}}return u??(u=n$(e,t.offset,void 0,null,n,i)),o&&u.anchor===""&&i(o,"BAD_ALIAS","Anchor cannot be an empty string"),r&&e.options.stringKeys&&(!Mi(u)||typeof u.value!="string"||u.tag&&u.tag!=="tag:yaml.org,2002:str")&&i(l??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),s&&(u.spaceBefore=!0),a&&(t.type==="scalar"&&t.source===""?u.comment=a:u.commentBefore=a),e.options.keepSourceTokens&&d&&(u.srcToken=t),u}function n$(e,t,n,i,{spaceBefore:r,comment:s,anchor:a,tag:o,end:l},u){const d={type:"scalar",offset:Z9e(t,n,i),indent:-1,source:""},f=Ire(e,d,o,u);return a&&(f.anchor=a.source.substring(1),f.anchor===""&&u(a,"BAD_ALIAS","Anchor cannot be an empty string")),r&&(f.spaceBefore=!0),s&&(f.comment=s,f.range[2]=l),f}function J9e({options:e},{offset:t,source:n,end:i},r){const s=new X5(n.substring(1));s.source===""&&r(t,"BAD_ALIAS","Alias cannot be an empty string"),s.source.endsWith(":")&&r(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const a=t+n.length,o=c1(i,a,e.strict,r);return s.range=[t,a,o.offset],o.comment&&(s.comment=o.comment),s}function eUe(e,t,{offset:n,start:i,value:r,end:s},a){const o=Object.assign({_directives:t},e),l=new l1(void 0,o),u={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},d=Vg(i,{indicator:"doc-start",next:r??(s==null?void 0:s[0]),offset:n,onError:a,parentIndent:0,startOnNewline:!0});d.found&&(l.directives.docStart=!0,r&&(r.type==="block-map"||r.type==="block-seq")&&!d.hasNewline&&a(d.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=r?Pre(u,r,d,a):n$(u,d.end,i,null,d,a);const f=l.contents.range[2],h=c1(s,f,!1,a);return h.comment&&(l.comment=h.comment),l.range=[n,f,h.offset],l}function kO(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];const{offset:t,source:n}=e;return[t,t+(typeof n=="string"?n.length:1)]}function p7(e){var r;let t="",n=!1,i=!1;for(let s=0;s{const a=EO(n);s?this.warnings.push(new I9e(a,i,r)):this.errors.push(new tb(a,i,r))},this.directives=new Ks({version:t.version||"1.2"}),this.options=t}decorate(t,n){const{comment:i,afterEmptyLine:r}=p7(this.prelude);if(i){const s=t.contents;if(n)t.comment=t.comment?`${t.comment} +`)+(a.substring(1)||" "),n=!0,i=!1;break;case"%":((r=e[s+1])==null?void 0:r[0])!=="#"&&(s+=1),n=!1;break;default:n||(i=!0),n=!1}}return{comment:t,afterEmptyLine:i}}let tUe=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(n,i,r,s)=>{const a=kO(n);s?this.warnings.push(new j9e(a,i,r)):this.errors.push(new tb(a,i,r))},this.directives=new Ks({version:t.version||"1.2"}),this.options=t}decorate(t,n){const{comment:i,afterEmptyLine:r}=p7(this.prelude);if(i){const s=t.contents;if(n)t.comment=t.comment?`${t.comment} ${i}`:i;else if(r||t.directives.docStart||!s)t.commentBefore=i;else if(Er(s)&&!s.flow&&s.items.length>0){let a=s.items[0];_r(a)&&(a=a.key);const o=a.commentBefore;a.commentBefore=o?`${i} ${o}`:i}else{const a=s.commentBefore;s.commentBefore=a?`${i} -${a}`:i}}if(n){for(let s=0;s{const s=EO(t);s[0]+=n,this.onError(s,"BAD_DIRECTIVE",i,r)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{const n=K9e(this.options,this.directives,t,this.onError);this.atDirectives&&!n.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(n,!1),this.doc&&(yield this.doc),this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{const n=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,i=new tb(EO(t),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(i):this.doc.errors.push(i);break}case"doc-end":{if(!this.doc){const i="Unexpected doc-end without preceding document";this.errors.push(new tb(EO(t),"UNEXPECTED_TOKEN",i));break}this.doc.directives.docEnd=!0;const n=c1(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){const i=this.doc.comment;this.doc.comment=i?`${i} -${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new tb(EO(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){const i=Object.assign({_directives:this.directives},this.options),r=new l1(void 0,i);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),r.range=[0,n,n],this.decorate(r,!1),yield r}}};const Ire="\uFEFF",Pre="",jre="",HP="";function eUe(e){switch(e){case Ire:return"byte-order-mark";case Pre:return"doc-mode";case jre:return"flow-error-end";case HP:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case` +${a}`:i}}if(n){for(let s=0;s{const s=kO(t);s[0]+=n,this.onError(s,"BAD_DIRECTIVE",i,r)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{const n=eUe(this.options,this.directives,t,this.onError);this.atDirectives&&!n.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(n,!1),this.doc&&(yield this.doc),this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{const n=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,i=new tb(kO(t),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(i):this.doc.errors.push(i);break}case"doc-end":{if(!this.doc){const i="Unexpected doc-end without preceding document";this.errors.push(new tb(kO(t),"UNEXPECTED_TOKEN",i));break}this.doc.directives.docEnd=!0;const n=c1(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){const i=this.doc.comment;this.doc.comment=i?`${i} +${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new tb(kO(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){const i=Object.assign({_directives:this.directives},this.options),r=new l1(void 0,i);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),r.range=[0,n,n],this.decorate(r,!1),yield r}}};const jre="\uFEFF",Mre="",Lre="",HP="";function nUe(e){switch(e){case jre:return"byte-order-mark";case Mre:return"doc-mode";case Lre:return"flow-error-end";case HP:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case` `:case`\r `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}function nl(e){switch(e){case void 0:case" ":case` -`:case"\r":case" ":return!0;default:return!1}}const m7=new Set("0123456789ABCDEFabcdef"),tUe=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),VS=new Set(",[]{}"),nUe=new Set(` ,[]{} -\r `),R2=e=>!e||nUe.has(e);class iUe{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,n=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!n;let i=this.next??"stream";for(;i&&(n||this.hasChars(1));)i=yield*this.parseNext(i)}atLineEnd(){let t=this.pos,n=this.buffer[t];for(;n===" "||n===" ";)n=this.buffer[++t];return!n||n==="#"||n===` +`:case"\r":case" ":return!0;default:return!1}}const m7=new Set("0123456789ABCDEFabcdef"),iUe=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),VS=new Set(",[]{}"),rUe=new Set(` ,[]{} +\r `),RN=e=>!e||rUe.has(e);class sUe{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,n=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!n;let i=this.next??"stream";for(;i&&(n||this.hasChars(1));)i=yield*this.parseNext(i)}atLineEnd(){let t=this.pos,n=this.buffer[t];for(;n===" "||n===" ";)n=this.buffer[++t];return!n||n==="#"||n===` `?!0:n==="\r"?this.buffer[t+1]===` `:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let n=this.buffer[t];if(this.indentNext>0){let i=0;for(;n===" ";)n=this.buffer[++i+t];if(n==="\r"){const r=this.buffer[i+t+1];if(r===` `||!r&&!this.atEnd)return t+i+1}return n===` `||i>=this.indentNext||!n&&!this.atEnd?t+i:-1}if(n==="-"||n==="."){const i=this.buffer.substr(t,3);if((i==="---"||i==="...")&&nl(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&tthis.indentValue&&!nl(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){const[t,n]=this.peek(2);if(!n&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&nl(n)){const i=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=i,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);const t=this.getLine();if(t===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(t[n]){case"#":yield*this.pushCount(t.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(R2),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,n,i=-1;do t=yield*this.pushNewline(),t>0?(n=yield*this.pushSpaces(!1),this.indentValue=i=n):n=0,n+=yield*this.pushSpaces(!0);while(t+n>0);const r=this.getLine();if(r===null)return this.setNext("flow");if((i!==-1&&ithis.indentValue&&!nl(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){const[t,n]=this.peek(2);if(!n&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&nl(n)){const i=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=i,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);const t=this.getLine();if(t===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(t[n]){case"#":yield*this.pushCount(t.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(RN),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,n,i=-1;do t=yield*this.pushNewline(),t>0?(n=yield*this.pushSpaces(!1),this.indentValue=i=n):n=0,n+=yield*this.pushSpaces(!0);while(t+n>0);const r=this.getLine();if(r===null)return this.setNext("flow");if((i!==-1&&i"0"&&n<="9")this.blockScalarIndent=Number(n)-1;else if(n!=="-")break}return yield*this.pushUntil(n=>nl(n)||n==="#")}*parseBlockScalar(){let t=this.pos-1,n=0,i;e:for(let s=this.pos;i=this.buffer[s];++s)switch(i){case" ":n+=1;break;case` `:t=s,n=0;break;case"\r":{const a=this.buffer[s+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if(a===` @@ -619,23 +619,23 @@ ${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.pus `&&s>=this.pos&&s+1+n>o)t=s;else break}while(!0);return yield HP,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const t=this.flowLevel>0;let n=this.pos-1,i=this.pos-1,r;for(;r=this.buffer[++i];)if(r===":"){const s=this.buffer[i+1];if(nl(s)||t&&VS.has(s))break;n=i}else if(nl(r)){let s=this.buffer[i+1];if(r==="\r"&&(s===` `?(i+=1,r=` `,s=this.buffer[i+1]):n=i),s==="#"||t&&VS.has(s))break;if(r===` -`){const a=this.continueScalar(i+1);if(a===-1)break;i=Math.max(i,a-2)}}else{if(t&&VS.has(r))break;n=i}return!r&&!this.atEnd?this.setNext("plain-scalar"):(yield HP,yield*this.pushToIndex(n+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,n){const i=this.buffer.slice(this.pos,t);return i?(yield i,this.pos+=i.length,i.length):(n&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(R2),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{const n=this.flowLevel>0,i=this.charAt(1);if(nl(i)||n&&VS.has(i)){n?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,t+=yield*this.pushCount(1),t+=yield*this.pushSpaces(!0);continue e}}}break e}return t}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,n=this.buffer[t];for(;!nl(n)&&n!==">";)n=this.buffer[++t];return yield*this.pushToIndex(n===">"?t+1:t,!1)}else{let t=this.pos+1,n=this.buffer[t];for(;n;)if(tUe.has(n))n=this.buffer[++t];else if(n==="%"&&m7.has(this.buffer[t+1])&&m7.has(this.buffer[t+2]))n=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){const t=this.buffer[this.pos];return t===` +`){const a=this.continueScalar(i+1);if(a===-1)break;i=Math.max(i,a-2)}}else{if(t&&VS.has(r))break;n=i}return!r&&!this.atEnd?this.setNext("plain-scalar"):(yield HP,yield*this.pushToIndex(n+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,n){const i=this.buffer.slice(this.pos,t);return i?(yield i,this.pos+=i.length,i.length):(n&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(RN),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{const n=this.flowLevel>0,i=this.charAt(1);if(nl(i)||n&&VS.has(i)){n?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,t+=yield*this.pushCount(1),t+=yield*this.pushSpaces(!0);continue e}}}break e}return t}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,n=this.buffer[t];for(;!nl(n)&&n!==">";)n=this.buffer[++t];return yield*this.pushToIndex(n===">"?t+1:t,!1)}else{let t=this.pos+1,n=this.buffer[t];for(;n;)if(iUe.has(n))n=this.buffer[++t];else if(n==="%"&&m7.has(this.buffer[t+1])&&m7.has(this.buffer[t+2]))n=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){const t=this.buffer[this.pos];return t===` `?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===` -`?yield*this.pushCount(2):0}*pushSpaces(t){let n=this.pos-1,i;do i=this.buffer[++n];while(i===" "||t&&i===" ");const r=n-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=n),r}*pushUntil(t){let n=this.pos,i=this.buffer[n];for(;!t(i);)i=this.buffer[++n];return yield*this.pushToIndex(n,!1)}}class rUe{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let n=0,i=this.lineStarts.length;for(;n>1;this.lineStarts[s]=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;((n=e[++t])==null?void 0:n.type)==="space";);return e.splice(t,e.length)}function nk(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let n=0;n0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const t=this.peek(1);if(this.type==="doc-end"&&(t==null?void 0:t.type)!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){const n=t??this.stack.pop();if(!n)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield n;else{const i=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in i?i.indent:0:n.type==="flow-collection"&&i.type==="document"&&(n.indent=0),n.type==="flow-collection"&&O7(n),i.type){case"document":i.value=n;break;case"block-scalar":i.props.push(n);break;case"block-map":{const r=i.items[i.items.length-1];if(r.value){i.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(r.sep)r.value=n;else{Object.assign(r,{key:n,sep:[]}),this.onKeyLine=!r.explicitKey;return}break}case"block-seq":{const r=i.items[i.items.length-1];r.value?i.items.push({start:[],value:n}):r.value=n;break}case"flow-collection":{const r=i.items[i.items.length-1];!r||r.value?i.items.push({start:[],key:n,sep:[]}):r.sep?r.value=n:Object.assign(r,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((i.type==="document"||i.type==="block-map"||i.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){const r=n.items[n.items.length-1];r&&!r.sep&&!r.value&&r.start.length>0&&g7(r.start)===-1&&(n.indent===0||r.start.every(s=>s.type!=="comment"||s.indent0&&(yield this.buffer.substr(this.pos,r),this.pos=n),r}*pushUntil(t){let n=this.pos,i=this.buffer[n];for(;!t(i);)i=this.buffer[++n];return yield*this.pushToIndex(n,!1)}}class aUe{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let n=0,i=this.lineStarts.length;for(;n>1;this.lineStarts[s]=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;((n=e[++t])==null?void 0:n.type)==="space";);return e.splice(t,e.length)}function nk(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let n=0;n0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const t=this.peek(1);if(this.type==="doc-end"&&(t==null?void 0:t.type)!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){const n=t??this.stack.pop();if(!n)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield n;else{const i=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in i?i.indent:0:n.type==="flow-collection"&&i.type==="document"&&(n.indent=0),n.type==="flow-collection"&&O7(n),i.type){case"document":i.value=n;break;case"block-scalar":i.props.push(n);break;case"block-map":{const r=i.items[i.items.length-1];if(r.value){i.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(r.sep)r.value=n;else{Object.assign(r,{key:n,sep:[]}),this.onKeyLine=!r.explicitKey;return}break}case"block-seq":{const r=i.items[i.items.length-1];r.value?i.items.push({start:[],value:n}):r.value=n;break}case"flow-collection":{const r=i.items[i.items.length-1];!r||r.value?i.items.push({start:[],key:n,sep:[]}):r.sep?r.value=n:Object.assign(r,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((i.type==="document"||i.type==="block-map"||i.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){const r=n.items[n.items.length-1];r&&!r.sep&&!r.value&&r.start.length>0&&g7(r.start)===-1&&(n.indent===0||r.start.every(s=>s.type!=="comment"||s.indent=t.indent){const r=!this.onKeyLine&&this.indent===t.indent,s=r&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind";let a=[];if(s&&n.sep&&!n.value){const o=[];for(let l=0;lt.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(a=n.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":s||n.value?(a.push(this.sourceToken),t.items.push({start:a}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!n.explicitKey?(n.start.push(this.sourceToken),n.explicitKey=!0):s||n.value?(a.push(this.sourceToken),t.items.push({start:a,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(n.explicitKey)if(n.sep)if(n.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(wd(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]});else if(Mre(n.key)&&!wd(n.sep,"newline")){const o=$p(n.start),l=n.key,u=n.sep;u.push(this.sourceToken),delete n.key,delete n.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:l,sep:u}]})}else a.length>0?n.sep=n.sep.concat(a,this.sourceToken):n.sep.push(this.sourceToken);else if(wd(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{const o=$p(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||s?t.items.push({start:a,key:null,sep:[this.sourceToken]}):wd(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const o=this.flowScalar(this.type);s||n.value?(t.items.push({start:a,key:o,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(o):(Object.assign(n,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{const o=this.startBlockValue(t);if(o){if(o.type==="block-seq"){if(!n.explicitKey&&n.sep&&!wd(n.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else r&&t.items.push({start:a});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){var i;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(n.value){const r="end"in n.value?n.value.end:void 0,s=Array.isArray(r)?r[r.length-1]:void 0;(s==null?void 0:s.type)==="comment"?r==null||r.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,t.indent)){const r=t.items[t.items.length-2],s=(i=r==null?void 0:r.value)==null?void 0:i.end;if(Array.isArray(s)){nk(s,n.start),s.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=t.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;n.value||wd(n.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>t.indent){const r=this.startBlockValue(t);if(r){this.stack.push(r);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){const n=t.items[t.items.length-1];if(this.type==="flow-error-end"){let i;do yield*this.pop(),i=this.peek(1);while((i==null?void 0:i.type)==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!n||n.sep?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return;case"map-value-ind":!n||n.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!n||n.value?t.items.push({start:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const r=this.flowScalar(this.type);!n||n.value?t.items.push({start:[],key:r,sep:[]}):n.sep?this.stack.push(r):Object.assign(n,{key:r,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}const i=this.startBlockValue(t);i?this.stack.push(i):(yield*this.pop(),yield*this.step())}else{const i=this.peek(2);if(i.type==="block-map"&&(this.type==="map-value-ind"&&i.indent===t.indent||this.type==="newline"&&!i.items[i.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&i.type!=="flow-collection"){const r=XS(i),s=$p(r);O7(t);const a=t.end.splice(1,t.end.length);a.push(this.sourceToken);const o={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:s,key:t,sep:a}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let n=this.source.indexOf(` +`,n)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){var i;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,n.value){const r="end"in n.value?n.value.end:void 0,s=Array.isArray(r)?r[r.length-1]:void 0;(s==null?void 0:s.type)==="comment"?r==null||r.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else if(n.sep)n.sep.push(this.sourceToken);else{if(this.atIndentedComment(n.start,t.indent)){const r=t.items[t.items.length-2],s=(i=r==null?void 0:r.value)==null?void 0:i.end;if(Array.isArray(s)){nk(s,n.start),s.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return}if(this.indent>=t.indent){const r=!this.onKeyLine&&this.indent===t.indent,s=r&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind";let a=[];if(s&&n.sep&&!n.value){const o=[];for(let l=0;lt.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(a=n.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":s||n.value?(a.push(this.sourceToken),t.items.push({start:a}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!n.explicitKey?(n.start.push(this.sourceToken),n.explicitKey=!0):s||n.value?(a.push(this.sourceToken),t.items.push({start:a,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(n.explicitKey)if(n.sep)if(n.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(wd(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]});else if(Dre(n.key)&&!wd(n.sep,"newline")){const o=$p(n.start),l=n.key,u=n.sep;u.push(this.sourceToken),delete n.key,delete n.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:l,sep:u}]})}else a.length>0?n.sep=n.sep.concat(a,this.sourceToken):n.sep.push(this.sourceToken);else if(wd(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{const o=$p(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||s?t.items.push({start:a,key:null,sep:[this.sourceToken]}):wd(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const o=this.flowScalar(this.type);s||n.value?(t.items.push({start:a,key:o,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(o):(Object.assign(n,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{const o=this.startBlockValue(t);if(o){if(o.type==="block-seq"){if(!n.explicitKey&&n.sep&&!wd(n.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else r&&t.items.push({start:a});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){var i;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(n.value){const r="end"in n.value?n.value.end:void 0,s=Array.isArray(r)?r[r.length-1]:void 0;(s==null?void 0:s.type)==="comment"?r==null||r.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,t.indent)){const r=t.items[t.items.length-2],s=(i=r==null?void 0:r.value)==null?void 0:i.end;if(Array.isArray(s)){nk(s,n.start),s.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=t.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;n.value||wd(n.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>t.indent){const r=this.startBlockValue(t);if(r){this.stack.push(r);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){const n=t.items[t.items.length-1];if(this.type==="flow-error-end"){let i;do yield*this.pop(),i=this.peek(1);while((i==null?void 0:i.type)==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!n||n.sep?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return;case"map-value-ind":!n||n.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!n||n.value?t.items.push({start:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const r=this.flowScalar(this.type);!n||n.value?t.items.push({start:[],key:r,sep:[]}):n.sep?this.stack.push(r):Object.assign(n,{key:r,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}const i=this.startBlockValue(t);i?this.stack.push(i):(yield*this.pop(),yield*this.step())}else{const i=this.peek(2);if(i.type==="block-map"&&(this.type==="map-value-ind"&&i.indent===t.indent||this.type==="newline"&&!i.items[i.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&i.type!=="flow-collection"){const r=XS(i),s=$p(r);O7(t);const a=t.end.splice(1,t.end.length);a.push(this.sourceToken);const o={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:s,key:t,sep:a}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let n=this.source.indexOf(` `)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(` -`,n)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const n=XS(t),i=$p(n);return i.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const n=XS(t),i=$p(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,n){return this.type!=="comment"||this.indent<=n?!1:t.every(i=>i.type==="newline"||i.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};function aUe(e){const t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new rUe||null,prettyErrors:t}}function oUe(e,t={}){const{lineCounter:n,prettyErrors:i}=aUe(t),r=new sUe(n==null?void 0:n.addNewLine),s=new J9e(t);let a=null;for(const o of s.compose(r.parse(e),!0,e.length))if(!a)a=o;else if(a.options.logLevel!=="silent"){a.errors.push(new tb(o.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return i&&n&&(a.errors.forEach(f7(e,n)),a.warnings.forEach(f7(e,n))),a}function Lre(e,t,n){let i=null;if(Array.isArray(t)&&(i=t),e===void 0){const{keepUndefined:r}={};if(!r)return}return r1(e)&&!i?e.toString(n):new l1(e,i,n).toString(n)}const Dre=1024;let lUe=0,Po=class{constructor(t,n){this.from=t,this.to=n}};class Yt{constructor(t={}){this.id=lUe++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=t.combine||null}add(t){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof t!="function"&&(t=Zr.match(t)),n=>{let i=t(n);return i===void 0?null:[this,i]}}}Yt.closedBy=new Yt({deserialize:e=>e.split(" ")});Yt.openedBy=new Yt({deserialize:e=>e.split(" ")});Yt.group=new Yt({deserialize:e=>e.split(" ")});Yt.isolate=new Yt({deserialize:e=>{if(e&&e!="rtl"&&e!="ltr"&&e!="auto")throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}});Yt.contextHash=new Yt({perNode:!0});Yt.lookAhead=new Yt({perNode:!0});Yt.mounted=new Yt({perNode:!0});class Jm{constructor(t,n,i,r=!1){this.tree=t,this.overlay=n,this.parser=i,this.bracketed=r}static get(t){return t&&t.props&&t.props[Yt.mounted.id]}}const cUe=Object.create(null);class Zr{constructor(t,n,i,r=0){this.name=t,this.props=n,this.id=i,this.flags=r}static define(t){let n=t.props&&t.props.length?Object.create(null):cUe,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),r=new Zr(t.name||"",n,t.id,i);if(t.props){for(let s of t.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[s[0].id]=s[1]}}return r}prop(t){return this.props[t.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(t){if(typeof t=="string"){if(this.name==t)return!0;let n=this.prop(Yt.group);return n?n.indexOf(t)>-1:!1}return this.id==t}static match(t){let n=Object.create(null);for(let i in t)for(let r of i.split(" "))n[r]=t[i];return i=>{for(let r=i.prop(Yt.group),s=-1;s<(r?r.length:0);s++){let a=n[s<0?i.name:r[s]];if(a)return a}}}}Zr.none=new Zr("",Object.create(null),0,8);class u1{constructor(t){this.types=t;for(let n=0;n0;for(let l=this.cursor(a|ei.IncludeAnonymous);;){let u=!1;if(l.from<=s&&l.to>=r&&(!o&&l.type.isAnonymous||n(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&i&&(o||!l.type.isAnonymous)&&i(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let n in this.props)t.push([+n,this.props[n]]);return t}balance(t={}){return this.children.length<=8?this:s5(Zr.none,this.children,this.positions,0,this.children.length,0,this.length,(n,i,r)=>new ni(this.type,n,i,r,this.propValues),t.makeTree||((n,i,r)=>new ni(Zr.none,n,i,r)))}static build(t){return hUe(t)}}ni.empty=new ni(Zr.none,[],[],0);class i5{constructor(t,n){this.buffer=t,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i5(this.buffer,this.index)}}class mf{constructor(t,n,i){this.buffer=t,this.length=n,this.set=i}get type(){return Zr.none}toString(){let t=[];for(let n=0;n0));l=a[l+3]);return o}slice(t,n,i){let r=this.buffer,s=new Uint16Array(n-t),a=0;for(let o=t,l=0;o=t&&nt;case 1:return n<=t&&i>t;case 2:return i>t;case 4:return!0}}function qy(e,t,n,i){for(var r;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to0?o.length:-1;t!=u;t+=n){let d=o[t],f=l[t]+a.from,h;if(!(!(s&ei.EnterBracketed&&d instanceof ni&&(h=Jm.get(d))&&!h.overlay&&h.bracketed&&i>=f&&i<=f+d.length)&&!$re(r,i,f,f+d.length))){if(d instanceof mf){if(s&ei.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,n,i-f,r);if(p>-1)return new oc(new uUe(a,d,t,f),null,p)}else if(s&ei.IncludeAnonymous||!d.type.isAnonymous||r5(d)){let p;if(!(s&ei.IgnoreMounts)&&(p=Jm.get(d))&&!p.overlay)return new $s(p.tree,f,t,a);let m=new $s(d,f,t,a);return s&ei.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(n<0?d.children.length-1:0,n,i,r,s)}}}if(s&ei.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?t=a.index+n:t=n<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}prop(t){return this._tree.prop(t)}enter(t,n,i=0){let r;if(!(i&ei.IgnoreOverlays)&&(r=Jm.get(this._tree))&&r.overlay){let s=t-this.from,a=i&ei.EnterBracketed&&r.bracketed;for(let{from:o,to:l}of r.overlay)if((n>0||a?o<=s:o=s:l>s))return new $s(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,n,i)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function y7(e,t,n,i){let r=e.cursor(),s=[];if(!r.firstChild())return s;if(n!=null){for(let a=!1;!a;)if(a=r.type.is(n),!r.nextSibling())return s}for(;;){if(i!=null&&r.type.is(i))return s;if(r.type.is(t)&&s.push(r.node),!r.nextSibling())return i==null?s:[]}}function YP(e,t,n=t.length-1){for(let i=e;n>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[n]&&t[n]!=i.name)return!1;n--}}return!0}class uUe{constructor(t,n,i,r){this.parent=t,this.buffer=n,this.index=i,this.start=r}}class oc extends Qre{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(t,n,i){super(),this.context=t,this._parent=n,this.index=i,this.type=t.buffer.set.types[t.buffer.buffer[i]]}child(t,n,i){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t,n-this.context.start,i);return s<0?null:new oc(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}prop(t){return this.type.prop(t)}enter(t,n,i=0){if(i&ei.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],n>0?1:-1,t-this.context.start,n);return s<0?null:new oc(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,n=t.buffer[this.index+3];return n<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new oc(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new oc(this.context,this._parent,t.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],n=[],{buffer:i}=this.context,r=this.index+4,s=i.buffer[this.index+3];if(s>r){let a=i.buffer[this.index+1];t.push(i.slice(r,s,a)),n.push(0)}return new ni(this.type,t,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Bre(e){if(!e.length)return null;let t=0,n=e[0];for(let s=1;sn.from||a.to=t){let o=new $s(a.tree,a.overlay[0].from+s.from,-1,s);(r||(r=[i])).push(qy(o,t,n,!1))}}return r?Bre(r):i}class ik{get name(){return this.type.name}constructor(t,n=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=n&~ei.EnterBracketed,t instanceof $s)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let i=t._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return t?(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0):!1}yieldBuf(t,n){this.index=t;let{start:i,buffer:r}=this.buffer;return this.type=n||r.set.types[r.buffer[t]],this.from=i+r.buffer[t+1],this.to=i+r.buffer[t+2],!0}yield(t){return t?t instanceof $s?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,n,i){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,n,i,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],t,n-this.buffer.start,i);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,n,i=this.mode){return this.buffer?i&ei.ExcludeBuffers?!1:this.enterChild(1,t,n):this.yield(this._tree.enter(t,n,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ei.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&ei.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode)):!1;let{buffer:n}=this.buffer,i=this.stack.length-1;if(t<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(n.findChild(r,this.index,-1,0,4))}else{let r=n.buffer[this.index+3];if(r<(i<0?n.buffer.length:n.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let n,i,{buffer:r}=this;if(r){if(t>0){if(this.index-1)for(let s=n+t,a=t<0?-1:i._tree.children.length;s!=a;s+=t){let o=i._tree.children[s];if(this.mode&ei.IncludeAnonymous||o instanceof mf||!o.type.isAnonymous||r5(o))return!1}return!0}move(t,n){if(n&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,n=0){for(;(this.from==this.to||(n<1?this.from>=t:this.from>t)||(n>-1?this.to<=t:this.to=0;){for(let a=t;a;a=a._parent)if(a.index==r){if(r==this.index)return a;n=a,i=s+1;break e}r=this.stack[--s]}for(let r=i;r=0;s--){if(s<0)return YP(this._tree,t,r);let a=i[n.buffer[this.stack[s]]];if(!a.isAnonymous){if(t[r]&&t[r]!=a.name)return!1;r--}}return!0}}function r5(e){return e.children.some(t=>t instanceof mf||!t.type.isAnonymous||r5(t))}function hUe(e){var t;let{buffer:n,nodeSet:i,maxBufferLength:r=Dre,reused:s=[],minRepeatType:a=i.types.length}=e,o=Array.isArray(n)?new i5(n,n.length):n,l=i.types,u=0,d=0;function f(E,w,k,_,C,A){let{id:R,start:j,end:Q,size:L}=o,D=d,N=u;if(L<0)if(o.next(),L==-1){let G=s[R];k.push(G),_.push(j-E);return}else if(L==-3){u=R;return}else if(L==-4){d=R;return}else throw new RangeError(`Unrecognized record size: ${L}`);let M=l[R],B,$,I=j-E;if(Q-j<=r&&($=y(o.pos-w,C))){let G=new Uint16Array($.size-$.skip),X=o.pos-$.size,U=G.length;for(;o.pos>X;)U=b($.start,G,U);B=new mf(G,Q-$.start,i),I=$.start-E}else{let G=o.pos-L;o.next();let X=[],U=[],Y=R>=a?R:-1,ae=0,fe=Q;for(;o.pos>G;)Y>=0&&o.id==Y&&o.size>=0?(o.end<=fe-r&&(m(X,U,j,ae,o.end,fe,Y,D,N),ae=X.length,fe=o.end),o.next()):A>2500?h(j,G,X,U):f(j,G,X,U,Y,A+1);if(Y>=0&&ae>0&&ae-1&&ae>0){let ke=p(M,N);B=s5(M,X,U,0,X.length,0,Q-j,ke,ke)}else B=g(M,X,U,Q-j,D-Q,N)}k.push(B),_.push(I)}function h(E,w,k,_){let C=[],A=0,R=-1;for(;o.pos>w;){let{id:j,start:Q,end:L,size:D}=o;if(D>4)o.next();else{if(R>-1&&Q=0;L-=3)j[D++]=C[L],j[D++]=C[L+1]-Q,j[D++]=C[L+2]-Q,j[D++]=D;k.push(new mf(j,C[2]-Q,i)),_.push(Q-E)}}function p(E,w){return(k,_,C)=>{let A=0,R=k.length-1,j,Q;if(R>=0&&(j=k[R])instanceof ni){if(!R&&j.type==E&&j.length==C)return j;(Q=j.prop(Yt.lookAhead))&&(A=_[R]+j.length+Q)}return g(E,k,_,C,A,w)}}function m(E,w,k,_,C,A,R,j,Q){let L=[],D=[];for(;E.length>_;)L.push(E.pop()),D.push(w.pop()+k-C);E.push(g(i.types[R],L,D,A-C,j-A,Q)),w.push(C-k)}function g(E,w,k,_,C,A,R){if(A){let j=[Yt.contextHash,A];R=R?[j].concat(R):[j]}if(C>25){let j=[Yt.lookAhead,C];R=R?[j].concat(R):[j]}return new ni(E,w,k,_,R)}function y(E,w){let k=o.fork(),_=0,C=0,A=0,R=k.end-r,j={size:0,start:0,skip:0};e:for(let Q=k.pos-E;k.pos>Q;){let L=k.size;if(k.id==w&&L>=0){j.size=_,j.start=C,j.skip=A,A+=4,_+=4,k.next();continue}let D=k.pos-L;if(L<0||D=a?4:0,M=k.start;for(k.next();k.pos>D;){if(k.size<0)if(k.size==-3||k.size==-4)N+=4;else break e;else k.id>=a&&(N+=4);k.next()}C=M,_+=L,A+=N}return(w<0||_==E)&&(j.size=_,j.start=C,j.skip=A),j.size>4?j:void 0}function b(E,w,k){let{id:_,start:C,end:A,size:R}=o;if(o.next(),R>=0&&_4){let Q=o.pos-(R-4);for(;o.pos>Q;)k=b(E,w,k)}w[--k]=j,w[--k]=A-E,w[--k]=C-E,w[--k]=_}else R==-3?u=_:R==-4&&(d=_);return k}let S=[],x=[];for(;o.pos>0;)f(e.start||0,e.bufferStart||0,S,x,-1,0);let v=(t=e.length)!==null&&t!==void 0?t:S.length?x[0]+S[0].length:0;return new ni(l[e.topID],S.reverse(),x.reverse(),v)}const x7=new WeakMap;function yw(e,t){if(!e.isAnonymous||t instanceof mf||t.type!=e)return 1;let n=x7.get(t);if(n==null){n=1;for(let i of t.children){if(i.type!=e||!(i instanceof ni)){n=1;break}n+=yw(e,i)}x7.set(t,n)}return n}function s5(e,t,n,i,r,s,a,o,l){let u=0;for(let m=i;m=d)break;w+=k}if(x==v+1){if(w>d){let k=m[v];p(k.children,k.positions,0,k.children.length,g[v]+S);continue}f.push(m[v])}else{let k=g[x-1]+m[x-1].length-E;f.push(s5(e,m,g,v,x,E,k,null,l))}h.push(E+S-s)}}return p(t,n,i,r,0),(o||l)(f,h,a)}class a5{constructor(){this.map=new WeakMap}setBuffer(t,n,i){let r=this.map.get(t);r||this.map.set(t,r=new Map),r.set(n,i)}getBuffer(t,n){let i=this.map.get(t);return i&&i.get(n)}set(t,n){t instanceof oc?this.setBuffer(t.context.buffer,t.index,n):t instanceof $s&&this.map.set(t.tree,n)}get(t){return t instanceof oc?this.getBuffer(t.context.buffer,t.index):t instanceof $s?this.map.get(t.tree):void 0}cursorSet(t,n){t.buffer?this.setBuffer(t.buffer.buffer,t.index,n):this.map.set(t.tree,n)}cursorGet(t){return t.buffer?this.getBuffer(t.buffer.buffer,t.index):this.map.get(t.tree)}}class bu{constructor(t,n,i,r,s=!1,a=!1){this.from=t,this.to=n,this.tree=i,this.offset=r,this.open=(s?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,n=[],i=!1){let r=[new bu(0,t.length,t,0,!1,i)];for(let s of n)s.to>t.length&&r.push(s);return r}static applyChanges(t,n,i=128){if(!n.length)return t;let r=[],s=1,a=t.length?t[0]:null;for(let o=0,l=0,u=0;;o++){let d=o=i)for(;a&&a.from=h.from||f<=h.to||u){let p=Math.max(h.from,l)-u,m=Math.min(h.to,f)-u;h=p>=m?null:new bu(p,m,h.tree,h.offset+u,o>0,!!d)}if(h&&r.push(h),a.to>f)break;a=snew Po(r.from,r.to)):[new Po(0,0)]:[new Po(0,t.length)],this.createParse(t,n||[],i)}parse(t,n,i){let r=this.startParse(t,n,i);for(;;){let s=r.advance();if(s)return s}}}class pUe{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,n){return this.string.slice(t,n)}}function Ure(e){return(t,n,i,r)=>new gUe(t,e,n,i,r)}class S7{constructor(t,n,i,r,s,a){this.parser=t,this.parse=n,this.overlay=i,this.bracketed=r,this.target=s,this.from=a}}function v7(e){if(!e.length||e.some(t=>t.from>=t.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class mUe{constructor(t,n,i,r,s,a,o,l){this.parser=t,this.predicate=n,this.mounts=i,this.index=r,this.start=s,this.bracketed=a,this.target=o,this.prev=l,this.depth=0,this.ranges=[]}}const GP=new Yt({perNode:!0});class gUe{constructor(t,n,i,r,s){this.nest=n,this.input=i,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=t}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new ni(i.type,i.children,i.positions,i.length,i.propValues.concat([[GP,this.stoppedAt]]))),i}let t=this.inner[this.innerDone],n=t.parse.advance();if(n){this.innerDone++;let i=Object.assign(Object.create(null),t.target.props);i[Yt.mounted.id]=new Jm(n,t.overlay,t.parser,t.bracketed),t.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let t=this.input.length;for(let n=this.innerDone;n=this.stoppedAt)o=!1;else if(t.hasNode(r)){if(n){let u=n.mounts.find(d=>d.frag.from<=r.from&&d.frag.to>=r.to&&d.mount.overlay);if(u)for(let d of u.mount.overlay){let f=d.from+u.pos,h=d.to+u.pos;f>=r.from&&h<=r.to&&!n.ranges.some(p=>p.fromf)&&n.ranges.push({from:f,to:h})}}o=!1}else if(i&&(a=OUe(i.ranges,r.from,r.to)))o=a!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Po(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,d.length?d[0].from:r.from)),s.overlay?d.length&&(i={ranges:d,depth:0,prev:i}):o=!1}}else if(n&&(l=n.predicate(r))&&(l===!0&&(l=new Po(r.from,r.to)),l.from=0&&n.ranges[u].to==l.from?n.ranges[u]={from:n.ranges[u].from,to:l.to}:n.ranges.push(l)}if(o&&r.firstChild())n&&n.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(n&&!--n.depth){let u=k7(this.ranges,n.ranges);u.length&&(v7(u),this.inner.splice(n.index,0,new S7(n.parser,n.parser.startParse(this.input,T7(n.mounts,u),u),n.ranges.map(d=>new Po(d.from-n.start,d.to-n.start)),n.bracketed,n.target,u[0].from))),n=n.prev}i&&!--i.depth&&(i=i.prev)}}}}function OUe(e,t,n){for(let i of e){if(i.from>=n)break;if(i.to>t)return i.from<=t&&i.to>=n?2:1}return 0}function w7(e,t,n,i,r,s){if(t=t&&n.enter(i,1,ei.IgnoreOverlays|ei.ExcludeBuffers)))if(n.to<=t)n.next(!1)||(this.done=!0);else break}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let n=this.cursor.tree;;){if(n==t.tree)return!0;if(n.children.length&&n.positions[0]==0&&n.children[0]instanceof ni)n=n.children[0];else break}return!1}}let yUe=class{constructor(t){var n;if(this.fragments=t,this.curTo=0,this.fragI=0,t.length){let i=this.curFrag=t[0];this.curTo=(n=i.tree.prop(GP))!==null&&n!==void 0?n:i.to,this.inner=new E7(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(t){for(;this.curFrag&&t.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=t.from&&this.curTo>=t.to&&this.inner.hasNode(t)}nextFrag(){var t;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let n=this.curFrag=this.fragments[this.fragI];this.curTo=(t=n.tree.prop(GP))!==null&&t!==void 0?t:n.to,this.inner=new E7(n.tree,-n.offset)}}findMounts(t,n){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(t,1);for(let s=this.inner.cursor.node;s;s=s.parent){let a=(i=s.tree)===null||i===void 0?void 0:i.prop(Yt.mounted);if(a&&a.parser==n)for(let o=this.fragI;o=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:a})}}}return r}};function k7(e,t){let n=null,i=t;for(let r=1,s=0;r=o)break;l.to<=a||(n||(i=n=t.slice()),l.fromo&&n.splice(s+1,0,new Po(o,l.to))):l.to>o?n[s--]=new Po(o,l.to):n.splice(s--,1))}}return i}function xUe(e,t,n,i){let r=0,s=0,a=!1,o=!1,l=-1e9,u=[];for(;;){let d=r==e.length?1e9:a?e[r].to:e[r].from,f=s==t.length?1e9:o?t[s].to:t[s].from;if(a!=o){let h=Math.max(l,n),p=Math.min(d,f,i);hnew Po(h.from+i,h.to+i)),f=xUe(t,d,l,u);for(let h=0,p=l;;h++){let m=h==f.length,g=m?u:f[h].from;if(g>p&&n.push(new bu(p,g,r.tree,-a,s.from>=p||s.openStart,s.to<=g||s.openEnd)),m)break;p=f[h].to}}else n.push(new bu(l,u,r.tree,-a,s.from>=a||s.openStart,s.to<=o||s.openEnd))}return n}var _7={};class rk{constructor(t,n,i,r,s,a,o,l,u,d=0,f){this.p=t,this.stack=n,this.state=i,this.reducePos=r,this.pos=s,this.score=a,this.buffer=o,this.bufferBase=l,this.curContext=u,this.lookAhead=d,this.parent=f}toString(){return`[${this.stack.filter((t,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,n,i=0){let r=t.parser.context;return new rk(t,[],n,i,i,0,[],0,r?new A7(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var n;let i=t>>19,r=t&65535,{parser:s}=this.p,a=this.reducePos=2e3&&!(!((n=this.p.parser.nodeSet.types[r])===null||n===void 0)&&n.isAnonymous)&&(u==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=d):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,u)}storeNode(t,n,i,r=4,s=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[a-4]==0&&this.buffer[a-1]>-1){if(n==i)return;if(this.buffer[a-2]>=n){this.buffer[a-2]=i;return}}}if(!s||this.pos==i)this.buffer.push(t,n,i,r);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let o=!1;for(let l=a;l>0&&this.buffer[l-2]>i;l-=4)if(this.buffer[l-1]>=0){o=!0;break}if(o)for(;a>0&&this.buffer[a-2]>i;)this.buffer[a]=this.buffer[a-4],this.buffer[a+1]=this.buffer[a-3],this.buffer[a+2]=this.buffer[a-2],this.buffer[a+3]=this.buffer[a-1],a-=4,r>4&&(r-=4)}this.buffer[a]=t,this.buffer[a+1]=n,this.buffer[a+2]=i,this.buffer[a+3]=r}}shift(t,n,i,r){if(t&131072)this.pushState(t&65535,this.pos);else if(t&262144)this.pos=r,this.shiftContext(n,i),n<=this.p.parser.maxNode&&this.buffer.push(n,i,r,4);else{let s=t,{parser:a}=this.p;this.pos=r;let o=a.stateFlag(s,1);!o&&(r>i||n<=a.maxNode)&&(this.reducePos=r),this.pushState(s,o?i:Math.min(i,this.reducePos)),this.shiftContext(n,i),n<=a.maxNode&&this.buffer.push(n,i,r,4)}}apply(t,n,i,r){t&65536?this.reduce(t):this.shift(t,n,i,r)}useNode(t,n){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=t)&&(this.p.reused.push(t),i++);let r=this.pos;this.reducePos=this.pos=r+t.length,this.pushState(n,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,n=t.buffer.length;for(n&&t.buffer[n-4]==0&&(n-=4);n>0&&t.buffer[n-2]>t.reducePos;)n-=4;let i=t.buffer.slice(n),r=t.bufferBase+n;for(;t&&r==t.bufferBase;)t=t.parent;return new rk(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,t)}recoverByDelete(t,n){let i=t<=this.p.parser.maxNode;i&&this.storeNode(t,this.pos,n,4),this.storeNode(0,this.pos,n,i?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(t){for(let n=new SUe(this);;){let i=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,t);if(i==0)return!1;if(!(i&65536))return!0;n.reduce(i)}}recoverByInsert(t){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let r=[];for(let s=0,a;sl&1&&o==a)||r.push(n[s],a)}n=r}let i=[];for(let r=0;r>19,r=n&65535,s=this.stack.length-i*3;if(s<0||t.getGoto(this.stack[s],r,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;n=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:t}=this.p,n=[],i=(r,s)=>{if(!n.includes(r))return n.push(r),t.allActions(r,a=>{if(!(a&393216))if(a&65536){let o=(a>>19)-s;if(o>1){let l=a&65535,u=this.stack.length-o*3;if(u>=0&&t.getGoto(this.stack[u],l,!1)>=0)return o<<19|65536|l}}else{let o=i(a,s+1);if(o!=null)return o}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let n=0;n0&&this.emitLookAhead()}}class A7{constructor(t,n){this.tracker=t,this.context=n,this.hash=t.strict?t.hash(n):0}}class SUe{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let n=t&65535,i=t>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=r}}class sk{constructor(t,n,i){this.stack=t,this.pos=n,this.index=i,this.buffer=t.buffer,this.index==0&&this.maybeNext()}static create(t,n=t.bufferBase+t.buffer.length){return new sk(t,n,n-t.bufferBase)}maybeNext(){let t=this.stack.parent;t!=null&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new sk(this.stack,this.pos,this.index)}}function nb(e,t=Uint16Array){if(typeof e!="string")return e;let n=null;for(let i=0,r=0;i=92&&a--,a>=34&&a--;let l=a-32;if(l>=46&&(l-=46,o=!0),s+=l,o)break;s*=46}n?n[r++]=s:n=new t(s)}return n}class xw{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const N7=new xw;class vUe{constructor(t,n){this.input=t,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=N7,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(t,n){let i=this.range,r=this.rangeIndex,s=this.pos+t;for(;si.to:s>=i.to;){if(r==this.ranges.length-1)return null;let a=this.ranges[++r];s+=a.from-i.to,i=a}return s}clipPos(t){if(t>=this.range.from&&tt)return Math.max(t,n.from);return this.end}peek(t){let n=this.chunkOff+t,i,r;if(n>=0&&n=this.chunk2Pos&&io.to&&(this.chunk2=this.chunk2.slice(0,o.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(t,n=0){let i=n?this.resolveOffset(n,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,n){if(n?(this.token=n,n.start=t,n.lookAhead=t+1,n.value=n.extended=-1):this.token=N7,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,n-this.chunkPos);if(t>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,n-this.chunk2Pos);if(t>=this.range.from&&n<=this.range.to)return this.input.read(t,n);let i="";for(let r of this.ranges){if(r.from>=n)break;r.to>t&&(i+=this.input.read(Math.max(r.from,t),Math.min(r.to,n)))}return i}}class eg{constructor(t,n){this.data=t,this.id=n}token(t,n){let{parser:i}=n.p;zre(this.data,t,n,this.id,i.data,i.tokenPrecTable)}}eg.prototype.contextual=eg.prototype.fallback=eg.prototype.extend=!1;class ak{constructor(t,n,i){this.precTable=n,this.elseToken=i,this.data=typeof t=="string"?nb(t):t}token(t,n){let i=t.pos,r=0;for(;;){let s=t.next<0,a=t.resolveOffset(1,1);if(zre(this.data,t,n,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,a==null)break;t.reset(a,t.token)}r&&(t.reset(i,t.token),t.acceptToken(this.elseToken,r))}}ak.prototype.contextual=eg.prototype.fallback=eg.prototype.extend=!1;class Ar{constructor(t,n={}){this.token=t,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}}function zre(e,t,n,i,r,s){let a=0,o=1<0){let m=e[p];if(l.allows(m)&&(t.token.value==-1||t.token.value==m||wUe(m,t.token.value,r,s))){t.acceptToken(m);break}}let d=t.next,f=0,h=e[a+2];if(t.next<0&&h>f&&e[u+h*3-3]==65535){a=e[u+h*3-1];continue e}for(;f>1,m=u+p+(p<<1),g=e[m],y=e[m+1]||65536;if(d=y)f=p+1;else{a=e[m+2],t.advance();continue e}}break}}function C7(e,t,n){for(let i=t,r;(r=e[i])!=65535;i++)if(r==n)return i-t;return-1}function wUe(e,t,n,i){let r=C7(n,i,t);return r<0||C7(n,i,e)t)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,t-25)):Math.min(e.length,Math.max(i.from+1,t+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:e.length}}let EUe=class{constructor(t,n){this.fragments=t,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?R7(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?R7(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(tt)return this.nextStart=a,null;if(s instanceof ni){if(a==t){if(a=Math.max(this.safeFrom,t)&&(this.trees.push(s),this.start.push(a),this.index.push(0))}else this.index[n]++,this.nextStart=a+s.length}}};class kUe{constructor(t,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(i=>new xw)}getActions(t){let n=0,i=null,{parser:r}=t.p,{tokenizers:s}=r,a=r.stateSlot(t.state,3),o=t.curContext?t.curContext.hash:0,l=0;for(let u=0;uf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let h=n;if(f.extended>-1&&(n=this.addActions(t,f.extended,f.end,n)),n=this.addActions(t,f.value,f.end,n),!d.extend&&(i=f,n>h))break}}for(;this.actions.length>n;)this.actions.pop();return l&&t.setLookAhead(l),!i&&t.pos==this.stream.end&&(i=new xw,i.value=t.p.parser.eofTerm,i.start=i.end=t.pos,n=this.addActions(t,i.value,i.end,n)),this.mainToken=i,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let n=new xw,{pos:i,p:r}=t;return n.start=i,n.end=Math.min(i+1,r.stream.end),n.value=i==r.stream.end?r.parser.eofTerm:0,n}updateCachedToken(t,n,i){let r=this.stream.clipPos(i.pos);if(n.token(this.stream.reset(r,t),i),t.value>-1){let{parser:s}=i.p;for(let a=0;a=0&&i.p.parser.dialect.allows(o>>1)){o&1?t.extended=o>>1:t.value=o>>1;break}}}else t.value=0,t.end=this.stream.clipPos(r+1)}putAction(t,n,i,r){for(let s=0;st.bufferLength*4?new EUe(i,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,n=this.minStackPos,i=this.stacks=[],r,s;if(this.bigReductionCount>300&&t.length==1){let[a]=t;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;an)i.push(o);else{if(this.advanceStack(o,i,t))continue;{r||(r=[],s=[]),r.push(o);let l=this.tokens.getMainToken(o);s.push(l.value,l.end)}}break}}if(!i.length){let a=r&&AUe(r);if(a)return Ba&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw Ba&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&r){let a=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,i);if(a)return Ba&&console.log("Force-finish "+this.stackID(a)),this.stackToTree(a.forceAll())}if(this.recovering){let a=this.recovering==1?1:this.recovering*3;if(i.length>a)for(i.sort((o,l)=>l.score-o.score);i.length>a;)i.pop();i.some(o=>o.reducePos>n)&&this.recovering--}else if(i.length>1){e:for(let a=0;a500&&u.buffer.length>500)if((o.score-u.score||o.buffer.length-u.buffer.length)>0)i.splice(l--,1);else{i.splice(a--,1);continue e}}}i.length>12&&(i.sort((a,o)=>o.score-a.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let a=1;a ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let u=t.curContext&&t.curContext.tracker.strict,d=u?t.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let h=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(t.state,f.type.id):-1;if(h>-1&&f.length&&(!u||(f.prop(Yt.contextHash)||0)==d))return t.useNode(f,h),Ba&&console.log(a+this.stackID(t)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof ni)||f.children.length==0||f.positions[0]>0)break;let p=f.children[0];if(p instanceof ni&&f.positions[0]==0)f=p;else break}}let o=s.stateSlot(t.state,4);if(o>0)return t.reduce(o),Ba&&console.log(a+this.stackID(t)+` (via always-reduce ${s.getName(o&65535)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let l=this.tokens.getActions(t);for(let u=0;ur?n.push(m):i.push(m)}return!1}advanceFully(t,n){let i=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>i)return I7(t,n),!0}}runRecovery(t,n,i){let r=null,s=!1;for(let a=0;a ":"";if(o.deadEnd&&(s||(s=!0,o.restart(),Ba&&console.log(d+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))))continue;let f=o.split(),h=d;for(let p=0;p<10&&f.forceReduce()&&(Ba&&console.log(h+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,i));p++)Ba&&(h=this.stackID(f)+" -> ");for(let p of o.recoverByInsert(l))Ba&&console.log(d+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,i);this.stream.end>o.pos?(u==o.pos&&(u++,l=0),o.recoverByDelete(l,u),Ba&&console.log(d+this.stackID(o)+` (via recover-delete ${this.parser.getName(l)})`),I7(o,i)):(!r||r.scoree;class x_{constructor(t){this.start=t.start,this.shift=t.shift||P2,this.reduce=t.reduce||P2,this.reuse=t.reuse||P2,this.hash=t.hash||(()=>0),this.strict=t.strict!==!1}}class Ru extends o5{constructor(t){if(super(),this.wrappers=[],t.version!=14)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let n=t.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let o=0;ot.topRules[o][1]),r=[];for(let o=0;o=0)s(d,l,o[u++]);else{let f=o[u+-d];for(let h=-d;h>0;h--)s(o[u++],l,f);u++}}}this.nodeSet=new u1(n.map((o,l)=>Zr.define({name:l>=this.minRepeatTerm?void 0:o,id:l,props:r[l],top:i.indexOf(l)>-1,error:l==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(l)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=Dre;let a=nb(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;otypeof o=="number"?new eg(a,o):o),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,n,i){let r=new TUe(this,t,n,i);for(let s of this.wrappers)r=s(r,t,n,i);return r}getGoto(t,n,i=!1){let r=this.goto;if(n>=r[0])return-1;for(let s=r[n+1];;){let a=r[s++],o=a&1,l=r[s++];if(o&&i)return l;for(let u=s+(a>>1);s0}validAction(t,n){return!!this.allActions(t,i=>i==n?!0:null)}allActions(t,n){let i=this.stateSlot(t,4),r=i?n(i):void 0;for(let s=this.stateSlot(t,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=nu(this.data,s+2);else break;r=n(nu(this.data,s+1))}return r}nextStates(t){let n=[];for(let i=this.stateSlot(t,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=nu(this.data,i+2);else break;if(!(this.data[i+2]&1)){let r=this.data[i+1];n.some((s,a)=>a&1&&s==r)||n.push(this.data[i],r)}}return n}configure(t){let n=Object.assign(Object.create(Ru.prototype),this);if(t.props&&(n.nodeSet=this.nodeSet.extend(...t.props)),t.top){let i=this.topRules[t.top];if(!i)throw new RangeError(`Invalid top rule name ${t.top}`);n.top=i}return t.tokenizers&&(n.tokenizers=this.tokenizers.map(i=>{let r=t.tokenizers.find(s=>s.from==i);return r?r.to:i})),t.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((i,r)=>{let s=t.specializers.find(o=>o.from==i.external);if(!s)return i;let a=Object.assign(Object.assign({},i),{external:s.to});return n.specializers[r]=P7(a),a})),t.contextTracker&&(n.context=t.contextTracker),t.dialect&&(n.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(n.strict=t.strict),t.wrap&&(n.wrappers=n.wrappers.concat(t.wrap)),t.bufferLength!=null&&(n.bufferLength=t.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let n=this.dynamicPrecedences;return n==null?0:n[t]||0}parseDialect(t){let n=Object.keys(this.dialects),i=n.map(()=>!1);if(t)for(let s of t.split(" ")){let a=n.indexOf(s);a>=0&&(i[a]=!0)}let r=null;for(let s=0;si)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.scoree.external(n,i)<<1|t}return e.get}let NUe=0,Kl=class WP{constructor(t,n,i,r){this.name=t,this.set=n,this.base=i,this.modified=r,this.id=NUe++}toString(){let{name:t}=this;for(let n of this.modified)n.name&&(t=`${n.name}(${t})`);return t}static define(t,n){let i=typeof t=="string"?t:"?";if(t instanceof WP&&(n=t),n!=null&&n.base)throw new Error("Can not derive from a modified tag");let r=new WP(i,[],null,[]);if(r.set.push(r),n)for(let s of n.set)r.set.push(s);return r}static defineModifier(t){let n=new ok(t);return i=>i.modified.indexOf(n)>-1?i:ok.get(i.base||i,i.modified.concat(n).sort((r,s)=>r.id-s.id))}},CUe=0;class ok{constructor(t){this.name=t,this.instances=[],this.id=CUe++}static get(t,n){if(!n.length)return t;let i=n[0].instances.find(o=>o.base==t&&RUe(n,o.modified));if(i)return i;let r=[],s=new Kl(t.name,r,t,n);for(let o of n)o.instances.push(s);let a=IUe(n);for(let o of t.set)if(!o.modified.length)for(let l of a)r.push(ok.get(o,l));return s}}function RUe(e,t){return e.length==t.length&&e.every((n,i)=>n==t[i])}function IUe(e){let t=[[]];for(let n=0;ni.length-n.length)}function qu(e){let t=Object.create(null);for(let n in e){let i=e[n];Array.isArray(i)||(i=[i]);for(let r of n.split(" "))if(r){let s=[],a=2,o=r;for(let f=0;;){if(o=="..."&&f>0&&f+3==r.length){a=1;break}let h=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!h)throw new RangeError("Invalid path: "+r);if(s.push(h[0]=="*"?"":h[0][0]=='"'?JSON.parse(h[0]):h[0]),f+=h[0].length,f==r.length)break;let p=r[f++];if(f==r.length&&p=="!"){a=0;break}if(p!="/")throw new RangeError("Invalid path: "+r);o=r.slice(f)}let l=s.length-1,u=s[l];if(!u)throw new RangeError("Invalid path: "+r);let d=new Hy(i,a,l>0?s.slice(0,l):null);t[u]=d.sort(t[u])}}return Fre.add(t)}const Fre=new Yt({combine(e,t){let n,i,r;for(;e||t;){if(!e||t&&e.depth>=t.depth?(r=t,t=t.next):(r=e,e=e.next),n&&n.mode==r.mode&&!r.context&&!n.context)continue;let s=new Hy(r.tags,r.mode,r.context);n?n.next=s:i=s,n=s}return i}});class Hy{constructor(t,n,i,r){this.tags=t,this.mode=n,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(t){return!t||t.depth{let a=r;for(let o of s)for(let l of o.set){let u=n[l.id];if(u){a=a?a+" "+u:u;break}}return a},scope:i}}function PUe(e,t){let n=null;for(let i of e){let r=i.style(t);r&&(n=n?n+" "+r:r)}return n}function jUe(e,t,n,i=0,r=e.length){let s=new MUe(i,Array.isArray(t)?t:[t],n);s.highlightRange(e.cursor(),i,r,"",s.highlighters),s.flush(r)}class MUe{constructor(t,n,i){this.at=t,this.highlighters=n,this.span=i,this.class=""}startSpan(t,n){n!=this.class&&(this.flush(t),t>this.at&&(this.at=t),this.class=n)}flush(t){t>this.at&&this.class&&this.span(this.at,t,this.class)}highlightRange(t,n,i,r,s){let{type:a,from:o,to:l}=t;if(o>=i||l<=n)return;a.isTop&&(s=this.highlighters.filter(p=>!p.scope||p.scope(a)));let u=r,d=LUe(t)||Hy.empty,f=PUe(s,d.tags);if(f&&(u&&(u+=" "),u+=f,d.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(n,o),u),d.opaque)return;let h=t.tree&&t.tree.prop(Yt.mounted);if(h&&h.overlay){let p=t.node.enter(h.overlay[0].from+o,1),m=this.highlighters.filter(y=>!y.scope||y.scope(h.tree.type)),g=t.firstChild();for(let y=0,b=o;;y++){let S=y=x||!t.nextSibling())););if(!S||x>i)break;b=S.to+o,b>n&&(this.highlightRange(p.cursor(),Math.max(n,S.from+o),Math.min(i,b),"",m),this.startSpan(Math.min(i,b),u))}g&&t.parent()}else if(t.firstChild()){h&&(r="");do if(!(t.to<=n)){if(t.from>=i)break;this.highlightRange(t,n,i,r,s),this.startSpan(Math.min(i,t.to),u)}while(t.nextSibling());t.parent()}}}function LUe(e){let t=e.type.prop(Fre);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}const ot=Kl.define,HS=ot(),Ed=ot(),j7=ot(Ed),M7=ot(Ed),kd=ot(),YS=ot(kd),j2=ot(kd),Yl=ot(),qf=ot(Yl),zl=ot(),Fl=ot(),ZP=ot(),kO=ot(ZP),GS=ot(),H={comment:HS,lineComment:ot(HS),blockComment:ot(HS),docComment:ot(HS),name:Ed,variableName:ot(Ed),typeName:j7,tagName:ot(j7),propertyName:M7,attributeName:ot(M7),className:ot(Ed),labelName:ot(Ed),namespace:ot(Ed),macroName:ot(Ed),literal:kd,string:YS,docString:ot(YS),character:ot(YS),attributeValue:ot(YS),number:j2,integer:ot(j2),float:ot(j2),bool:ot(kd),regexp:ot(kd),escape:ot(kd),color:ot(kd),url:ot(kd),keyword:zl,self:ot(zl),null:ot(zl),atom:ot(zl),unit:ot(zl),modifier:ot(zl),operatorKeyword:ot(zl),controlKeyword:ot(zl),definitionKeyword:ot(zl),moduleKeyword:ot(zl),operator:Fl,derefOperator:ot(Fl),arithmeticOperator:ot(Fl),logicOperator:ot(Fl),bitwiseOperator:ot(Fl),compareOperator:ot(Fl),updateOperator:ot(Fl),definitionOperator:ot(Fl),typeOperator:ot(Fl),controlOperator:ot(Fl),punctuation:ZP,separator:ot(ZP),bracket:kO,angleBracket:ot(kO),squareBracket:ot(kO),paren:ot(kO),brace:ot(kO),content:Yl,heading:qf,heading1:ot(qf),heading2:ot(qf),heading3:ot(qf),heading4:ot(qf),heading5:ot(qf),heading6:ot(qf),contentSeparator:ot(Yl),list:ot(Yl),quote:ot(Yl),emphasis:ot(Yl),strong:ot(Yl),link:ot(Yl),monospace:ot(Yl),strikethrough:ot(Yl),inserted:ot(),deleted:ot(),changed:ot(),invalid:ot(),meta:GS,documentMeta:ot(GS),annotation:ot(GS),processingInstruction:ot(GS),definition:Kl.defineModifier("definition"),constant:Kl.defineModifier("constant"),function:Kl.defineModifier("function"),standard:Kl.defineModifier("standard"),local:Kl.defineModifier("local"),special:Kl.defineModifier("special")};for(let e in H){let t=H[e];t instanceof Kl&&(t.name=e)}Vre([{tag:H.link,class:"tok-link"},{tag:H.heading,class:"tok-heading"},{tag:H.emphasis,class:"tok-emphasis"},{tag:H.strong,class:"tok-strong"},{tag:H.keyword,class:"tok-keyword"},{tag:H.atom,class:"tok-atom"},{tag:H.bool,class:"tok-bool"},{tag:H.url,class:"tok-url"},{tag:H.labelName,class:"tok-labelName"},{tag:H.inserted,class:"tok-inserted"},{tag:H.deleted,class:"tok-deleted"},{tag:H.literal,class:"tok-literal"},{tag:H.string,class:"tok-string"},{tag:H.number,class:"tok-number"},{tag:[H.regexp,H.escape,H.special(H.string)],class:"tok-string2"},{tag:H.variableName,class:"tok-variableName"},{tag:H.local(H.variableName),class:"tok-variableName tok-local"},{tag:H.definition(H.variableName),class:"tok-variableName tok-definition"},{tag:H.special(H.variableName),class:"tok-variableName2"},{tag:H.definition(H.propertyName),class:"tok-propertyName tok-definition"},{tag:H.typeName,class:"tok-typeName"},{tag:H.namespace,class:"tok-namespace"},{tag:H.className,class:"tok-className"},{tag:H.macroName,class:"tok-macroName"},{tag:H.propertyName,class:"tok-propertyName"},{tag:H.operator,class:"tok-operator"},{tag:H.comment,class:"tok-comment"},{tag:H.meta,class:"tok-meta"},{tag:H.invalid,class:"tok-invalid"},{tag:H.punctuation,class:"tok-punctuation"}]);const DUe=316,$Ue=317,L7=1,QUe=2,BUe=3,UUe=4,zUe=318,FUe=320,VUe=321,XUe=5,qUe=6,HUe=0,KP=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Xre=125,YUe=59,JP=47,GUe=42,WUe=43,ZUe=45,KUe=60,JUe=44,e7e=63,t7e=46,n7e=91,i7e=new x_({start:!1,shift(e,t){return t==XUe||t==qUe||t==FUe?e:t==VUe},strict:!1}),r7e=new Ar((e,t)=>{let{next:n}=e;(n==Xre||n==-1||t.context)&&e.acceptToken(zUe)},{contextual:!0,fallback:!0}),s7e=new Ar((e,t)=>{let{next:n}=e,i;KP.indexOf(n)>-1||n==JP&&((i=e.peek(1))==JP||i==GUe)||n!=Xre&&n!=YUe&&n!=-1&&!t.context&&e.acceptToken(DUe)},{contextual:!0}),a7e=new Ar((e,t)=>{e.next==n7e&&!t.context&&e.acceptToken($Ue)},{contextual:!0}),o7e=new Ar((e,t)=>{let{next:n}=e;if(n==WUe||n==ZUe){if(e.advance(),n==e.next){e.advance();let i=!t.context&&t.canShift(L7);e.acceptToken(i?L7:QUe)}}else n==e7e&&e.peek(1)==t7e&&(e.advance(),e.advance(),(e.next<48||e.next>57)&&e.acceptToken(BUe))},{contextual:!0});function M2(e,t){return e>=65&&e<=90||e>=97&&e<=122||e==95||e>=192||!t&&e>=48&&e<=57}const l7e=new Ar((e,t)=>{if(e.next!=KUe||!t.dialectEnabled(HUe)||(e.advance(),e.next==JP))return;let n=0;for(;KP.indexOf(e.next)>-1;)e.advance(),n++;if(M2(e.next,!0)){for(e.advance(),n++;M2(e.next,!1);)e.advance(),n++;for(;KP.indexOf(e.next)>-1;)e.advance(),n++;if(e.next==JUe)return;for(let i=0;;i++){if(i==7){if(!M2(e.next,!0))return;break}if(e.next!="extends".charCodeAt(i))break;e.advance(),n++}}e.acceptToken(UUe,-n)}),c7e=qu({"get set async static":H.modifier,"for while do if else switch try catch finally return throw break continue default case defer":H.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":H.operatorKeyword,"let var const using function class extends":H.definitionKeyword,"import export from":H.moduleKeyword,"with debugger new":H.keyword,TemplateString:H.special(H.string),super:H.atom,BooleanLiteral:H.bool,this:H.self,null:H.null,Star:H.modifier,VariableName:H.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":H.function(H.variableName),VariableDefinition:H.definition(H.variableName),Label:H.labelName,PropertyName:H.propertyName,PrivatePropertyName:H.special(H.propertyName),"CallExpression/MemberExpression/PropertyName":H.function(H.propertyName),"FunctionDeclaration/VariableDefinition":H.function(H.definition(H.variableName)),"ClassDeclaration/VariableDefinition":H.definition(H.className),"NewExpression/VariableName":H.className,PropertyDefinition:H.definition(H.propertyName),PrivatePropertyDefinition:H.definition(H.special(H.propertyName)),UpdateOp:H.updateOperator,"LineComment Hashbang":H.lineComment,BlockComment:H.blockComment,Number:H.number,String:H.string,Escape:H.escape,ArithOp:H.arithmeticOperator,LogicOp:H.logicOperator,BitOp:H.bitwiseOperator,CompareOp:H.compareOperator,RegExp:H.regexp,Equals:H.definitionOperator,Arrow:H.function(H.punctuation),": Spread":H.punctuation,"( )":H.paren,"[ ]":H.squareBracket,"{ }":H.brace,"InterpolationStart InterpolationEnd":H.special(H.brace),".":H.derefOperator,", ;":H.separator,"@":H.meta,TypeName:H.typeName,TypeDefinition:H.definition(H.typeName),"type enum interface implements namespace module declare":H.definitionKeyword,"abstract global Privacy readonly override":H.modifier,"is keyof unique infer asserts":H.operatorKeyword,JSXAttributeValue:H.attributeValue,JSXText:H.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":H.angleBracket,"JSXIdentifier JSXNameSpacedName":H.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":H.attributeName,"JSXBuiltin/JSXIdentifier":H.standard(H.tagName)}),u7e={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},d7e={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},f7e={__proto__:null,"<":193},h7e=Ru.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:i7e,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[c7e],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[s7e,a7e,o7e,l7e,2,3,4,5,6,7,8,9,10,11,12,13,14,r7e,new ak("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new ak("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:e=>u7e[e]||-1},{term:343,get:e=>d7e[e]||-1},{term:95,get:e=>f7e[e]||-1}],tokenPrec:15201});let ej=[],qre=[];(()=>{let e="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(t=>t?parseInt(t,36):1);for(let t=0,n=0;t>1;if(e=qre[i])t=i+1;else return!0;if(t==n)return!1}}function D7(e){return e>=127462&&e<=127487}const $7=8205;function m7e(e,t,n=!0,i=!0){return(n?Hre:g7e)(e,t,i)}function Hre(e,t,n){if(t==e.length)return t;t&&Yre(e.charCodeAt(t))&&Gre(e.charCodeAt(t-1))&&t--;let i=L2(e,t);for(t+=Q7(i);t=0&&D7(L2(e,a));)s++,a-=2;if(s%2==0)break;t+=2}else break}return t}function g7e(e,t,n){for(;t>1;){let i=Hre(e,t-2,n);if(i=56320&&e<57344}function Gre(e){return e>=55296&&e<56320}function Q7(e){return e<65536?1:2}let Wn=class Wre{lineAt(t){if(t<0||t>this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,n,i){[t,n]=Vg(this,t,n);let r=[];return this.decompose(0,t,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(n,this.length,r,1),Jl.from(r,this.length-(n-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,n=this.length){[t,n]=Vg(this,t,n);let i=[];return this.decompose(t,n,i,0),Jl.from(i,n-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let n=this.scanIdentical(t,1),i=this.length-this.scanIdentical(t,-1),r=new Fb(this),s=new Fb(t);for(let a=n,o=n;;){if(r.next(a),s.next(a),a=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(o+=r.value.length,r.done||o>=i)return!0}}iter(t=1){return new Fb(this,t)}iterRange(t,n=this.length){return new Zre(this,t,n)}iterLines(t,n){let i;if(t==null)i=this.iter();else{n==null&&(n=this.lines+1);let r=this.line(t).from;i=this.iterRange(r,Math.max(r,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new Kre(i)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}constructor(){}static of(t){if(t.length==0)throw new RangeError("A document must have at least one line");return t.length==1&&!t[0]?Wre.empty:t.length<=32?new Sr(t):Jl.from(Sr.split(t,[]))}};class Sr extends Wn{constructor(t,n=O7e(t)){super(),this.text=t,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(t,n,i,r){for(let s=0;;s++){let a=this.text[s],o=r+a.length;if((n?i:o)>=t)return new b7e(r,o,i,a);r=o+1,i++}}decompose(t,n,i,r){let s=t<=0&&n>=this.length?this:new Sr(B7(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(r&1){let a=i.pop(),o=Sw(s.text,a.text.slice(),0,s.length);if(o.length<=32)i.push(new Sr(o,a.length+s.length));else{let l=o.length>>1;i.push(new Sr(o.slice(0,l)),new Sr(o.slice(l)))}}else i.push(s)}replace(t,n,i){if(!(i instanceof Sr))return super.replace(t,n,i);[t,n]=Vg(this,t,n);let r=Sw(this.text,Sw(i.text,B7(this.text,0,t)),n),s=this.length+i.length-(n-t);return r.length<=32?new Sr(r,s):Jl.from(Sr.split(r,[]),s)}sliceString(t,n=this.length,i=` -`){[t,n]=Vg(this,t,n);let r="";for(let s=0,a=0;s<=n&&at&&a&&(r+=i),ts&&(r+=o.slice(Math.max(0,t-s),n-s)),s=l+1}return r}flatten(t){for(let n of this.text)t.push(n)}scanIdentical(){return 0}static split(t,n){let i=[],r=-1;for(let s of t)i.push(s),r+=s.length+1,i.length==32&&(n.push(new Sr(i,r)),i=[],r=-1);return r>-1&&n.push(new Sr(i,r)),n}}class Jl extends Wn{constructor(t,n){super(),this.children=t,this.length=n,this.lines=0;for(let i of t)this.lines+=i.lines}lineInner(t,n,i,r){for(let s=0;;s++){let a=this.children[s],o=r+a.length,l=i+a.lines-1;if((n?l:o)>=t)return a.lineInner(t,n,i,r);r=o+1,i=l+1}}decompose(t,n,i,r){for(let s=0,a=0;a<=n&&s=a){let u=r&((a<=t?1:0)|(l>=n?2:0));a>=t&&l<=n&&!u?i.push(o):o.decompose(t-a,n-a,i,u)}a=l+1}}replace(t,n,i){if([t,n]=Vg(this,t,n),i.lines=s&&n<=o){let l=a.replace(t-s,n-s,i),u=this.lines-a.lines+l.lines;if(l.lines>4&&l.lines>u>>6){let d=this.children.slice();return d[r]=l,new Jl(d,this.length-(n-t)+i.length)}return super.replace(s,o,l)}s=o+1}return super.replace(t,n,i)}sliceString(t,n=this.length,i=` -`){[t,n]=Vg(this,t,n);let r="";for(let s=0,a=0;st&&s&&(r+=i),ta&&(r+=o.sliceString(t-a,n-a,i)),a=l+1}return r}flatten(t){for(let n of this.children)n.flatten(t)}scanIdentical(t,n){if(!(t instanceof Jl))return 0;let i=0,[r,s,a,o]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;r+=n,s+=n){if(r==a||s==o)return i;let l=this.children[r],u=t.children[s];if(l!=u)return i+l.scanIdentical(u,n);i+=l.length+1}}static from(t,n=t.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let p of t)i+=p.lines;if(i<32){let p=[];for(let m of t)m.flatten(p);return new Sr(p,n)}let r=Math.max(32,i>>5),s=r<<1,a=r>>1,o=[],l=0,u=-1,d=[];function f(p){let m;if(p.lines>s&&p instanceof Jl)for(let g of p.children)f(g);else p.lines>a&&(l>a||!l)?(h(),o.push(p)):p instanceof Sr&&l&&(m=d[d.length-1])instanceof Sr&&p.lines+m.lines<=32?(l+=p.lines,u+=p.length+1,d[d.length-1]=new Sr(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>r&&h(),l+=p.lines,u+=p.length+1,d.push(p))}function h(){l!=0&&(o.push(d.length==1?d[0]:Jl.from(d,u)),u=-1,l=d.length=0)}for(let p of t)f(p);return h(),o.length==1?o[0]:new Jl(o,n)}}Wn.empty=new Sr([""],0);function O7e(e){let t=-1;for(let n of e)t+=n.length+1;return t}function Sw(e,t,n=0,i=1e9){for(let r=0,s=0,a=!0;s=n&&(l>i&&(o=o.slice(0,i-r)),r0?1:(t instanceof Sr?t.text.length:t.children.length)<<1]}nextInner(t,n){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],a=s>>1,o=r instanceof Sr?r.text.length:r.children.length;if(a==(n>0?o:0)){if(i==0)return this.done=!0,this.value="",this;n>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(n>0?0:1)){if(this.offsets[i]+=n,t==0)return this.lineBreak=!0,this.value=` -`,this;t--}else if(r instanceof Sr){let l=r.text[a+(n<0?-1:0)];if(this.offsets[i]+=n,l.length>Math.max(0,t))return this.value=t==0?l:n>0?l.slice(t):l.slice(0,l.length-t),this;t-=l.length}else{let l=r.children[a+(n<0?-1:0)];t>l.length?(t-=l.length,this.offsets[i]+=n):(n<0&&this.offsets[i]--,this.nodes.push(l),this.offsets.push(n>0?1:(l instanceof Sr?l.text.length:l.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}}class Zre{constructor(t,n,i){this.value="",this.done=!1,this.cursor=new Fb(t,n>i?-1:1),this.pos=n>i?t.length:0,this.from=Math.min(n,i),this.to=Math.max(n,i)}nextInner(t,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let i=n<0?this.pos-this.from:this.to-this.pos;t>i&&(t=i),i-=t;let{value:r}=this.cursor.next(t);return this.pos+=(r.length+t)*n,this.value=r.length<=i?r:n<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class Kre{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:n,lineBreak:i,value:r}=this.inner.next(t);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Wn.prototype[Symbol.iterator]=function(){return this.iter()},Fb.prototype[Symbol.iterator]=Zre.prototype[Symbol.iterator]=Kre.prototype[Symbol.iterator]=function(){return this});let b7e=class{constructor(t,n,i,r){this.from=t,this.to=n,this.number=i,this.text=r}get length(){return this.to-this.from}};function Vg(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function ds(e,t,n=!0,i=!0){return m7e(e,t,n,i)}function y7e(e){return e>=56320&&e<57344}function x7e(e){return e>=55296&&e<56320}function xa(e,t){let n=e.charCodeAt(t);if(!x7e(n)||t+1==e.length)return n;let i=e.charCodeAt(t+1);return y7e(i)?(n-55296<<10)+(i-56320)+65536:n}function l5(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}function ec(e){return e<65536?1:2}const tj=/\r\n?|\n/;var ws=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(ws||(ws={}));class gc{constructor(t){this.sections=t}get length(){let t=0;for(let n=0;nt)return s+(t-r);s+=o}else{if(i!=ws.Simple&&u>=t&&(i==ws.TrackDel&&rt||i==ws.TrackBefore&&rt))return null;if(u>t||u==t&&n<0&&!o)return t==r||n<0?s:s+l;s+=l}r=u}if(t>r)throw new RangeError(`Position ${t} is out of range for changeset of length ${r}`);return s}touchesRange(t,n=t){for(let i=0,r=0;i=0&&r<=n&&o>=t)return rn?"cover":!0;r=o}return!1}toString(){let t="";for(let n=0;n=0?":"+r:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new gc(t)}static create(t){return new gc(t)}}class Yr extends gc{constructor(t,n){super(t),this.inserted=n}apply(t){if(this.length!=t.length)throw new RangeError("Applying change set to a document with the wrong length");return nj(this,(n,i,r,s,a)=>t=t.replace(r,r+(i-n),a),!1),t}mapDesc(t,n=!1){return ij(this,t,n,!0)}invert(t){let n=this.sections.slice(),i=[];for(let r=0,s=0;r=0){n[r]=o,n[r+1]=a;let l=r>>1;for(;i.length0&&Ud(i,n,s.text),s.forward(d),o+=d}let u=t[a++];for(;o>1].toJSON()))}return t}static of(t,n,i){let r=[],s=[],a=0,o=null;function l(d=!1){if(!d&&!r.length)return;ah||f<0||h>n)throw new RangeError(`Invalid change range ${f} to ${h} (in doc of length ${n})`);let m=p?typeof p=="string"?Wn.of(p.split(i||tj)):p:Wn.empty,g=m.length;if(f==h&&g==0)return;fa&&js(r,f-a,-1),js(r,h-f,g),Ud(s,r,m),a=h}}return u(t),l(!o),o}static empty(t){return new Yr(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],i=[];for(let r=0;ro&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)n.push(s[0],0);else{for(;i.length=0&&n<=0&&n==e[r+1]?e[r]+=t:r>=0&&t==0&&e[r]==0?e[r+1]+=n:i?(e[r]+=t,e[r+1]+=n):e.push(t,n)}function Ud(e,t,n){if(n.length==0)return;let i=t.length-2>>1;if(i>1])),!(n||a==e.sections.length||e.sections[a+1]<0);)o=e.sections[a++],l=e.sections[a++];t(r,u,s,d,f),r=u,s=d}}}function ij(e,t,n,i=!1){let r=[],s=i?[]:null,a=new Yy(e),o=new Yy(t);for(let l=-1;;){if(a.done&&o.len||o.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&o.ins==-1){let u=Math.min(a.len,o.len);js(r,u,-1),a.forward(u),o.forward(u)}else if(o.ins>=0&&(a.ins<0||l==a.i||a.off==0&&(o.len=0&&l=0){let u=0,d=a.len;for(;d;)if(o.ins==-1){let f=Math.min(d,o.len);u+=f,d-=f,o.forward(f)}else if(o.ins==0&&o.lenl||a.ins>=0&&a.len>l)&&(o||i.length>u),s.forward2(l),a.forward(l)}}}}class Yy{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i>1;return n>=t.length?Wn.empty:t[n]}textBit(t){let{inserted:n}=this.set,i=this.i-2>>1;return i>=n.length&&!t?Wn.empty:n[i].slice(this.off,t==null?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){this.ins==-1?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}class Rd{constructor(t,n,i,r){this.from=t,this.to=n,this.flags=i,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let t=this.flags&7;return t==7?null:t}map(t,n=-1){let i,r;return this.empty?i=r=t.mapPos(this.from,n):(i=t.mapPos(this.from,1),r=t.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new Rd(i,r,this.flags,this.goalColumn)}extend(t,n=t,i=0){if(t<=this.anchor&&n>=this.anchor)return Re.range(t,n,void 0,void 0,i);let r=Math.abs(t-this.anchor)>Math.abs(n-this.anchor)?t:n;return Re.range(this.anchor,r,void 0,void 0,i)}eq(t,n=!1){return this.anchor==t.anchor&&this.head==t.head&&this.goalColumn==t.goalColumn&&(!n||!this.empty||this.assoc==t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||typeof t.anchor!="number"||typeof t.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return Re.range(t.anchor,t.head)}static create(t,n,i,r){return new Rd(t,n,i,r)}}class Re{constructor(t,n){this.ranges=t,this.mainIndex=n}map(t,n=-1){return t.empty?this:Re.create(this.ranges.map(i=>i.map(t,n)),this.mainIndex)}eq(t,n=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let i=0;it.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!="number"||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new Re(t.ranges.map(n=>Rd.fromJSON(n)),t.main)}static single(t,n=t){return new Re([Re.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;rr.from-s.from),n=t.indexOf(i);for(let r=1;rs.head?Re.range(l,o):Re.range(o,l))}}return new Re(t,n)}}function ese(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let c5=0;class ht{constructor(t,n,i,r,s){this.combine=t,this.compareInput=n,this.compare=i,this.isStatic=r,this.id=c5++,this.default=t([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(t={}){return new ht(t.combine||(n=>n),t.compareInput||((n,i)=>n===i),t.compare||(t.combine?(n,i)=>n===i:u5),!!t.static,t.enables)}of(t){return new vw([],this,0,t)}compute(t,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new vw(t,this,1,n)}computeN(t,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new vw(t,this,2,n)}from(t,n){return n||(n=i=>i),this.compute([t],i=>n(i.field(t)))}}function u5(e,t){return e==t||e.length==t.length&&e.every((n,i)=>n===t[i])}class vw{constructor(t,n,i,r){this.dependencies=t,this.facet=n,this.type=i,this.value=r,this.id=c5++}dynamicSlot(t){var n;let i=this.value,r=this.facet.compareInput,s=this.id,a=t[s]>>1,o=this.type==2,l=!1,u=!1,d=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?u=!0:((n=t[f.id])!==null&&n!==void 0?n:1)&1||d.push(t[f.id]);return{create(f){return f.values[a]=i(f),1},update(f,h){if(l&&h.docChanged||u&&(h.docChanged||h.selection)||rj(f,d)){let p=i(f);if(o?!U7(p,f.values[a],r):!r(p,f.values[a]))return f.values[a]=p,1}return 0},reconfigure:(f,h)=>{let p,m=h.config.address[s];if(m!=null){let g=ck(h,m);if(this.dependencies.every(y=>y instanceof ht?h.facet(y)===f.facet(y):y instanceof _s?h.field(y,!1)==f.field(y,!1):!0)||(o?U7(p=i(f),g,r):r(p=i(f),g)))return f.values[a]=g,0}else p=i(f);return f.values[a]=p,1}}}get extension(){return this}}function U7(e,t,n){if(e.length!=t.length)return!1;for(let i=0;ie[l.id]),r=n.map(l=>l.type),s=i.filter(l=>!(l&1)),a=e[t.id]>>1;function o(l){let u=[];for(let d=0;di===r),t);return t.provide&&(n.provides=t.provide(n)),n}create(t){let n=t.facet(WS).find(i=>i.field==this);return((n==null?void 0:n.create)||this.createF)(t)}slot(t){let n=t[this.id]>>1;return{create:i=>(i.values[n]=this.create(i),1),update:(i,r)=>{let s=i.values[n],a=this.updateF(s,r);return this.compareF(s,a)?0:(i.values[n]=a,1)},reconfigure:(i,r)=>{let s=i.facet(WS),a=r.facet(WS),o;return(o=s.find(l=>l.field==this))&&o!=a.find(l=>l.field==this)?(i.values[n]=o.create(i),1):r.config.address[this.id]!=null?(i.values[n]=r.field(this),0):(i.values[n]=this.create(i),1)}}}init(t){return[this,WS.of({field:this,create:t})]}get extension(){return this}}const uh={lowest:4,low:3,default:2,high:1,highest:0};function TO(e){return t=>new tse(t,e)}const Hu={highest:TO(uh.highest),high:TO(uh.high),default:TO(uh.default),low:TO(uh.low),lowest:TO(uh.lowest)};class tse{constructor(t,n){this.inner=t,this.prec=n}get extension(){return this}}class S_{of(t){return new sj(this,t)}reconfigure(t){return S_.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class sj{constructor(t,n){this.compartment=t,this.inner=n}get extension(){return this}}class lk{constructor(t,n,i,r,s,a){for(this.base=t,this.compartments=n,this.dynamicSlots=i,this.address=r,this.staticValues=s,this.facets=a,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(t,n,i){let r=[],s=Object.create(null),a=new Map;for(let h of v7e(t,n,a))h instanceof _s?r.push(h):(s[h.facet.id]||(s[h.facet.id]=[])).push(h);let o=Object.create(null),l=[],u=[];for(let h of r)o[h.id]=u.length<<1,u.push(p=>h.slot(p));let d=i==null?void 0:i.config.facets;for(let h in s){let p=s[h],m=p[0].facet,g=d&&d[h]||[];if(p.every(y=>y.type==0))if(o[m.id]=l.length<<1|1,u5(g,p))l.push(i.facet(m));else{let y=m.combine(p.map(b=>b.value));l.push(i&&m.compare(y,i.facet(m))?i.facet(m):y)}else{for(let y of p)y.type==0?(o[y.id]=l.length<<1|1,l.push(y.value)):(o[y.id]=u.length<<1,u.push(b=>y.dynamicSlot(b)));o[m.id]=u.length<<1,u.push(y=>S7e(y,m,p))}}let f=u.map(h=>h(o));return new lk(t,a,f,o,l,s)}}function v7e(e,t,n){let i=[[],[],[],[],[]],r=new Map;function s(a,o){let l=r.get(a);if(l!=null){if(l<=o)return;let u=i[l].indexOf(a);u>-1&&i[l].splice(u,1),a instanceof sj&&n.delete(a.compartment)}if(r.set(a,o),Array.isArray(a))for(let u of a)s(u,o);else if(a instanceof sj){if(n.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=t.get(a.compartment)||a.inner;n.set(a.compartment,u),s(u,o)}else if(a instanceof tse)s(a.inner,a.prec);else if(a instanceof _s)i[o].push(a),a.provides&&s(a.provides,o);else if(a instanceof vw)i[o].push(a),a.facet.extensions&&s(a.facet.extensions,uh.default);else{let u=a.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${a}).`);if(u==a)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(u,o)}}return s(e,uh.default),i.reduce((a,o)=>a.concat(o))}function Vb(e,t){if(t&1)return 2;let n=t>>1,i=e.status[n];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;e.status[n]=4;let r=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|r}function ck(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}const nse=ht.define(),aj=ht.define({combine:e=>e.some(t=>t),static:!0}),ise=ht.define({combine:e=>e.length?e[0]:void 0,static:!0}),rse=ht.define(),sse=ht.define(),ase=ht.define(),ose=ht.define({combine:e=>e.length?e[0]:!1});class Nc{constructor(t,n){this.type=t,this.value=n}static define(){return new w7e}}class w7e{of(t){return new Nc(this,t)}}class E7e{constructor(t){this.map=t}of(t){return new Ht(this,t)}}class Ht{constructor(t,n){this.type=t,this.value=n}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new Ht(this.type,n)}is(t){return this.type==t}static define(t={}){return new E7e(t.map||(n=>n))}static mapEffects(t,n){if(!t.length)return t;let i=[];for(let r of t){let s=r.map(n);s&&i.push(s)}return i}}Ht.reconfigure=Ht.define();Ht.appendConfig=Ht.define();class Dr{constructor(t,n,i,r,s,a){this.startState=t,this.changes=n,this.selection=i,this.effects=r,this.annotations=s,this.scrollIntoView=a,this._doc=null,this._state=null,i&&ese(i,n.newLength),s.some(o=>o.type==Dr.time)||(this.annotations=s.concat(Dr.time.of(Date.now())))}static create(t,n,i,r,s,a){return new Dr(t,n,i,r,s,a)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(t){for(let n of this.annotations)if(n.type==t)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(Dr.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]=="."))}}Dr.time=Nc.define();Dr.userEvent=Nc.define();Dr.addToHistory=Nc.define();Dr.remote=Nc.define();function k7e(e,t){let n=[];for(let i=0,r=0;;){let s,a;if(i=e[i]))s=e[i++],a=e[i++];else if(r=0;r--){let s=i[r](e);s instanceof Dr?e=s:Array.isArray(s)&&s.length==1&&s[0]instanceof Dr?e=s[0]:e=cse(t,tg(s),!1)}return e}function _7e(e){let t=e.startState,n=t.facet(ase),i=e;for(let r=n.length-1;r>=0;r--){let s=n[r](e);s&&Object.keys(s).length&&(i=lse(i,oj(t,s,e.changes.newLength),!0))}return i==e?e:Dr.create(t,e.changes,e.selection,i.effects,i.annotations,i.scrollIntoView)}const A7e=[];function tg(e){return e==null?A7e:Array.isArray(e)?e:[e]}var Zi=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(Zi||(Zi={}));const N7e=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let lj;try{lj=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function C7e(e){if(lj)return lj.test(e);for(let t=0;t"€"&&(n.toUpperCase()!=n.toLowerCase()||N7e.test(n)))return!0}return!1}function R7e(e){return t=>{if(!/\S/.test(t))return Zi.Space;if(C7e(t))return Zi.Word;for(let n=0;n-1)return Zi.Word;return Zi.Other}}class Nn{constructor(t,n,i,r,s,a){this.config=t,this.doc=n,this.selection=i,this.values=r,this.status=t.statusTemplate.slice(),this.computeSlot=s,a&&(a._state=this);for(let o=0;or.set(u,l)),n=null),r.set(o.value.compartment,o.value.extension)):o.is(Ht.reconfigure)?(n=null,i=o.value):o.is(Ht.appendConfig)&&(n=null,i=tg(i).concat(o.value));let s;n?s=t.startState.values.slice():(n=lk.resolve(i,r,this),s=new Nn(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(l,u)=>u.reconfigure(l,this),null).values);let a=t.startState.facet(aj)?t.newSelection:t.newSelection.asSingle();new Nn(n,t.newDoc,a,s,(o,l)=>l.update(o,t),t)}replaceSelection(t){return typeof t=="string"&&(t=this.toText(t)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:t},range:Re.cursor(n.from+t.length)}))}changeByRange(t){let n=this.selection,i=t(n.ranges[0]),r=this.changes(i.changes),s=[i.range],a=tg(i.effects);for(let o=1;oa.spec.fromJSON(o,l)))}}return Nn.create({doc:t.doc,selection:Re.fromJSON(t.selection),extensions:n.extensions?r.concat([n.extensions]):r})}static create(t={}){let n=lk.resolve(t.extensions||[],new Map),i=t.doc instanceof Wn?t.doc:Wn.of((t.doc||"").split(n.staticFacet(Nn.lineSeparator)||tj)),r=t.selection?t.selection instanceof Re?t.selection:Re.single(t.selection.anchor,t.selection.head):Re.single(0);return ese(r,i.length),n.staticFacet(aj)||(r=r.asSingle()),new Nn(n,i,r,n.dynamicSlots.map(()=>null),(s,a)=>a.create(s),null)}get tabSize(){return this.facet(Nn.tabSize)}get lineBreak(){return this.facet(Nn.lineSeparator)||` -`}get readOnly(){return this.facet(ose)}phrase(t,...n){for(let i of this.facet(Nn.phrases))if(Object.prototype.hasOwnProperty.call(i,t)){t=i[t];break}return n.length&&(t=t.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>n.length?i:n[s-1]})),t}languageDataAt(t,n,i=-1){let r=[];for(let s of this.facet(nse))for(let a of s(this,n,i))Object.prototype.hasOwnProperty.call(a,t)&&r.push(a[t]);return r}charCategorizer(t){let n=this.languageDataAt("wordChars",t);return R7e(n.length?n[0]:"")}wordAt(t){let{text:n,from:i,length:r}=this.doc.lineAt(t),s=this.charCategorizer(t),a=t-i,o=t-i;for(;a>0;){let l=ds(n,a,!1);if(s(n.slice(l,a))!=Zi.Word)break;a=l}for(;oe.length?e[0]:4});Nn.lineSeparator=ise;Nn.readOnly=ose;Nn.phrases=ht.define({compare(e,t){let n=Object.keys(e),i=Object.keys(t);return n.length==i.length&&n.every(r=>e[r]==t[r])}});Nn.languageData=nse;Nn.changeFilter=rse;Nn.transactionFilter=sse;Nn.transactionExtender=ase;S_.reconfigure=Ht.define();function Cc(e,t,n={}){let i={};for(let r of e)for(let s of Object.keys(r)){let a=r[s],o=i[s];if(o===void 0)i[s]=a;else if(!(o===a||a===void 0))if(Object.hasOwnProperty.call(n,s))i[s]=n[s](o,a);else throw new Error("Config merge conflict for field "+s)}for(let r in t)i[r]===void 0&&(i[r]=t[r]);return i}class gf{eq(t){return this==t}range(t,n=t){return Gy.create(t,n,this)}}gf.prototype.startSide=gf.prototype.endSide=0;gf.prototype.point=!1;gf.prototype.mapMode=ws.TrackDel;function d5(e,t){return e==t||e.constructor==t.constructor&&e.eq(t)}class Gy{constructor(t,n,i){this.from=t,this.to=n,this.value=i}static create(t,n,i){return new Gy(t,n,i)}}function cj(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class f5{constructor(t,n,i,r){this.from=t,this.to=n,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(t,n,i,r=0){let s=i?this.to:this.from;for(let a=r,o=s.length;;){if(a==o)return a;let l=a+o>>1,u=s[l]-t||(i?this.value[l].endSide:this.value[l].startSide)-n;if(l==a)return u>=0?a:o;u>=0?o=l:a=l+1}}between(t,n,i,r){for(let s=this.findIndex(n,-1e9,!0),a=this.findIndex(i,1e9,!1,s);sp||h==p&&u.startSide>0&&u.endSide<=0)continue;(p-h||u.endSide-u.startSide)<0||(a<0&&(a=h),u.point&&(o=Math.max(o,p-h)),i.push(u),r.push(h-a),s.push(p-a))}return{mapped:i.length?new f5(r,s,i,o):null,pos:a}}}class Sn{constructor(t,n,i,r){this.chunkPos=t,this.chunk=n,this.nextLayer=i,this.maxPoint=r}static create(t,n,i,r){return new Sn(t,n,i,r)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let n of this.chunk)t+=n.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:n=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=t,a=t.filter;if(n.length==0&&!a)return this;if(i&&(n=n.slice().sort(cj)),this.isEmpty)return n.length?Sn.of(n):this;let o=new use(this,null,-1).goto(0),l=0,u=[],d=new Iu;for(;o.value||l=0){let f=n[l++];d.addInner(f.from,f.to,f.value)||u.push(f)}else o.rangeIndex==1&&o.chunkIndexthis.chunkEnd(o.chunkIndex)||so.to||s=s&&t<=s+a.length&&a.between(s,t-s,n-s,i)===!1)return}this.nextLayer.between(t,n,i)}}iter(t=0){return Wy.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,n=0){return Wy.from(t).goto(n)}static compare(t,n,i,r,s=-1){let a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),o=n.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=z7(a,o,i),u=new _O(a,l,s),d=new _O(o,l,s);i.iterGaps((f,h,p)=>F7(u,f,d,h,p,r)),i.empty&&i.length==0&&F7(u,0,d,0,0,r)}static eq(t,n,i=0,r){r==null&&(r=999999999);let s=t.filter(d=>!d.isEmpty&&n.indexOf(d)<0),a=n.filter(d=>!d.isEmpty&&t.indexOf(d)<0);if(s.length!=a.length)return!1;if(!s.length)return!0;let o=z7(s,a),l=new _O(s,o,0).goto(i),u=new _O(a,o,0).goto(i);for(;;){if(l.to!=u.to||!uj(l.active,u.active)||l.point&&(!u.point||!d5(l.point,u.point)))return!1;if(l.to>r)return!0;l.next(),u.next()}}static spans(t,n,i,r,s=-1){let a=new _O(t,null,s).goto(n),o=n,l=a.openStart;for(;;){let u=Math.min(a.to,i);if(a.point){let d=a.activeForPoint(a.to),f=a.pointFromo&&(r.span(o,u,a.active,l),l=a.openEnd(u));if(a.to>i)return l+(a.point&&a.to>i?1:0);o=a.to,a.next()}}static of(t,n=!1){let i=new Iu;for(let r of t instanceof Gy?[t]:n?I7e(t):t)i.add(r.from,r.to,r.value);return i.finish()}static join(t){if(!t.length)return Sn.empty;let n=t[t.length-1];for(let i=t.length-2;i>=0;i--)for(let r=t[i];r!=Sn.empty;r=r.nextLayer)n=new Sn(r.chunkPos,r.chunk,n,Math.max(r.maxPoint,n.maxPoint));return n}}Sn.empty=new Sn([],[],null,-1);function I7e(e){if(e.length>1)for(let t=e[0],n=1;n0)return e.slice().sort(cj);t=i}return e}Sn.empty.nextLayer=Sn.empty;class Iu{finishChunk(t){this.chunks.push(new f5(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,t&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(t,n,i){this.addInner(t,n,i)||(this.nextLayer||(this.nextLayer=new Iu)).add(t,n,i)}addInner(t,n,i){let r=t-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(n-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=n,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,n-t)),!0)}addChunk(t,n){if((t-this.lastTo||n.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,n.maxPoint),this.chunks.push(n),this.chunkPos.push(t);let i=n.value.length-1;return this.last=n.value[i],this.lastFrom=n.from[i]+t,this.lastTo=n.to[i]+t,!0}finish(){return this.finishInner(Sn.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return t;let n=Sn.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,n}}function z7(e,t,n){let i=new Map;for(let s of e)for(let a=0;a=this.minPoint)break}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&r.push(new use(a,n,i,s));return r.length==1?r[0]:new Wy(r)}get startSide(){return this.value?this.value.startSide:0}goto(t,n=-1e9){for(let i of this.heap)i.goto(t,n);for(let i=this.heap.length>>1;i>=0;i--)D2(this.heap,i);return this.next(),this}forward(t,n){for(let i of this.heap)i.forward(t,n);for(let i=this.heap.length>>1;i>=0;i--)D2(this.heap,i);(this.to-t||this.value.endSide-n)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),D2(this.heap,0)}}}function D2(e,t){for(let n=e[t];;){let i=(t<<1)+1;if(i>=e.length)break;let r=e[i];if(i+1=0&&(r=e[i+1],i++),n.compare(r)<0)break;e[i]=n,e[t]=r,t=i}}class _O{constructor(t,n,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Wy.from(t,n,i)}goto(t,n=-1e9){return this.cursor.goto(t,n),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=n,this.openStart=-1,this.next(),this}forward(t,n){for(;this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-n)<0;)this.removeActive(this.minActive);this.cursor.forward(t,n)}removeActive(t){ZS(this.active,t),ZS(this.activeTo,t),ZS(this.activeRank,t),this.minActive=V7(this.active,this.activeTo)}addActive(t){let n=0,{value:i,to:r,rank:s}=this.cursor;for(;n0;)n++;KS(this.active,n,i),KS(this.activeTo,n,r),KS(this.activeRank,n,s),t&&KS(t,n,this.cursor.from),this.minActive=V7(this.active,this.activeTo)}next(){let t=this.to,n=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>t){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&ZS(i,r)}else if(this.cursor.value)if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(n&&this.cursor.to==this.to&&this.cursor.from=0&&i[r]=0&&!(this.activeRank[i]t||this.activeTo[i]==t&&this.active[i].endSide>=this.point.endSide)&&n.push(this.active[i]);return n.reverse()}openEnd(t){let n=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>t;i--)n++;return n}}function F7(e,t,n,i,r,s){e.goto(t),n.goto(i);let a=i+r,o=i,l=i-t,u=!!s.boundChange;for(let d=!1;;){let f=e.to+l-n.to,h=f||e.endSide-n.endSide,p=h<0?e.to+l:n.to,m=Math.min(p,a);if(e.point||n.point?(e.point&&n.point&&d5(e.point,n.point)&&uj(e.activeForPoint(e.to),n.activeForPoint(n.to))||s.comparePoint(o,m,e.point,n.point),d=!1):(d&&s.boundChange(o),m>o&&!uj(e.active,n.active)&&s.compareRange(o,m,e.active,n.active),u&&ma)break;o=p,h<=0&&e.next(),h>=0&&n.next()}}function uj(e,t){if(e.length!=t.length)return!1;for(let n=0;n=t;i--)e[i+1]=e[i];e[t]=n}function V7(e,t){let n=-1,i=1e9;for(let r=0;r=t)return r;if(r==e.length)break;s+=e.charCodeAt(r)==9?n-s%n:1,r=ds(e,r)}return i===!0?-1:e.length}const fj="ͼ",X7=typeof Symbol>"u"?"__"+fj:Symbol.for(fj),hj=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),q7=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Of{constructor(t,n){this.rules=[];let{finish:i}=n||{};function r(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function s(a,o,l,u){let d=[],f=/^@(\w+)\b/.exec(a[0]),h=f&&f[1]=="keyframes";if(f&&o==null)return l.push(a[0]+";");for(let p in o){let m=o[p];if(/&/.test(p))s(p.split(/,\s*/).map(g=>a.map(y=>g.replace(/&/,y))).reduce((g,y)=>g.concat(y)),m,l);else if(m&&typeof m=="object"){if(!f)throw new RangeError("The value of a property ("+p+") should be a primitive value.");s(r(p),m,d,h)}else m!=null&&d.push(p.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+m+";")}(d.length||h)&&l.push((i&&!f&&!u?a.map(i):a).join(", ")+" {"+d.join(" ")+"}")}for(let a in t)s(r(a),t[a],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let t=q7[X7]||1;return q7[X7]=t+1,fj+t.toString(36)}static mount(t,n,i){let r=t[hj],s=i&&i.nonce;r?s&&r.setNonce(s):r=new P7e(t,s),r.mount(Array.isArray(n)?n:[n],t)}}let H7=new Map;class P7e{constructor(t,n){let i=t.ownerDocument||t,r=i.defaultView;if(!t.head&&t.adoptedStyleSheets&&r.CSSStyleSheet){let s=H7.get(i);if(s)return t[hj]=s;this.sheet=new r.CSSStyleSheet,H7.set(i,this)}else this.styleTag=i.createElement("style"),n&&this.styleTag.setAttribute("nonce",n);this.modules=[],t[hj]=this}mount(t,n){let i=this.sheet,r=0,s=0;for(let a=0;a-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,o),i)for(let u=0;u",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},j7e=typeof navigator<"u"&&/Mac/.test(navigator.platform),M7e=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var xs=0;xs<10;xs++)bf[48+xs]=bf[96+xs]=String(xs);for(var xs=1;xs<=24;xs++)bf[xs+111]="F"+xs;for(var xs=65;xs<=90;xs++)bf[xs]=String.fromCharCode(xs+32),Zy[xs]=String.fromCharCode(xs);for(var $2 in bf)Zy.hasOwnProperty($2)||(Zy[$2]=bf[$2]);function L7e(e){var t=j7e&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||M7e&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",n=!t&&e.key||(e.shiftKey?Zy:bf)[e.keyCode]||e.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function Oi(){var e=arguments[0];typeof e=="string"&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i];typeof r=="string"?e.setAttribute(i,r):r!=null&&(e[i]=r)}t++}for(;t2);var ut={mac:W7||/Mac/.test(Js.platform),windows:/Win/.test(Js.platform),linux:/Linux|X11/.test(Js.platform),ie:v_,ie_version:fse?pj.documentMode||6:gj?+gj[1]:mj?+mj[1]:0,gecko:Y7,gecko_version:Y7?+(/Firefox\/(\d+)/.exec(Js.userAgent)||[0,0])[1]:0,chrome:!!Q2,chrome_version:Q2?+Q2[1]:0,ios:W7,android:/Android\b/.test(Js.userAgent),webkit:G7,webkit_version:G7?+(/\bAppleWebKit\/(\d+)/.exec(Js.userAgent)||[0,0])[1]:0,safari:Oj,safari_version:Oj?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Js.userAgent)||[0,0])[1]:0,tabSize:pj.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function h5(e,t){for(let n in e)n=="class"&&t.class?t.class+=" "+e.class:n=="style"&&t.style?t.style+=";"+e.style:t[n]=e[n];return t}const uk=Object.create(null);function p5(e,t,n){if(e==t)return!0;e||(e=uk),t||(t=uk);let i=Object.keys(e),r=Object.keys(t);if(i.length-0!=r.length-0)return!1;for(let s of i)if(s!=n&&(r.indexOf(s)==-1||e[s]!==t[s]))return!1;return!0}function D7e(e,t){for(let n=e.attributes.length-1;n>=0;n--){let i=e.attributes[n].name;t[i]==null&&e.removeAttribute(i)}for(let n in t){let i=t[n];n=="style"?e.style.cssText=i:e.getAttribute(n)!=i&&e.setAttribute(n,i)}}function Z7(e,t,n){let i=!1;if(t)for(let r in t)n&&r in n||(i=!0,r=="style"?e.style.cssText="":e.removeAttribute(r));if(n)for(let r in n)t&&t[r]==n[r]||(i=!0,r=="style"?e.style.cssText=n[r]:e.setAttribute(r,n[r]));return i}function $7e(e){let t=Object.create(null);for(let n=0;n0?3e8:-4e8:n>0?1e8:-1e8,new Kh(t,n,n,i,t.widget||null,!1)}static replace(t){let n=!!t.block,i,r;if(t.isBlockGap)i=-5e8,r=4e8;else{let{start:s,end:a}=hse(t,n);i=(s?n?-3e8:-1:5e8)-1,r=(a?n?2e8:1:-6e8)+1}return new Kh(t,i,r,n,t.widget||null,!0)}static line(t){return new f1(t)}static set(t,n=!1){return Sn.of(t,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}_t.none=Sn.empty;class d1 extends _t{constructor(t){let{start:n,end:i}=hse(t);super(n?-1:5e8,i?1:-6e8,null,t),this.tagName=t.tagName||"span",this.attrs=t.class&&t.attributes?h5(t.attributes,{class:t.class}):t.class?{class:t.class}:t.attributes||uk}eq(t){return this==t||t instanceof d1&&this.tagName==t.tagName&&p5(this.attrs,t.attrs)}range(t,n=t){if(t>=n)throw new RangeError("Mark decorations may not be empty");return super.range(t,n)}}d1.prototype.point=!1;class f1 extends _t{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof f1&&this.spec.class==t.spec.class&&p5(this.spec.attributes,t.spec.attributes)}range(t,n=t){if(n!=t)throw new RangeError("Line decoration ranges must be zero-length");return super.range(t,n)}}f1.prototype.mapMode=ws.TrackBefore;f1.prototype.point=!0;class Kh extends _t{constructor(t,n,i,r,s,a){super(n,i,s,t),this.block=r,this.isReplace=a,this.mapMode=r?n<=0?ws.TrackBefore:ws.TrackAfter:ws.TrackDel}get type(){return this.startSide!=this.endSide?Ts.WidgetRange:this.startSide<=0?Ts.WidgetBefore:Ts.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){return t instanceof Kh&&Q7e(this.widget,t.widget)&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,n=t){if(this.isReplace&&(t>n||t==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=t)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(t,n)}}Kh.prototype.point=!0;function hse(e,t=!1){let{inclusiveStart:n,inclusiveEnd:i}=e;return n==null&&(n=e.inclusive),i==null&&(i=e.inclusive),{start:n??t,end:i??t}}function Q7e(e,t){return e==t||!!(e&&t&&e.compare(t))}function ng(e,t,n,i=0){let r=n.length-1;r>=0&&n[r]+i>=e?n[r]=Math.max(n[r],t):n.push(e,t)}class Ky extends gf{constructor(t,n,i){super(),this.tagName=t,this.attributes=n,this.rank=i}eq(t){return t==this||t instanceof Ky&&this.tagName==t.tagName&&p5(this.attributes,t.attributes)}static create(t){return new Ky(t.tagName,t.attributes||uk,t.rank==null?50:Math.max(0,Math.min(t.rank,100)))}static set(t,n=!1){return Sn.of(t,n)}}Ky.prototype.startSide=Ky.prototype.endSide=-1;function Jy(e){let t;return e.nodeType==11?t=e.getSelection?e:e.ownerDocument:t=e,t.getSelection()}function bj(e,t){return t?e==t||e.contains(t.nodeType!=1?t.parentNode:t):!1}function Xb(e,t){if(!t.anchorNode)return!1;try{return bj(e,t.anchorNode)}catch{return!1}}function qb(e){return e.nodeType==3?tx(e,0,e.nodeValue.length).getClientRects():e.nodeType==1?e.getClientRects():[]}function Hb(e,t,n,i){return n?K7(e,t,n,i,-1)||K7(e,t,n,i,1):!1}function yf(e){for(var t=0;;t++)if(e=e.previousSibling,!e)return t}function dk(e){return e.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function K7(e,t,n,i,r){for(;;){if(e==n&&t==i)return!0;if(t==(r<0?0:Pu(e))){if(e.nodeName=="DIV")return!1;let s=e.parentNode;if(!s||s.nodeType!=1)return!1;t=yf(e)+(r<0?0:1),e=s}else if(e.nodeType==1){if(e=e.childNodes[t+(r<0?-1:0)],e.nodeType==1&&e.contentEditable=="false")return!1;t=r<0?Pu(e):0}else return!1}}function Pu(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function ex(e,t){let{left:n,right:i}=e;if(n==i)return e;let r=t?n:i;return{left:r,right:r,top:e.top,bottom:e.bottom}}function B7e(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function pse(e,t){let n=t.width/e.offsetWidth,i=t.height/e.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.height-e.offsetHeight)<1)&&(i=1),{scaleX:n,scaleY:i}}function U7e(e,t,n,i,r,s,a,o){let l=e.ownerDocument,u=l.defaultView||window;for(let d=e,f=!1;d&&!f;)if(d.nodeType==1){let h,p=d==l.body,m=1,g=1;if(p)h=B7e(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(f=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let S=d.getBoundingClientRect();({scaleX:m,scaleY:g}=pse(d,S)),h={left:S.left,right:S.left+d.clientWidth*m,top:S.top,bottom:S.top+d.clientHeight*g}}let y=0,b=0;if(r=="nearest")t.top0&&t.bottom>h.bottom+b&&(b=t.bottom-h.bottom+a)):t.bottom>h.bottom-a&&(b=t.bottom-h.bottom+a,n<0&&t.top-b0&&t.right>h.right+y&&(y=t.right-h.right+s)):t.right>h.right-s&&(y=t.right-h.right+s,n<0&&t.lefth.bottom||t.lefth.right)&&(t={left:Math.max(t.left,h.left),right:Math.min(t.right,h.right),top:Math.max(t.top,h.top),bottom:Math.min(t.bottom,h.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function mse(e,t=!0){let n=e.ownerDocument,i=null,r=null;for(let s=e.parentNode;s&&!(s==n.body||(!t||i)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),t&&!i&&s.scrollWidth>s.clientWidth&&(i=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:i,y:r}}class z7e{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:n,focusNode:i}=t;this.set(n,Math.min(t.anchorOffset,n?Pu(n):0),i,Math.min(t.focusOffset,i?Pu(i):0))}set(t,n,i,r){this.anchorNode=t,this.anchorOffset=n,this.focusNode=i,this.focusOffset=r}}let oh=null;ut.safari&&ut.safari_version>=26&&(oh=!1);function gse(e){if(e.setActive)return e.setActive();if(oh)return e.focus(oh);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(oh==null?{get preventScroll(){return oh={preventScroll:!0},!0}}:void 0),!oh){oh=!1;for(let n=0;nMath.max(0,e.document.documentElement.scrollHeight-e.innerHeight-4):e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}function bse(e,t){for(let n=e,i=t;;){if(n.nodeType==3&&i>0)return{node:n,offset:i};if(n.nodeType==1&&i>0){if(n.contentEditable=="false")return null;n=n.childNodes[i-1],i=Pu(n)}else if(n.parentNode&&!dk(n))i=yf(n),n=n.parentNode;else return null}}function yse(e,t){for(let n=e,i=t;;){if(n.nodeType==3&&i=n){if(o.level==i)return a;(s<0||(r!=0?r<0?o.fromn:t[s].level>o.level))&&(s=a)}}if(s<0)throw new RangeError("Index out of range");return s}}function vse(e,t){if(e.length!=t.length)return!1;for(let n=0;n=0;g-=3)if(Vl[g+1]==-p){let y=Vl[g+2],b=y&2?r:y&4?y&1?s:r:0;b&&(Ei[f]=Ei[Vl[g]]=b),o=g;break}}else{if(Vl.length==189)break;Vl[o++]=f,Vl[o++]=h,Vl[o++]=l}else if((m=Ei[f])==2||m==1){let g=m==r;l=g?0:1;for(let y=o-3;y>=0;y-=3){let b=Vl[y+2];if(b&2)break;if(g)Vl[y+2]|=2;else{if(b&4)break;Vl[y+2]|=4}}}}}function W7e(e,t,n,i){for(let r=0,s=i;r<=n.length;r++){let a=r?n[r-1].to:e,o=rl;)m==y&&(m=n[--g].from,y=g?n[g-1].to:e),Ei[--m]=p;l=d}else s=u,l++}}}function xj(e,t,n,i,r,s,a){let o=i%2?2:1;if(i%2==r%2)for(let l=t,u=0;ll&&a.push(new lc(l,g.from,p));let y=g.direction==Jh!=!(p%2);Sj(e,y?i+1:i,r,g.inner,g.from,g.to,a),l=g.to}m=g.to}else{if(m==n||(d?Ei[m]!=o:Ei[m]==o))break;m++}h?xj(e,l,m,i+1,r,h,a):lt;){let d=!0,f=!1;if(!u||l>s[u-1].to){let g=Ei[l-1];g!=o&&(d=!1,f=g==16)}let h=!d&&o==1?[]:null,p=d?i:i+1,m=l;e:for(;;)if(u&&m==s[u-1].to){if(f)break e;let g=s[--u];if(!d)for(let y=g.from,b=u;;){if(y==t)break e;if(b&&s[b-1].to==y)y=s[--b].from;else{if(Ei[y-1]==o)break e;break}}if(h)h.push(g);else{g.toEi.length;)Ei[Ei.length]=256;let i=[],r=t==Jh?0:1;return Sj(e,r,r,n,0,e.length,i),i}function wse(e){return[new lc(0,e,0)]}let Ese="";function K7e(e,t,n,i,r){var s;let a=i.head-e.from,o=lc.find(t,a,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),l=t[o],u=l.side(r,n);if(a==u){let h=o+=r?1:-1;if(h<0||h>=t.length)return null;l=t[o=h],a=l.side(!r,n),u=l.side(r,n)}let d=ds(e.text,a,l.forward(r,n));(dl.to)&&(d=u),Ese=e.text.slice(Math.min(a,d),Math.max(a,d));let f=o==(r?t.length-1:0)?null:t[o+(r?1:-1)];return f&&d==u&&f.level+(r?0:1)e.some(t=>t)}),Ise=ht.define({combine:e=>e.some(t=>t)}),Pse=ht.define();class rg{constructor(t,n,i,r,s,a=!1){this.range=t,this.y=n,this.x=i,this.yMargin=r,this.xMargin=s,this.isSnapshot=a}map(t){return t.empty?this:new rg(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new rg(Re.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const JS=Ht.define({map:(e,t)=>e.map(t)}),jse=Ht.define();function ka(e,t,n){let i=e.facet(Ase);i.length?i[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)||(n?console.error(n+":",t):console.error(t))}const su=ht.define({combine:e=>e.length?e[0]:!0});let eze=0;const Pm=ht.define({combine(e){return e.filter((t,n)=>{for(let i=0;i{let l=[];return a&&l.push(w_.of(u=>{let d=u.plugin(o);return d?a(d):_t.none})),s&&l.push(s(o)),l})}static fromClass(t,n){return pr.define((i,r)=>new t(i,r),n)}}class B2{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(t){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(i){if(ka(n.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(t,this.spec.arg)}catch(n){ka(t.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(i){ka(t.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Mse=ht.define(),b5=ht.define(),w_=ht.define(),Lse=ht.define(),y5=ht.define(),h1=ht.define(),Dse=ht.define();function ez(e,t){let n=e.state.facet(Dse);if(!n.length)return n;let i=n.map(s=>s instanceof Function?s(e):s),r=[];return Sn.spans(i,t.from,t.to,{point(){},span(s,a,o,l){let u=s-t.from,d=a-t.from,f=r;for(let h=o.length-1;h>=0;h--,l--){let p=o[h].spec.bidiIsolate,m;if(p==null&&(p=J7e(t.text,u,d)),l>0&&f.length&&(m=f[f.length-1]).to==u&&m.direction==p)m.to=d,f=m.inner;else{let g={from:u,to:d,direction:p,inner:[]};f.push(g),f=g.inner}}}}),r}const $se=ht.define();function x5(e){let t=0,n=0,i=0,r=0;for(let s of e.state.facet($se)){let a=s(e);a&&(a.left!=null&&(t=Math.max(t,a.left)),a.right!=null&&(n=Math.max(n,a.right)),a.top!=null&&(i=Math.max(i,a.top)),a.bottom!=null&&(r=Math.max(r,a.bottom)))}return{left:t,right:n,top:i,bottom:r}}const ib=ht.define();class jo{constructor(t,n,i,r){this.fromA=t,this.toA=n,this.fromB=i,this.toB=r}join(t){return new jo(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let n=t.length,i=this;for(;n>0;n--){let r=t[n-1];if(!(r.fromA>i.toA)){if(r.toAr.push(new jo(s,a,o,l))),this.changedRanges=r}static create(t,n,i){return new fk(t,n,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const tze=[];class fr{constructor(t,n,i=0){this.dom=t,this.length=n,this.flags=i,this.parent=null,t.cmTile=this}get breakAfter(){return this.flags&1}get children(){return tze}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(t){if(this.flags|=2,this.flags&4){this.flags&=-5;let n=this.domAttrs;n&&D7e(this.dom,n)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(t){this.dom=t,t.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t,n=this.posAtStart){let i=n;for(let r of this.children){if(r==t)return i;i+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}covers(t){return!0}coordsIn(t,n,i){return null}domPosFor(t,n){let i=yf(this.dom),r=this.length?t>0:n>0;return new Ol(this.parent.dom,i+(r?1:0),t==0||t==this.length)}markDirty(t){this.flags&=-3,t&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let t=this;t;t=t.parent)if(t instanceof k_)return t;return null}static get(t){return t.cmTile}}class E_ extends fr{constructor(t){super(t,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(t){this.children.push(t),t.parent=this}sync(t){if(this.flags&2)return;super.sync(t);let n=this.dom,i=null,r,s=(t==null?void 0:t.node)==n?t:null,a=0;for(let o of this.children){if(o.sync(t),a+=o.length+o.breakAfter,r=i?i.nextSibling:n.firstChild,s&&r!=o.dom&&(s.written=!0),o.dom.parentNode==n)for(;r&&r!=o.dom;)r=tz(r);else n.insertBefore(o.dom,r);i=o.dom}for(r=i?i.nextSibling:n.firstChild,s&&r&&(s.written=!0);r;)r=tz(r);this.length=a}}function tz(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}class k_ extends E_{constructor(t,n){super(n),this.view=t}owns(t){for(;t;t=t.parent)if(t==this)return!0;return!1}isBlock(){return!0}nearest(t){for(;;){if(!t)return null;let n=fr.get(t);if(n&&this.owns(n))return n;t=t.parentNode}}blockTiles(t){for(let n=[],i=this,r=0,s=0;;)if(r==i.children.length){if(!n.length)return;i=i.parent,i.breakAfter&&s++,r=n.pop()}else{let a=i.children[r++];if(a instanceof yu)n.push(r),i=a,r=0;else{let o=s+a.length,l=t(a,s);if(l!==void 0)return l;s=o+a.breakAfter}}}resolveBlock(t,n){let i,r=-1,s,a=-1;if(this.blockTiles((o,l)=>{let u=l+o.length;if(t>=l&&t<=u){if(o.isWidget()&&n>=-1&&n<=1){if(o.flags&32)return!0;o.flags&16&&(i=void 0)}(lt||t==l&&(n>1?o.length:o.covers(-1)))&&(!s||!o.isWidget()&&s.isWidget())&&(s=o,a=t-l)}}),!i&&!s)throw new Error("No tile at position "+t);return i&&n<0||!s?{tile:i,offset:r}:{tile:s,offset:a}}}class yu extends E_{constructor(t,n){super(t),this.wrapper=n}isBlock(){return!0}covers(t){return this.children.length?t<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(t,n){let i=new yu(n||document.createElement(t.tagName),t);return n||(i.flags|=4),i}}class Xg extends E_{constructor(t,n){super(t),this.attrs=n}isLine(){return!0}static start(t,n,i){let r=new Xg(n||document.createElement("div"),t);return(!n||!i)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(t,n,i){let r=null,s=-1,a=null,o=-1;function l(d,f){for(let h=0,p=0;h=f&&(m.isComposite()?l(m,f-p):(!a||a.isHidden&&(n>0&&!(a.flags&32)||i&&ize(a,m)))&&(g>f||m.flags&32)?(a=m,o=f-p):(pr&&(t=r);let s=t,a=t,o=0;t==0&&n<0||t==r&&n>=0?ut.chrome||ut.gecko||(t?(s--,o=1):a=0)?0:l.length-1];return ut.safari&&!o&&u.width==0&&(u=Array.prototype.find.call(l,d=>d.width)||u),i==null?u:ex(u,(o?o>0:n<0)==i)}static of(t,n){let i=new Sh(n||document.createTextNode(t),t);return n||(i.flags|=2),i}}class ep extends fr{constructor(t,n,i,r){super(t,n,r),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(t){return this.flags&48?!1:(this.flags&(t<0?64:128))>0}coordsIn(t,n){return this.coordsInWidget(t,n,!1)}coordsInWidget(t,n,i){let r=this.widget.coordsAt(this.dom,t,n);if(r)return r;if(i)return ex(this.dom.getBoundingClientRect(),this.length?t==0:n<=0);{let s=this.dom.getClientRects(),a=null;if(!s.length)return null;let o=this.flags&16?!0:this.flags&32?!1:t>0;for(let l=o?s.length-1:0;a=s[l],!(t>0?l==0:l==s.length-1||a.top0==i)}}class rze{constructor(t){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=t}advance(t,n,i){let{tile:r,index:s,beforeBreak:a,parents:o}=this;for(;t||n>0;)if(r.isComposite())if(a){if(!t)break;i&&i.break(),t--,a=!1}else if(s==r.children.length){if(!t&&!o.length)break;i&&i.leave(r),a=!!r.breakAfter,{tile:r,index:s}=o.pop(),s++}else{let l=r.children[s],u=l.breakAfter;(n>0?l.length<=t:l.length=0;o--){let l=n.marks[o],u=r.lastChild;if(u instanceof va&&u.mark.eq(l.mark))u.dom!=l.dom&&u.setDOM(U2(l.dom)),r=u;else{if(this.cache.reused.get(l)){let f=fr.get(l.dom);f&&f.setDOM(U2(l.dom))}let d=va.of(l.mark,l.dom);r.append(d),r=d}this.cache.reused.set(l,2)}let s=fr.get(t.text);s&&this.cache.reused.set(s,2);let a=new Sh(t.text,t.text.nodeValue);a.flags|=8,this.pos=t.range.toB,r.append(a)}addInlineWidget(t,n,i){let r=this.afterWidget&&t.flags&48&&(this.afterWidget.flags&48)==(t.flags&48);r||this.flushBuffer();let s=this.ensureMarks(n,i);!r&&!(t.flags&16)&&s.append(this.getBuffer(1)),s.append(t),this.pos+=t.length,this.afterWidget=t}addMark(t,n,i){this.flushBuffer(),this.ensureMarks(n,i).append(t),this.pos+=t.length,this.afterWidget=null}addBlockWidget(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}continueWidget(t){let n=this.afterWidget||this.lastBlock;n.length+=t,this.pos+=t}addLineStart(t,n){var i;t||(t=Qse);let r=Xg.start(t,n||((i=this.cache.find(Xg))===null||i===void 0?void 0:i.dom),!!n);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(t){this.blockPosCovered()||this.addLineStart(t)}ensureLine(t){this.curLine||this.addLineStart(t)}ensureMarks(t,n){var i;let r=this.curLine;for(let s=t.length-1;s>=0;s--){let a=t[s],o;if(n>0&&(o=r.lastChild)&&o instanceof va&&o.mark.eq(a))r=o,n--;else{let l=va.of(a,(i=this.cache.find(va,u=>u.mark.eq(a)))===null||i===void 0?void 0:i.dom);r.append(l),r=l,n=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let t=this.curLine.lastChild;(!t||!nz(this.curLine,!1)||t.dom.nodeName!="BR"&&t.isWidget()&&!(ut.ios&&nz(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(z2,0,32)||new ep(z2.toDOM(),0,z2,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let t=this.wrappers.length-1;t>=0;t--)this.wrappers[t].to=this.pos){let n=t.rank*102+t.value.rank,i=new sze(t.from,t.to,t.value,n),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-i.rank||this.wrappers[r-1].to-i.to)<0;)r--;this.wrappers.splice(r,0,i)}this.wrapperPos=this.pos}getBlockPos(){var t;this.updateBlockWrappers();let n=this.root;for(let i of this.wrappers){let r=n.lastChild;if(i.froma.wrapper.eq(i.wrapper)))===null||t===void 0?void 0:t.dom);n.append(s),n=s}}return n}blockPosCovered(){let t=this.lastBlock;return t!=null&&!t.breakAfter&&(!t.isWidget()||(t.flags&160)>0)}getBuffer(t){let n=2|(t<0?16:32),i=this.cache.find(hk,void 0,1);return i&&(i.flags=n),i||new hk(n)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class oze{constructor(t){this.skipCount=0,this.text="",this.textOff=0,this.cursor=t.iter()}skip(t){this.textOff+t<=this.text.length?this.textOff+=t:(this.skipCount+=t-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(t){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw new Error("Ran out of text content when drawing inline views");this.text=r;let o=this.textOff=Math.min(t,r.length);return s?null:r.slice(0,o)}let n=Math.min(this.text.length,this.textOff+t),i=this.text.slice(this.textOff,n);return this.textOff=n,i}}const pk=[ep,Xg,Sh,va,hk,yu,k_];for(let e=0;e[]),this.index=pk.map(()=>0),this.reused=new Map}add(t){let n=t.constructor.bucket,i=this.buckets[n];i.length<6?i.push(t):i[this.index[n]=(this.index[n]+1)%6]=t}find(t,n,i=2){let r=t.bucket,s=this.buckets[r],a=this.index[r];for(let o=0;o{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(t,n){let i=n&&this.getCompositionContext(n.text);for(let r=0,s=0,a=0;;){let o=ar){let u=l-r;this.preserve(u,!a,!o),r=l,s+=u}if(!o)break;n&&o.fromA<=n.range.fromA&&o.toA>=n.range.toA?(this.forward(o.fromA,n.range.fromA,n.range.fromA{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(l-o);else{let u=l>0||o{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof va&&r.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?r.length&&(r.length=s=0):a instanceof va&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(t)}emit(t,n){let i=null,r=this.builder,s=-1,a=Sn.spans(this.decorations,t,n,{point:(o,l,u,d,f,h)=>{if(u instanceof Kh){if(this.disallowBlockEffectsFor[h]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(o).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=d.length,f>d.length)r.continueWidget(l-o);else{let p=u.widget||(u.block?qg.block:qg.inline),m=uze(u),g=this.cache.findWidget(p,l-o,m)||ep.of(p,this.view,l-o,m);u.block?(u.startSide>0&&r.addLineStartIfNotCovered(i),r.addBlockWidget(g)):(r.ensureLine(i),r.addInlineWidget(g,d,f))}i=null}else i=dze(i,u);l>o&&this.text.skip(l-o)},span:(o,l,u,d)=>{for(let f=o;f-1&&(this.openWidget=a>s),this.openWidget||r.addLineStartIfNotCovered(i),this.openMarks=a}forward(t,n,i=1){n-t<=10?this.old.advance(n-t,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(n-t-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(t){let n=[],i=null;for(let r=t.parentNode;;r=r.parentNode){let s=fr.get(r);if(r==this.view.contentDOM)break;s instanceof va?n.push(s):s!=null&&s.isLine()?i=s:s instanceof yu||(r.nodeName=="DIV"&&!i&&r!=this.view.contentDOM?i=new Xg(r,Qse):i||n.push(va.of(new d1({tagName:r.nodeName.toLowerCase(),attributes:$7e(r)}),r)))}return{line:i,marks:n}}}function nz(e,t){let n=i=>{for(let r of i.children)if((t?r.isText():r.length)||n(r))return!0;return!1};return n(e)}function uze(e){let t=e.isReplace?(e.startSide<0?64:0)|(e.endSide>0?128:0):e.startSide>0?32:16;return e.block&&(t|=256),t}const Qse={class:"cm-line"};function dze(e,t){let n=t.spec.attributes,i=t.spec.class;return!n&&!i||(e||(e={class:"cm-line"}),n&&h5(n,e),i&&(e.class+=" "+i)),e}function fze(e){let t=[];for(let n=e.parents.length;n>1;n--){let i=n==e.parents.length?e.tile:e.parents[n].tile;i instanceof va&&t.push(i.mark)}return t}function U2(e){let t=fr.get(e);return t&&t.setDOM(e.cloneNode()),e}class qg extends Cl{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}qg.inline=new qg("span");qg.block=new qg("div");const z2=new class extends Cl{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class iz{constructor(t){this.view=t,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=_t.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new k_(t,t.contentDOM),this.updateInner([new jo(0,0,0,t.state.doc.length)],null)}update(t){var n;let i=t.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:d,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(t);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((n=this.domChanged)===null||n===void 0)&&n.newSel?r=this.domChanged.newSel.head:!Sze(t.changes,this.hasComposition)&&!t.selectionSet&&(r=t.state.selection.main.head));let s=r>-1?pze(this.view,t.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:f}=this.hasComposition;i=new jo(d,f,t.changes.mapPos(d,-1),t.changes.mapPos(f,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(ut.ie||ut.chrome)&&!s&&t&&t.state.doc.lines!=t.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,o=this.blockWrappers;this.updateDeco();let l=Oze(a,this.decorations,t.changes);l.length&&(i=jo.extendWithRanges(i,l));let u=yze(o,this.blockWrappers,t.changes);return u.length&&(i=jo.extendWithRanges(i,u)),s&&!i.some(d=>d.fromA<=s.range.fromA&&d.toA>=s.range.toA)&&(i=s.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,s),t.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(t,n){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(n||t.length){let a=this.tile,o=new cze(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);n&&fr.get(n.text)&&o.cache.reused.set(fr.get(n.text),2),this.tile=o.run(t,n),wj(a,o.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=ut.chrome||ut.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||i.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Xb(i,this.view.observer.selectionRange)&&!(r&&i.contains(r));if(!(s||n||a))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,u,d;if(l.empty?d=u=this.inlineDOMNearPos(l.anchor,l.assoc||1):(d=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),u=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),ut.gecko&&l.empty&&!this.hasComposition&&hze(u)){let h=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(h,u.node.childNodes[u.offset]||null)),u=d=new Ol(h,0),o=!0}let f=this.view.observer.selectionRange;(o||!f.focusNode||(!Hb(u.node,u.offset,f.anchorNode,f.anchorOffset)||!Hb(d.node,d.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{ut.android&&ut.chrome&&i.contains(f.focusNode)&&xze(f.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let h=Jy(this.view.root);if(h)if(l.empty){if(ut.gecko){let p=mze(u.node,u.offset);if(p&&p!=3){let m=(p==1?bse:yse)(u.node,u.offset);m&&(u=new Ol(m.node,m.offset))}}h.collapse(u.node,u.offset),l.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=l.bidiLevel)}else if(h.extend){h.collapse(u.node,u.offset);try{h.extend(d.node,d.offset)}catch{}}else{let p=document.createRange();l.anchor>l.head&&([u,d]=[d,u]),p.setEnd(d.node,d.offset),p.setStart(u.node,u.offset),h.removeAllRanges(),h.addRange(p)}a&&this.view.root.activeElement==i&&(i.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,d)),this.impreciseAnchor=u.precise?null:new Ol(f.anchorNode,f.anchorOffset),this.impreciseHead=d.precise?null:new Ol(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(t,n){return this.hasComposition&&n.empty&&Hb(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==n.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,n=t.state.selection.main,i=Jy(t.root),{anchorNode:r,anchorOffset:s}=t.observer.selectionRange;if(!i||!n.empty||!n.assoc||!i.modify)return;let a=this.lineAt(n.head,n.assoc);if(!a)return;let o=a.posAtStart;if(n.head==o||n.head==o+a.length)return;let l=this.coordsAt(n.head,-1),u=this.coordsAt(n.head,1);if(!l||!u||l.bottom>u.top)return;let d=this.domAtPos(n.head+n.assoc,n.assoc);i.collapse(d.node,d.offset),i.modify("move",n.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let f=t.observer.selectionRange;t.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=n.from&&i.collapse(r,s)}posFromDOM(t,n){let i=this.tile.nearest(t);if(!i)return this.tile.dom.compareDocumentPosition(t)&2?0:this.view.state.doc.length;let r=i.posAtStart;if(i.isComposite()){let s;if(t==i.dom)s=i.dom.childNodes[n];else{let a=Pu(t)==0?0:n==0?-1:1;for(;;){let o=t.parentNode;if(o==i.dom)break;a==0&&o.firstChild!=o.lastChild&&(t==o.firstChild?a=-1:a=1),t=o}a<0?s=t:s=t.nextSibling}if(s==i.dom.firstChild)return r;for(;s&&!fr.get(s);)s=s.nextSibling;if(!s)return r+i.length;for(let a=0,o=r;;a++){let l=i.children[a];if(l.dom==s)return o;o+=l.length+l.breakAfter}}else return i.isText()?t==i.dom?r+n:r+(n?i.length:0):r}domAtPos(t,n){let{tile:i,offset:r}=this.tile.resolveBlock(t,n);return i.isWidget()?i.domPosFor(r,n):i.domIn(r,n)}inlineDOMNearPos(t,n){let i,r=-1,s=!1,a,o=-1,l=!1;return this.tile.blockTiles((u,d)=>{if(u.isWidget()){if(u.flags&32&&d>=t)return!0;u.flags&16&&(s=!0)}else{let f=d+u.length;if(d<=t&&(i=u,r=t-d,s=f=t&&!a&&(a=u,o=t-d,l=d>t),d>t&&a)return!0}}),!i&&!a?this.domAtPos(t,n):(s&&a?i=null:l&&i&&(a=null),i&&n<0||!a?i.domIn(r,n):a.domIn(o,n))}coordsAt(t,n,i){let{tile:r,offset:s}=this.tile.resolveBlock(t,n);return r.isWidget()?r.widget instanceof F2?null:r.coordsInWidget(s,n,!0):r.coordsIn(s,n,i)}lineAt(t,n){let{tile:i}=this.tile.resolveBlock(t,n);return i.isLine()?i:null}coordsForChar(t){let{tile:n,offset:i}=this.tile.resolveBlock(t,1);if(!n.isLine())return null;function r(s,a){if(s.isComposite())for(let o of s.children){if(o.length>=a){let l=r(o,a);if(l)return l}if(a-=o.length,a<0)break}else if(s.isText()&&aMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,l=this.view.textDirection==ki.LTR,u=0,d=(f,h,p)=>{for(let m=0;mr);m++){let g=f.children[m],y=h+g.length,b=g.dom.getBoundingClientRect(),{height:S}=b;if(p&&!m&&(u+=b.top-p.top),g instanceof yu)y>i&&d(g,h,b);else if(h>=i&&(u>0&&n.push(-u),n.push(S+u),u=0,a)){let x=g.dom.lastChild,v=x?qb(x):[];if(v.length){let E=v[v.length-1],w=l?E.right-b.left:b.right-E.left;w>o&&(o=w,this.minWidth=s,this.minWidthFrom=h,this.minWidthTo=y)}}p&&m==f.children.length-1&&(u+=p.bottom-b.bottom),h=y+g.breakAfter}};return d(this.tile,0,null),n}textDirectionAt(t){let{tile:n}=this.tile.resolveBlock(t,1);return getComputedStyle(n.dom).direction=="rtl"?ki.RTL:ki.LTR}measureTextSize(){let t=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let o=0,l;for(let u of a.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let d=qb(u.dom);if(d.length!=1)return;o+=d[0].width,l=d[0].height}if(o)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:o/a.length,textHeight:l}}});if(t)return t;let n=document.createElement("div"),i,r,s;return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(n);let a=qb(n.firstChild)[0];i=n.getBoundingClientRect().height,r=a&&a.width?a.width/27:7,s=a&&a.height?a.height:i,n.remove()}),{lineHeight:i,charWidth:r,textHeight:s}}computeBlockGapDeco(){let t=[],n=this.view.viewState;for(let i=0,r=0;;r++){let s=r==n.viewports.length?null:n.viewports[r],a=s?s.from-1:this.view.state.doc.length;if(a>i){let o=(n.lineBlockAt(a).bottom-n.lineBlockAt(i).top)/this.view.scaleY;t.push(_t.replace({widget:new F2(o),block:!0,inclusive:!0,isBlockGap:!0}).range(i,a))}if(!s)break;i=s.to+1}return _t.set(t)}updateDeco(){let t=1,n=this.view.state.facet(w_).map(s=>(this.dynamicDecorationMap[t++]=typeof s=="function")?s(this.view):s),i=!1,r=this.view.state.facet(y5).map((s,a)=>{let o=typeof s=="function";return o&&(i=!0),o?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[t++]=i,n.push(Sn.join(r))),this.decorations=[this.editContextFormatting,...n,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];ttypeof s=="function"?s(this.view):s)}scrollIntoView(t){if(t.isSnapshot){let u=this.view.viewState.lineBlockAt(t.range.head);this.view.scrollDOM.scrollTop=u.top-t.yMargin,this.view.scrollDOM.scrollLeft=t.xMargin;return}for(let u of this.view.state.facet(Pse))try{if(u(this.view,t.range,t))return!0}catch(d){ka(this.view.state,d,"scroll handler")}let{range:n}=t,i=this.coordsAt(n.head,n.assoc||(n.head>n.anchor?-1:1)),r;if(!i)return;!n.empty&&(r=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let s=x5(this.view),a={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:o,offsetHeight:l}=this.view.scrollDOM;if(U7e(this.view.scrollDOM,a,n.head1&&(i.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||i.bottomi.isWidget()||i.children.some(n);return n(this.tile.resolveBlock(t,1).tile)}destroy(){wj(this.tile)}}function wj(e,t){let n=t==null?void 0:t.get(e);if(n!=1){n==null&&e.destroy();for(let i of e.children)wj(i,t)}}function hze(e){return e.node.nodeType==1&&e.node.firstChild&&(e.offset==0||e.node.childNodes[e.offset-1].contentEditable=="false")&&(e.offset==e.node.childNodes.length||e.node.childNodes[e.offset].contentEditable=="false")}function Bse(e,t){let n=e.observer.selectionRange;if(!n.focusNode)return null;let i=bse(n.focusNode,n.focusOffset),r=yse(n.focusNode,n.focusOffset),s=i||r;if(r&&i&&r.node!=i.node){let o=fr.get(r.node);if(!o||o.isText()&&o.text!=r.node.nodeValue)s=r;else if(e.docView.lastCompositionAfterCursor){let l=fr.get(i.node);!l||l.isText()&&l.text!=i.node.nodeValue||(s=r)}}if(e.docView.lastCompositionAfterCursor=s!=i,!s)return null;let a=t-s.offset;return{from:a,to:a+s.node.nodeValue.length,node:s.node}}function pze(e,t,n){let i=Bse(e,n);if(!i)return null;let{node:r,from:s,to:a}=i,o=r.nodeValue;if(/[\n\r]/.test(o)||e.state.doc.sliceString(i.from,i.to)!=o)return null;let l=t.invertedDesc;return{range:new jo(l.mapPos(s),l.mapPos(a),s,a),text:r}}function mze(e,t){return e.nodeType!=1?0:(t&&e.childNodes[t-1].contentEditable=="false"?1:0)|(t{it.from&&(n=!0)}),n}class F2 extends Cl{constructor(t){super(),this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function vze(e,t,n=1){let i=e.charCategorizer(t),r=e.doc.lineAt(t),s=t-r.from;if(r.length==0)return Re.cursor(t);s==0?n=1:s==r.length&&(n=-1);let a=s,o=s;n<0?a=ds(r.text,s,!1):o=ds(r.text,s);let l=i(r.text.slice(a,o));for(;a>0;){let u=ds(r.text,a,!1);if(i(r.text.slice(u,a))!=l)break;a=u}for(;oe.defaultLineHeight*1.5){let o=e.viewState.heightOracle.textHeight,l=Math.floor((r-n.top-(e.defaultLineHeight-o)*.5)/o);s+=l*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(n.from,n.to);return n.from+dj(a,s,e.state.tabSize)}function Ej(e,t,n){let i=e.lineBlockAt(t);if(Array.isArray(i.type)){let r;for(let s of i.type){if(s.from>t)break;if(!(s.tot)return s;(!r||s.type==Ts.Text&&(r.type!=s.type||(n<0?s.fromt)))&&(r=s)}}return r||i}return i}function Eze(e,t,n,i){let r=Ej(e,t.head,t.assoc||-1),s=!i||r.type!=Ts.Text||!(e.lineWrapping||r.widgetLineBreaks)?null:e.coordsAtPos(t.assoc<0&&t.head>r.from?t.head-1:t.head);if(s){let a=e.dom.getBoundingClientRect(),o=e.textDirectionAt(r.from),l=e.posAtCoords({x:n==(o==ki.LTR)?a.right-1:a.left+1,y:(s.top+s.bottom)/2});if(l!=null)return Re.cursor(l,n?-1:1)}return Re.cursor(n?r.to:r.from,n?-1:1)}function rz(e,t,n,i){let r=e.state.doc.lineAt(t.head),s=e.bidiSpans(r),a=e.textDirectionAt(r.from);for(let o=t,l=null;;){let u=K7e(r,s,a,o,n),d=Ese;if(!u){if(r.number==(n?e.state.doc.lines:1))return o;d=` -`,r=e.state.doc.line(r.number+(n?1:-1)),s=e.bidiSpans(r),u=e.visualLineSide(r,!n)}if(l){if(!l(d))return o}else{if(!i)return u;l=i(d)}o=u}}function kze(e,t,n){let i=e.state.charCategorizer(t),r=i(n);return s=>{let a=i(s);return r==Zi.Space&&(r=a),r==a}}function Tze(e,t,n,i){let r=t.head,s=n?1:-1;if(r==(n?e.state.doc.length:0))return Re.cursor(r,t.assoc);let a=t.goalColumn,o,l=e.contentDOM.getBoundingClientRect(),u=e.coordsAtPos(r,t.assoc||((t.empty?n:t.head==t.from)?1:-1)),d=e.documentTop;if(u)a==null&&(a=u.left-l.left),o=s<0?u.top:u.bottom;else{let m=e.viewState.lineBlockAt(r);a==null&&(a=Math.min(l.right-l.left,e.defaultCharacterWidth*(r-m.from))),o=(s<0?m.top:m.bottom)+d}let f=l.left+a,h=e.viewState.heightOracle.textHeight>>1,p=i??h;for(let m=0;;m+=h){let g=o+(p+m)*s,y=kj(e,{x:f,y:g},!1,s);if(n?g>l.bottom:go:S{if(t>s&&tr(e)),n.from,t.head>n.from?-1:1);return i==n.from?n:Re.cursor(i,ie.viewState.docHeight)return new tc(e.state.doc.length,-1);if(u=e.elementAtHeight(l),i==null)break;if(u.type==Ts.Text){if(i<0?u.toe.viewport.to)break;let h=e.docView.coordsAt(i<0?u.from:u.to,i>0?-1:1);if(h&&(i<0?h.top<=l+s:h.bottom>=l+s))break}let f=e.viewState.heightOracle.textHeight/2;l=i>0?u.bottom+f:u.top-f}if(e.viewport.from>=u.to||e.viewport.to<=u.from){if(n)return null;if(u.type==Ts.Text){let f=wze(e,r,u,a,o);return new tc(f,f==u.from?1:-1)}}if(u.type!=Ts.Text)return l<(u.top+u.bottom)/2?new tc(u.from,1):new tc(u.to,-1);let d=e.docView.lineAt(u.from,2);return(!d||d.length!=u.length)&&(d=e.docView.lineAt(u.from,-2)),new _ze(e,a,o,e.textDirectionAt(u.from)).scanTile(d,u.from)}class _ze{constructor(t,n,i,r){this.view=t,this.x=n,this.y=i,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(t){return(!this.line||this.line.from>t||this.line.to1||i.length&&(i[0].level!=this.baseDir||i[0].to+r.from>1;t:if(a.has(g)){let b=r+Math.floor(Math.random()*m);for(let S=0;S1)){if(S.bottomthis.y)(!u||u.top>S.top)&&(u=S),x=-1;else{let v=S.left>this.x?this.x-S.left:S.right(m+m+g)/3)return this.y=l.bottom-1,this.scan(t,n,!0);if(u&&u.top<(m+g+g)/3)return this.y=u.top+1,this.scan(t,n,!0)}let p=(o?this.dirAt(t[d],1):this.baseDir)==ki.LTR;return{i:d,after:this.x>(h.left+h.right)/2==p}}scanText(t,n){let i=[];for(let s=0;s{let a=i[s]-n,o=i[s+1]-n;return tx(t.dom,a,o).getClientRects()});return r.after?new tc(i[r.i+1],-1):new tc(i[r.i],1)}scanTile(t,n){if(!t.length)return new tc(n,1);if(t.children.length==1){let o=t.children[0];if(o.isText())return this.scanText(o,n);if(o.isComposite())return this.scanTile(o,n)}let i=[n];for(let o=0,l=n;o{let l=t.children[o];return l.flags&48?null:(l.dom.nodeType==1?l.dom:tx(l.dom,0,l.length)).getClientRects()}),s=t.children[r.i],a=i[r.i];return s.isText()?this.scanText(s,a):s.isComposite()?this.scanTile(s,a):r.after?new tc(i[r.i+1],-1):new tc(a,1)}}const im="￿";class Aze{constructor(t,n){this.points=t,this.view=n,this.text="",this.lineSeparator=n.state.facet(Nn.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+=im}readRange(t,n){if(!t)return this;let i=t.parentNode;for(let r=t;;){this.findPointBefore(i,r);let s=this.text.length;this.readNode(r);let a=fr.get(r),o=r.nextSibling;if(o==n){a!=null&&a.breakAfter&&!o&&i!=this.view.contentDOM&&this.lineBreak();break}let l=fr.get(o);(a&&l?a.breakAfter:(a?a.breakAfter:dk(r))||dk(o)&&(r.nodeName!="BR"||a!=null&&a.isWidget())&&this.text.length>s)&&!Cze(o,n)&&this.lineBreak(),r=o}return this.findPointBefore(i,n),this}readTextNode(t){let n=t.nodeValue;for(let i of this.points)i.node==t&&(i.pos=this.text.length+Math.min(i.offset,n.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,a=1,o;if(this.lineSeparator?(s=n.indexOf(this.lineSeparator,i),a=this.lineSeparator.length):(o=r.exec(n))&&(s=o.index,a=o[0].length),this.append(n.slice(i,s<0?n.length:s)),s<0)break;if(this.lineBreak(),a>1)for(let l of this.points)l.node==t&&l.pos>this.text.length&&(l.pos-=a-1);i=s+a}}readNode(t){let n=fr.get(t),i=n&&n.overrideDOMText;if(i!=null){this.findPointInside(t,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else t.nodeType==3?this.readTextNode(t):t.nodeName=="BR"?t.nextSibling&&this.lineBreak():t.nodeType==1&&this.readRange(t.firstChild,null)}findPointBefore(t,n){for(let i of this.points)i.node==t&&t.childNodes[i.offset]==n&&(i.pos=this.text.length)}findPointInside(t,n){for(let i of this.points)(t.nodeType==3?i.node==t:t.contains(i.node))&&(i.pos=this.text.length+(Nze(t,i.node,i.offset)?n:0))}}function Nze(e,t,n){for(;;){if(!t||n-1;let{impreciseHead:s,impreciseAnchor:a}=t.docView,o=t.state.selection;if(t.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=zse(t.docView.tile,n,i,0))){let l=s||a?[]:Pze(t),u=new Aze(l,t);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=jze(l,this.bounds.from)}else{let l=t.observer.selectionRange,u=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!bj(t.contentDOM,l.focusNode)?o.main.head:t.docView.posFromDOM(l.focusNode,l.focusOffset),d=a&&a.node==l.anchorNode&&a.offset==l.anchorOffset||!bj(t.contentDOM,l.anchorNode)?o.main.anchor:t.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=t.viewport;if((ut.ios||ut.chrome)&&u!=d&&Math.min(u,d)<=o.main.from&&Math.max(u,d)>=o.main.to&&(f.from>0||f.to-1&&o.ranges.length>1)this.newSel=o.replaceRange(Re.range(d,u));else if(t.lineWrapping&&d==u&&!(o.main.empty&&o.main.head==u)&&t.inputState.lastTouchTime>Date.now()-100){let h=t.coordsAtPos(u,-1),p=0;h&&(p=t.inputState.lastTouchY<=h.bottom?-1:1),this.newSel=Re.create([Re.cursor(u,p)])}else this.newSel=Re.single(d,u)}}}function zse(e,t,n,i){if(e.isComposite()){let r=-1,s=-1,a=-1,o=-1;for(let l=0,u=i,d=i;ln)return zse(f,t,n,u);if(h>=t&&r==-1&&(r=l,s=u),u>n&&f.dom.parentNode==e.dom){a=l,o=d;break}d=h,u=h+f.breakAfter}return{from:s,to:o<0?i+e.length:o,startDOM:(r?e.children[r-1].dom.nextSibling:null)||e.dom.firstChild,endDOM:a=0?e.children[a].dom:null}}else return e.isText()?{from:i,to:i+e.length,startDOM:e.dom,endDOM:e.dom.nextSibling}:null}function Fse(e,t){let n,{newSel:i}=t,{state:r}=e,s=r.selection.main,a=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:o,to:l}=t.bounds,u=s.from,d=null;(a===8||ut.android&&t.text.length=o&&s.to<=l&&(t.typeOver||f!=t.text)&&f.slice(0,s.from-o)==t.text.slice(0,s.from-o)&&f.slice(s.to-o)==t.text.slice(h=t.text.length-(f.length-(s.to-o)))?n={from:s.from,to:s.to,insert:Wn.of(t.text.slice(s.from-o,h).split(im))}:(p=Vse(f,t.text,u-o,d))&&(ut.chrome&&a==13&&p.toB==p.from+2&&t.text.slice(p.from,p.toB)==im+im&&p.toB--,n={from:o+p.from,to:o+p.toA,insert:Wn.of(t.text.slice(p.from,p.toB).split(im))})}else i&&(!e.hasFocus&&r.facet(su)||mk(i,s))&&(i=null);if(!n&&!i)return!1;if((ut.mac||ut.android)&&n&&n.from==n.to&&n.from==s.head-1&&/^\. ?$/.test(n.insert.toString())&&e.contentDOM.getAttribute("autocorrect")=="off"?(i&&n.insert.length==2&&(i=Re.single(i.main.anchor-1,i.main.head-1)),n={from:n.from,to:n.to,insert:Wn.of([n.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?n={from:s.from,to:s.to,insert:r.toText(e.inputState.insertingText)}:ut.chrome&&n&&n.from==n.to&&n.from==s.head&&n.insert.toString()==` - `&&e.lineWrapping&&(i&&(i=Re.single(i.main.anchor-1,i.main.head-1)),n={from:s.from,to:s.to,insert:Wn.of([" "])}),n)return S5(e,n,i,a);if(i&&!mk(i,s)){let o=!1,l="select";return e.inputState.lastSelectionTime>Date.now()-50&&(e.inputState.lastSelectionOrigin=="select"&&(o=!0),l=e.inputState.lastSelectionOrigin,l=="select.pointer"&&(i=Use(r.facet(h1).map(u=>u(e)),i))),e.dispatch({selection:i,scrollIntoView:o,userEvent:l}),!0}else return!1}function S5(e,t,n,i=-1){if(ut.ios&&e.inputState.flushIOSKey(t))return!0;let r=e.state.selection.main;if(ut.android&&(t.to==r.to&&(t.from==r.from||t.from==r.from-1&&e.state.sliceDoc(t.from,r.from)==" ")&&t.insert.length==1&&t.insert.lines==2&&ig(e.contentDOM,"Enter",13)||(t.from==r.from-1&&t.to==r.to&&t.insert.length==0||i==8&&t.insert.lengthr.head)&&ig(e.contentDOM,"Backspace",8)||t.from==r.from&&t.to==r.to+1&&t.insert.length==0&&ig(e.contentDOM,"Delete",46)))return!0;let s=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let a,o=()=>a||(a=Ize(e,t,n));return e.state.facet(Nse).some(l=>l(e,t.from,t.to,s,o))||e.dispatch(o()),!0}function Ize(e,t,n){let i,r=e.state,s=r.selection.main,a=-1;if(t.from==t.to&&t.froms.to){let l=t.fromf(e)),u,l);t.from==d&&(a=d)}if(a>-1)i={changes:t,selection:Re.cursor(t.from+t.insert.length,-1)};else if(t.from>=s.from&&t.to<=s.to&&t.to-t.from>=(s.to-s.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let l=s.fromt.to?r.sliceDoc(t.to,s.to):"";i=r.replaceSelection(e.state.toText(l+t.insert.sliceString(0,void 0,e.state.lineBreak)+u))}else{let l=r.changes(t),u=n&&n.main.to<=l.newLength?n.main:void 0;if(r.selection.ranges.length>1&&(e.inputState.composing>=0||e.inputState.compositionPendingChange)&&t.to<=s.to+10&&t.to>=s.to-10){let d=e.state.sliceDoc(t.from,t.to),f,h=n&&Bse(e,n.main.head);if(h){let m=t.insert.length-(t.to-t.from);f={from:h.from,to:h.to-m}}else f=e.state.doc.lineAt(s.head);let p=s.to-t.to;i=r.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:u||m.map(l)};let g=m.to-p,y=g-d.length;if(e.state.sliceDoc(y,g)!=d||g>=f.from&&y<=f.to)return{range:m};let b=r.changes({from:y,to:g,insert:t.insert}),S=m.to-s.to;return{changes:b,range:u?Re.range(Math.max(0,u.anchor+S),Math.max(0,u.head+S)):m.map(b)}})}else i={changes:l,selection:u&&r.selection.replaceRange(u)}}let o="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,o+=".compose",e.inputState.compositionFirstChange&&(o+=".start",e.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:o,scrollIntoView:!0})}function Vse(e,t,n,i){let r=Math.min(e.length,t.length),s=0;for(;s0&&o>0&&e.charCodeAt(a-1)==t.charCodeAt(o-1);)a--,o--;if(i=="end"){let l=Math.max(0,s-Math.min(a,o));n-=a+l-s}if(a=a?s-n:0;s-=l,o=s+(o-a),a=s}else if(o=o?s-n:0;s-=l,a=s+(a-o),o=s}return{from:s,toA:a,toB:o}}function Pze(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}=e.observer.selectionRange;return n&&(t.push(new sz(n,i)),(r!=n||s!=i)&&t.push(new sz(r,s))),t}function jze(e,t){if(e.length==0)return null;let n=e[0].pos,i=e.length==2?e[1].pos:n;return n>-1&&i>-1?Re.single(n+t,i+t):null}function mk(e,t){return t.head==e.main.head&&t.anchor==e.main.anchor}class Mze{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,ut.safari&&t.contentDOM.addEventListener("input",()=>null),ut.gecko&&Zze(t.contentDOM.ownerDocument)}handleEvent(t){!Vze(this.view,t)||this.ignoreDuringComposition(t)||t.type=="keydown"&&this.keydown(t)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(t.type,t)):this.runHandlers(t.type,t))}runHandlers(t,n){let i=this.handlers[t];if(i){for(let r of i.observers)r(this.view,n);for(let r of i.handlers){if(n.defaultPrevented)break;if(r(this.view,n)){n.preventDefault();break}}}}ensureHandlers(t){let n=Dze(t),i=this.handlers,r=this.view.contentDOM;for(let s in n)if(s!="scroll"){let a=!n[s].handlers.length,o=i[s];o&&a!=!o.handlers.length&&(r.removeEventListener(s,this.handleEvent),o=null),o||r.addEventListener(s,this.handleEvent,{passive:a})}for(let s in i)s!="scroll"&&!n[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=n}keydown(t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&t.keyCode!=27&&qse.indexOf(t.keyCode)<0&&(this.tabFocusMode=-1),ut.android&&ut.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return this.view.observer.delayAndroidKey(t.key,t.keyCode),!0;if(ut.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&(Xse.some(n=>n.keyCode==t.keyCode)&&!t.ctrlKey||$ze.indexOf(t.key)>-1&&t.ctrlKey)){let n={ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey,shiftKey:t.shiftKey};return n.shiftKey&&ut.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&Lze(this.view.win)&&(n.shiftKey=!1),this.pendingIOSKey={key:t.key,keyCode:t.keyCode,mods:n},setTimeout(()=>this.flushIOSKey(),250),!0}return t.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(t){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&t&&t.from0?!0:ut.safari&&!ut.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.view.observer.update(t),this.mouseSelection&&this.mouseSelection.update(t),this.draggedContent&&t.docChanged&&(this.draggedContent=this.draggedContent.map(t.changes)),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function Lze(e){return e.visualViewport?e.visualViewport.height*e.visualViewport.scale/e.document.documentElement.clientHeight<.85:!1}function az(e,t){return(n,i)=>{try{return t.call(e,i,n)}catch(r){ka(n.state,r)}}}function Dze(e){let t=Object.create(null);function n(i){return t[i]||(t[i]={observers:[],handlers:[]})}for(let i of e){let r=i.spec,s=r&&r.plugin.domEventHandlers,a=r&&r.plugin.domEventObservers;if(s)for(let o in s){let l=s[o];l&&n(o).handlers.push(az(i.value,l))}if(a)for(let o in a){let l=a[o];l&&n(o).observers.push(az(i.value,l))}}for(let i in El)n(i).handlers.push(El[i]);for(let i in la)n(i).observers.push(la[i]);return t}const Xse=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],$ze="dthko",qse=[16,17,18,20,91,92,224,225],ev=6;function tv(e){return Math.max(0,e)*.7+8}function Qze(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}class Bze{constructor(t,n,i,r){this.view=t,this.startEvent=n,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=mse(t.contentDOM),this.atoms=t.state.facet(h1).map(a=>a(t));let s=t.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=t.state.facet(Nn.allowMultipleSelections)&&Uze(t,n),this.dragging=Fze(t,n)&&Gse(n)==1?null:!1}start(t){this.dragging===!1&&this.select(t)}move(t){if(t.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Qze(this.startEvent,t)<10)return;this.select(this.lastEvent=t);let n=0,i=0,r=0,s=0,a=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:o}=this.scrollParents.y.getBoundingClientRect());let l=x5(this.view);t.clientX-l.left<=r+ev?n=-tv(r-t.clientX):t.clientX+l.right>=a-ev&&(n=tv(t.clientX-a)),t.clientY-l.top<=s+ev?i=-tv(s-t.clientY):t.clientY+l.bottom>=o-ev&&(i=tv(t.clientY-o)),this.setScrollSpeed(n,i)}up(t){this.dragging==null&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,n){this.scrollSpeed={x:t,y:n},t||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:t,y:n}=this.scrollSpeed;t&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=t,t=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(t||n)&&this.view.win.scrollBy(t,n),this.dragging===!1&&this.select(this.lastEvent)}select(t){let{view:n}=this,i=Use(this.atoms,this.style.get(t,this.extend,this.multiple));(this.mustSelect||!i.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){t.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(t)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Uze(e,t){let n=e.state.facet(kse);return n.length?n[0](t):ut.mac?t.metaKey:t.ctrlKey}function zze(e,t){let n=e.state.facet(Tse);return n.length?n[0](t):ut.mac?!t.altKey:!t.ctrlKey}function Fze(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let i=Jy(e.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let s=0;s=t.clientX&&a.top<=t.clientY&&a.bottom>=t.clientY)return!0}return!1}function Vze(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target,i;n!=e.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(i=fr.get(n))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(t))return!1;return!0}const El=Object.create(null),la=Object.create(null),Hse=ut.ie&&ut.ie_version<15||ut.ios&&ut.webkit_version<604;function Xze(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),Yse(e,n.value)},50)}function T_(e,t,n){for(let i of e.facet(t))n=i(n,e);return n}function Yse(e,t){t=T_(e.state,g5,t);let{state:n}=e,i,r=1,s=n.toText(t),a=s.lines==n.selection.ranges.length;if(Tj!=null&&n.selection.ranges.every(l=>l.empty)&&Tj==s.toString()){let l=-1;i=n.changeByRange(u=>{let d=n.doc.lineAt(u.from);if(d.from==l)return{range:u};l=d.from;let f=n.toText((a?s.line(r++).text:t)+n.lineBreak);return{changes:{from:d.from,insert:f},range:Re.cursor(u.from+f.length)}})}else a?i=n.changeByRange(l=>{let u=s.line(r++);return{changes:{from:l.from,to:l.to,insert:u.text},range:Re.cursor(l.from+u.length)}}):i=n.replaceSelection(s);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}la.scroll=e=>{let t=e.inputState;t.lastScrollTop=e.scrollDOM.scrollTop,t.lastScrollLeft=e.scrollDOM.scrollLeft,ut.ios&&!t.touchActive&&(t.lastIOSMomentumScroll=Date.now())};la.wheel=la.mousewheel=e=>{e.inputState.lastWheelEvent=Date.now()};El.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),t.keyCode==27&&e.inputState.tabFocusMode!=0&&(e.inputState.tabFocusMode=Date.now()+2e3),!1);la.touchstart=(e,t)=>{let n=e.inputState,i=t.targetTouches[0];n.touchActive=!0,n.lastTouchTime=Date.now(),i&&(n.lastTouchX=i.clientX,n.lastTouchY=i.clientY),n.setSelectionOrigin("select.pointer")};la.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")};la.touchend=(e,t)=>{e.inputState.touchActive=!1};El.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let i of e.state.facet(_se))if(n=i(e,t),n)break;if(!n&&t.button==0&&(n=Hze(e,t)),n){let i=!e.hasFocus;e.inputState.startMouseSelection(new Bze(e,t,n,i)),i&&e.observer.ignore(()=>{gse(e.contentDOM);let s=e.root.activeElement;s&&!s.contains(e.contentDOM)&&s.blur()});let r=e.inputState.mouseSelection;if(r)return r.start(t),r.dragging===!1}else e.inputState.setSelectionOrigin("select.pointer");return!1};function oz(e,t,n,i){if(i==1)return Re.cursor(t,n);if(i==2)return vze(e.state,t,n);{let r=e.docView.lineAt(t,n),s=e.state.doc.lineAt(r?r.posAtEnd:t),a=r?r.posAtStart:s.from,o=r?r.posAtEnd:s.to;return oDate.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(cz+1)%3:1}function Hze(e,t){let n=e.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),i=Gse(t),r=e.state.selection;return{update(s){s.docChanged&&(n.pos=s.changes.mapPos(n.pos),r=r.map(s.changes))},get(s,a,o){let l=e.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),u,d=oz(e,l.pos,l.assoc,i);if(n.pos!=l.pos&&!a){let f=oz(e,n.pos,n.assoc,i),h=Math.min(f.from,d.from),p=Math.max(f.to,d.to);d=h1&&(u=Yze(r,l.pos))?u:o?r.addRange(d):Re.create([d])}}}function Yze(e,t){for(let n=0;n=t)return Re.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}El.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let r=e.docView.tile.nearest(t.target);if(r&&r.isWidget()){let s=r.posAtStart,a=s+r.length;(s>=n.to||a<=n.from)&&(n=Re.undirectionalRange(s,a))}}let{inputState:i}=e;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",T_(e.state,O5,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1};El.dragend=e=>(e.inputState.draggedContent=null,!1);function dz(e,t,n,i){if(n=T_(e.state,g5,n),!n)return;let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:s}=e.inputState,a=i&&s&&zze(e,t)?{from:s.from,to:s.to}:null,o={from:r,insert:n},l=e.state.changes(a?[a,o]:o);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}El.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let i=Array(n.length),r=0,s=()=>{++r==n.length&&dz(e,t,i.filter(a=>a!=null).join(e.state.lineBreak),!1)};for(let a=0;a{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(i[a]=o.result),s()},o.readAsText(n[a])}return!0}else{let i=t.dataTransfer.getData("Text");if(i)return dz(e,t,i,!0),!0}return!1};El.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=Hse?null:t.clipboardData;return n?(Yse(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(Xze(e),!1)};function Gze(e,t){let n=e.dom.parentNode;if(!n)return;let i=n.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout(()=>{i.remove(),e.focus()},50)}function Wze(e){let t=[],n=[],i=!1;for(let r of e.selection.ranges)r.empty||(t.push(e.sliceDoc(r.from,r.to)),n.push(r));if(!t.length){let r=-1;for(let{from:s}of e.selection.ranges){let a=e.doc.lineAt(s);a.number>r&&(t.push(a.text),n.push({from:a.from,to:Math.min(e.doc.length,a.to+1)})),r=a.number}i=!0}return{text:T_(e,O5,t.join(e.lineBreak)),ranges:n,linewise:i}}let Tj=null;El.copy=El.cut=(e,t)=>{if(!Xb(e.contentDOM,e.observer.selectionRange))return!1;let{text:n,ranges:i,linewise:r}=Wze(e.state);if(!n&&!r)return!1;Tj=r?n:null,t.type=="cut"&&!e.state.readOnly&&e.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let s=Hse?null:t.clipboardData;return s?(s.clearData(),s.setData("text/plain",n),!0):(Gze(e,n),!1)};const Wse=Nc.define();function Zse(e,t){let n=[];for(let i of e.facet(Cse)){let r=i(e,t);r&&n.push(r)}return n.length?e.update({effects:n,annotations:Wse.of(!0)}):null}function Kse(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=Zse(e.state,t);n?e.dispatch(n):e.update([])}},10)}la.focus=e=>{e.inputState.lastFocusTime=Date.now(),!e.scrollDOM.scrollTop&&(e.inputState.lastScrollTop||e.inputState.lastScrollLeft)&&(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),Kse(e)};la.blur=e=>{e.observer.clearSelectionRange(),Kse(e)};la.compositionstart=la.compositionupdate=e=>{e.observer.editContext||(e.inputState.compositionFirstChange==null&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))};la.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,ut.chrome&&ut.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))};la.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()};El.beforeinput=(e,t)=>{var n,i;if((t.inputType=="insertText"||t.inputType=="insertCompositionText")&&(e.inputState.insertingText=t.data,e.inputState.insertingTextAt=Date.now()),t.inputType=="insertReplacementText"&&e.observer.editContext){let s=(n=t.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),a=t.getTargetRanges();if(s&&a.length){let o=a[0],l=e.posAtDOM(o.startContainer,o.startOffset),u=e.posAtDOM(o.endContainer,o.endOffset);return S5(e,{from:l,to:u,insert:e.state.toText(s)},null),!0}}let r;if(ut.chrome&&ut.android&&(r=Xse.find(s=>s.inputType==t.inputType))&&(e.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>s+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return ut.ios&&t.inputType=="deleteContentForward"&&e.observer.flushSoon(),ut.safari&&t.inputType=="insertText"&&e.inputState.composing>=0&&setTimeout(()=>la.compositionend(e,t),20),!1};const fz=new Set;function Zze(e){fz.has(e)||(fz.add(e),e.addEventListener("copy",()=>{}),e.addEventListener("cut",()=>{}))}const hz=["pre-wrap","normal","pre-line","break-spaces"];let Hg=!1;function pz(){Hg=!1}class Kze{constructor(t){this.lineWrapping=t,this.doc=Wn.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(t,n){let i=this.doc.lineAt(n).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((n-t-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return hz.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let n=!1;for(let i=0;i-1,l=Math.abs(n-this.lineHeight)>.3||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=n,this.charWidth=i,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let u=0;u0}set outdated(t){this.flags=(t?2:0)|this.flags&-3}setHeight(t){this.height!=t&&(Math.abs(this.height-t)>ww&&(Hg=!0),this.height=t)}replace(t,n,i){return sa.of(i)}decomposeLeft(t,n){n.push(this)}decomposeRight(t,n){n.push(this)}applyChanges(t,n,i,r){let s=this,a=i.doc;for(let o=r.length-1;o>=0;o--){let{fromA:l,toA:u,fromB:d,toB:f}=r[o],h=s.lineAt(l,Pi.ByPosNoHeight,i.setDoc(n),0,0),p=h.to>=u?h:s.lineAt(u,Pi.ByPosNoHeight,i,0,0);for(f+=p.to-u,u=p.to;o>0&&h.from<=r[o-1].toA;)l=r[o-1].fromA,d=r[o-1].fromB,o--,ls*2){let o=t[n-1];o.break?t.splice(--n,1,o.left,null,o.right):t.splice(--n,1,o.left,o.right),i+=1+o.break,r-=o.size}else if(s>r*2){let o=t[i];o.break?t.splice(i,1,o.left,null,o.right):t.splice(i,1,o.left,o.right),i+=2+o.break,s-=o.size}else break;else if(r=s&&a(this.lineAt(0,Pi.ByPos,i,r,s))}setMeasuredHeight(t){let n=t.heights[t.index++];n<0?(this.spaceAbove=-n,n=t.heights[t.index++]):this.spaceAbove=0,this.setHeight(n)}updateHeight(t,n=0,i=!1,r){return r&&r.from<=n&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Ha extends Jse{constructor(t,n,i){super(t,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(t,n){return new pl(n,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(t,n,i){let r=i[0];return i.length==1&&(r instanceof Ha||r instanceof ys&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof ys?r=new Ha(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):sa.of(i)}updateHeight(t,n=0,i=!1,r){return r&&r.from<=n&&r.more?this.setMeasuredHeight(r):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class ys extends sa{constructor(t){super(t,0)}heightMetrics(t,n){let i=t.doc.lineAt(n).number,r=t.doc.lineAt(n+this.length).number,s=r-i+1,a,o=0;if(t.lineWrapping){let l=Math.min(this.height,t.lineHeight*s);a=l/s,this.length>s+1&&(o=(this.height-l)/(this.length-s-1))}else a=this.height/s;return{firstLine:i,lastLine:r,perLine:a,perChar:o}}blockAt(t,n,i,r){let{firstLine:s,lastLine:a,perLine:o,perChar:l}=this.heightMetrics(n,r);if(n.lineWrapping){let u=r+(t0){let s=i[i.length-1];s instanceof ys?i[i.length-1]=new ys(s.length+r):i.push(null,new ys(r-1))}if(t>0){let s=i[0];s instanceof ys?i[0]=new ys(t+s.length):i.unshift(new ys(t-1),null)}return sa.of(i)}decomposeLeft(t,n){n.push(new ys(t-1),null)}decomposeRight(t,n){n.push(null,new ys(this.length-t-1))}updateHeight(t,n=0,i=!1,r){let s=n+this.length;if(r&&r.from<=n+this.length&&r.more){let a=[],o=Math.max(n,r.from),l=-1;for(r.from>n&&a.push(new ys(r.from-n-1).updateHeight(t,n));o<=s&&r.more;){let d=t.doc.lineAt(o).length;a.length&&a.push(null);let f=r.heights[r.index++],h=0;f<0&&(h=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=ww&&(l=-2);let p=new Ha(d,f,h);p.outdated=!1,a.push(p),o+=d+1}o<=s&&a.push(null,new ys(s-o).updateHeight(t,o));let u=sa.of(a);return(l<0||Math.abs(u.height-this.height)>=ww||Math.abs(l-this.heightMetrics(t,n).perLine)>=ww)&&(Hg=!0),gk(this,u)}else(i||this.outdated)&&(this.setHeight(t.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class tFe extends sa{constructor(t,n,i){super(t.length+n+i.length,t.height+i.height,n|(t.outdated||i.outdated?2:0)),this.left=t,this.right=i,this.size=t.size+i.size}get break(){return this.flags&1}blockAt(t,n,i,r){let s=i+this.left.height;return to))return u;let d=n==Pi.ByPosNoHeight?Pi.ByPosNoHeight:Pi.ByPos;return l?u.join(this.right.lineAt(o,d,i,a,o)):this.left.lineAt(o,d,i,r,s).join(u)}forEachLine(t,n,i,r,s,a){let o=r+this.left.height,l=s+this.left.length+this.break;if(this.break)t=l&&this.right.forEachLine(t,n,i,o,l,a);else{let u=this.lineAt(l,Pi.ByPos,i,r,s);t=t&&u.from<=n&&a(u),n>u.to&&this.right.forEachLine(u.to+1,n,i,o,l,a)}}replace(t,n,i){let r=this.left.length+this.break;if(nthis.left.length)return this.balanced(this.left,this.right.replace(t-r,n-r,i));let s=[];t>0&&this.decomposeLeft(t,s);let a=s.length;for(let o of i)s.push(o);if(t>0&&mz(s,a-1),n=i&&n.push(null)),t>i&&this.right.decomposeLeft(t-i,n)}decomposeRight(t,n){let i=this.left.length,r=i+this.break;if(t>=r)return this.right.decomposeRight(t-r,n);t2*n.size||n.size>2*t.size?sa.of(this.break?[t,null,n]:[t,n]):(this.left=gk(this.left,t),this.right=gk(this.right,n),this.setHeight(t.height+n.height),this.outdated=t.outdated||n.outdated,this.size=t.size+n.size,this.length=t.length+this.break+n.length,this)}updateHeight(t,n=0,i=!1,r){let{left:s,right:a}=this,o=n+s.length+this.break,l=null;return r&&r.from<=n+s.length&&r.more?l=s=s.updateHeight(t,n,i,r):s.updateHeight(t,n,i),r&&r.from<=o+a.length&&r.more?l=a=a.updateHeight(t,o,i,r):a.updateHeight(t,o,i),l?this.balanced(s,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function mz(e,t){let n,i;e[t]==null&&(n=e[t-1])instanceof ys&&(i=e[t+1])instanceof ys&&e.splice(t-1,3,new ys(n.length+1+i.length))}const nFe=5;class v5{constructor(t,n){this.pos=t,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,n){if(this.lineStart>-1){let i=Math.min(n,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof Ha?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new Ha(i-this.pos,-1,0)),this.writtenTo=i,n>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(t,n,i){if(t=nFe)&&this.addLineDeco(r,s,a)}else n>t&&this.span(t,n);this.lineEnd>-1&&this.lineEnd-1)return;let{from:t,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=n,this.writtenTot&&this.nodes.push(new Ha(this.pos-t,-1,0)),this.writtenTo=this.pos}blankContent(t,n){let i=new ys(n-t);return this.oracle.doc.lineAt(t).to==n&&(i.flags|=4),i}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof Ha)return t;let n=new Ha(0,-1,0);return this.nodes.push(n),n}addBlock(t){this.enterLine();let n=t.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,n&&n.endSide>0&&(this.covering=t)}addLineDeco(t,n,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,t),r.breaks+=n,this.writtenTo=this.pos=this.pos+i}finish(t){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof Ha)&&!this.isCovered?this.nodes.push(new Ha(0,-1,0)):(this.writtenTod.clientHeight||d.scrollWidth>d.clientWidth)&&f.overflow!="visible"){let h=d.getBoundingClientRect();s=Math.max(s,h.left),a=Math.min(a,h.right),o=Math.max(o,h.top),l=Math.min(u==e.parentNode?r.innerHeight:l,h.bottom)}u=f.position=="absolute"||f.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:s-n.left,right:Math.max(s,a)-n.left,top:o-(n.top+t),bottom:Math.max(o,l)-(n.top+t)}}function aFe(e){let t=e.getBoundingClientRect(),n=e.ownerDocument.defaultView||window;return t.left0&&t.top0}function oFe(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class X2{constructor(t,n,i,r){this.from=t,this.to=n,this.size=i,this.displaySize=r}static same(t,n){if(t.length!=n.length)return!1;for(let i=0;itypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Kze(i),this.stateDeco=bz(n),this.heightMap=sa.empty().applyChanges(this.stateDeco,Wn.empty,this.heightOracle.setDoc(n.doc),[new jo(0,0,0,n.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=_t.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=t.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:n}=this.state.selection;for(let i=0;i<=1;i++){let r=i?n.head:n.anchor;if(!t.some(({from:s,to:a})=>r>=s&&r<=a)){let{from:s,to:a}=this.lineBlockAt(r);t.push(new nv(s,a))}}return this.viewports=t.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let t=this.scaler;return this.scaler=this.heightMap.height<=7e6?Oz:new w5(this.heightOracle,this.heightMap,this.viewports),t.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,t=>{this.viewportLines.push(rb(t,this.scaler))})}update(t,n=null){this.state=t.state;let i=this.stateDeco;this.stateDeco=bz(this.state);let r=t.changedRanges,s=jo.extendWithRanges(r,iFe(i,this.stateDeco,t?t.changes:Yr.empty(this.state.doc.length))),a=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);pz(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=a||Hg)&&(t.flags|=2),o?(this.scrollAnchorPos=t.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let l=s.length?this.mapViewport(this.viewport,t.changes):this.viewport;(n&&(n.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,n));let u=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,t.flags|=this.updateForViewport(),(u||!t.changes.empty||t.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(t.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&(t.selectionSet||t.focusChanged)&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(Ise)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:t}=this,n=t.contentDOM,i=window.getComputedStyle(n),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?ki.RTL:ki.LTR;let a=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",o=n.getBoundingClientRect(),l=a||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let u=0,d=0;if(o.width&&o.height){let{scaleX:E,scaleY:w}=pse(n,o);(E>.005&&Math.abs(this.scaleX-E)>.005||w>.005&&Math.abs(this.scaleY-w)>.005)&&(this.scaleX=E,this.scaleY=w,u|=16,a=l=!0)}let f=(parseInt(i.paddingTop)||0)*this.scaleY,h=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=h)&&(this.paddingTop=f,this.paddingBottom=h,u|=18),this.editorWidth!=t.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=t.scrollDOM.clientWidth,u|=16);let p=mse(this.view.contentDOM,!1).y;p!=this.scrollParent&&(this.scrollParent=p,this.scrollAnchorHeight=-1,this.scrollOffset=0);let m=this.getScrollOffset();this.scrollOffset!=m&&(this.scrollAnchorHeight=-1,this.scrollOffset=m),this.scrolledToBottom=Ose(this.scrollParent||t.win);let g=(this.printing?oFe:sFe)(n,this.paddingTop),y=g.top-this.pixelViewport.top,b=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let S=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(S!=this.inView&&(this.inView=S,S&&(l=!0)),!this.inView&&!this.scrollTarget&&!aFe(t.dom))return 0;let x=o.width;if((this.contentDOMWidth!=x||this.editorHeight!=t.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=t.scrollDOM.clientHeight,u|=16),l){let E=t.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(E)&&(a=!0),a||r.lineWrapping&&Math.abs(x-this.contentDOMWidth)>r.charWidth){let{lineHeight:w,charWidth:k,textHeight:_}=t.docView.measureTextSize();a=w>0&&r.refresh(s,w,k,_,Math.max(5,x/k),E),a&&(t.docView.minWidth=0,u|=16)}y>0&&b>0?d=Math.max(y,b):y<0&&b<0&&(d=Math.min(y,b)),pz();for(let w of this.viewports){let k=w.from==this.viewport.from?E:t.docView.measureVisibleLineHeights(w);this.heightMap=(a?sa.empty().applyChanges(this.stateDeco,Wn.empty,this.heightOracle,[new jo(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(r,0,a,new Jze(w.from,k))}Hg&&(u|=2)}let v=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return v&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),u|=this.updateForViewport()),(u&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,t)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,n){let i=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:a,visibleBottom:o}=this,l=new nv(r.lineAt(a-i*1e3,Pi.ByHeight,s,0,0).from,r.lineAt(o+(1-i)*1e3,Pi.ByHeight,s,0,0).to);if(n){let{head:u}=n.range;if(ul.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(u,Pi.ByPos,s,0,0),h;n.y=="center"?h=(f.top+f.bottom)/2-d/2:n.y=="start"||n.y=="nearest"&&u=o+Math.max(10,Math.min(i,250)))&&r>a-2*1e3&&s>1,a=r<<1;if(this.defaultTextDirection!=ki.LTR&&!i)return[];let o=[],l=(d,f,h,p)=>{if(f-dd&&bb.from>=h.from&&b.to<=h.to&&Math.abs(b.from-d)b.fromS));if(!y){if(fx.from<=f&&x.to>=f)){let x=n.moveToLineBoundary(Re.cursor(f),!1,!0).head;x>d&&(f=x)}let b=this.gapSize(h,d,f,p),S=i||b<2e6?b:2e6;y=new X2(d,f,b,S)}o.push(y)},u=d=>{if(d.length2e6)for(let w of t)w.from>=d.from&&w.fromd.from&&l(d.from,p,d,f),mn.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(t){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let i=[];Sn.spans(n,this.viewport.from,this.viewport.to,{span(s,a){i.push({from:s,to:a})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find(n=>n.from<=t&&n.to>=t)||rb(this.heightMap.lineAt(t,Pi.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return t>=this.viewportLines[0].top&&t<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=t&&n.bottom>=t)||rb(this.heightMap.lineAt(this.scaler.fromDOM(t),Pi.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(t){let n=this.lineBlockAtHeight(t+8);return n.from>=this.viewport.from||this.viewportLines[0].top-t>200?n:this.viewportLines[0]}elementAtHeight(t){return rb(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class nv{constructor(t,n){this.from=t,this.to=n}}function cFe(e,t,n){let i=[],r=e,s=0;return Sn.spans(n,e,t,{span(){},point(a,o){a>r&&(i.push({from:r,to:a}),s+=a-r),r=o}},20),r=1)return t[t.length-1].to;let i=Math.floor(e*n);for(let r=0;;r++){let{from:s,to:a}=t[r],o=a-s;if(i<=o)return s+i;i-=o}}function rv(e,t){let n=0;for(let{from:i,to:r}of e.ranges){if(t<=r){n+=t-i;break}n+=r-i}return n/e.total}function uFe(e,t){for(let n of e)if(t(n))return n}const Oz={toDOM(e){return e},fromDOM(e){return e},scale:1,eq(e){return e==this}};function bz(e){let t=e.facet(w_).filter(i=>typeof i!="function"),n=e.facet(y5).filter(i=>typeof i!="function");return n.length&&t.push(Sn.join(n)),t}class w5{constructor(t,n,i){let r=0,s=0,a=0;this.viewports=i.map(({from:o,to:l})=>{let u=n.lineAt(o,Pi.ByPos,t,0,0).top,d=n.lineAt(l,Pi.ByPos,t,0,0).bottom;return r+=d-u,{from:o,to:l,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(n.height-r);for(let o of this.viewports)o.domTop=a+(o.top-s)*this.scale,a=o.domBottom=o.domTop+(o.bottom-o.top),s=o.bottom}toDOM(t){for(let n=0,i=0,r=0;;n++){let s=nn.from==t.viewports[i].from&&n.to==t.viewports[i].to):!1}}function rb(e,t){if(t.scale==1)return e;let n=t.toDOM(e.top),i=t.toDOM(e.bottom);return new pl(e.from,e.length,n,i-n,Array.isArray(e._content)?e._content.map(r=>rb(r,t)):e._content)}const sv=ht.define({combine:e=>e.join(" ")}),_j=ht.define({combine:e=>e.indexOf(!0)>-1}),Aj=Of.newName(),eae=Of.newName(),tae=Of.newName(),nae={"&light":"."+eae,"&dark":"."+tae};function Nj(e,t,n){return new Of(t,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return e;if(!n||!n[r])throw new RangeError(`Unsupported selector: ${r}`);return n[r]}):e+" "+i}})}const dFe=Nj("."+Aj,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},nae),fFe={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},q2=ut.ie&&ut.ie_version<=11;class hFe{constructor(t){this.view=t,this.active=!1,this.editContext=null,this.selectionRange=new z7e,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver(n=>{for(let i of n)this.queue.push(i);(ut.ie&&ut.ie_version<=11||ut.ios&&t.composing)&&n.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&ut.android&&t.constructor.EDIT_CONTEXT!==!1&&!(ut.chrome&&ut.chrome_version<126)&&(this.editContext=new mFe(t),t.state.facet(su)&&(t.contentDOM.editContext=this.editContext.editContext)),q2&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){this.view.inputState.runHandlers("scroll",t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(t){(t.type=="change"||!t.type)&&!t.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some((n,i)=>n!=t[i]))){this.gapIntersection.disconnect();for(let n of t)this.gapIntersection.observe(n);this.gaps=t}}onSelectionChange(t){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(su)?i.root.activeElement!=this.dom:!Xb(this.dom,r))return;let s=r.anchorNode&&i.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(t)){n||(this.selectionChanged=!1);return}(ut.ie&&ut.ie_version<=11||ut.android&&ut.chrome)&&!i.state.selection.main.empty&&r.focusNode&&Hb(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,n=Jy(t.root);if(!n)return!1;let i=ut.safari&&t.root.nodeType==11&&t.root.activeElement==this.dom&&pFe(this.view,n)||n;if(!i||this.selectionRange.eq(i))return!1;let r=Xb(this.dom,i);return r&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&ig(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||t=="Enter")&&(this.delayedAndroidKey={key:t,keyCode:n,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let n=-1,i=-1,r=!1;for(let s of t){let a=this.readMutation(s);a&&(a.typeOver&&(r=!0),n==-1?{from:n,to:i}=a:(n=Math.min(a.from,n),i=Math.max(a.to,i)))}return{from:n,to:i,typeOver:r}}readChange(){let{from:t,to:n,typeOver:i}=this.processRecords(),r=this.selectionChanged&&Xb(this.dom,this.selectionRange);if(t<0&&!r)return null;t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Rze(this.view,t,n,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let i=this.view.state,r=Fse(this.view,n);return this.view.state==i&&(n.domChanged||n.newSel&&!mk(this.view.state.selection,n.newSel.main))&&this.view.update([]),r}readMutation(t){let n=this.view.docView.tile.nearest(t.target);if(!n||n.isWidget())return null;if(n.markDirty(t.type=="attributes"),t.type=="childList"){let i=yz(n,t.previousSibling||t.target.previousSibling,-1),r=yz(n,t.nextSibling||t.target.nextSibling,1);return{from:i?n.posAfter(i):n.posAtStart,to:r?n.posBefore(r):n.posAtEnd,typeOver:!1}}else return t.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}update(t){this.editContext&&(this.editContext.update(t),t.startState.facet(su)!=t.state.facet(su)&&(t.view.contentDOM.editContext=t.state.facet(su)?this.editContext.editContext:null))}destroy(){var t,n,i;this.stop(),(t=this.intersection)===null||t===void 0||t.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function yz(e,t,n){for(;t;){let i=fr.get(t);if(i&&i.parent==e)return i;let r=t.parentNode;t=r!=e.dom?r:n>0?t.nextSibling:t.previousSibling}return null}function xz(e,t){let n=t.startContainer,i=t.startOffset,r=t.endContainer,s=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor,1);return Hb(a.node,a.offset,r,s)&&([n,i,r,s]=[r,s,n,i]),{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}}function pFe(e,t){if(t.getComposedRanges){let r=t.getComposedRanges(e.root)[0];if(r)return xz(e,r)}let n=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),n=r.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),n?xz(e,n):null}class mFe{constructor(t){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(t.state);let n=this.editContext=new window.EditContext({text:t.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,t.state.selection.main.anchor))),selectionEnd:this.toContextPos(t.state.selection.main.head)});this.handlers.textupdate=i=>{let r=t.state.selection.main,{anchor:s,head:a}=r,o=this.toEditorPos(i.updateRangeStart),l=this.toEditorPos(i.updateRangeEnd);t.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:o,drifted:!1});let u=l-o>i.text.length;o==this.from&&sthis.to&&(l=s);let d=Vse(t.state.sliceDoc(o,l),i.text,(u?r.from:r.to)-o,u?"end":null);if(!d){let h=Re.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));mk(h,r)||t.dispatch({selection:h,userEvent:"select"});return}let f={from:d.from+o,to:d.toA+o,insert:Wn.of(i.text.slice(d.from,d.toB).split(` -`))};if((ut.mac||ut.android)&&f.from==a-1&&/^\. ?$/.test(i.text)&&t.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:o,to:l,insert:Wn.of([i.text.replace("."," ")])}),this.pendingContextChange=f,!t.state.readOnly){let h=this.to-this.from+(f.to-f.from+f.insert.length);S5(t,f,Re.single(this.toEditorPos(i.selectionStart,h),this.toEditorPos(i.selectionEnd,h)))}this.pendingContextChange&&(this.revertPending(t.state),this.setSelection(t.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(n.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let a=this.toEditorPos(i.rangeStart),o=this.toEditorPos(i.rangeEnd);a{let r=[];for(let s of i.getTextFormats()){let a=s.underlineStyle,o=s.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(o)){let l=this.toEditorPos(s.rangeStart),u=this.toEditorPos(s.rangeEnd);if(l{t.inputState.composing<0&&(t.inputState.composing=0,t.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(t.inputState.composing=-1,t.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(t.state)}};for(let i in this.handlers)n.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let r=Jy(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(t){let n=0,i=!1,r=this.pendingContextChange;return t.changes.iterChanges((s,a,o,l,u)=>{if(i)return;let d=u.length-(a-s);if(r&&a>=r.to)if(r.from==s&&r.to==a&&r.insert.eq(u)){r=this.pendingContextChange=null,n+=d,this.to+=d;return}else r=null,this.revertPending(t.state);if(s+=n,a+=n,a<=this.from)this.from+=d,this.to+=d;else if(sthis.to||this.to-this.from+u.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(a),u.toString()),this.to+=d}n+=d}),r&&!i&&this.revertPending(t.state),!i}update(t){let n=this.pendingContextChange,i=t.startState.selection.main;this.composing&&(this.composing.drifted||!t.changes.touchesRange(i.from,i.to)&&t.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=t.changes.mapPos(this.composing.editorBase)):!this.applyEdits(t)||!this.rangeIsValid(t.state)?(this.pendingContextChange=null,this.reset(t.state)):(t.docChanged||t.selectionSet||n)&&this.setSelection(t.state),(t.geometryChanged||t.docChanged||t.selectionSet)&&t.view.requestMeasure(this.measureReq)}resetRange(t){let{head:n}=t.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(t.doc.length,n+1e4)}reset(t){this.resetRange(t),this.editContext.updateText(0,this.editContext.text.length,t.doc.sliceString(this.from,this.to)),this.setSelection(t)}revertPending(t){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),t.doc.sliceString(n.from,n.to))}setSelection(t){let{main:n}=t.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),r=this.toContextPos(n.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(t){let{head:n}=t.selection.main;return!(this.from>0&&n-this.from<500||this.to1e4*3)}toEditorPos(t,n=this.to-this.from){t=Math.min(t,n);let i=this.composing;return i&&i.drifted?i.editorBase+(t-i.contextBase):t+this.from}toContextPos(t){let n=this.composing;return n&&n.drifted?n.contextBase+(t-n.editorBase):t-this.from}destroy(){for(let t in this.handlers)this.editContext.removeEventListener(t,this.handlers[t])}}class rt{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(t={}){var n;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),t.parent&&t.parent.appendChild(this.dom);let{dispatch:i}=t;this.dispatchTransactions=t.dispatchTransactions||i&&(r=>r.forEach(s=>i(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=t.root||F7e(t.parent)||document,this.viewState=new gz(this,t.state||Nn.create(t)),t.scrollTo&&t.scrollTo.is(JS)&&(this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Pm).map(r=>new B2(r));for(let r of this.plugins)r.update(this);this.observer=new hFe(this),this.inputState=new Mze(this),this.inputState.ensureHandlers(this.plugins),this.docView=new iz(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...t){let n=t.length==1&&t[0]instanceof Dr?t:t.length==1&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(n,this)}update(t){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,i=!1,r,s=this.state;for(let h of t){if(h.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=h.state}if(this.destroyed){this.viewState.state=s;return}let a=this.hasFocus,o=0,l=null;t.some(h=>h.annotation(Wse))?(this.inputState.notifiedFocused=a,o=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,l=Zse(s,a),l||(o=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(d=null)):this.observer.clear(),s.facet(Nn.phrases)!=this.state.facet(Nn.phrases))return this.setState(s);r=fk.create(this,s,t),r.flags|=o;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let h of t){if(f&&(f=f.map(h.changes)),h.scrollIntoView){let{main:p}=h.state.selection,{x:m,y:g}=this.state.facet(rt.cursorScrollMargin);f=new rg(p.empty?p:Re.cursor(p.head,p.head>p.anchor?-1:1),"nearest","nearest",g,m)}for(let p of h.effects)p.is(JS)&&(f=p.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=Ok.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),n=this.docView.update(r),this.state.facet(ib)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(n,t.some(h=>h.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(sv)!=r.state.facet(sv)&&(this.viewState.mustMeasureContent=!0),(n||i||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!r.empty)for(let h of this.state.facet(vj))try{h(r)}catch(p){ka(this.state,p,"update listener")}(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!Fse(this,d)&&u.force&&ig(this.contentDOM,u.key,u.keyCode)})}setState(t){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=t;return}this.updateState=2;let n=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new gz(this,t),this.plugins=t.facet(Pm).map(i=>new B2(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new iz(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(t){let n=t.startState.facet(Pm),i=t.state.facet(Pm);if(n!=i){let r=[];for(let s of i){let a=n.indexOf(s);if(a<0)r.push(new B2(s));else{let o=this.plugins[a];o.mustUpdate=t,r.push(o)}}for(let s of this.plugins)s.mustUpdate!=t&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=t;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,t&&this.observer.forceFlush();let n=null,i=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:a}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let o=0;;o++){if(a<0)if(Ose(i||this.win))s=-1,a=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(r);s=p.from,a=p.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(o>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];l&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(p=>{try{return p.read(this)}catch(m){return ka(this.state,m),Sz}}),f=fk.create(this,this.state,[]),h=!1;f.flags|=l,n?n.flags|=l:n=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),h=this.docView.update(f),h&&this.docViewUpdate());for(let p=0;p1||m<-1)&&!(ut.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+m,i?i.scrollTop+=m:this.win.scrollBy(0,m),a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let o of this.state.facet(vj))o(n)}get themeClasses(){return Aj+" "+(this.state.facet(_j)?tae:eae)+" "+this.state.facet(sv)}updateAttrs(){let t=vz(this,Mse,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(su)?"true":"false",class:"cm-content",style:`${ut.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),vz(this,b5,n);let i=this.observer.ignore(()=>{let r=Z7(this.contentDOM,this.contentAttrs,n),s=Z7(this.dom,this.editorAttrs,t);return r||s});return this.editorAttrs=t,this.contentAttrs=n,i}showAnnouncements(t){let n=!0;for(let i of t)for(let r of i.effects)if(r.is(rt.announce)){n&&(this.announceDOM.textContent=""),n=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(ib);let t=this.state.facet(rt.cspNonce);Of.mount(this.root,this.styleModules.concat(dFe).reverse(),t?{nonce:t}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(t){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),t){if(this.measureRequests.indexOf(t)>-1)return;if(t.key!=null){for(let n=0;ni.plugin==t)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,n,i){return V2(this,t,rz(this,t,n,i))}moveByGroup(t,n){return V2(this,t,rz(this,t,n,i=>kze(this,t.head,i)))}visualLineSide(t,n){let i=this.bidiSpans(t),r=this.textDirectionAt(t.from),s=i[n?i.length-1:0];return Re.cursor(s.side(n,r)+t.from,s.forward(!n,r)?1:-1)}moveToLineBoundary(t,n,i=!0){return Eze(this,t,n,i)}moveVertically(t,n,i){return V2(this,t,Tze(this,t,n,i))}domAtPos(t,n=1){return this.docView.domAtPos(t,n)}posAtDOM(t,n=0){return this.docView.posFromDOM(t,n)}posAtCoords(t,n=!0){this.readMeasured();let i=kj(this,t,n);return i&&i.pos}posAndSideAtCoords(t,n=!0){return this.readMeasured(),kj(this,t,n)}coordsAtPos(t,n=1){this.readMeasured();let i=this.state.doc.lineAt(t),r=this.bidiSpans(i),s=r[lc.find(r,t-i.from,-1,n)];return this.docView.coordsAt(t,n,s.dir==ki.RTL)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(Rse)||tthis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>gFe)return wse(t.length);let n=this.textDirectionAt(t.from),i;for(let s of this.bidiCache)if(s.from==t.from&&s.dir==n&&(s.fresh||vse(s.isolates,i=ez(this,t))))return s.order;i||(i=ez(this,t));let r=Z7e(t.text,n,i);return this.bidiCache.push(new Ok(t.from,t.to,n,i,!0,r)),r}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||ut.safari&&((t=this.inputState)===null||t===void 0?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{gse(this.contentDOM),this.docView.updateSelection()})}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((t.nodeType==9?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let t of this.plugins)t.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(t,n={}){var i,r,s,a;return JS.of(new rg(typeof t=="number"?Re.cursor(t):t,(i=n.y)!==null&&i!==void 0?i:"nearest",(r=n.x)!==null&&r!==void 0?r:"nearest",(s=n.yMargin)!==null&&s!==void 0?s:5,(a=n.xMargin)!==null&&a!==void 0?a:5))}scrollSnapshot(){let{scrollTop:t,scrollLeft:n}=this.scrollDOM,i=this.viewState.scrollAnchorAt(t);return JS.of(new rg(Re.cursor(i.from),"start","start",i.top-t,n,!0))}setTabFocusMode(t){t==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof t=="boolean"?this.inputState.tabFocusMode=t?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+t)}static domEventHandlers(t){return pr.define(()=>({}),{eventHandlers:t})}static domEventObservers(t){return pr.define(()=>({}),{eventObservers:t})}static theme(t,n){let i=Of.newName(),r=[sv.of(i),ib.of(Nj(`.${i}`,t))];return n&&n.dark&&r.push(_j.of(!0)),r}static baseTheme(t){return Hu.lowest(ib.of(Nj("."+Aj,t,nae)))}static findFromDOM(t){var n;let i=t.querySelector(".cm-content"),r=i&&fr.get(i)||fr.get(t);return((n=r==null?void 0:r.root)===null||n===void 0?void 0:n.view)||null}}rt.styleModule=ib;rt.inputHandler=Nse;rt.clipboardInputFilter=g5;rt.clipboardOutputFilter=O5;rt.scrollHandler=Pse;rt.focusChangeEffect=Cse;rt.perLineTextDirection=Rse;rt.exceptionSink=Ase;rt.updateListener=vj;rt.editable=su;rt.mouseSelectionStyle=_se;rt.dragMovesSelection=Tse;rt.clickAddsSelectionRange=kse;rt.decorations=w_;rt.blockWrappers=Lse;rt.outerDecorations=y5;rt.atomicRanges=h1;rt.bidiIsolatedRanges=Dse;rt.cursorScrollMargin=ht.define({combine:e=>{let t=5,n=5;for(let i of e)typeof i=="number"?t=n=i:{x:t,y:n}=i;return{x:t,y:n}}});rt.scrollMargins=$se;rt.darkTheme=_j;rt.cspNonce=ht.define({combine:e=>e.length?e[0]:""});rt.contentAttributes=b5;rt.editorAttributes=Mse;rt.lineWrapping=rt.contentAttributes.of({class:"cm-lineWrapping"});rt.announce=Ht.define();const gFe=4096,Sz={};class Ok{constructor(t,n,i,r,s,a){this.from=t,this.to=n,this.dir=i,this.isolates=r,this.fresh=s,this.order=a}static update(t,n){if(n.empty&&!t.some(s=>s.fresh))return t;let i=[],r=t.length?t[t.length-1].dir:ki.LTR;for(let s=Math.max(0,t.length-10);s=0;r--){let s=i[r],a=typeof s=="function"?s(e):s;a&&h5(a,n)}return n}const OFe=ut.mac?"mac":ut.windows?"win":ut.linux?"linux":"key";function bFe(e,t){const n=e.split(/-(?!$)/);let i=n[n.length-1];i=="Space"&&(i=" ");let r,s,a,o;for(let l=0;li.concat(r),[]))),n}function xFe(e,t,n){return rae(iae(e.state),t,e,n)}let Id=null;const SFe=4e3;function vFe(e,t=OFe){let n=Object.create(null),i=Object.create(null),r=(a,o)=>{let l=i[a];if(l==null)i[a]=o;else if(l!=o)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},s=(a,o,l,u,d)=>{var f,h;let p=n[a]||(n[a]=Object.create(null)),m=o.split(/ (?!$)/).map(b=>bFe(b,t));for(let b=1;b{let v=Id={view:x,prefix:S,scope:a};return setTimeout(()=>{Id==v&&(Id=null)},SFe),!0}]})}let g=m.join(" ");r(g,!1);let y=p[g]||(p[g]={preventDefault:!1,stopPropagation:!1,run:((h=(f=p._any)===null||f===void 0?void 0:f.run)===null||h===void 0?void 0:h.slice())||[]});l&&y.run.push(l),u&&(y.preventDefault=!0),d&&(y.stopPropagation=!0)};for(let a of e){let o=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let u of o){let d=n[u]||(n[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=a;for(let h in d)d[h].run.push(p=>f(p,Cj))}let l=a[t]||a.key;if(l)for(let u of o)s(u,l,a.run,a.preventDefault,a.stopPropagation),a.shift&&s(u,"Shift-"+l,a.shift,a.preventDefault,a.stopPropagation)}return n}let Cj=null;function rae(e,t,n,i){Cj=t;let r=L7e(t),s=xa(r,0),a=ec(s)==r.length&&r!=" ",o="",l=!1,u=!1,d=!1;Id&&Id.view==n&&Id.scope==i&&(o=Id.prefix+" ",qse.indexOf(t.keyCode)<0&&(u=!0,Id=null));let f=new Set,h=y=>{if(y){for(let b of y.run)if(!f.has(b)&&(f.add(b),b(n)))return y.stopPropagation&&(d=!0),!0;y.preventDefault&&(y.stopPropagation&&(d=!0),u=!0)}return!1},p=e[i],m,g;return p&&(h(p[o+av(r,t,!a)])?l=!0:a&&(t.altKey||t.metaKey||t.ctrlKey)&&!(ut.windows&&t.ctrlKey&&t.altKey)&&!(ut.mac&&t.altKey&&!(t.ctrlKey||t.metaKey))&&(m=bf[t.keyCode])&&m!=r?(h(p[o+av(m,t,!0)])||t.shiftKey&&(g=Zy[t.keyCode])!=r&&g!=m&&h(p[o+av(g,t,!1)]))&&(l=!0):a&&t.shiftKey&&h(p[o+av(r,t,!0)])&&(l=!0),!l&&h(p._any)&&(l=!0)),u&&(l=!0),l&&d&&t.stopPropagation(),Cj=null,l}class Dh{constructor(t,n,i,r,s){this.className=t,this.left=n,this.top=i,this.width=r,this.height=s}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}update(t,n){return n.className!=this.className?!1:(this.adjust(t),!0)}adjust(t){t.style.left=this.left+"px",t.style.top=this.top+"px",this.width!=null&&(t.style.width=this.width+"px"),t.style.height=this.height+"px"}eq(t){return this.left==t.left&&this.top==t.top&&this.width==t.width&&this.height==t.height&&this.className==t.className}static forRange(t,n,i){if(i.empty){let r=t.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let s=sae(t);return[new Dh(n,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return wFe(t,n,i)}}function sae(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==ki.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function Ez(e,t,n,i){let r=e.coordsAtPos(t,n*2);if(!r)return i;let s=e.dom.getBoundingClientRect(),a=(r.top+r.bottom)/2,o=e.posAtCoords({x:s.left+1,y:a}),l=e.posAtCoords({x:s.right-1,y:a});return o==null||l==null?i:{from:Math.max(i.from,Math.min(o,l)),to:Math.min(i.to,Math.max(o,l))}}function wFe(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let i=Math.max(n.from,e.viewport.from),r=Math.min(n.to,e.viewport.to),s=e.textDirection==ki.LTR,a=e.contentDOM,o=a.getBoundingClientRect(),l=sae(e),u=a.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),f=o.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),h=o.right-(d?parseInt(d.paddingRight):0),p=Ej(e,i,1),m=Ej(e,r,-1),g=p.type==Ts.Text?p:null,y=m.type==Ts.Text?m:null;if(g&&(e.lineWrapping||p.widgetLineBreaks)&&(g=Ez(e,i,1,g)),y&&(e.lineWrapping||m.widgetLineBreaks)&&(y=Ez(e,r,-1,y)),g&&y&&g.from==y.from&&g.to==y.to)return S(x(n.from,n.to,g));{let E=g?x(n.from,null,g):v(p,!1),w=y?x(null,n.to,y):v(m,!0),k=[];return(g||p).to<(y||m).from-(g&&y?1:0)||p.widgetLineBreaks>1&&E.bottom+e.defaultLineHeight/2j&&L.from=N)break;I>D&&R(Math.max($,D),E==null&&$<=j,Math.min(I,N),w==null&&I>=Q,B.dir)}if(D=M.to+1,D>=N)break}return A.length==0&&R(j,E==null,Q,w==null,e.textDirection),{top:_,bottom:C,horizontal:A}}function v(E,w){let k=o.top+(w?E.top:E.bottom);return{top:k,bottom:k,horizontal:[]}}}function EFe(e,t){return e.constructor==t.constructor&&e.eq(t)}class kFe{constructor(t,n){this.view=t,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,t)}update(t){t.startState.facet(Ew)!=t.state.facet(Ew)&&this.setOrder(t.state),(this.layer.update(t,this.dom)||t.geometryChanged)&&(this.scale(),t.view.requestMeasure(this.measureReq))}docViewUpdate(t){this.layer.updateOnDocViewUpdate!==!1&&t.requestMeasure(this.measureReq)}setOrder(t){let n=0,i=t.facet(Ew);for(;n!EFe(n,this.drawn[i]))){let n=this.dom.firstChild,i=0;for(let r of t)r.update&&n&&r.constructor&&this.drawn[i].constructor&&r.update(n,this.drawn[i])?(n=n.nextSibling,i++):this.dom.insertBefore(r.draw(),n);for(;n;){let r=n.nextSibling;n.remove(),n=r}this.drawn=t,ut.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Ew=ht.define();function aae(e){return[pr.define(t=>new kFe(t,e)),Ew.of(e)]}const Yg=ht.define({combine(e){return Cc(e,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(t,n)=>Math.min(t,n),drawRangeCursor:(t,n)=>t||n})}});function TFe(e={}){return[Yg.of(e),_Fe,AFe,NFe,Ise.of(!0)]}function oae(e){return e.startState.facet(Yg)!=e.state.facet(Yg)}const _Fe=aae({above:!0,markers(e){let{state:t}=e,n=t.facet(Yg),i=[];for(let r of t.selection.ranges){let s=r==t.selection.main;if(r.empty||n.drawRangeCursor&&!(s&&ut.ios&&n.iosSelectionHandles)){let a=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=r.empty?r:Re.cursor(r.head,r.assoc);for(let l of Dh.forRange(e,a,o))i.push(l)}}return i},update(e,t){e.transactions.some(i=>i.selection)&&(t.style.animationName=t.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=oae(e);return n&&kz(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){kz(t.state,e)},class:"cm-cursorLayer"});function kz(e,t){t.style.animationDuration=e.facet(Yg).cursorBlinkRate+"ms"}const AFe=aae({above:!1,markers(e){let t=[],{main:n,ranges:i}=e.state.selection;for(let r of i)if(!r.empty)for(let s of Dh.forRange(e,"cm-selectionBackground",r))t.push(s);if(ut.ios&&!n.empty&&e.state.facet(Yg).iosSelectionHandles){for(let r of Dh.forRange(e,"cm-selectionHandle cm-selectionHandle-start",Re.cursor(n.from,1)))t.push(r);for(let r of Dh.forRange(e,"cm-selectionHandle cm-selectionHandle-end",Re.cursor(n.to,1)))t.push(r)}return t},update(e,t){return e.docChanged||e.selectionSet||e.viewportChanged||oae(e)},class:"cm-selectionLayer"}),NFe=Hu.highest(rt.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),lae=Ht.define({map(e,t){return e==null?null:t.mapPos(e)}}),sb=_s.define({create(){return null},update(e,t){return e!=null&&(e=t.changes.mapPos(e)),t.effects.reduce((n,i)=>i.is(lae)?i.value:n,e)}}),CFe=pr.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(sb);n==null?this.cursor!=null&&((t=this.cursor)===null||t===void 0||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(sb)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(sb),n=t!=null&&e.coordsAtPos(t);if(!n)return null;let i=e.scrollDOM.getBoundingClientRect();return{left:n.left-i.left+e.scrollDOM.scrollLeft*e.scaleX,top:n.top-i.top+e.scrollDOM.scrollTop*e.scaleY,height:n.bottom-n.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:n}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/n+"px",this.cursor.style.height=e.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(sb)!=e&&this.view.dispatch({effects:lae.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){(e.target==this.view.contentDOM||!this.view.contentDOM.contains(e.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function RFe(){return[sb,CFe]}function Tz(e,t,n,i,r){t.lastIndex=0;for(let s=e.iterRange(n,i),a=n,o;!s.next().done;a+=s.value.length)if(!s.lineBreak)for(;o=t.exec(s.value);)r(a+o.index,o)}function IFe(e,t){let n=e.visibleRanges;if(n.length==1&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let i=[];for(let{from:r,to:s}of n)r=Math.max(e.state.doc.lineAt(r).from,r-t),s=Math.min(e.state.doc.lineAt(s).to,s+t),i.length&&i[i.length-1].to>=r?i[i.length-1].to=s:i.push({from:r,to:s});return i}class PFe{constructor(t){const{regexp:n,decoration:i,decorate:r,boundary:s,maxLength:a=1e3}=t;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,r)this.addMatch=(o,l,u,d)=>r(d,u,u+o[0].length,o,l);else if(typeof i=="function")this.addMatch=(o,l,u,d)=>{let f=i(o,l,u);f&&d(u,u+o[0].length,f)};else if(i)this.addMatch=(o,l,u,d)=>d(u,u+o[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=a}createDeco(t){let n=new Iu,i=n.add.bind(n);for(let{from:r,to:s}of IFe(t,this.maxLength))Tz(t.state.doc,this.regexp,r,s,(a,o)=>this.addMatch(o,t,a,i));return n.finish()}updateDeco(t,n){let i=1e9,r=-1;return t.docChanged&&t.changes.iterChanges((s,a,o,l)=>{l>=t.view.viewport.from&&o<=t.view.viewport.to&&(i=Math.min(o,i),r=Math.max(l,r))}),t.viewportMoved||r-i>1e3?this.createDeco(t.view):r>-1?this.updateRange(t.view,n.map(t.changes),i,r):n}updateRange(t,n,i,r){for(let s of t.visibleRanges){let a=Math.max(s.from,i),o=Math.min(s.to,r);if(o>=a){let l=t.state.doc.lineAt(a),u=l.tol.from;a--)if(this.boundary.test(l.text[a-1-l.from])){d=a;break}for(;oh.push(b.range(g,y));if(l==u)for(this.regexp.lastIndex=d-l.from;(p=this.regexp.exec(l.text))&&p.indexthis.addMatch(y,t,g,m));n=n.update({filterFrom:d,filterTo:f,filter:(g,y)=>gf,add:h})}}return n}}const Rj=/x/.unicode!=null?"gu":"g",jFe=new RegExp(`[\0-\b ---Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Rj),MFe={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let H2=null;function LFe(){var e;if(H2==null&&typeof document<"u"&&document.body){let t=document.body.style;H2=((e=t.tabSize)!==null&&e!==void 0?e:t.MozTabSize)!=null}return H2||!1}const kw=ht.define({combine(e){let t=Cc(e,{render:null,specialChars:jFe,addSpecialChars:null});return(t.replaceTabs=!LFe())&&(t.specialChars=new RegExp(" |"+t.specialChars.source,Rj)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,Rj)),t}});function DFe(e={}){return[kw.of(e),$Fe()]}let _z=null;function $Fe(){return _z||(_z=pr.fromClass(class{constructor(e){this.view=e,this.decorations=_t.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(kw)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new PFe({regexp:e.specialChars,decoration:(t,n,i)=>{let{doc:r}=n.state,s=xa(t[0],0);if(s==9){let a=r.lineAt(i),o=n.state.tabSize,l=wl(a.text,o,i-a.from);return _t.replace({widget:new zFe((o-l%o)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=_t.replace({widget:new UFe(e,s)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(kw);e.startState.facet(kw)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))}const QFe="•";function BFe(e){return e>=32?QFe:e==10?"␤":String.fromCharCode(9216+e)}class UFe extends Cl{constructor(t,n){super(),this.options=t,this.code=n}eq(t){return t.code==this.code}toDOM(t){let n=BFe(this.code),i=t.state.phrase("Control character")+" "+(MFe[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,n);if(r)return r;let s=document.createElement("span");return s.textContent=n,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class zFe extends Cl{constructor(t){super(),this.width=t}eq(t){return t.width==this.width}toDOM(){let t=document.createElement("span");return t.textContent=" ",t.className="cm-tab",t.style.width=this.width+"px",t}ignoreEvent(){return!1}}function FFe(){return XFe}const VFe=_t.line({class:"cm-activeLine"}),XFe=pr.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let i of e.state.selection.ranges){let r=e.lineBlockAt(i.head);r.from>t&&(n.push(VFe.range(r.from)),t=r.from)}return _t.set(n)}},{decorations:e=>e.decorations});class qFe extends Cl{constructor(t){super(),this.content=t}toDOM(t){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(t):this.content.cloneNode(!0)),n.setAttribute("aria-hidden","true"),n}coordsAt(t){let n=t.firstChild?qb(t.firstChild):[];if(!n.length)return null;let i=window.getComputedStyle(t.parentNode),r=ex(n[0],i.direction!="rtl"),s=parseInt(i.lineHeight);return r.bottom-r.top>s*1.5?{left:r.left,right:r.right,top:r.top,bottom:r.top+s}:r}ignoreEvent(){return!1}}function HFe(e){let t=pr.fromClass(class{constructor(n){this.view=n,this.placeholder=e?_t.set([_t.widget({widget:new qFe(e),side:1}).range(0)]):_t.none}get decorations(){return this.view.state.doc.length?_t.none:this.placeholder}},{decorations:n=>n.decorations});return typeof e=="string"?[t,rt.contentAttributes.of({"aria-placeholder":e})]:t}const Ij=2e3;function YFe(e,t,n){let i=Math.min(t.line,n.line),r=Math.max(t.line,n.line),s=[];if(t.off>Ij||n.off>Ij||t.col<0||n.col<0){let a=Math.min(t.off,n.off),o=Math.max(t.off,n.off);for(let l=i;l<=r;l++){let u=e.doc.line(l);u.length<=o&&s.push(Re.range(u.from+a,u.to+o))}}else{let a=Math.min(t.col,n.col),o=Math.max(t.col,n.col);for(let l=i;l<=r;l++){let u=e.doc.line(l),d=dj(u.text,a,e.tabSize,!0);if(d<0)s.push(Re.cursor(u.to));else{let f=dj(u.text,o,e.tabSize);s.push(Re.range(u.from+d,u.from+f))}}}return s}function GFe(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}function Az(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),i=e.state.doc.lineAt(n),r=n-i.from,s=r>Ij?-1:r==i.length?GFe(e,t.clientX):wl(i.text,e.state.tabSize,n-i.from);return{line:i.number,col:s,off:r}}function WFe(e,t){let n=Az(e,t),i=e.state.selection;return n?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(n.line).from),a=r.state.doc.lineAt(s);n={line:a.number,col:n.col,off:Math.min(n.off,a.length)},i=i.map(r.changes)}},get(r,s,a){let o=Az(e,r);if(!o)return i;let l=YFe(e.state,n,o);return l.length?a?Re.create(l.concat(i.ranges)):Re.create(l):i}}:null}function ZFe(e){let t=n=>n.altKey&&n.button==0;return rt.mouseSelectionStyle.of((n,i)=>t(i)?WFe(n,i):null)}const KFe={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},JFe={style:"cursor: crosshair"};function eVe(e={}){let[t,n]=KFe[e.key||"Alt"],i=pr.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==t||n(r))},keyup(r){(r.keyCode==t||!n(r))&&this.set(!1)},mousemove(r){this.set(n(r))}}});return[i,rt.contentAttributes.of(r=>{var s;return!((s=r.plugin(i))===null||s===void 0)&&s.isDown?JFe:null})]}const ov="-10000px";class cae{constructor(t,n,i,r){this.facet=n,this.createTooltipView=i,this.removeTooltipView=r,this.input=t.state.facet(n),this.tooltips=this.input.filter(a=>a);let s=null;this.tooltipViews=this.tooltips.map(a=>s=i(a,s))}update(t,n){var i;let r=t.state.facet(this.facet),s=r.filter(l=>l);if(r===this.input){for(let l of this.tooltipViews)l.update&&l.update(t);return!1}let a=[],o=n?[]:null;for(let l=0;ln[u]=l),n.length=o.length),this.input=r,this.tooltips=s,this.tooltipViews=a,!0}}function tVe(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}const Y2=ht.define({combine:e=>{var t,n,i;return{position:ut.ios?"absolute":((t=e.find(r=>r.position))===null||t===void 0?void 0:t.position)||"fixed",parent:((n=e.find(r=>r.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((i=e.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||tVe}}}),Nz=new WeakMap,E5=pr.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(Y2);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new cae(e,k5,(n,i)=>this.createTooltip(n,i),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,i=e.state.facet(Y2);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;n=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),i=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",n.dom.appendChild(r)}return n.dom.style.position=this.position,n.dom.style.top=ov,n.dom.style.left="0px",this.container.insertBefore(n.dom,i),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(e=i.destroy)===null||e===void 0||e.call(i);this.parent&&this.container.remove(),(t=this.resizeObserver)===null||t===void 0||t.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(ut.safari){let a=s.getBoundingClientRect();n=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else n=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(e=s.width/this.parent.offsetWidth,t=s.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=x5(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,a)=>{let o=this.manager.tooltipViews[a];return o.getCoords?o.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(Y2).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let o of this.manager.tooltipViews)o.dom.style.position="absolute"}let{visible:n,space:i,scaleX:r,scaleY:s}=e,a=[];for(let o=0;o=Math.min(n.bottom,i.bottom)||f.rightMath.min(n.right,i.right)+.1)){d.style.top=ov;continue}let p=l.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,g=h.right-h.left,y=(t=Nz.get(u))!==null&&t!==void 0?t:h.bottom-h.top,b=u.offset||iVe,S=this.view.textDirection==ki.LTR,x=h.width>i.right-i.left?S?i.left:i.right-h.width:S?Math.max(i.left,Math.min(f.left-(p?14:0)+b.x,i.right-g)):Math.min(Math.max(i.left,f.left-g+(p?14:0)-b.x),i.right-g),v=this.above[o];!l.strictSide&&(v?f.top-y-m-b.yi.bottom)&&v==i.bottom-f.bottom>f.top-i.top&&(v=this.above[o]=!v);let E=(v?f.top-i.top:i.bottom-f.bottom)-m;if(Ex&&_.topw&&(w=v?_.top-y-2-m:_.bottom+m+2);if(this.position=="absolute"?(d.style.top=(w-e.parent.top)/s+"px",Cz(d,(x-e.parent.left)/r)):(d.style.top=w/s+"px",Cz(d,x/r)),p){let _=f.left+(S?b.x:-b.x)-(x+14-7);p.style.left=_/r+"px"}u.overlap!==!0&&a.push({left:x,top:w,right:k,bottom:w+y}),d.classList.toggle("cm-tooltip-above",v),d.classList.toggle("cm-tooltip-below",!v),u.positioned&&u.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=ov}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Cz(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+"px")}const nVe=rt.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),iVe={x:0,y:0},k5=ht.define({enables:[E5,nVe]}),bk=ht.define({combine:e=>e.reduce((t,n)=>t.concat(n),[])});class __{static create(t){return new __(t)}constructor(t){this.view=t,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new cae(t,bk,(n,i)=>this.createHostedView(n,i),n=>n.dom.remove())}createHostedView(t,n){let i=t.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(t){for(let n of this.manager.tooltipViews)n.mount&&n.mount(t);this.mounted=!0}positioned(t){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(t)}update(t){this.manager.update(t)}destroy(){var t;for(let n of this.manager.tooltipViews)(t=n.destroy)===null||t===void 0||t.call(n)}passProp(t){let n;for(let i of this.manager.tooltipViews){let r=i[t];if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const rVe=k5.compute([bk],e=>{let t=e.facet(bk);return t.length===0?null:{pos:Math.min(...t.map(n=>n.pos)),end:Math.max(...t.map(n=>{var i;return(i=n.end)!==null&&i!==void 0?i:n.pos})),create:__.create,above:t[0].above,arrow:t.some(n=>n.arrow)}}),uae=ht.define();class sVe{constructor(t,n,i,r,s,a){this.view=t,this.source=n,this.field=i,this.locked=r,this.setHover=s,this.hoverTime=a,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:t.dom,time:0},this.checkHover=this.checkHover.bind(this),t.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),t.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(t){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let t=Date.now()-this.lastMove.time;ta.bottom||n.xa.right+t.defaultCharacterWidth)return;let o=t.bidiSpans(t.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),l=o&&o.dir==ki.RTL?-1:1;s=n.x{if(o&&!(Array.isArray(o)&&!o.length)){let l=Array.isArray(o)?o:[o];r&&this.locked.set(l,r),t.dispatch({effects:this.setHover.of(l)})}};if(s&&"then"in s){let o=this.pending={pos:n};s.then(l=>{this.pending==o&&(this.pending=null,a(l))},l=>ka(t.state,l,"hover tooltip"))}else a(s)}get tooltip(){let t=this.view.plugin(E5),n=t?t.manager.tooltips.findIndex(i=>i.create==__.create):-1;return n>-1?t.manager.tooltipViews[n]:null}mousemove(t){var n,i;this.lastMove={x:t.clientX,y:t.clientY,target:t.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:s}=this;if(r.length&&!this.locked.has(r)&&s&&!aVe(s.dom,t)||this.pending){let{pos:a}=r[0]||this.pending,o=(i=(n=r[0])===null||n===void 0?void 0:n.end)!==null&&i!==void 0?i:a;(a==o?this.view.posAtCoords(this.lastMove)!=a:!oVe(this.view,a,o,t.clientX,t.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(t){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length&&!this.locked.has(n)){let{tooltip:i}=this;i&&i.dom.contains(t.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(t){let n=i=>{t.removeEventListener("mouseleave",n);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};t.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const lv=4;function aVe(e,t){let{left:n,right:i,top:r,bottom:s}=e.getBoundingClientRect(),a;if(a=e.querySelector(".cm-tooltip-arrow")){let o=a.getBoundingClientRect();r=Math.min(o.top,r),s=Math.max(o.bottom,s)}return t.clientX>=n-lv&&t.clientX<=i+lv&&t.clientY>=r-lv&&t.clientY<=s+lv}function oVe(e,t,n,i,r,s){let a=e.scrollDOM.getBoundingClientRect(),o=e.documentTop+e.documentPadding.top+e.contentHeight;if(a.left>i||a.rightr||Math.min(a.bottom,o)=t&&l<=n}function lVe(e,t={}){let n=Ht.define(),i=new WeakMap,r=_s.define({create(){return[]},update(a,o){let l=i.get(a);if(a.length&&(t.hideOnChange&&(o.docChanged||o.selection)?a=[]:l&&l(o)?a=[]:t.hideOn&&(a=a.filter(u=>!t.hideOn(o,u)))),o.docChanged&&a.length){let u=[];for(let d of a){let f=o.changes.mapPos(d.pos,-1,ws.TrackDel);if(f!=null){let h=Object.assign(Object.create(null),d);h.pos=f,h.end!=null&&(h.end=o.changes.mapPos(h.end)),u.push(h)}}a=u}for(let u of o.effects)u.is(n)&&(a=u.value,l=void 0),(u.is(uVe)&&!u.value||u.value==r)&&(a=[]);return a.length&&l&&i.set(a,l),a},provide:a=>bk.from(a)});const s=pr.define(a=>new sVe(a,e,r,i,n,t.hoverTime||300));return{active:r,extension:[r,s,uae.of(s),rVe]}}function cVe(e,t,n,i={}){var r;let s=e.state.facet(uae).map(a=>e.plugin(a)).filter(a=>!!a);if(i.tooltip&&i.tooltip.active){let a=s.find(o=>o.field==i.tooltip.active);a&&(s=[a])}for(let a of s)a.activateHover(e,t,n,(r=i.until)!==null&&r!==void 0?r:()=>!1)}function dae(e,t){let n=e.plugin(E5);if(!n)return null;let i=n.manager.tooltips.indexOf(t);return i<0?null:n.manager.tooltipViews[i]}const uVe=Ht.define(),Rz=ht.define({combine(e){let t,n;for(let i of e)t=t||i.topContainer,n=n||i.bottomContainer;return{topContainer:t,bottomContainer:n}}});function T5(e,t){let n=e.plugin(fae),i=n?n.specs.indexOf(t):-1;return i>-1?n.panels[i]:null}const fae=pr.fromClass(class{constructor(e){this.input=e.state.facet(nx),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(e));let t=e.state.facet(Rz);this.top=new cv(e,!0,t.topContainer),this.bottom=new cv(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(e){let t=e.state.facet(Rz);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new cv(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new cv(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(nx);if(n!=this.input){let i=n.filter(l=>l),r=[],s=[],a=[],o=[];for(let l of i){let u=this.specs.indexOf(l),d;u<0?(d=l(e.view),o.push(d)):(d=this.panels[u],d.update&&d.update(e)),r.push(d),(d.top?s:a).push(d)}this.specs=i,this.panels=r,this.top.sync(s),this.bottom.sync(a);for(let l of o)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let i of this.panels)i.update&&i.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>rt.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class cv{constructor(t,n,i){this.view=t,this.top=n,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(t){for(let n of this.panels)n.destroy&&t.indexOf(n)<0&&n.destroy();this.panels=t,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let t=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;t!=n.dom;)t=Iz(t);t=t.nextSibling}else this.dom.insertBefore(n.dom,t);for(;t;)t=Iz(t)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let t of this.classes.split(" "))t&&this.container.classList.remove(t);for(let t of(this.classes=this.view.themeClasses).split(" "))t&&this.container.classList.add(t)}}}function Iz(e){let t=e.nextSibling;return e.remove(),t}const nx=ht.define({enables:fae});function dVe(e,t){let n,i=new Promise(a=>n=a),r=a=>fVe(a,t,n);e.state.field(G2,!1)?e.dispatch({effects:hae.of(r)}):e.dispatch({effects:Ht.appendConfig.of(G2.init(()=>[r]))});let s=pae.of(r);return{close:s,result:i.then(a=>((e.win.queueMicrotask||(l=>e.win.setTimeout(l,10)))(()=>{e.state.field(G2).indexOf(r)>-1&&e.dispatch({effects:s})}),a))}}const G2=_s.define({create(){return[]},update(e,t){for(let n of t.effects)n.is(hae)?e=[n.value].concat(e):n.is(pae)&&(e=e.filter(i=>i!=n.value));return e},provide:e=>nx.computeN([e],t=>t.field(e))}),hae=Ht.define(),pae=Ht.define();function fVe(e,t,n){let i=t.content?t.content(e,()=>a(null)):null;if(!i){if(i=Oi("form"),t.input){let o=Oi("input",t.input);/^(text|password|number|email|tel|url)$/.test(o.type)&&o.classList.add("cm-textfield"),o.name||(o.name="input"),i.appendChild(Oi("label",(t.label||"")+": ",o))}else i.appendChild(document.createTextNode(t.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild(Oi("button",{class:"cm-button",type:"submit"},t.submitLabel||"OK"))}let r=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let o=0;o{u.keyCode==27?(u.preventDefault(),a(null)):u.keyCode==13&&(u.preventDefault(),a(l))}),l.addEventListener("submit",u=>{u.preventDefault(),a(l)})}let s=Oi("div",i,Oi("button",{onclick:()=>a(null),"aria-label":e.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));t.class&&(s.className=t.class),s.classList.add("cm-dialog");function a(o){s.contains(s.ownerDocument.activeElement)&&e.focus(),n(o)}return{dom:s,top:t.top,mount:()=>{if(t.focus){let o;typeof t.focus=="string"?o=i.querySelector(t.focus):o=i.querySelector("input")||i.querySelector("button"),o&&"select"in o?o.select():o&&"focus"in o&&o.focus()}}}}class ju extends gf{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}}ju.prototype.elementClass="";ju.prototype.toDOM=void 0;ju.prototype.mapMode=ws.TrackBefore;ju.prototype.startSide=ju.prototype.endSide=-1;ju.prototype.point=!0;const Tw=ht.define(),hVe=ht.define(),pVe={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Sn.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Gb=ht.define();function mVe(e){return[mae(),Gb.of({...pVe,...e})]}const Pz=ht.define({combine:e=>e.some(t=>t)});function mae(e){return[gVe]}const gVe=pr.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(Gb).map(t=>new Mz(e,t)),this.fixed=!e.state.facet(Pz);for(let t of this.gutters)t.config.side=="after"?this.getDOMAfter().appendChild(t.dom):this.dom.appendChild(t.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,i=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(i<(n.to-n.from)*.8)}if(e.geometryChanged){let t=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=t,this.domAfter&&(this.domAfter.style.minHeight=t)}this.view.state.facet(Pz)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=Sn.iter(this.view.state.facet(Tw),this.view.viewport.from),i=[],r=this.gutters.map(s=>new OVe(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(s.type)){let a=!0;for(let o of s.type)if(o.type==Ts.Text&&a){Pj(n,i,o.from);for(let l of r)l.line(this.view,o,i);a=!1}else if(o.widget)for(let l of r)l.widget(this.view,o)}else if(s.type==Ts.Text){Pj(n,i,s.from);for(let a of r)a.line(this.view,s,i)}else if(s.widget)for(let a of r)a.widget(this.view,s);for(let s of r)s.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(Gb),n=e.state.facet(Gb),i=e.docChanged||e.heightChanged||e.viewportChanged||!Sn.eq(e.startState.facet(Tw),e.state.facet(Tw),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let r of this.gutters)r.update(e)&&(i=!0);else{i=!0;let r=[];for(let s of n){let a=t.indexOf(s);a<0?r.push(new Mz(this.view,s)):(this.gutters[a].update(e),r.push(this.gutters[a]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return i}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>rt.scrollMargins.of(t=>{let n=t.plugin(e);if(!n||n.gutters.length==0||!n.fixed)return null;let i=n.dom.offsetWidth*t.scaleX,r=n.domAfter?n.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==ki.LTR?{left:i,right:r}:{right:i,left:r}})});function jz(e){return Array.isArray(e)?e:[e]}function Pj(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class OVe{constructor(t,n,i){this.gutter=t,this.height=i,this.i=0,this.cursor=Sn.iter(t.markers,n.from)}addElement(t,n,i){let{gutter:r}=this,s=(n.top-this.height)/t.scaleY,a=n.height/t.scaleY;if(this.i==r.elements.length){let o=new gae(t,a,s,i);r.elements.push(o),r.dom.appendChild(o.dom)}else r.elements[this.i].update(t,a,s,i);this.height=n.bottom,this.i++}line(t,n,i){let r=[];Pj(this.cursor,r,n.from),i.length&&(r=r.concat(i));let s=this.gutter.config.lineMarker(t,n,r);s&&r.unshift(s);let a=this.gutter;r.length==0&&!a.config.renderEmptyElements||this.addElement(t,n,r)}widget(t,n){let i=this.gutter.config.widgetMarker(t,n.widget,n),r=i?[i]:null;for(let s of t.state.facet(hVe)){let a=s(t,n.widget,n);a&&(r||(r=[])).push(a)}r&&this.addElement(t,n,r)}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let n=t.elements.pop();t.dom.removeChild(n.dom),n.destroy()}}}class Mz{constructor(t,n){this.view=t,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in n.domEventHandlers)this.dom.addEventListener(i,r=>{let s=r.target,a;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();a=(l.top+l.bottom)/2}else a=r.clientY;let o=t.lineBlockAtHeight(a-t.documentTop);n.domEventHandlers[i](t,o,r)&&r.preventDefault()});this.markers=jz(n.markers(t)),n.initialSpacer&&(this.spacer=new gae(t,0,0,[n.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(t){let n=this.markers;if(this.markers=jz(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],t);r!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[r])}let i=t.view.viewport;return!Sn.eq(this.markers,n,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(t):!1)}destroy(){for(let t of this.elements)t.destroy()}}class gae{constructor(t,n,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,n,i,r)}update(t,n,i,r){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),bVe(this.markers,r)||this.setMarkers(t,r)}setMarkers(t,n){let i="cm-gutterElement",r=this.dom.firstChild;for(let s=0,a=0;;){let o=a,l=ss(o,l,u)||a(o,l,u):a}return i}})}});class W2 extends ju{constructor(t){super(),this.number=t}eq(t){return this.number==t.number}toDOM(){return document.createTextNode(this.number)}}function Z2(e,t){return e.state.facet(jm).formatNumber(t,e.state)}const SVe=Gb.compute([jm],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(t){return t.state.facet(yVe)},lineMarker(t,n,i){return i.some(r=>r.toDOM)?null:new W2(Z2(t,t.state.doc.lineAt(n.from).number))},widgetMarker:(t,n,i)=>{for(let r of t.state.facet(xVe)){let s=r(t,n,i);if(s)return s}return null},lineMarkerChange:t=>t.startState.facet(jm)!=t.state.facet(jm),initialSpacer(t){return new W2(Z2(t,Lz(t.state.doc.lines)))},updateSpacer(t,n){let i=Z2(n.view,Lz(n.view.state.doc.lines));return i==t.number?t:new W2(i)},domEventHandlers:e.facet(jm).domEventHandlers,side:"before"}));function vVe(e={}){return[jm.of(e),mae(),SVe]}function Lz(e){let t=9;for(;t{let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.head).from;r>n&&(n=r,t.push(wVe.range(r)))}return Sn.of(t)});function kVe(){return EVe}var K2;const vh=new Yt;function _5(e){return ht.define({combine:e?t=>t.concat(e):void 0})}const A5=new Yt;class Mo{constructor(t,n,i=[],r=""){this.data=t,this.name=r,Nn.prototype.hasOwnProperty("tree")||Object.defineProperty(Nn.prototype,"tree",{get(){return yi(this)}}),this.parser=n,this.extension=[xf.of(this),Nn.languageData.of((s,a,o)=>{let l=Dz(s,a,o),u=l.type.prop(vh);if(!u)return[];let d=s.facet(u),f=l.type.prop(A5);if(f){let h=l.resolve(a-l.from,o);for(let p of f)if(p.test(h,s)){let m=s.facet(p.facet);return p.type=="replace"?m:m.concat(d)}}return d})].concat(i)}isActiveAt(t,n,i=-1){return Dz(t,n,i).type.prop(vh)==this.data}findRegions(t){let n=t.facet(xf);if((n==null?void 0:n.data)==this.data)return[{from:0,to:t.doc.length}];if(!n||!n.allowsNesting)return[];let i=[],r=(s,a)=>{if(s.prop(vh)==this.data){i.push({from:a,to:a+s.length});return}let o=s.prop(Yt.mounted);if(o){if(o.tree.prop(vh)==this.data){if(o.overlay)for(let l of o.overlay)i.push({from:l.from+a,to:l.to+a});else i.push({from:a,to:a+s.length});return}else if(o.overlay){let l=i.length;if(r(o.tree,o.overlay[0].from+a),i.length>l)return}}for(let l=0;li.isTop?n:void 0)]}),t.name)}configure(t,n){return new Mu(this.data,this.parser.configure(t),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function yi(e){let t=e.field(Mo.state,!1);return t?t.tree:ni.empty}class TVe{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,n){let i=this.cursorPos-this.string.length;return t=this.cursorPos?this.doc.sliceString(t,n):this.string.slice(t-i,n-i)}}let AO=null;class ix{constructor(t,n,i=[],r,s,a,o,l){this.parser=t,this.state=n,this.fragments=i,this.tree=r,this.treeLen=s,this.viewport=a,this.skipped=o,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(t,n,i){return new ix(t,n,[],ni.empty,0,i,[],null)}startParse(){return this.parser.startParse(new TVe(this.state.doc),this.fragments)}work(t,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=ni.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof t=="number"){let r=Date.now()+t;t=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=t,this.tree=n,this.fragments=this.withoutTempSkipped(bu.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let n=AO;AO=this;try{return t()}finally{AO=n}}withoutTempSkipped(t){for(let n;n=this.tempSkipped.pop();)t=$z(t,n.from,n.to);return t}changes(t,n){let{fragments:i,tree:r,treeLen:s,viewport:a,skipped:o}=this;if(this.takeTree(),!t.empty){let l=[];if(t.iterChangedRanges((u,d,f,h)=>l.push({fromA:u,toA:d,fromB:f,toB:h})),i=bu.applyChanges(i,l),r=ni.empty,s=0,a={from:t.mapPos(a.from,-1),to:t.mapPos(a.to,1)},this.skipped.length){o=[];for(let u of this.skipped){let d=t.mapPos(u.from,1),f=t.mapPos(u.to,-1);dt.from&&(this.fragments=$z(this.fragments,r,s),this.skipped.splice(i--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,n){this.skipped.push({from:t,to:n})}static getSkippingParser(t){return new class extends o5{createParse(n,i,r){let s=r[0].from,a=r[r.length-1].to;return{parsedPos:s,advance(){let l=AO;if(l){for(let u of r)l.tempSkipped.push(u);t&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,t]):t)}return this.parsedPos=a,new ni(Zr.none,[],[],a-s)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let n=this.fragments;return this.treeLen>=t&&n.length&&n[0].from==0&&n[0].to>=t}static get(){return AO}}function $z(e,t,n){return bu.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class Gg{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,i)||n.takeTree(),new Gg(n)}static init(t){let n=Math.min(3e3,t.doc.length),i=ix.create(t.facet(xf).parser,t,{from:0,to:n});return i.work(20,n)||i.takeTree(),new Gg(i)}}Mo.state=_s.define({create:Gg.init,update(e,t){for(let n of t.effects)if(n.is(Mo.setState))return n.value;return t.startState.facet(xf)!=t.state.facet(xf)?Gg.init(t.state):e.apply(t)}});let Oae=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};typeof requestIdleCallback<"u"&&(Oae=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const J2=typeof navigator<"u"&&(!((K2=navigator.scheduling)===null||K2===void 0)&&K2.isInputPending)?()=>navigator.scheduling.isInputPending():null,_Ve=pr.fromClass(class{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let n=this.view.state.field(Mo.state).context;(n.updateViewport(t.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(t.docChanged||t.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:t}=this.view,n=t.field(Mo.state);(n.tree!=n.context.tree||!n.context.isDone(t.doc.length))&&(this.working=Oae(this.work))}work(t){this.working=null;let n=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>J2&&J2()||Date.now()>a,r+(o?0:1e5));this.chunkBudget-=Date.now()-n,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Mo.setState.of(new Gg(s.context))})),this.chunkBudget>0&&!(l&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then(()=>this.scheduleWork()).catch(n=>ka(this.view.state,n)).then(()=>this.workScheduled--),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),xf=ht.define({combine(e){return e.length?e[0]:null},enables:e=>[Mo.state,_Ve,rt.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class Sf{constructor(t,n=[]){this.language=t,this.support=n,this.extension=[t,n]}}class yk{constructor(t,n,i,r,s,a=void 0){this.name=t,this.alias=n,this.extensions=i,this.filename=r,this.loadFunc=s,this.support=a,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(t=>this.support=t,t=>{throw this.loading=null,t}))}static of(t){let{load:n,support:i}=t;if(!n){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");n=()=>Promise.resolve(i)}return new yk(t.name,(t.alias||[]).concat(t.name).map(r=>r.toLowerCase()),t.extensions||[],t.filename,n,i)}static matchFilename(t,n){for(let r of t)if(r.filename&&r.filename.test(n))return r;let i=/\.([^.]+)$/.exec(n);if(i){for(let r of t)if(r.extensions.indexOf(i[1])>-1)return r}return null}static matchLanguageName(t,n,i=!0){n=n.toLowerCase();for(let r of t)if(r.alias.some(s=>s==n))return r;if(i)for(let r of t)for(let s of r.alias){let a=n.indexOf(s);if(a>-1&&(s.length>2||!/\w/.test(n[a-1])&&!/\w/.test(n[a+s.length])))return r}return null}}const AVe=ht.define(),I0=ht.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(n=>n!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function xk(e){let t=e.facet(I0);return t.charCodeAt(0)==9?e.tabSize*t.length:t.length}function rx(e,t){let n="",i=e.tabSize,r=e.facet(I0)[0];if(r==" "){for(;t>=i;)n+=" ",t-=i;r=" "}for(let s=0;s=t?NVe(e,n,t):null}class A_{constructor(t,n={}){this.state=t,this.options=n,this.unit=xk(t)}lineAt(t,n=1){let i=this.state.doc.lineAt(t),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=i.from&&r<=i.to?s&&r==t?{text:"",from:t}:(n<0?r-1&&(s+=a-this.countColumn(i,i.search(/\S|$/))),s}countColumn(t,n=t.length){return wl(t,this.state.tabSize,n)}lineIndent(t,n=1){let{text:i,from:r}=this.lineAt(t,n),s=this.options.overrideIndentation;if(s){let a=s(r);if(a>-1)return a}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Pf=new Yt;function NVe(e,t,n){let i=t.resolveStack(n),r=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(r!=i.node){let s=[];for(let a=r;a&&!(a.fromi.node.to||a.from==i.node.from&&a.type==i.node.type);a=a.parent)s.push(a);for(let a=s.length-1;a>=0;a--)i={node:s[a],next:i}}return bae(i,e,n)}function bae(e,t,n){for(let i=e;i;i=i.next){let r=RVe(i.node);if(r)return r(C5.create(t,n,i))}return 0}function CVe(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function RVe(e){let t=e.type.prop(Pf);if(t)return t;let n=e.firstChild,i;if(n&&(i=n.type.prop(Yt.closedBy))){let r=e.lastChild,s=r&&i.indexOf(r.name)>-1;return a=>yae(a,!0,1,void 0,s&&!CVe(a)?r.from:void 0)}return e.parent==null?IVe:null}function IVe(){return 0}class C5 extends A_{constructor(t,n,i){super(t.state,t.options),this.base=t,this.pos=n,this.context=i}get node(){return this.context.node}static create(t,n,i){return new C5(t,n,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(t){let n=this.state.doc.lineAt(t.from);for(;;){let i=t.resolve(n.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(PVe(i,t))break;n=this.state.doc.lineAt(i.from)}return this.lineIndent(n.from)}continue(){return bae(this.context.next,this.base,this.pos)}}function PVe(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function jVe(e){let t=e.node,n=t.childAfter(t.from),i=t.lastChild;if(!n)return null;let r=e.options.simulateBreak,s=e.state.doc.lineAt(n.from),a=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let o=n.to;;){let l=t.childAfter(o);if(!l||l==i)return null;if(!l.type.isSkipped){if(l.from>=a)return null;let u=/^ */.exec(s.text.slice(n.to-s.from))[0].length;return{from:n.from,to:n.to+u}}o=l.to}}function sg({closing:e,align:t=!0,units:n=1}){return i=>yae(i,t,n,e)}function yae(e,t,n,i,r){let s=e.textAfter,a=s.match(/^\s*/)[0].length,o=i&&s.slice(a,a+i.length)==i||r==e.pos+a,l=t?jVe(e):null;return l?o?e.column(l.from):e.column(l.to):e.baseIndent+(o?0:e.unit*n)}const MVe=e=>e.baseIndent;function ag({except:e,units:t=1}={}){return n=>{let i=e&&e.test(n.textAfter);return n.baseIndent+(i?0:t*n.unit)}}const LVe=200;function DVe(){return Nn.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:i}=e.newSelection.main,r=n.lineAt(i);if(i>r.from+LVe)return e;let s=n.sliceString(r.from,i);if(!t.some(u=>u.test(s)))return e;let{state:a}=e,o=-1,l=[];for(let{head:u}of a.selection.ranges){let d=a.doc.lineAt(u);if(d.from==o)continue;o=d.from;let f=N5(a,d.from);if(f==null)continue;let h=/^\s*/.exec(d.text)[0],p=rx(a,f);h!=p&&l.push({from:d.from,to:d.from+h.length,insert:p})}return l.length?[e,{changes:l,sequential:!0}]:e})}const xae=ht.define(),Yu=new Yt;function p1(e){let t=e.firstChild,n=e.lastChild;return t&&t.ton)continue;if(s&&o.from=t&&u.to>n&&(s=u)}}return s}function QVe(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function Sk(e,t,n){for(let i of e.facet(xae)){let r=i(e,t,n);if(r)return r}return $Ve(e,t,n)}function Sae(e,t){let n=t.mapPos(e.from,1),i=t.mapPos(e.to,-1);return n>=i?void 0:{from:n,to:i}}const N_=Ht.define({map:Sae}),m1=Ht.define({map:Sae});function vae(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(i=>i.from<=n&&i.to>=n)||t.push(e.lineBlockAt(n));return t}const tp=_s.define({create(){return _t.none},update(e,t){t.isUserEvent("delete")&&t.changes.iterChangedRanges((i,r)=>e=Qz(e,i,r)),e=e.map(t.changes);let n=[];for(let i of t.effects)i.is(N_)&&!BVe(e,i.value.from,i.value.to)?n.push(i.value):i.is(m1)&&(e=e.update({filter:(r,s)=>i.value.from!=r||i.value.to!=s,filterFrom:i.value.from,filterTo:i.value.to}));if(n.length){let{preparePlaceholder:i}=t.state.facet(kae),r=n.map(s=>(i?_t.replace({widget:new HVe(i(t.state,s))}):Bz).range(s.from,s.to));e=e.update({add:r})}return t.selection&&(e=Qz(e,t.selection.main.head)),e},provide:e=>rt.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(i,r)=>{n.push(i,r)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n{rt&&(i=!0)}),i?e.update({filterFrom:t,filterTo:n,filter:(r,s)=>r>=n||s<=t}):e}function vk(e,t,n){var i;let r=null;return(i=e.field(tp,!1))===null||i===void 0||i.between(t,n,(s,a)=>{(!r||r.from>s)&&(r={from:s,to:a})}),r}function BVe(e,t,n){let i=!1;return e.between(t,t,(r,s)=>{r==t&&s==n&&(i=!0)}),i}function wae(e,t){return e.field(tp,!1)?t:t.concat(Ht.appendConfig.of(Tae()))}const UVe=e=>{for(let t of vae(e)){let n=Sk(e.state,t.from,t.to);if(n)return e.dispatch({effects:wae(e.state,[N_.of(n),Eae(e,n)])}),!0}return!1},zVe=e=>{if(!e.state.field(tp,!1))return!1;let t=[];for(let n of vae(e)){let i=vk(e.state,n.from,n.to);i&&t.push(m1.of(i),Eae(e,i,!1))}return t.length&&e.dispatch({effects:t}),t.length>0};function Eae(e,t,n=!0){let i=e.state.doc.lineAt(t.from).number,r=e.state.doc.lineAt(t.to).number;return rt.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${i} ${e.state.phrase("to")} ${r}.`)}const FVe=e=>{let{state:t}=e,n=[];for(let i=0;i{let t=e.state.field(tp,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(i,r)=>{n.push(m1.of({from:i,to:r}))}),e.dispatch({effects:n}),!0},XVe=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:UVe},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:zVe},{key:"Ctrl-Alt-[",run:FVe},{key:"Ctrl-Alt-]",run:VVe}],qVe={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},kae=ht.define({combine(e){return Cc(e,qVe)}});function Tae(e){return[tp,WVe]}function _ae(e,t){let{state:n}=e,i=n.facet(kae),r=a=>{let o=e.lineBlockAt(e.posAtDOM(a.target)),l=vk(e.state,o.from,o.to);l&&e.dispatch({effects:m1.of(l)}),a.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(e,r,t);let s=document.createElement("span");return s.textContent=i.placeholderText,s.setAttribute("aria-label",n.phrase("folded code")),s.title=n.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=r,s}const Bz=_t.replace({widget:new class extends Cl{toDOM(e){return _ae(e,null)}}});class HVe extends Cl{constructor(t){super(),this.value=t}eq(t){return this.value==t.value}toDOM(t){return _ae(t,this.value)}}const YVe={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class eC extends ju{constructor(t,n){super(),this.config=t,this.open=n}eq(t){return this.config==t.config&&this.open==t.open}toDOM(t){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=t.state.phrase(this.open?"Fold line":"Unfold line"),n}}function GVe(e={}){let t={...YVe,...e},n=new eC(t,!0),i=new eC(t,!1),r=pr.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(xf)!=a.state.facet(xf)||a.startState.field(tp,!1)!=a.state.field(tp,!1)||yi(a.startState)!=yi(a.state)||t.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let o=new Iu;for(let l of a.viewportLineBlocks){let u=vk(a.state,l.from,l.to)?i:Sk(a.state,l.from,l.to)?n:null;u&&o.add(l.from,l.from,u)}return o.finish()}}),{domEventHandlers:s}=t;return[r,mVe({class:"cm-foldGutter",markers(a){var o;return((o=a.plugin(r))===null||o===void 0?void 0:o.markers)||Sn.empty},initialSpacer(){return new eC(t,!1)},domEventHandlers:{...s,click:(a,o,l)=>{if(s.click&&s.click(a,o,l))return!0;let u=vk(a.state,o.from,o.to);if(u)return a.dispatch({effects:m1.of(u)}),!0;let d=Sk(a.state,o.from,o.to);return d?(a.dispatch({effects:N_.of(d)}),!0):!1}}}),Tae()]}const WVe=rt.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class g1{constructor(t,n){this.specs=t;let i;function r(o){let l=Of.newName();return(i||(i=Object.create(null)))["."+l]=o,l}const s=typeof n.all=="string"?n.all:n.all?r(n.all):void 0,a=n.scope;this.scope=a instanceof Mo?o=>o.prop(vh)==a.data:a?o=>o==a:void 0,this.style=Vre(t.map(o=>({tag:o.tag,class:o.class||r(Object.assign({},o,{tag:null}))})),{all:s}).style,this.module=i?new Of(i):null,this.themeType=n.themeType}static define(t,n){return new g1(t,n||{})}}const jj=ht.define(),Aae=ht.define({combine(e){return e.length?[e[0]]:null}});function tC(e){let t=e.facet(jj);return t.length?t:e.facet(Aae)}function Nae(e,t){let n=[KVe],i;return e instanceof g1&&(e.module&&n.push(rt.styleModule.of(e.module)),i=e.themeType),t!=null&&t.fallback?n.push(Aae.of(e)):i?n.push(jj.computeN([rt.darkTheme],r=>r.facet(rt.darkTheme)==(i=="dark")?[e]:[])):n.push(jj.of(e)),n}class ZVe{constructor(t){this.markCache=Object.create(null),this.tree=yi(t.state),this.decorations=this.buildDeco(t,tC(t.state)),this.decoratedTo=t.viewport.to}update(t){let n=yi(t.state),i=tC(t.state),r=i!=tC(t.startState),{viewport:s}=t.view,a=t.changes.mapPos(this.decoratedTo,1);n.length=s.to?(this.decorations=this.decorations.map(t.changes),this.decoratedTo=a):(n!=this.tree||t.viewportChanged||r)&&(this.tree=n,this.decorations=this.buildDeco(t.view,i),this.decoratedTo=s.to)}buildDeco(t,n){if(!n||!this.tree.length)return _t.none;let i=new Iu;for(let{from:r,to:s}of t.visibleRanges)jUe(this.tree,n,(a,o,l)=>{i.add(a,o,this.markCache[l]||(this.markCache[l]=_t.mark({class:l})))},r,s);return i.finish()}}const KVe=Hu.high(pr.fromClass(ZVe,{decorations:e=>e.decorations})),JVe=g1.define([{tag:H.meta,color:"#404740"},{tag:H.link,textDecoration:"underline"},{tag:H.heading,textDecoration:"underline",fontWeight:"bold"},{tag:H.emphasis,fontStyle:"italic"},{tag:H.strong,fontWeight:"bold"},{tag:H.strikethrough,textDecoration:"line-through"},{tag:H.keyword,color:"#708"},{tag:[H.atom,H.bool,H.url,H.contentSeparator,H.labelName],color:"#219"},{tag:[H.literal,H.inserted],color:"#164"},{tag:[H.string,H.deleted],color:"#a11"},{tag:[H.regexp,H.escape,H.special(H.string)],color:"#e40"},{tag:H.definition(H.variableName),color:"#00f"},{tag:H.local(H.variableName),color:"#30a"},{tag:[H.typeName,H.namespace],color:"#085"},{tag:H.className,color:"#167"},{tag:[H.special(H.variableName),H.macroName],color:"#256"},{tag:H.definition(H.propertyName),color:"#00c"},{tag:H.comment,color:"#940"},{tag:H.invalid,color:"#f00"}]),eXe=rt.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Cae=1e4,Rae="()[]{}",Iae=ht.define({combine(e){return Cc(e,{afterCursor:!0,brackets:Rae,maxScanDistance:Cae,renderMatch:iXe})}}),tXe=_t.mark({class:"cm-matchingBracket"}),nXe=_t.mark({class:"cm-nonmatchingBracket"});function iXe(e){let t=[],n=e.matched?tXe:nXe;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}function Uz(e){let t=[],n=e.facet(Iae);for(let i of e.selection.ranges){if(!i.empty)continue;let r=cc(e,i.head,-1,n)||i.head>0&&cc(e,i.head-1,1,n)||n.afterCursor&&(cc(e,i.head,1,n)||i.heade.decorations}),sXe=[rXe,eXe];function aXe(e={}){return[Iae.of(e),sXe]}const Pae=new Yt;function Mj(e,t,n){let i=e.prop(t<0?Yt.openedBy:Yt.closedBy);if(i)return i;if(e.name.length==1){let r=n.indexOf(e.name);if(r>-1&&r%2==(t<0?1:0))return[n[r+t]]}return null}function Lj(e){let t=e.type.prop(Pae);return t?t(e.node):e}function cc(e,t,n,i={}){let r=i.maxScanDistance||Cae,s=i.brackets||Rae,a=yi(e),o=a.resolveInner(t,n);for(let l=o;l;l=l.parent){let u=Mj(l.type,n,s);if(u&&l.from0?t>=d.from&&td.from&&t<=d.to))return oXe(e,t,n,l,d,u,s)}}return lXe(e,t,n,a,o.type,r,s)}function oXe(e,t,n,i,r,s,a){let o=i.parent,l={from:r.from,to:r.to},u=0,d=o==null?void 0:o.cursor();if(d&&(n<0?d.childBefore(i.from):d.childAfter(i.to)))do if(n<0?d.to<=i.from:d.from>=i.to){if(u==0&&s.indexOf(d.type.name)>-1&&d.from0)return null;let u={from:n<0?t-1:t,to:n>0?t+1:t},d=e.doc.iterRange(t,n>0?e.doc.length:0),f=0;for(let h=0;!d.next().done&&h<=s;){let p=d.value;n<0&&(h+=p.length);let m=t+h*n;for(let g=n>0?0:p.length-1,y=n>0?p.length:-1;g!=y;g+=n){let b=a.indexOf(p[g]);if(!(b<0||i.resolveInner(m+g,1).type!=r))if(b%2==0==n>0)f++;else{if(f==1)return{start:u,end:{from:m+g,to:m+g+1},matched:b>>1==l>>1};f--}}n>0&&(h+=p.length)}return d.done?{start:u,matched:!1}:null}const cXe=Object.create(null),zz=[Zr.none],Fz=[],Vz=Object.create(null),uXe=Object.create(null);for(let[e,t]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])uXe[e]=dXe(cXe,t);function nC(e,t){Fz.indexOf(e)>-1||(Fz.push(e),console.warn(t))}function dXe(e,t){let n=[];for(let o of t.split(" ")){let l=[];for(let u of o.split(".")){let d=e[u]||H[u];d?typeof d=="function"?l.length?l=l.map(d):nC(u,`Modifier ${u} used at start of tag`):l.length?nC(u,`Tag ${u} used as modifier`):l=Array.isArray(d)?d:[d]:nC(u,`Unknown highlighting tag ${u}`)}for(let u of l)n.push(u)}if(!n.length)return 0;let i=t.replace(/ /g,"_"),r=i+" "+n.map(o=>o.id),s=Vz[r];if(s)return s.id;let a=Vz[r]=Zr.define({id:zz.length,name:i,props:[qu({[i]:n})]});return zz.push(a),a.id}ki.RTL,ki.LTR;class R5{constructor(t,n,i,r){this.state=t,this.pos=n,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let n=yi(this.state).resolveInner(this.pos,-1);for(;n&&t.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(t){let n=this.state.doc.lineAt(this.pos),i=Math.max(n.from,this.pos-250),r=n.text.slice(i-n.from,this.pos-n.from),s=r.search(Mae(t,!1));return s<0?null:{from:i+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(t,n,i){t=="abort"&&this.abortListeners&&(this.abortListeners.push(n),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function Xz(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function fXe(e){let t=Object.create(null),n=Object.create(null);for(let{label:r}of e){t[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[n,i]=t.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:fXe(t);return r=>{let s=r.matchBefore(i);return s||r.explicit?{from:s?s.from:r.pos,options:t,validFor:n}:null}}function jae(e,t){return n=>{for(let i=yi(n.state).resolveInner(n.pos,-1);i;i=i.parent){if(e.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return t(n)}}class qz{constructor(t,n,i,r){this.completion=t,this.source=n,this.match=i,this.score=r}}function $h(e){return e.selection.main.from}function Mae(e,t){var n;let{source:i}=e,r=t&&i[0]!="^",s=i[i.length-1]!="$";return!r&&!s?e:new RegExp(`${r?"^":""}(?:${i})${s?"$":""}`,(n=e.flags)!==null&&n!==void 0?n:e.ignoreCase?"i":"")}const P5=Nc.define();function hXe(e,t,n,i){let{main:r}=e.selection,s=n-r.from,a=i-r.from;return{...e.changeByRange(o=>{if(o!=r&&n!=i&&e.sliceDoc(o.from+s,o.from+a)!=e.sliceDoc(n,i))return{range:o};let l=e.toText(t);return{changes:{from:o.from+s,to:i==r.from?o.to:o.from+a,insert:l},range:Re.cursor(o.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const Hz=new WeakMap;function pXe(e){if(!Array.isArray(e))return e;let t=Hz.get(e);return t||Hz.set(e,t=I5(e)),t}const wk=Ht.define(),sx=Ht.define();class mXe{constructor(t){this.pattern=t,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n=48&&E<=57||E>=97&&E<=122?2:E>=65&&E<=90?1:0:(w=l5(E))!=w.toLowerCase()?1:w!=w.toUpperCase()?2:0;(!S||k==1&&y||v==0&&k!=0)&&(n[f]==E||i[f]==E&&(h=!0)?a[f++]=S:a.length&&(b=!1)),v=k,S+=ec(E)}return f==l&&a[0]==0&&b?this.result(-100+(h?-200:0),a,t):p==l&&m==0?this.ret(-200-t.length+(g==t.length?0:-100),[0,g]):o>-1?this.ret(-700-t.length,[o,o+this.pattern.length]):p==l?this.ret(-900-t.length,[m,g]):f==l?this.result(-100+(h?-200:0)+-700+(b?0:-1100),a,t):n.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,t)}result(t,n,i){let r=[],s=0;for(let a of n){let o=a+(this.astral?ec(xa(i,a)):1);s&&r[s-1]==a?r[s-1]=o:(r[s++]=a,r[s++]=o)}return this.ret(t-i.length,r)}}class gXe{constructor(t){this.pattern=t,this.matched=[],this.score=0,this.folded=t.toLowerCase()}match(t){if(t.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:OXe,filterStrict:!1,compareCompletions:(t,n)=>(t.sortText||t.label).localeCompare(n.sortText||n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(t,n)=>t&&n,closeOnBlur:(t,n)=>t&&n,icons:(t,n)=>t&&n,tooltipClass:(t,n)=>i=>Yz(t(i),n(i)),optionClass:(t,n)=>i=>Yz(t(i),n(i)),addToOptions:(t,n)=>t.concat(n),filterStrict:(t,n)=>t||n})}});function Yz(e,t){return e?t?e+" "+t:e:t}function OXe(e,t,n,i,r,s){let a=e.textDirection==ki.RTL,o=a,l=!1,u="top",d,f,h=t.left-r.left,p=r.right-t.right,m=i.right-i.left,g=i.bottom-i.top;if(o&&h=g||S>t.top?d=n.bottom-t.top:(u="bottom",d=t.bottom-n.top)}let y=(t.bottom-t.top)/s.offsetHeight,b=(t.right-t.left)/s.offsetWidth;return{style:`${u}: ${d/y}px; max-width: ${f/b}px`,class:"cm-completionInfo-"+(l?a?"left-narrow":"right-narrow":o?"left":"right")}}const j5=Ht.define();function bXe(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(n){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),n.type&&i.classList.add(...n.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),t.push({render(n,i,r,s){let a=document.createElement("span");a.className="cm-completionLabel";let o=n.displayLabel||n.label,l=0;for(let u=0;ul&&a.appendChild(document.createTextNode(o.slice(l,d)));let h=a.appendChild(document.createElement("span"));h.appendChild(document.createTextNode(o.slice(d,f))),h.className="cm-completionMatchedText",l=f}return ln.position-i.position).map(n=>n.render)}function iC(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let r=Math.floor(t/n);return{from:r*n,to:(r+1)*n}}let i=Math.ceil((e-t)/n);return{from:e-i*n,to:e-(i-1)*n}}class yXe{constructor(t,n,i){this.view=t,this.stateField=n,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let r=t.state.field(n),{options:s,selected:a}=r.open,o=t.state.facet(us);this.optionContent=bXe(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=iC(s.length,a,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(t.state),this.dom.addEventListener("mousedown",l=>{let{options:u}=t.state.field(n).open;for(let d=l.target,f;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(f=/-(\d+)$/.exec(d.id))&&+f[1]this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(t.dispatch({effects:j5.of(d)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let u=t.state.field(this.stateField,!1);u&&u.tooltip&&t.state.facet(us).closeOnBlur&&l.relatedTarget!=t.contentDOM&&t.dispatch({effects:sx.of(null)})}),this.showOptions(s,r.id)}mount(){this.updateSel()}showOptions(t,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(t){var n;let i=t.state.field(this.stateField),r=t.startState.field(this.stateField);if(this.updateTooltipClass(t.state),i!=r){let{options:s,selected:a,disabled:o}=i.open;(!r.open||r.open.options!=s)&&(this.range=iC(s.length,a,t.state.facet(us).maxRenderedOptions),this.showOptions(s,i.id)),this.updateSel(),o!=((n=r.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(t){let n=this.tooltipClass(t);if(n!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of n.split(" "))i&&this.dom.classList.add(i);this.currentClass=n}}positioned(t){this.space=t,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let t=this.view.state.field(this.stateField),n=t.open;(n.selected>-1&&n.selected=this.range.to)&&(this.range=iC(n.options.length,n.selected,this.view.state.facet(us).maxRenderedOptions),this.showOptions(n.options,t.id));let i=this.updateSelectedOption(n.selected);if(i){this.destroyInfo();let{completion:r}=n.options[n.selected],{info:s}=r;if(!s)return;let a=typeof s=="string"?document.createTextNode(s):s(r);if(!a)return;"then"in a?a.then(o=>{o&&this.view.state.field(this.stateField,!1)==t&&this.addInfoPane(o,r)}).catch(o=>ka(this.view.state,o,"completion info")):(this.addInfoPane(a,r),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(t,n){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),t.nodeType!=null)i.appendChild(t),this.infoDestroy=null;else{let{dom:r,destroy:s}=t;i.appendChild(r),this.infoDestroy=s||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(t){let n=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==t?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),n=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return n&&SXe(this.list,n),n}measureInfo(){let t=this.dom.querySelector("[aria-selected]");if(!t||!this.info)return null;let n=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=t.getBoundingClientRect(),s=this.space;if(!s){let a=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return r.top>Math.min(s.bottom,n.bottom)-10||r.bottom{a.target==r&&a.preventDefault()});let s=null;for(let a=i.from;ai.from||i.from==0))if(s=h,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let p=r.appendChild(document.createElement("completion-section"));p.textContent=h}}const d=r.appendChild(document.createElement("li"));d.id=n+"-"+a,d.setAttribute("role","option");let f=this.optionClass(o);f&&(d.className=f);for(let h of this.optionContent){let p=h(o,this.view.state,this.view,l);p&&d.appendChild(p)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.tonew yXe(n,e,t)}function SXe(e,t){let n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),r=n.height/e.offsetHeight;i.topn.bottom&&(e.scrollTop+=(i.bottom-n.bottom)/r)}function Gz(e){return(e.boost||0)*100+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function vXe(e,t){let n=[],i=null,r=null,s=d=>{n.push(d);let{section:f}=d.completion;if(f){i||(i=[]);let h=typeof f=="string"?f:f.name;i.some(p=>p.name==h)||i.push(typeof f=="string"?{name:h}:f)}},a=t.facet(us);for(let d of e)if(d.hasResult()){let f=d.result.getMatch;if(d.result.filter===!1)for(let h of d.result.options)s(new qz(h,d.source,f?f(h):[],1e9-n.length));else{let h=t.sliceDoc(d.from,d.to),p,m=a.filterStrict?new gXe(h):new mXe(h);for(let g of d.result.options)if(p=m.match(g.label)){let y=g.displayLabel?f?f(g,p.matched):[]:p.matched,b=p.score+(g.boost||0);if(s(new qz(g,d.source,y,b)),typeof g.section=="object"&&g.section.rank==="dynamic"){let{name:S}=g.section;r||(r=Object.create(null)),r[S]=Math.max(b,r[S]||-1e9)}}}}if(i){let d=Object.create(null),f=0,h=(p,m)=>(p.rank==="dynamic"&&m.rank==="dynamic"?r[m.name]-r[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(p.nameh.score-f.score||u(f.completion,h.completion))){let f=d.completion;!l||l.label!=f.label||l.detail!=f.detail||l.type!=null&&f.type!=null&&l.type!=f.type||l.apply!=f.apply||l.boost!=f.boost?o.push(d):Gz(d.completion)>Gz(l)&&(o[o.length-1]=d),l=d.completion}return o}class Mm{constructor(t,n,i,r,s,a){this.options=t,this.attrs=n,this.tooltip=i,this.timestamp=r,this.selected=s,this.disabled=a}setSelected(t,n){return t==this.selected||t>=this.options.length?this:new Mm(this.options,Wz(n,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,n,i,r,s,a){if(r&&!a&&t.some(u=>u.isPending))return r.setDisabled();let o=vXe(t,n);if(!o.length)return r&&t.some(u=>u.isPending)?r.setDisabled():null;let l=n.facet(us).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let u=r.options[r.selected].completion;for(let d=0;dd.hasResult()?Math.min(u,d.from):u,1e8),create:AXe,above:s.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(t){return new Mm(this.options,this.attrs,{...this.tooltip,pos:t.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new Mm(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Ek{constructor(t,n,i){this.active=t,this.id=n,this.open=i}static start(){return new Ek(TXe,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(t){let{state:n}=t,i=n.facet(us),s=(i.override||n.languageDataAt("autocomplete",$h(n)).map(pXe)).map(l=>(this.active.find(d=>d.source==l)||new Lo(l,this.active.some(d=>d.state!=0)?1:0)).update(t,i));s.length==this.active.length&&s.every((l,u)=>l==this.active[u])&&(s=this.active);let a=this.open,o=t.effects.some(l=>l.is(M5));a&&t.docChanged&&(a=a.map(t.changes)),t.selection||s.some(l=>l.hasResult()&&t.changes.touchesRange(l.from,l.to))||!wXe(s,this.active)||o?a=Mm.build(s,n,this.id,a,i,o):a&&a.disabled&&!s.some(l=>l.isPending)&&(a=null),!a&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new Lo(l.source,0):l));for(let l of t.effects)l.is(j5)&&(a=a&&a.setSelected(l.value,this.id));return s==this.active&&a==this.open?this:new Ek(s,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?EXe:kXe}}function wXe(e,t){if(e==t)return!0;for(let n=0,i=0;;){for(;n-1&&(n["aria-activedescendant"]=e+"-"+t),n}const TXe=[];function Lae(e,t){if(e.isUserEvent("input.complete")){let i=e.annotation(P5);if(i&&t.activateOnCompletion(i))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class Lo{constructor(t,n,i=!1){this.source=t,this.state=n,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(t,n){let i=Lae(t,n),r=this;(i&8||i&16&&this.touches(t))&&(r=new Lo(r.source,0)),i&4&&r.state==0&&(r=new Lo(this.source,1)),r=r.updateFor(t,i);for(let s of t.effects)if(s.is(wk))r=new Lo(r.source,1,s.value);else if(s.is(sx))r=new Lo(r.source,0);else if(s.is(M5))for(let a of s.value)a.source==r.source&&(r=a);return r}updateFor(t,n){return this.map(t.changes)}map(t){return this}touches(t){return t.changes.touchesRange($h(t.state))}}class og extends Lo{constructor(t,n,i,r,s,a){super(t,3,n),this.limit=i,this.result=r,this.from=s,this.to=a}hasResult(){return!0}updateFor(t,n){var i;if(!(n&3))return this.map(t.changes);let r=this.result;r.map&&!t.changes.empty&&(r=r.map(r,t.changes));let s=t.changes.mapPos(this.from),a=t.changes.mapPos(this.to,1),o=$h(t.state);if(o>a||!r||n&2&&($h(t.startState)==this.from||on.map(t))}}),Sa=_s.define({create(){return Ek.start()},update(e,t){return e.update(t)},provide:e=>[k5.from(e,t=>t.tooltip),rt.contentAttributes.from(e,t=>t.attrs)]});function L5(e,t){const n=t.completion.apply||t.completion.label;let i=e.state.field(Sa).active.find(r=>r.source==t.source);return i instanceof og?(typeof n=="string"?e.dispatch({...hXe(e.state,n,i.from,i.to),annotations:P5.of(t.completion)}):n(e,t.completion,i.from,i.to),!0):!1}const AXe=xXe(Sa,L5);function uv(e,t="option"){return n=>{let i=n.state.field(Sa,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+r*(e?1:-1):e?0:a-1;return o<0?o=t=="page"?0:a-1:o>=a&&(o=t=="page"?a-1:0),n.dispatch({effects:j5.of(o)}),!0}}const NXe=e=>{let t=e.state.field(Sa,!1);return e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.state.field(Sa,!1)?(e.dispatch({effects:wk.of(!0)}),!0):!1,CXe=e=>{let t=e.state.field(Sa,!1);return!t||!t.active.some(n=>n.state!=0)?!1:(e.dispatch({effects:sx.of(null)}),!0)};class RXe{constructor(t,n){this.active=t,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const IXe=50,PXe=1e3,jXe=pr.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(Sa).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(Sa),n=e.state.facet(us);if(!e.selectionSet&&!e.docChanged&&e.startState.field(Sa)==t)return;let i=e.transactions.some(s=>{let a=Lae(s,n);return a&8||(s.selection||s.docChanged)&&!(a&3)});for(let s=0;sIXe&&Date.now()-a.time>PXe){for(let o of a.context.abortListeners)try{o()}catch(l){ka(this.view.state,l)}a.context.abortListeners=null,this.running.splice(s--,1)}else a.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(s=>s.effects.some(a=>a.is(wk)))&&(this.pendingStart=!0);let r=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(s=>s.isPending&&!this.running.some(a=>a.active.source==s.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let s of e.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(Sa);for(let n of t.active)n.isPending&&!this.running.some(i=>i.active.source==n.source)&&this.startQuery(n);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(us).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=$h(t),i=new R5(t,n,e.explicit,this.view),r=new RXe(e,i);this.running.push(r),Promise.resolve(e.source(i)).then(s=>{r.context.aborted||(r.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:sx.of(null)}),ka(this.view.state,s)})}scheduleAccept(){this.running.every(e=>e.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(us).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(us),i=this.view.state.field(Sa);for(let r=0;ro.source==s.active.source);if(a&&a.isPending)if(s.done==null){let o=new Lo(s.active.source,0);for(let l of s.updates)o=o.update(l,n);o.isPending||t.push(o)}else this.startQuery(a)}(t.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:M5.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(Sa,!1);if(t&&t.tooltip&&this.view.state.facet(us).closeOnBlur){let n=t.open&&dae(this.view,t.open.tooltip);(!n||!n.dom.contains(e.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:sx.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:wk.of(!1)}),20),this.composing=0}}}),MXe=typeof navigator=="object"&&/Win/.test(navigator.platform),LXe=Hu.highest(rt.domEventHandlers({keydown(e,t){let n=t.state.field(Sa,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&!(MXe&&e.altKey)||e.metaKey)return!1;let i=n.open.options[n.open.selected],r=n.active.find(a=>a.source==i.source),s=i.completion.commitCharacters||r.result.commitCharacters;return s&&s.indexOf(e.key)>-1&&L5(t,i),!1}})),Dae=rt.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class DXe{constructor(t,n,i,r){this.field=t,this.line=n,this.from=i,this.to=r}}class D5{constructor(t,n,i){this.field=t,this.from=n,this.to=i}map(t){let n=t.mapPos(this.from,-1,ws.TrackDel),i=t.mapPos(this.to,1,ws.TrackDel);return n==null||i==null?null:new D5(this.field,n,i)}}class $5{constructor(t,n){this.lines=t,this.fieldPositions=n}instantiate(t,n){let i=[],r=[n],s=t.doc.lineAt(n),a=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(i.length){let u=a,d=/^\t*/.exec(l)[0].length;for(let f=0;fnew D5(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:i,ranges:o}}static parse(t){let n=[],i=[],r=[],s;for(let a of t.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(a);){let o=s[1]?+s[1]:null,l=s[2]||s[3]||"",u=-1;o===0&&(o=1e9);let d=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=u&&h.field++}for(let f of r)if(f.line==i.length&&f.from>s.index){let h=s[2]?3+(s[1]||"").length:2;f.from-=h,f.to-=h}r.push(new DXe(u,i.length,s.index,s.index+d.length)),a=a.slice(0,s.index)+l+a.slice(s.index+s[0].length)}a=a.replace(/\\([{}])/g,(o,l,u)=>{for(let d of r)d.line==i.length&&d.from>u&&(d.from--,d.to--);return l}),i.push(a)}return new $5(i,r)}}let $Xe=_t.widget({widget:new class extends Cl{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),QXe=_t.mark({class:"cm-snippetField"});class P0{constructor(t,n){this.ranges=t,this.active=n,this.deco=_t.set(t.map(i=>(i.from==i.to?$Xe:QXe).range(i.from,i.to)),!0)}map(t){let n=[];for(let i of this.ranges){let r=i.map(t);if(!r)return null;n.push(r)}return new P0(n,this.active)}selectionInsideField(t){return t.ranges.every(n=>this.ranges.some(i=>i.field==this.active&&i.from<=n.from&&i.to>=n.to))}}const O1=Ht.define({map(e,t){return e&&e.map(t)}}),BXe=Ht.define(),ax=_s.define({create(){return null},update(e,t){for(let n of t.effects){if(n.is(O1))return n.value;if(n.is(BXe)&&e)return new P0(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>rt.decorations.from(e,t=>t?t.deco:_t.none)});function Q5(e,t){return Re.create(e.filter(n=>n.field==t).map(n=>Re.range(n.from,n.to)))}function UXe(e){let t=$5.parse(e);return(n,i,r,s)=>{let{text:a,ranges:o}=t.instantiate(n.state,r),{main:l}=n.state.selection,u={changes:{from:r,to:s==l.from?l.to:s,insert:Wn.of(a)},scrollIntoView:!0,annotations:i?[P5.of(i),Dr.userEvent.of("input.complete")]:void 0};if(o.length&&(u.selection=Q5(o,0)),o.some(d=>d.field>0)){let d=new P0(o,0),f=u.effects=[O1.of(d)];n.state.field(ax,!1)===void 0&&f.push(Ht.appendConfig.of([ax,qXe,HXe,Dae]))}n.dispatch(n.state.update(u))}}function $ae(e){return({state:t,dispatch:n})=>{let i=t.field(ax,!1);if(!i||e<0&&i.active==0)return!1;let r=i.active+e,s=e>0&&!i.ranges.some(a=>a.field==r+e);return n(t.update({selection:Q5(i.ranges,r),effects:O1.of(s?null:new P0(i.ranges,r)),scrollIntoView:!0})),!0}}const zXe=({state:e,dispatch:t})=>e.field(ax,!1)?(t(e.update({effects:O1.of(null)})),!0):!1,FXe=$ae(1),VXe=$ae(-1),XXe=[{key:"Tab",run:FXe,shift:VXe},{key:"Escape",run:zXe}],Zz=ht.define({combine(e){return e.length?e[0]:XXe}}),qXe=Hu.highest(R0.compute([Zz],e=>e.facet(Zz)));function rr(e,t){return{...t,apply:UXe(e)}}const HXe=rt.domEventHandlers({mousedown(e,t){let n=t.state.field(ax,!1),i;if(!n||(i=t.posAtCoords({x:e.clientX,y:e.clientY}))==null)return!1;let r=n.ranges.find(s=>s.from<=i&&s.to>=i);return!r||r.field==n.active?!1:(t.dispatch({selection:Q5(n.ranges,r.field),effects:O1.of(n.ranges.some(s=>s.field>r.field)?new P0(n.ranges,r.field):null),scrollIntoView:!0}),!0)}}),ox={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},wh=Ht.define({map(e,t){let n=t.mapPos(e,-1,ws.TrackAfter);return n??void 0}}),B5=new class extends gf{};B5.startSide=1;B5.endSide=-1;const Qae=_s.define({create(){return Sn.empty},update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:i=>i>=n.from&&i<=n.to})}for(let n of t.effects)n.is(wh)&&(e=e.update({add:[B5.range(n.value,n.value+1)]}));return e}});function YXe(){return[WXe,Qae]}const sC="()[]{}<>«»»«[]{}";function Bae(e){for(let t=0;t{if((GXe?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let r=e.state.selection.main;if(i.length>2||i.length==2&&ec(xa(i,0))==1||t!=r.from||n!=r.to)return!1;let s=JXe(e.state,i);return s?(e.dispatch(s),!0):!1}),ZXe=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Uae(e,e.selection.main.head).brackets||ox.brackets,r=null,s=e.changeByRange(a=>{if(a.empty){let o=eqe(e.doc,a.head);for(let l of i)if(l==o&&C_(e.doc,a.head)==Bae(xa(l,0)))return{changes:{from:a.head-l.length,to:a.head+l.length},range:Re.cursor(a.head-l.length)}}return{range:r=a}});return r||t(e.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},KXe=[{key:"Backspace",run:ZXe}];function JXe(e,t){let n=Uae(e,e.selection.main.head),i=n.brackets||ox.brackets;for(let r of i){let s=Bae(xa(r,0));if(t==r)return s==r?iqe(e,r,i.indexOf(r+r+r)>-1,n):tqe(e,r,s,n.before||ox.before);if(t==s&&zae(e,e.selection.main.from))return nqe(e,r,s)}return null}function zae(e,t){let n=!1;return e.field(Qae).between(0,e.doc.length,i=>{i==t&&(n=!0)}),n}function C_(e,t){let n=e.sliceString(t,t+2);return n.slice(0,ec(xa(n,0)))}function eqe(e,t){let n=e.sliceString(t-2,t);return ec(xa(n,0))==n.length?n:n.slice(1)}function tqe(e,t,n,i){let r=null,s=e.changeByRange(a=>{if(!a.empty)return{changes:[{insert:t,from:a.from},{insert:n,from:a.to}],effects:wh.of(a.to+t.length),range:Re.range(a.anchor+t.length,a.head+t.length)};let o=C_(e.doc,a.head);return!o||/\s/.test(o)||i.indexOf(o)>-1?{changes:{insert:t+n,from:a.head},effects:wh.of(a.head+t.length),range:Re.cursor(a.head+t.length)}:{range:r=a}});return r?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function nqe(e,t,n){let i=null,r=e.changeByRange(s=>s.empty&&C_(e.doc,s.head)==n?{changes:{from:s.head,to:s.head+n.length,insert:n},range:Re.cursor(s.head+n.length)}:i={range:s});return i?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function iqe(e,t,n,i){let r=i.stringPrefixes||ox.stringPrefixes,s=null,a=e.changeByRange(o=>{if(!o.empty)return{changes:[{insert:t,from:o.from},{insert:t,from:o.to}],effects:wh.of(o.to+t.length),range:Re.range(o.anchor+t.length,o.head+t.length)};let l=o.head,u=C_(e.doc,l),d;if(u==t){if(Kz(e,l))return{changes:{insert:t+t,from:l},effects:wh.of(l+t.length),range:Re.cursor(l+t.length)};if(zae(e,l)){let h=n&&e.sliceDoc(l,l+t.length*3)==t+t+t?t+t+t:t;return{changes:{from:l,to:l+h.length,insert:h},range:Re.cursor(l+h.length)}}}else{if(n&&e.sliceDoc(l-2*t.length,l)==t+t&&(d=Jz(e,l-2*t.length,r))>-1&&Kz(e,d))return{changes:{insert:t+t+t+t,from:l},effects:wh.of(l+t.length),range:Re.cursor(l+t.length)};if(e.charCategorizer(l)(u)!=Zi.Word&&Jz(e,l,r)>-1&&!rqe(e,l,t,r))return{changes:{insert:t+t,from:l},effects:wh.of(l+t.length),range:Re.cursor(l+t.length)}}return{range:s=o}});return s?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function Kz(e,t){let n=yi(e).resolveInner(t+1);return n.parent&&n.from==t}function rqe(e,t,n,i){let r=yi(e).resolveInner(t,-1),s=i.reduce((a,o)=>Math.max(a,o.length),0);for(let a=0;a<5;a++){let o=e.sliceDoc(r.from,Math.min(r.to,r.from+n.length+s)),l=o.indexOf(n);if(!l||l>-1&&i.indexOf(o.slice(0,l))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>n.length+l;){if(e.sliceDoc(d.to-n.length,d.to)==n)return!1;d=d.firstChild}return!0}let u=r.to==t&&r.parent;if(!u)break;r=u}return!1}function Jz(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=Zi.Word)return t;for(let r of n){let s=t-r.length;if(e.sliceDoc(s,t)==r&&i(e.sliceDoc(s-1,s))!=Zi.Word)return s}return-1}function sqe(e={}){return[LXe,Sa,us.of(e),jXe,aqe,Dae]}const Fae=[{key:"Ctrl-Space",run:rC},{mac:"Alt-`",run:rC},{mac:"Alt-i",run:rC},{key:"Escape",run:CXe},{key:"ArrowDown",run:uv(!0)},{key:"ArrowUp",run:uv(!1)},{key:"PageDown",run:uv(!0,"page")},{key:"PageUp",run:uv(!1,"page")},{key:"Enter",run:NXe}],aqe=Hu.highest(R0.computeN([us],e=>e.facet(us).defaultKeymap?[Fae]:[])),Vae=[rr("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),rr("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),rr("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),rr("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),rr("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),rr(`try { +`,n)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const n=XS(t),i=$p(n);return i.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const n=XS(t),i=$p(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,n){return this.type!=="comment"||this.indent<=n?!1:t.every(i=>i.type==="newline"||i.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};function lUe(e){const t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new aUe||null,prettyErrors:t}}function cUe(e,t={}){const{lineCounter:n,prettyErrors:i}=lUe(t),r=new oUe(n==null?void 0:n.addNewLine),s=new tUe(t);let a=null;for(const o of s.compose(r.parse(e),!0,e.length))if(!a)a=o;else if(a.options.logLevel!=="silent"){a.errors.push(new tb(o.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return i&&n&&(a.errors.forEach(f7(e,n)),a.warnings.forEach(f7(e,n))),a}function $re(e,t,n){let i=null;if(Array.isArray(t)&&(i=t),e===void 0){const{keepUndefined:r}={};if(!r)return}return r1(e)&&!i?e.toString(n):new l1(e,i,n).toString(n)}const Qre=1024;let uUe=0,Po=class{constructor(t,n){this.from=t,this.to=n}};class Yt{constructor(t={}){this.id=uUe++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=t.combine||null}add(t){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof t!="function"&&(t=Zr.match(t)),n=>{let i=t(n);return i===void 0?null:[this,i]}}}Yt.closedBy=new Yt({deserialize:e=>e.split(" ")});Yt.openedBy=new Yt({deserialize:e=>e.split(" ")});Yt.group=new Yt({deserialize:e=>e.split(" ")});Yt.isolate=new Yt({deserialize:e=>{if(e&&e!="rtl"&&e!="ltr"&&e!="auto")throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}});Yt.contextHash=new Yt({perNode:!0});Yt.lookAhead=new Yt({perNode:!0});Yt.mounted=new Yt({perNode:!0});class eg{constructor(t,n,i,r=!1){this.tree=t,this.overlay=n,this.parser=i,this.bracketed=r}static get(t){return t&&t.props&&t.props[Yt.mounted.id]}}const dUe=Object.create(null);class Zr{constructor(t,n,i,r=0){this.name=t,this.props=n,this.id=i,this.flags=r}static define(t){let n=t.props&&t.props.length?Object.create(null):dUe,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),r=new Zr(t.name||"",n,t.id,i);if(t.props){for(let s of t.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[s[0].id]=s[1]}}return r}prop(t){return this.props[t.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(t){if(typeof t=="string"){if(this.name==t)return!0;let n=this.prop(Yt.group);return n?n.indexOf(t)>-1:!1}return this.id==t}static match(t){let n=Object.create(null);for(let i in t)for(let r of i.split(" "))n[r]=t[i];return i=>{for(let r=i.prop(Yt.group),s=-1;s<(r?r.length:0);s++){let a=n[s<0?i.name:r[s]];if(a)return a}}}}Zr.none=new Zr("",Object.create(null),0,8);class u1{constructor(t){this.types=t;for(let n=0;n0;for(let l=this.cursor(a|ei.IncludeAnonymous);;){let u=!1;if(l.from<=s&&l.to>=r&&(!o&&l.type.isAnonymous||n(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&i&&(o||!l.type.isAnonymous)&&i(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let n in this.props)t.push([+n,this.props[n]]);return t}balance(t={}){return this.children.length<=8?this:s$(Zr.none,this.children,this.positions,0,this.children.length,0,this.length,(n,i,r)=>new ni(this.type,n,i,r,this.propValues),t.makeTree||((n,i,r)=>new ni(Zr.none,n,i,r)))}static build(t){return mUe(t)}}ni.empty=new ni(Zr.none,[],[],0);class i${constructor(t,n){this.buffer=t,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i$(this.buffer,this.index)}}class mf{constructor(t,n,i){this.buffer=t,this.length=n,this.set=i}get type(){return Zr.none}toString(){let t=[];for(let n=0;n0));l=a[l+3]);return o}slice(t,n,i){let r=this.buffer,s=new Uint16Array(n-t),a=0;for(let o=t,l=0;o=t&&nt;case 1:return n<=t&&i>t;case 2:return i>t;case 4:return!0}}function qy(e,t,n,i){for(var r;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to0?o.length:-1;t!=u;t+=n){let d=o[t],f=l[t]+a.from,h;if(!(!(s&ei.EnterBracketed&&d instanceof ni&&(h=eg.get(d))&&!h.overlay&&h.bracketed&&i>=f&&i<=f+d.length)&&!Bre(r,i,f,f+d.length))){if(d instanceof mf){if(s&ei.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,n,i-f,r);if(p>-1)return new oc(new fUe(a,d,t,f),null,p)}else if(s&ei.IncludeAnonymous||!d.type.isAnonymous||r$(d)){let p;if(!(s&ei.IgnoreMounts)&&(p=eg.get(d))&&!p.overlay)return new $s(p.tree,f,t,a);let m=new $s(d,f,t,a);return s&ei.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(n<0?d.children.length-1:0,n,i,r,s)}}}if(s&ei.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?t=a.index+n:t=n<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}prop(t){return this._tree.prop(t)}enter(t,n,i=0){let r;if(!(i&ei.IgnoreOverlays)&&(r=eg.get(this._tree))&&r.overlay){let s=t-this.from,a=i&ei.EnterBracketed&&r.bracketed;for(let{from:o,to:l}of r.overlay)if((n>0||a?o<=s:o=s:l>s))return new $s(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,n,i)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function y7(e,t,n,i){let r=e.cursor(),s=[];if(!r.firstChild())return s;if(n!=null){for(let a=!1;!a;)if(a=r.type.is(n),!r.nextSibling())return s}for(;;){if(i!=null&&r.type.is(i))return s;if(r.type.is(t)&&s.push(r.node),!r.nextSibling())return i==null?s:[]}}function YP(e,t,n=t.length-1){for(let i=e;n>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[n]&&t[n]!=i.name)return!1;n--}}return!0}class fUe{constructor(t,n,i,r){this.parent=t,this.buffer=n,this.index=i,this.start=r}}class oc extends Ure{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(t,n,i){super(),this.context=t,this._parent=n,this.index=i,this.type=t.buffer.set.types[t.buffer.buffer[i]]}child(t,n,i){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t,n-this.context.start,i);return s<0?null:new oc(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}prop(t){return this.type.prop(t)}enter(t,n,i=0){if(i&ei.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],n>0?1:-1,t-this.context.start,n);return s<0?null:new oc(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,n=t.buffer[this.index+3];return n<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new oc(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new oc(this.context,this._parent,t.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],n=[],{buffer:i}=this.context,r=this.index+4,s=i.buffer[this.index+3];if(s>r){let a=i.buffer[this.index+1];t.push(i.slice(r,s,a)),n.push(0)}return new ni(this.type,t,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function zre(e){if(!e.length)return null;let t=0,n=e[0];for(let s=1;sn.from||a.to=t){let o=new $s(a.tree,a.overlay[0].from+s.from,-1,s);(r||(r=[i])).push(qy(o,t,n,!1))}}return r?zre(r):i}class ik{get name(){return this.type.name}constructor(t,n=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=n&~ei.EnterBracketed,t instanceof $s)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let i=t._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return t?(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0):!1}yieldBuf(t,n){this.index=t;let{start:i,buffer:r}=this.buffer;return this.type=n||r.set.types[r.buffer[t]],this.from=i+r.buffer[t+1],this.to=i+r.buffer[t+2],!0}yield(t){return t?t instanceof $s?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,n,i){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,n,i,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],t,n-this.buffer.start,i);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,n,i=this.mode){return this.buffer?i&ei.ExcludeBuffers?!1:this.enterChild(1,t,n):this.yield(this._tree.enter(t,n,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ei.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&ei.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode)):!1;let{buffer:n}=this.buffer,i=this.stack.length-1;if(t<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(n.findChild(r,this.index,-1,0,4))}else{let r=n.buffer[this.index+3];if(r<(i<0?n.buffer.length:n.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let n,i,{buffer:r}=this;if(r){if(t>0){if(this.index-1)for(let s=n+t,a=t<0?-1:i._tree.children.length;s!=a;s+=t){let o=i._tree.children[s];if(this.mode&ei.IncludeAnonymous||o instanceof mf||!o.type.isAnonymous||r$(o))return!1}return!0}move(t,n){if(n&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,n=0){for(;(this.from==this.to||(n<1?this.from>=t:this.from>t)||(n>-1?this.to<=t:this.to=0;){for(let a=t;a;a=a._parent)if(a.index==r){if(r==this.index)return a;n=a,i=s+1;break e}r=this.stack[--s]}for(let r=i;r=0;s--){if(s<0)return YP(this._tree,t,r);let a=i[n.buffer[this.stack[s]]];if(!a.isAnonymous){if(t[r]&&t[r]!=a.name)return!1;r--}}return!0}}function r$(e){return e.children.some(t=>t instanceof mf||!t.type.isAnonymous||r$(t))}function mUe(e){var t;let{buffer:n,nodeSet:i,maxBufferLength:r=Qre,reused:s=[],minRepeatType:a=i.types.length}=e,o=Array.isArray(n)?new i$(n,n.length):n,l=i.types,u=0,d=0;function f(E,w,k,_,C,A){let{id:R,start:j,end:Q,size:L}=o,D=d,N=u;if(L<0)if(o.next(),L==-1){let G=s[R];k.push(G),_.push(j-E);return}else if(L==-3){u=R;return}else if(L==-4){d=R;return}else throw new RangeError(`Unrecognized record size: ${L}`);let M=l[R],B,$,I=j-E;if(Q-j<=r&&($=y(o.pos-w,C))){let G=new Uint16Array($.size-$.skip),X=o.pos-$.size,U=G.length;for(;o.pos>X;)U=b($.start,G,U);B=new mf(G,Q-$.start,i),I=$.start-E}else{let G=o.pos-L;o.next();let X=[],U=[],Y=R>=a?R:-1,ae=0,fe=Q;for(;o.pos>G;)Y>=0&&o.id==Y&&o.size>=0?(o.end<=fe-r&&(m(X,U,j,ae,o.end,fe,Y,D,N),ae=X.length,fe=o.end),o.next()):A>2500?h(j,G,X,U):f(j,G,X,U,Y,A+1);if(Y>=0&&ae>0&&ae-1&&ae>0){let ke=p(M,N);B=s$(M,X,U,0,X.length,0,Q-j,ke,ke)}else B=g(M,X,U,Q-j,D-Q,N)}k.push(B),_.push(I)}function h(E,w,k,_){let C=[],A=0,R=-1;for(;o.pos>w;){let{id:j,start:Q,end:L,size:D}=o;if(D>4)o.next();else{if(R>-1&&Q=0;L-=3)j[D++]=C[L],j[D++]=C[L+1]-Q,j[D++]=C[L+2]-Q,j[D++]=D;k.push(new mf(j,C[2]-Q,i)),_.push(Q-E)}}function p(E,w){return(k,_,C)=>{let A=0,R=k.length-1,j,Q;if(R>=0&&(j=k[R])instanceof ni){if(!R&&j.type==E&&j.length==C)return j;(Q=j.prop(Yt.lookAhead))&&(A=_[R]+j.length+Q)}return g(E,k,_,C,A,w)}}function m(E,w,k,_,C,A,R,j,Q){let L=[],D=[];for(;E.length>_;)L.push(E.pop()),D.push(w.pop()+k-C);E.push(g(i.types[R],L,D,A-C,j-A,Q)),w.push(C-k)}function g(E,w,k,_,C,A,R){if(A){let j=[Yt.contextHash,A];R=R?[j].concat(R):[j]}if(C>25){let j=[Yt.lookAhead,C];R=R?[j].concat(R):[j]}return new ni(E,w,k,_,R)}function y(E,w){let k=o.fork(),_=0,C=0,A=0,R=k.end-r,j={size:0,start:0,skip:0};e:for(let Q=k.pos-E;k.pos>Q;){let L=k.size;if(k.id==w&&L>=0){j.size=_,j.start=C,j.skip=A,A+=4,_+=4,k.next();continue}let D=k.pos-L;if(L<0||D=a?4:0,M=k.start;for(k.next();k.pos>D;){if(k.size<0)if(k.size==-3||k.size==-4)N+=4;else break e;else k.id>=a&&(N+=4);k.next()}C=M,_+=L,A+=N}return(w<0||_==E)&&(j.size=_,j.start=C,j.skip=A),j.size>4?j:void 0}function b(E,w,k){let{id:_,start:C,end:A,size:R}=o;if(o.next(),R>=0&&_4){let Q=o.pos-(R-4);for(;o.pos>Q;)k=b(E,w,k)}w[--k]=j,w[--k]=A-E,w[--k]=C-E,w[--k]=_}else R==-3?u=_:R==-4&&(d=_);return k}let S=[],x=[];for(;o.pos>0;)f(e.start||0,e.bufferStart||0,S,x,-1,0);let v=(t=e.length)!==null&&t!==void 0?t:S.length?x[0]+S[0].length:0;return new ni(l[e.topID],S.reverse(),x.reverse(),v)}const x7=new WeakMap;function yw(e,t){if(!e.isAnonymous||t instanceof mf||t.type!=e)return 1;let n=x7.get(t);if(n==null){n=1;for(let i of t.children){if(i.type!=e||!(i instanceof ni)){n=1;break}n+=yw(e,i)}x7.set(t,n)}return n}function s$(e,t,n,i,r,s,a,o,l){let u=0;for(let m=i;m=d)break;w+=k}if(x==v+1){if(w>d){let k=m[v];p(k.children,k.positions,0,k.children.length,g[v]+S);continue}f.push(m[v])}else{let k=g[x-1]+m[x-1].length-E;f.push(s$(e,m,g,v,x,E,k,null,l))}h.push(E+S-s)}}return p(t,n,i,r,0),(o||l)(f,h,a)}class a${constructor(){this.map=new WeakMap}setBuffer(t,n,i){let r=this.map.get(t);r||this.map.set(t,r=new Map),r.set(n,i)}getBuffer(t,n){let i=this.map.get(t);return i&&i.get(n)}set(t,n){t instanceof oc?this.setBuffer(t.context.buffer,t.index,n):t instanceof $s&&this.map.set(t.tree,n)}get(t){return t instanceof oc?this.getBuffer(t.context.buffer,t.index):t instanceof $s?this.map.get(t.tree):void 0}cursorSet(t,n){t.buffer?this.setBuffer(t.buffer.buffer,t.index,n):this.map.set(t.tree,n)}cursorGet(t){return t.buffer?this.getBuffer(t.buffer.buffer,t.index):this.map.get(t.tree)}}class yu{constructor(t,n,i,r,s=!1,a=!1){this.from=t,this.to=n,this.tree=i,this.offset=r,this.open=(s?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,n=[],i=!1){let r=[new yu(0,t.length,t,0,!1,i)];for(let s of n)s.to>t.length&&r.push(s);return r}static applyChanges(t,n,i=128){if(!n.length)return t;let r=[],s=1,a=t.length?t[0]:null;for(let o=0,l=0,u=0;;o++){let d=o=i)for(;a&&a.from=h.from||f<=h.to||u){let p=Math.max(h.from,l)-u,m=Math.min(h.to,f)-u;h=p>=m?null:new yu(p,m,h.tree,h.offset+u,o>0,!!d)}if(h&&r.push(h),a.to>f)break;a=snew Po(r.from,r.to)):[new Po(0,0)]:[new Po(0,t.length)],this.createParse(t,n||[],i)}parse(t,n,i){let r=this.startParse(t,n,i);for(;;){let s=r.advance();if(s)return s}}}class gUe{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,n){return this.string.slice(t,n)}}function Fre(e){return(t,n,i,r)=>new bUe(t,e,n,i,r)}class S7{constructor(t,n,i,r,s,a){this.parser=t,this.parse=n,this.overlay=i,this.bracketed=r,this.target=s,this.from=a}}function v7(e){if(!e.length||e.some(t=>t.from>=t.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class OUe{constructor(t,n,i,r,s,a,o,l){this.parser=t,this.predicate=n,this.mounts=i,this.index=r,this.start=s,this.bracketed=a,this.target=o,this.prev=l,this.depth=0,this.ranges=[]}}const GP=new Yt({perNode:!0});class bUe{constructor(t,n,i,r,s){this.nest=n,this.input=i,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=t}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new ni(i.type,i.children,i.positions,i.length,i.propValues.concat([[GP,this.stoppedAt]]))),i}let t=this.inner[this.innerDone],n=t.parse.advance();if(n){this.innerDone++;let i=Object.assign(Object.create(null),t.target.props);i[Yt.mounted.id]=new eg(n,t.overlay,t.parser,t.bracketed),t.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let t=this.input.length;for(let n=this.innerDone;n=this.stoppedAt)o=!1;else if(t.hasNode(r)){if(n){let u=n.mounts.find(d=>d.frag.from<=r.from&&d.frag.to>=r.to&&d.mount.overlay);if(u)for(let d of u.mount.overlay){let f=d.from+u.pos,h=d.to+u.pos;f>=r.from&&h<=r.to&&!n.ranges.some(p=>p.fromf)&&n.ranges.push({from:f,to:h})}}o=!1}else if(i&&(a=yUe(i.ranges,r.from,r.to)))o=a!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Po(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,d.length?d[0].from:r.from)),s.overlay?d.length&&(i={ranges:d,depth:0,prev:i}):o=!1}}else if(n&&(l=n.predicate(r))&&(l===!0&&(l=new Po(r.from,r.to)),l.from=0&&n.ranges[u].to==l.from?n.ranges[u]={from:n.ranges[u].from,to:l.to}:n.ranges.push(l)}if(o&&r.firstChild())n&&n.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(n&&!--n.depth){let u=k7(this.ranges,n.ranges);u.length&&(v7(u),this.inner.splice(n.index,0,new S7(n.parser,n.parser.startParse(this.input,T7(n.mounts,u),u),n.ranges.map(d=>new Po(d.from-n.start,d.to-n.start)),n.bracketed,n.target,u[0].from))),n=n.prev}i&&!--i.depth&&(i=i.prev)}}}}function yUe(e,t,n){for(let i of e){if(i.from>=n)break;if(i.to>t)return i.from<=t&&i.to>=n?2:1}return 0}function w7(e,t,n,i,r,s){if(t=t&&n.enter(i,1,ei.IgnoreOverlays|ei.ExcludeBuffers)))if(n.to<=t)n.next(!1)||(this.done=!0);else break}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let n=this.cursor.tree;;){if(n==t.tree)return!0;if(n.children.length&&n.positions[0]==0&&n.children[0]instanceof ni)n=n.children[0];else break}return!1}}let SUe=class{constructor(t){var n;if(this.fragments=t,this.curTo=0,this.fragI=0,t.length){let i=this.curFrag=t[0];this.curTo=(n=i.tree.prop(GP))!==null&&n!==void 0?n:i.to,this.inner=new E7(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(t){for(;this.curFrag&&t.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=t.from&&this.curTo>=t.to&&this.inner.hasNode(t)}nextFrag(){var t;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let n=this.curFrag=this.fragments[this.fragI];this.curTo=(t=n.tree.prop(GP))!==null&&t!==void 0?t:n.to,this.inner=new E7(n.tree,-n.offset)}}findMounts(t,n){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(t,1);for(let s=this.inner.cursor.node;s;s=s.parent){let a=(i=s.tree)===null||i===void 0?void 0:i.prop(Yt.mounted);if(a&&a.parser==n)for(let o=this.fragI;o=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:a})}}}return r}};function k7(e,t){let n=null,i=t;for(let r=1,s=0;r=o)break;l.to<=a||(n||(i=n=t.slice()),l.fromo&&n.splice(s+1,0,new Po(o,l.to))):l.to>o?n[s--]=new Po(o,l.to):n.splice(s--,1))}}return i}function vUe(e,t,n,i){let r=0,s=0,a=!1,o=!1,l=-1e9,u=[];for(;;){let d=r==e.length?1e9:a?e[r].to:e[r].from,f=s==t.length?1e9:o?t[s].to:t[s].from;if(a!=o){let h=Math.max(l,n),p=Math.min(d,f,i);hnew Po(h.from+i,h.to+i)),f=vUe(t,d,l,u);for(let h=0,p=l;;h++){let m=h==f.length,g=m?u:f[h].from;if(g>p&&n.push(new yu(p,g,r.tree,-a,s.from>=p||s.openStart,s.to<=g||s.openEnd)),m)break;p=f[h].to}}else n.push(new yu(l,u,r.tree,-a,s.from>=a||s.openStart,s.to<=o||s.openEnd))}return n}var _7={};class rk{constructor(t,n,i,r,s,a,o,l,u,d=0,f){this.p=t,this.stack=n,this.state=i,this.reducePos=r,this.pos=s,this.score=a,this.buffer=o,this.bufferBase=l,this.curContext=u,this.lookAhead=d,this.parent=f}toString(){return`[${this.stack.filter((t,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,n,i=0){let r=t.parser.context;return new rk(t,[],n,i,i,0,[],0,r?new A7(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var n;let i=t>>19,r=t&65535,{parser:s}=this.p,a=this.reducePos=2e3&&!(!((n=this.p.parser.nodeSet.types[r])===null||n===void 0)&&n.isAnonymous)&&(u==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=d):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(r,u)}storeNode(t,n,i,r=4,s=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[a-4]==0&&this.buffer[a-1]>-1){if(n==i)return;if(this.buffer[a-2]>=n){this.buffer[a-2]=i;return}}}if(!s||this.pos==i)this.buffer.push(t,n,i,r);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let o=!1;for(let l=a;l>0&&this.buffer[l-2]>i;l-=4)if(this.buffer[l-1]>=0){o=!0;break}if(o)for(;a>0&&this.buffer[a-2]>i;)this.buffer[a]=this.buffer[a-4],this.buffer[a+1]=this.buffer[a-3],this.buffer[a+2]=this.buffer[a-2],this.buffer[a+3]=this.buffer[a-1],a-=4,r>4&&(r-=4)}this.buffer[a]=t,this.buffer[a+1]=n,this.buffer[a+2]=i,this.buffer[a+3]=r}}shift(t,n,i,r){if(t&131072)this.pushState(t&65535,this.pos);else if(t&262144)this.pos=r,this.shiftContext(n,i),n<=this.p.parser.maxNode&&this.buffer.push(n,i,r,4);else{let s=t,{parser:a}=this.p;this.pos=r;let o=a.stateFlag(s,1);!o&&(r>i||n<=a.maxNode)&&(this.reducePos=r),this.pushState(s,o?i:Math.min(i,this.reducePos)),this.shiftContext(n,i),n<=a.maxNode&&this.buffer.push(n,i,r,4)}}apply(t,n,i,r){t&65536?this.reduce(t):this.shift(t,n,i,r)}useNode(t,n){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=t)&&(this.p.reused.push(t),i++);let r=this.pos;this.reducePos=this.pos=r+t.length,this.pushState(n,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,n=t.buffer.length;for(n&&t.buffer[n-4]==0&&(n-=4);n>0&&t.buffer[n-2]>t.reducePos;)n-=4;let i=t.buffer.slice(n),r=t.bufferBase+n;for(;t&&r==t.bufferBase;)t=t.parent;return new rk(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,t)}recoverByDelete(t,n){let i=t<=this.p.parser.maxNode;i&&this.storeNode(t,this.pos,n,4),this.storeNode(0,this.pos,n,i?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(t){for(let n=new wUe(this);;){let i=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,t);if(i==0)return!1;if(!(i&65536))return!0;n.reduce(i)}}recoverByInsert(t){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let r=[];for(let s=0,a;sl&1&&o==a)||r.push(n[s],a)}n=r}let i=[];for(let r=0;r>19,r=n&65535,s=this.stack.length-i*3;if(s<0||t.getGoto(this.stack[s],r,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;n=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:t}=this.p,n=[],i=(r,s)=>{if(!n.includes(r))return n.push(r),t.allActions(r,a=>{if(!(a&393216))if(a&65536){let o=(a>>19)-s;if(o>1){let l=a&65535,u=this.stack.length-o*3;if(u>=0&&t.getGoto(this.stack[u],l,!1)>=0)return o<<19|65536|l}}else{let o=i(a,s+1);if(o!=null)return o}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let n=0;n0&&this.emitLookAhead()}}class A7{constructor(t,n){this.tracker=t,this.context=n,this.hash=t.strict?t.hash(n):0}}class wUe{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let n=t&65535,i=t>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=r}}class sk{constructor(t,n,i){this.stack=t,this.pos=n,this.index=i,this.buffer=t.buffer,this.index==0&&this.maybeNext()}static create(t,n=t.bufferBase+t.buffer.length){return new sk(t,n,n-t.bufferBase)}maybeNext(){let t=this.stack.parent;t!=null&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new sk(this.stack,this.pos,this.index)}}function nb(e,t=Uint16Array){if(typeof e!="string")return e;let n=null;for(let i=0,r=0;i=92&&a--,a>=34&&a--;let l=a-32;if(l>=46&&(l-=46,o=!0),s+=l,o)break;s*=46}n?n[r++]=s:n=new t(s)}return n}class xw{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const N7=new xw;class EUe{constructor(t,n){this.input=t,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=N7,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(t,n){let i=this.range,r=this.rangeIndex,s=this.pos+t;for(;si.to:s>=i.to;){if(r==this.ranges.length-1)return null;let a=this.ranges[++r];s+=a.from-i.to,i=a}return s}clipPos(t){if(t>=this.range.from&&tt)return Math.max(t,n.from);return this.end}peek(t){let n=this.chunkOff+t,i,r;if(n>=0&&n=this.chunk2Pos&&io.to&&(this.chunk2=this.chunk2.slice(0,o.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(t,n=0){let i=n?this.resolveOffset(n,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,n){if(n?(this.token=n,n.start=t,n.lookAhead=t+1,n.value=n.extended=-1):this.token=N7,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,n-this.chunkPos);if(t>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,n-this.chunk2Pos);if(t>=this.range.from&&n<=this.range.to)return this.input.read(t,n);let i="";for(let r of this.ranges){if(r.from>=n)break;r.to>t&&(i+=this.input.read(Math.max(r.from,t),Math.min(r.to,n)))}return i}}class tg{constructor(t,n){this.data=t,this.id=n}token(t,n){let{parser:i}=n.p;Vre(this.data,t,n,this.id,i.data,i.tokenPrecTable)}}tg.prototype.contextual=tg.prototype.fallback=tg.prototype.extend=!1;class ak{constructor(t,n,i){this.precTable=n,this.elseToken=i,this.data=typeof t=="string"?nb(t):t}token(t,n){let i=t.pos,r=0;for(;;){let s=t.next<0,a=t.resolveOffset(1,1);if(Vre(this.data,t,n,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,a==null)break;t.reset(a,t.token)}r&&(t.reset(i,t.token),t.acceptToken(this.elseToken,r))}}ak.prototype.contextual=tg.prototype.fallback=tg.prototype.extend=!1;class Ar{constructor(t,n={}){this.token=t,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}}function Vre(e,t,n,i,r,s){let a=0,o=1<0){let m=e[p];if(l.allows(m)&&(t.token.value==-1||t.token.value==m||kUe(m,t.token.value,r,s))){t.acceptToken(m);break}}let d=t.next,f=0,h=e[a+2];if(t.next<0&&h>f&&e[u+h*3-3]==65535){a=e[u+h*3-1];continue e}for(;f>1,m=u+p+(p<<1),g=e[m],y=e[m+1]||65536;if(d=y)f=p+1;else{a=e[m+2],t.advance();continue e}}break}}function C7(e,t,n){for(let i=t,r;(r=e[i])!=65535;i++)if(r==n)return i-t;return-1}function kUe(e,t,n,i){let r=C7(n,i,t);return r<0||C7(n,i,e)t)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,t-25)):Math.min(e.length,Math.max(i.from+1,t+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:e.length}}let TUe=class{constructor(t,n){this.fragments=t,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?R7(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?R7(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(tt)return this.nextStart=a,null;if(s instanceof ni){if(a==t){if(a=Math.max(this.safeFrom,t)&&(this.trees.push(s),this.start.push(a),this.index.push(0))}else this.index[n]++,this.nextStart=a+s.length}}};class _Ue{constructor(t,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(i=>new xw)}getActions(t){let n=0,i=null,{parser:r}=t.p,{tokenizers:s}=r,a=r.stateSlot(t.state,3),o=t.curContext?t.curContext.hash:0,l=0;for(let u=0;uf.end+25&&(l=Math.max(f.lookAhead,l)),f.value!=0)){let h=n;if(f.extended>-1&&(n=this.addActions(t,f.extended,f.end,n)),n=this.addActions(t,f.value,f.end,n),!d.extend&&(i=f,n>h))break}}for(;this.actions.length>n;)this.actions.pop();return l&&t.setLookAhead(l),!i&&t.pos==this.stream.end&&(i=new xw,i.value=t.p.parser.eofTerm,i.start=i.end=t.pos,n=this.addActions(t,i.value,i.end,n)),this.mainToken=i,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let n=new xw,{pos:i,p:r}=t;return n.start=i,n.end=Math.min(i+1,r.stream.end),n.value=i==r.stream.end?r.parser.eofTerm:0,n}updateCachedToken(t,n,i){let r=this.stream.clipPos(i.pos);if(n.token(this.stream.reset(r,t),i),t.value>-1){let{parser:s}=i.p;for(let a=0;a=0&&i.p.parser.dialect.allows(o>>1)){o&1?t.extended=o>>1:t.value=o>>1;break}}}else t.value=0,t.end=this.stream.clipPos(r+1)}putAction(t,n,i,r){for(let s=0;st.bufferLength*4?new TUe(i,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,n=this.minStackPos,i=this.stacks=[],r,s;if(this.bigReductionCount>300&&t.length==1){let[a]=t;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;an)i.push(o);else{if(this.advanceStack(o,i,t))continue;{r||(r=[],s=[]),r.push(o);let l=this.tokens.getMainToken(o);s.push(l.value,l.end)}}break}}if(!i.length){let a=r&&CUe(r);if(a)return Ba&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw Ba&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&r){let a=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,i);if(a)return Ba&&console.log("Force-finish "+this.stackID(a)),this.stackToTree(a.forceAll())}if(this.recovering){let a=this.recovering==1?1:this.recovering*3;if(i.length>a)for(i.sort((o,l)=>l.score-o.score);i.length>a;)i.pop();i.some(o=>o.reducePos>n)&&this.recovering--}else if(i.length>1){e:for(let a=0;a500&&u.buffer.length>500)if((o.score-u.score||o.buffer.length-u.buffer.length)>0)i.splice(l--,1);else{i.splice(a--,1);continue e}}}i.length>12&&(i.sort((a,o)=>o.score-a.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let a=1;a ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let u=t.curContext&&t.curContext.tracker.strict,d=u?t.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let h=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(t.state,f.type.id):-1;if(h>-1&&f.length&&(!u||(f.prop(Yt.contextHash)||0)==d))return t.useNode(f,h),Ba&&console.log(a+this.stackID(t)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof ni)||f.children.length==0||f.positions[0]>0)break;let p=f.children[0];if(p instanceof ni&&f.positions[0]==0)f=p;else break}}let o=s.stateSlot(t.state,4);if(o>0)return t.reduce(o),Ba&&console.log(a+this.stackID(t)+` (via always-reduce ${s.getName(o&65535)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let l=this.tokens.getActions(t);for(let u=0;ur?n.push(m):i.push(m)}return!1}advanceFully(t,n){let i=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>i)return I7(t,n),!0}}runRecovery(t,n,i){let r=null,s=!1;for(let a=0;a ":"";if(o.deadEnd&&(s||(s=!0,o.restart(),Ba&&console.log(d+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))))continue;let f=o.split(),h=d;for(let p=0;p<10&&f.forceReduce()&&(Ba&&console.log(h+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,i));p++)Ba&&(h=this.stackID(f)+" -> ");for(let p of o.recoverByInsert(l))Ba&&console.log(d+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,i);this.stream.end>o.pos?(u==o.pos&&(u++,l=0),o.recoverByDelete(l,u),Ba&&console.log(d+this.stackID(o)+` (via recover-delete ${this.parser.getName(l)})`),I7(o,i)):(!r||r.scoree;class x_{constructor(t){this.start=t.start,this.shift=t.shift||PN,this.reduce=t.reduce||PN,this.reuse=t.reuse||PN,this.hash=t.hash||(()=>0),this.strict=t.strict!==!1}}class Iu extends o${constructor(t){if(super(),this.wrappers=[],t.version!=14)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let n=t.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let o=0;ot.topRules[o][1]),r=[];for(let o=0;o=0)s(d,l,o[u++]);else{let f=o[u+-d];for(let h=-d;h>0;h--)s(o[u++],l,f);u++}}}this.nodeSet=new u1(n.map((o,l)=>Zr.define({name:l>=this.minRepeatTerm?void 0:o,id:l,props:r[l],top:i.indexOf(l)>-1,error:l==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(l)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=Qre;let a=nb(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;otypeof o=="number"?new tg(a,o):o),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,n,i){let r=new AUe(this,t,n,i);for(let s of this.wrappers)r=s(r,t,n,i);return r}getGoto(t,n,i=!1){let r=this.goto;if(n>=r[0])return-1;for(let s=r[n+1];;){let a=r[s++],o=a&1,l=r[s++];if(o&&i)return l;for(let u=s+(a>>1);s0}validAction(t,n){return!!this.allActions(t,i=>i==n?!0:null)}allActions(t,n){let i=this.stateSlot(t,4),r=i?n(i):void 0;for(let s=this.stateSlot(t,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=iu(this.data,s+2);else break;r=n(iu(this.data,s+1))}return r}nextStates(t){let n=[];for(let i=this.stateSlot(t,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=iu(this.data,i+2);else break;if(!(this.data[i+2]&1)){let r=this.data[i+1];n.some((s,a)=>a&1&&s==r)||n.push(this.data[i],r)}}return n}configure(t){let n=Object.assign(Object.create(Iu.prototype),this);if(t.props&&(n.nodeSet=this.nodeSet.extend(...t.props)),t.top){let i=this.topRules[t.top];if(!i)throw new RangeError(`Invalid top rule name ${t.top}`);n.top=i}return t.tokenizers&&(n.tokenizers=this.tokenizers.map(i=>{let r=t.tokenizers.find(s=>s.from==i);return r?r.to:i})),t.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((i,r)=>{let s=t.specializers.find(o=>o.from==i.external);if(!s)return i;let a=Object.assign(Object.assign({},i),{external:s.to});return n.specializers[r]=P7(a),a})),t.contextTracker&&(n.context=t.contextTracker),t.dialect&&(n.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(n.strict=t.strict),t.wrap&&(n.wrappers=n.wrappers.concat(t.wrap)),t.bufferLength!=null&&(n.bufferLength=t.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let n=this.dynamicPrecedences;return n==null?0:n[t]||0}parseDialect(t){let n=Object.keys(this.dialects),i=n.map(()=>!1);if(t)for(let s of t.split(" ")){let a=n.indexOf(s);a>=0&&(i[a]=!0)}let r=null;for(let s=0;si)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.scoree.external(n,i)<<1|t}return e.get}let RUe=0,Kl=class WP{constructor(t,n,i,r){this.name=t,this.set=n,this.base=i,this.modified=r,this.id=RUe++}toString(){let{name:t}=this;for(let n of this.modified)n.name&&(t=`${n.name}(${t})`);return t}static define(t,n){let i=typeof t=="string"?t:"?";if(t instanceof WP&&(n=t),n!=null&&n.base)throw new Error("Can not derive from a modified tag");let r=new WP(i,[],null,[]);if(r.set.push(r),n)for(let s of n.set)r.set.push(s);return r}static defineModifier(t){let n=new ok(t);return i=>i.modified.indexOf(n)>-1?i:ok.get(i.base||i,i.modified.concat(n).sort((r,s)=>r.id-s.id))}},IUe=0;class ok{constructor(t){this.name=t,this.instances=[],this.id=IUe++}static get(t,n){if(!n.length)return t;let i=n[0].instances.find(o=>o.base==t&&PUe(n,o.modified));if(i)return i;let r=[],s=new Kl(t.name,r,t,n);for(let o of n)o.instances.push(s);let a=jUe(n);for(let o of t.set)if(!o.modified.length)for(let l of a)r.push(ok.get(o,l));return s}}function PUe(e,t){return e.length==t.length&&e.every((n,i)=>n==t[i])}function jUe(e){let t=[[]];for(let n=0;ni.length-n.length)}function Hu(e){let t=Object.create(null);for(let n in e){let i=e[n];Array.isArray(i)||(i=[i]);for(let r of n.split(" "))if(r){let s=[],a=2,o=r;for(let f=0;;){if(o=="..."&&f>0&&f+3==r.length){a=1;break}let h=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!h)throw new RangeError("Invalid path: "+r);if(s.push(h[0]=="*"?"":h[0][0]=='"'?JSON.parse(h[0]):h[0]),f+=h[0].length,f==r.length)break;let p=r[f++];if(f==r.length&&p=="!"){a=0;break}if(p!="/")throw new RangeError("Invalid path: "+r);o=r.slice(f)}let l=s.length-1,u=s[l];if(!u)throw new RangeError("Invalid path: "+r);let d=new Hy(i,a,l>0?s.slice(0,l):null);t[u]=d.sort(t[u])}}return Xre.add(t)}const Xre=new Yt({combine(e,t){let n,i,r;for(;e||t;){if(!e||t&&e.depth>=t.depth?(r=t,t=t.next):(r=e,e=e.next),n&&n.mode==r.mode&&!r.context&&!n.context)continue;let s=new Hy(r.tags,r.mode,r.context);n?n.next=s:i=s,n=s}return i}});class Hy{constructor(t,n,i,r){this.tags=t,this.mode=n,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(t){return!t||t.depth{let a=r;for(let o of s)for(let l of o.set){let u=n[l.id];if(u){a=a?a+" "+u:u;break}}return a},scope:i}}function MUe(e,t){let n=null;for(let i of e){let r=i.style(t);r&&(n=n?n+" "+r:r)}return n}function LUe(e,t,n,i=0,r=e.length){let s=new DUe(i,Array.isArray(t)?t:[t],n);s.highlightRange(e.cursor(),i,r,"",s.highlighters),s.flush(r)}class DUe{constructor(t,n,i){this.at=t,this.highlighters=n,this.span=i,this.class=""}startSpan(t,n){n!=this.class&&(this.flush(t),t>this.at&&(this.at=t),this.class=n)}flush(t){t>this.at&&this.class&&this.span(this.at,t,this.class)}highlightRange(t,n,i,r,s){let{type:a,from:o,to:l}=t;if(o>=i||l<=n)return;a.isTop&&(s=this.highlighters.filter(p=>!p.scope||p.scope(a)));let u=r,d=$Ue(t)||Hy.empty,f=MUe(s,d.tags);if(f&&(u&&(u+=" "),u+=f,d.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(n,o),u),d.opaque)return;let h=t.tree&&t.tree.prop(Yt.mounted);if(h&&h.overlay){let p=t.node.enter(h.overlay[0].from+o,1),m=this.highlighters.filter(y=>!y.scope||y.scope(h.tree.type)),g=t.firstChild();for(let y=0,b=o;;y++){let S=y=x||!t.nextSibling())););if(!S||x>i)break;b=S.to+o,b>n&&(this.highlightRange(p.cursor(),Math.max(n,S.from+o),Math.min(i,b),"",m),this.startSpan(Math.min(i,b),u))}g&&t.parent()}else if(t.firstChild()){h&&(r="");do if(!(t.to<=n)){if(t.from>=i)break;this.highlightRange(t,n,i,r,s),this.startSpan(Math.min(i,t.to),u)}while(t.nextSibling());t.parent()}}}function $Ue(e){let t=e.type.prop(Xre);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}const ot=Kl.define,HS=ot(),Ed=ot(),j7=ot(Ed),M7=ot(Ed),kd=ot(),YS=ot(kd),jN=ot(kd),Yl=ot(),qf=ot(Yl),zl=ot(),Fl=ot(),ZP=ot(),TO=ot(ZP),GS=ot(),H={comment:HS,lineComment:ot(HS),blockComment:ot(HS),docComment:ot(HS),name:Ed,variableName:ot(Ed),typeName:j7,tagName:ot(j7),propertyName:M7,attributeName:ot(M7),className:ot(Ed),labelName:ot(Ed),namespace:ot(Ed),macroName:ot(Ed),literal:kd,string:YS,docString:ot(YS),character:ot(YS),attributeValue:ot(YS),number:jN,integer:ot(jN),float:ot(jN),bool:ot(kd),regexp:ot(kd),escape:ot(kd),color:ot(kd),url:ot(kd),keyword:zl,self:ot(zl),null:ot(zl),atom:ot(zl),unit:ot(zl),modifier:ot(zl),operatorKeyword:ot(zl),controlKeyword:ot(zl),definitionKeyword:ot(zl),moduleKeyword:ot(zl),operator:Fl,derefOperator:ot(Fl),arithmeticOperator:ot(Fl),logicOperator:ot(Fl),bitwiseOperator:ot(Fl),compareOperator:ot(Fl),updateOperator:ot(Fl),definitionOperator:ot(Fl),typeOperator:ot(Fl),controlOperator:ot(Fl),punctuation:ZP,separator:ot(ZP),bracket:TO,angleBracket:ot(TO),squareBracket:ot(TO),paren:ot(TO),brace:ot(TO),content:Yl,heading:qf,heading1:ot(qf),heading2:ot(qf),heading3:ot(qf),heading4:ot(qf),heading5:ot(qf),heading6:ot(qf),contentSeparator:ot(Yl),list:ot(Yl),quote:ot(Yl),emphasis:ot(Yl),strong:ot(Yl),link:ot(Yl),monospace:ot(Yl),strikethrough:ot(Yl),inserted:ot(),deleted:ot(),changed:ot(),invalid:ot(),meta:GS,documentMeta:ot(GS),annotation:ot(GS),processingInstruction:ot(GS),definition:Kl.defineModifier("definition"),constant:Kl.defineModifier("constant"),function:Kl.defineModifier("function"),standard:Kl.defineModifier("standard"),local:Kl.defineModifier("local"),special:Kl.defineModifier("special")};for(let e in H){let t=H[e];t instanceof Kl&&(t.name=e)}qre([{tag:H.link,class:"tok-link"},{tag:H.heading,class:"tok-heading"},{tag:H.emphasis,class:"tok-emphasis"},{tag:H.strong,class:"tok-strong"},{tag:H.keyword,class:"tok-keyword"},{tag:H.atom,class:"tok-atom"},{tag:H.bool,class:"tok-bool"},{tag:H.url,class:"tok-url"},{tag:H.labelName,class:"tok-labelName"},{tag:H.inserted,class:"tok-inserted"},{tag:H.deleted,class:"tok-deleted"},{tag:H.literal,class:"tok-literal"},{tag:H.string,class:"tok-string"},{tag:H.number,class:"tok-number"},{tag:[H.regexp,H.escape,H.special(H.string)],class:"tok-string2"},{tag:H.variableName,class:"tok-variableName"},{tag:H.local(H.variableName),class:"tok-variableName tok-local"},{tag:H.definition(H.variableName),class:"tok-variableName tok-definition"},{tag:H.special(H.variableName),class:"tok-variableName2"},{tag:H.definition(H.propertyName),class:"tok-propertyName tok-definition"},{tag:H.typeName,class:"tok-typeName"},{tag:H.namespace,class:"tok-namespace"},{tag:H.className,class:"tok-className"},{tag:H.macroName,class:"tok-macroName"},{tag:H.propertyName,class:"tok-propertyName"},{tag:H.operator,class:"tok-operator"},{tag:H.comment,class:"tok-comment"},{tag:H.meta,class:"tok-meta"},{tag:H.invalid,class:"tok-invalid"},{tag:H.punctuation,class:"tok-punctuation"}]);const QUe=316,BUe=317,L7=1,UUe=2,zUe=3,FUe=4,VUe=318,XUe=320,qUe=321,HUe=5,YUe=6,GUe=0,KP=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Hre=125,WUe=59,JP=47,ZUe=42,KUe=43,JUe=45,e7e=60,t7e=44,n7e=63,i7e=46,r7e=91,s7e=new x_({start:!1,shift(e,t){return t==HUe||t==YUe||t==XUe?e:t==qUe},strict:!1}),a7e=new Ar((e,t)=>{let{next:n}=e;(n==Hre||n==-1||t.context)&&e.acceptToken(VUe)},{contextual:!0,fallback:!0}),o7e=new Ar((e,t)=>{let{next:n}=e,i;KP.indexOf(n)>-1||n==JP&&((i=e.peek(1))==JP||i==ZUe)||n!=Hre&&n!=WUe&&n!=-1&&!t.context&&e.acceptToken(QUe)},{contextual:!0}),l7e=new Ar((e,t)=>{e.next==r7e&&!t.context&&e.acceptToken(BUe)},{contextual:!0}),c7e=new Ar((e,t)=>{let{next:n}=e;if(n==KUe||n==JUe){if(e.advance(),n==e.next){e.advance();let i=!t.context&&t.canShift(L7);e.acceptToken(i?L7:UUe)}}else n==n7e&&e.peek(1)==i7e&&(e.advance(),e.advance(),(e.next<48||e.next>57)&&e.acceptToken(zUe))},{contextual:!0});function MN(e,t){return e>=65&&e<=90||e>=97&&e<=122||e==95||e>=192||!t&&e>=48&&e<=57}const u7e=new Ar((e,t)=>{if(e.next!=e7e||!t.dialectEnabled(GUe)||(e.advance(),e.next==JP))return;let n=0;for(;KP.indexOf(e.next)>-1;)e.advance(),n++;if(MN(e.next,!0)){for(e.advance(),n++;MN(e.next,!1);)e.advance(),n++;for(;KP.indexOf(e.next)>-1;)e.advance(),n++;if(e.next==t7e)return;for(let i=0;;i++){if(i==7){if(!MN(e.next,!0))return;break}if(e.next!="extends".charCodeAt(i))break;e.advance(),n++}}e.acceptToken(FUe,-n)}),d7e=Hu({"get set async static":H.modifier,"for while do if else switch try catch finally return throw break continue default case defer":H.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":H.operatorKeyword,"let var const using function class extends":H.definitionKeyword,"import export from":H.moduleKeyword,"with debugger new":H.keyword,TemplateString:H.special(H.string),super:H.atom,BooleanLiteral:H.bool,this:H.self,null:H.null,Star:H.modifier,VariableName:H.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":H.function(H.variableName),VariableDefinition:H.definition(H.variableName),Label:H.labelName,PropertyName:H.propertyName,PrivatePropertyName:H.special(H.propertyName),"CallExpression/MemberExpression/PropertyName":H.function(H.propertyName),"FunctionDeclaration/VariableDefinition":H.function(H.definition(H.variableName)),"ClassDeclaration/VariableDefinition":H.definition(H.className),"NewExpression/VariableName":H.className,PropertyDefinition:H.definition(H.propertyName),PrivatePropertyDefinition:H.definition(H.special(H.propertyName)),UpdateOp:H.updateOperator,"LineComment Hashbang":H.lineComment,BlockComment:H.blockComment,Number:H.number,String:H.string,Escape:H.escape,ArithOp:H.arithmeticOperator,LogicOp:H.logicOperator,BitOp:H.bitwiseOperator,CompareOp:H.compareOperator,RegExp:H.regexp,Equals:H.definitionOperator,Arrow:H.function(H.punctuation),": Spread":H.punctuation,"( )":H.paren,"[ ]":H.squareBracket,"{ }":H.brace,"InterpolationStart InterpolationEnd":H.special(H.brace),".":H.derefOperator,", ;":H.separator,"@":H.meta,TypeName:H.typeName,TypeDefinition:H.definition(H.typeName),"type enum interface implements namespace module declare":H.definitionKeyword,"abstract global Privacy readonly override":H.modifier,"is keyof unique infer asserts":H.operatorKeyword,JSXAttributeValue:H.attributeValue,JSXText:H.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":H.angleBracket,"JSXIdentifier JSXNameSpacedName":H.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":H.attributeName,"JSXBuiltin/JSXIdentifier":H.standard(H.tagName)}),f7e={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},h7e={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},p7e={__proto__:null,"<":193},m7e=Iu.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:s7e,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[d7e],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[o7e,l7e,c7e,u7e,2,3,4,5,6,7,8,9,10,11,12,13,14,a7e,new ak("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new ak("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:e=>f7e[e]||-1},{term:343,get:e=>h7e[e]||-1},{term:95,get:e=>p7e[e]||-1}],tokenPrec:15201});let ej=[],Yre=[];(()=>{let e="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(t=>t?parseInt(t,36):1);for(let t=0,n=0;t>1;if(e=Yre[i])t=i+1;else return!0;if(t==n)return!1}}function D7(e){return e>=127462&&e<=127487}const $7=8205;function O7e(e,t,n=!0,i=!0){return(n?Gre:b7e)(e,t,i)}function Gre(e,t,n){if(t==e.length)return t;t&&Wre(e.charCodeAt(t))&&Zre(e.charCodeAt(t-1))&&t--;let i=LN(e,t);for(t+=Q7(i);t=0&&D7(LN(e,a));)s++,a-=2;if(s%2==0)break;t+=2}else break}return t}function b7e(e,t,n){for(;t>1;){let i=Gre(e,t-2,n);if(i=56320&&e<57344}function Zre(e){return e>=55296&&e<56320}function Q7(e){return e<65536?1:2}let Wn=class Kre{lineAt(t){if(t<0||t>this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,n,i){[t,n]=Xg(this,t,n);let r=[];return this.decompose(0,t,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(n,this.length,r,1),Jl.from(r,this.length-(n-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,n=this.length){[t,n]=Xg(this,t,n);let i=[];return this.decompose(t,n,i,0),Jl.from(i,n-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let n=this.scanIdentical(t,1),i=this.length-this.scanIdentical(t,-1),r=new Fb(this),s=new Fb(t);for(let a=n,o=n;;){if(r.next(a),s.next(a),a=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(o+=r.value.length,r.done||o>=i)return!0}}iter(t=1){return new Fb(this,t)}iterRange(t,n=this.length){return new Jre(this,t,n)}iterLines(t,n){let i;if(t==null)i=this.iter();else{n==null&&(n=this.lines+1);let r=this.line(t).from;i=this.iterRange(r,Math.max(r,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new ese(i)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}constructor(){}static of(t){if(t.length==0)throw new RangeError("A document must have at least one line");return t.length==1&&!t[0]?Kre.empty:t.length<=32?new Sr(t):Jl.from(Sr.split(t,[]))}};class Sr extends Wn{constructor(t,n=y7e(t)){super(),this.text=t,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(t,n,i,r){for(let s=0;;s++){let a=this.text[s],o=r+a.length;if((n?i:o)>=t)return new x7e(r,o,i,a);r=o+1,i++}}decompose(t,n,i,r){let s=t<=0&&n>=this.length?this:new Sr(B7(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(r&1){let a=i.pop(),o=Sw(s.text,a.text.slice(),0,s.length);if(o.length<=32)i.push(new Sr(o,a.length+s.length));else{let l=o.length>>1;i.push(new Sr(o.slice(0,l)),new Sr(o.slice(l)))}}else i.push(s)}replace(t,n,i){if(!(i instanceof Sr))return super.replace(t,n,i);[t,n]=Xg(this,t,n);let r=Sw(this.text,Sw(i.text,B7(this.text,0,t)),n),s=this.length+i.length-(n-t);return r.length<=32?new Sr(r,s):Jl.from(Sr.split(r,[]),s)}sliceString(t,n=this.length,i=` +`){[t,n]=Xg(this,t,n);let r="";for(let s=0,a=0;s<=n&&at&&a&&(r+=i),ts&&(r+=o.slice(Math.max(0,t-s),n-s)),s=l+1}return r}flatten(t){for(let n of this.text)t.push(n)}scanIdentical(){return 0}static split(t,n){let i=[],r=-1;for(let s of t)i.push(s),r+=s.length+1,i.length==32&&(n.push(new Sr(i,r)),i=[],r=-1);return r>-1&&n.push(new Sr(i,r)),n}}class Jl extends Wn{constructor(t,n){super(),this.children=t,this.length=n,this.lines=0;for(let i of t)this.lines+=i.lines}lineInner(t,n,i,r){for(let s=0;;s++){let a=this.children[s],o=r+a.length,l=i+a.lines-1;if((n?l:o)>=t)return a.lineInner(t,n,i,r);r=o+1,i=l+1}}decompose(t,n,i,r){for(let s=0,a=0;a<=n&&s=a){let u=r&((a<=t?1:0)|(l>=n?2:0));a>=t&&l<=n&&!u?i.push(o):o.decompose(t-a,n-a,i,u)}a=l+1}}replace(t,n,i){if([t,n]=Xg(this,t,n),i.lines=s&&n<=o){let l=a.replace(t-s,n-s,i),u=this.lines-a.lines+l.lines;if(l.lines>4&&l.lines>u>>6){let d=this.children.slice();return d[r]=l,new Jl(d,this.length-(n-t)+i.length)}return super.replace(s,o,l)}s=o+1}return super.replace(t,n,i)}sliceString(t,n=this.length,i=` +`){[t,n]=Xg(this,t,n);let r="";for(let s=0,a=0;st&&s&&(r+=i),ta&&(r+=o.sliceString(t-a,n-a,i)),a=l+1}return r}flatten(t){for(let n of this.children)n.flatten(t)}scanIdentical(t,n){if(!(t instanceof Jl))return 0;let i=0,[r,s,a,o]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;r+=n,s+=n){if(r==a||s==o)return i;let l=this.children[r],u=t.children[s];if(l!=u)return i+l.scanIdentical(u,n);i+=l.length+1}}static from(t,n=t.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let p of t)i+=p.lines;if(i<32){let p=[];for(let m of t)m.flatten(p);return new Sr(p,n)}let r=Math.max(32,i>>5),s=r<<1,a=r>>1,o=[],l=0,u=-1,d=[];function f(p){let m;if(p.lines>s&&p instanceof Jl)for(let g of p.children)f(g);else p.lines>a&&(l>a||!l)?(h(),o.push(p)):p instanceof Sr&&l&&(m=d[d.length-1])instanceof Sr&&p.lines+m.lines<=32?(l+=p.lines,u+=p.length+1,d[d.length-1]=new Sr(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>r&&h(),l+=p.lines,u+=p.length+1,d.push(p))}function h(){l!=0&&(o.push(d.length==1?d[0]:Jl.from(d,u)),u=-1,l=d.length=0)}for(let p of t)f(p);return h(),o.length==1?o[0]:new Jl(o,n)}}Wn.empty=new Sr([""],0);function y7e(e){let t=-1;for(let n of e)t+=n.length+1;return t}function Sw(e,t,n=0,i=1e9){for(let r=0,s=0,a=!0;s=n&&(l>i&&(o=o.slice(0,i-r)),r0?1:(t instanceof Sr?t.text.length:t.children.length)<<1]}nextInner(t,n){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],a=s>>1,o=r instanceof Sr?r.text.length:r.children.length;if(a==(n>0?o:0)){if(i==0)return this.done=!0,this.value="",this;n>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(n>0?0:1)){if(this.offsets[i]+=n,t==0)return this.lineBreak=!0,this.value=` +`,this;t--}else if(r instanceof Sr){let l=r.text[a+(n<0?-1:0)];if(this.offsets[i]+=n,l.length>Math.max(0,t))return this.value=t==0?l:n>0?l.slice(t):l.slice(0,l.length-t),this;t-=l.length}else{let l=r.children[a+(n<0?-1:0)];t>l.length?(t-=l.length,this.offsets[i]+=n):(n<0&&this.offsets[i]--,this.nodes.push(l),this.offsets.push(n>0?1:(l instanceof Sr?l.text.length:l.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}}class Jre{constructor(t,n,i){this.value="",this.done=!1,this.cursor=new Fb(t,n>i?-1:1),this.pos=n>i?t.length:0,this.from=Math.min(n,i),this.to=Math.max(n,i)}nextInner(t,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let i=n<0?this.pos-this.from:this.to-this.pos;t>i&&(t=i),i-=t;let{value:r}=this.cursor.next(t);return this.pos+=(r.length+t)*n,this.value=r.length<=i?r:n<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class ese{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:n,lineBreak:i,value:r}=this.inner.next(t);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Wn.prototype[Symbol.iterator]=function(){return this.iter()},Fb.prototype[Symbol.iterator]=Jre.prototype[Symbol.iterator]=ese.prototype[Symbol.iterator]=function(){return this});let x7e=class{constructor(t,n,i,r){this.from=t,this.to=n,this.number=i,this.text=r}get length(){return this.to-this.from}};function Xg(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function ds(e,t,n=!0,i=!0){return O7e(e,t,n,i)}function S7e(e){return e>=56320&&e<57344}function v7e(e){return e>=55296&&e<56320}function Sa(e,t){let n=e.charCodeAt(t);if(!v7e(n)||t+1==e.length)return n;let i=e.charCodeAt(t+1);return S7e(i)?(n-55296<<10)+(i-56320)+65536:n}function l$(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}function ec(e){return e<65536?1:2}const tj=/\r\n?|\n/;var ws=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(ws||(ws={}));class gc{constructor(t){this.sections=t}get length(){let t=0;for(let n=0;nt)return s+(t-r);s+=o}else{if(i!=ws.Simple&&u>=t&&(i==ws.TrackDel&&rt||i==ws.TrackBefore&&rt))return null;if(u>t||u==t&&n<0&&!o)return t==r||n<0?s:s+l;s+=l}r=u}if(t>r)throw new RangeError(`Position ${t} is out of range for changeset of length ${r}`);return s}touchesRange(t,n=t){for(let i=0,r=0;i=0&&r<=n&&o>=t)return rn?"cover":!0;r=o}return!1}toString(){let t="";for(let n=0;n=0?":"+r:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new gc(t)}static create(t){return new gc(t)}}class Yr extends gc{constructor(t,n){super(t),this.inserted=n}apply(t){if(this.length!=t.length)throw new RangeError("Applying change set to a document with the wrong length");return nj(this,(n,i,r,s,a)=>t=t.replace(r,r+(i-n),a),!1),t}mapDesc(t,n=!1){return ij(this,t,n,!0)}invert(t){let n=this.sections.slice(),i=[];for(let r=0,s=0;r=0){n[r]=o,n[r+1]=a;let l=r>>1;for(;i.length0&&Ud(i,n,s.text),s.forward(d),o+=d}let u=t[a++];for(;o>1].toJSON()))}return t}static of(t,n,i){let r=[],s=[],a=0,o=null;function l(d=!1){if(!d&&!r.length)return;ah||f<0||h>n)throw new RangeError(`Invalid change range ${f} to ${h} (in doc of length ${n})`);let m=p?typeof p=="string"?Wn.of(p.split(i||tj)):p:Wn.empty,g=m.length;if(f==h&&g==0)return;fa&&js(r,f-a,-1),js(r,h-f,g),Ud(s,r,m),a=h}}return u(t),l(!o),o}static empty(t){return new Yr(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],i=[];for(let r=0;ro&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)n.push(s[0],0);else{for(;i.length=0&&n<=0&&n==e[r+1]?e[r]+=t:r>=0&&t==0&&e[r]==0?e[r+1]+=n:i?(e[r]+=t,e[r+1]+=n):e.push(t,n)}function Ud(e,t,n){if(n.length==0)return;let i=t.length-2>>1;if(i>1])),!(n||a==e.sections.length||e.sections[a+1]<0);)o=e.sections[a++],l=e.sections[a++];t(r,u,s,d,f),r=u,s=d}}}function ij(e,t,n,i=!1){let r=[],s=i?[]:null,a=new Yy(e),o=new Yy(t);for(let l=-1;;){if(a.done&&o.len||o.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&o.ins==-1){let u=Math.min(a.len,o.len);js(r,u,-1),a.forward(u),o.forward(u)}else if(o.ins>=0&&(a.ins<0||l==a.i||a.off==0&&(o.len=0&&l=0){let u=0,d=a.len;for(;d;)if(o.ins==-1){let f=Math.min(d,o.len);u+=f,d-=f,o.forward(f)}else if(o.ins==0&&o.lenl||a.ins>=0&&a.len>l)&&(o||i.length>u),s.forward2(l),a.forward(l)}}}}class Yy{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i>1;return n>=t.length?Wn.empty:t[n]}textBit(t){let{inserted:n}=this.set,i=this.i-2>>1;return i>=n.length&&!t?Wn.empty:n[i].slice(this.off,t==null?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){this.ins==-1?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}class Rd{constructor(t,n,i,r){this.from=t,this.to=n,this.flags=i,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let t=this.flags&7;return t==7?null:t}map(t,n=-1){let i,r;return this.empty?i=r=t.mapPos(this.from,n):(i=t.mapPos(this.from,1),r=t.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new Rd(i,r,this.flags,this.goalColumn)}extend(t,n=t,i=0){if(t<=this.anchor&&n>=this.anchor)return Re.range(t,n,void 0,void 0,i);let r=Math.abs(t-this.anchor)>Math.abs(n-this.anchor)?t:n;return Re.range(this.anchor,r,void 0,void 0,i)}eq(t,n=!1){return this.anchor==t.anchor&&this.head==t.head&&this.goalColumn==t.goalColumn&&(!n||!this.empty||this.assoc==t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||typeof t.anchor!="number"||typeof t.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return Re.range(t.anchor,t.head)}static create(t,n,i,r){return new Rd(t,n,i,r)}}class Re{constructor(t,n){this.ranges=t,this.mainIndex=n}map(t,n=-1){return t.empty?this:Re.create(this.ranges.map(i=>i.map(t,n)),this.mainIndex)}eq(t,n=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let i=0;it.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!="number"||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new Re(t.ranges.map(n=>Rd.fromJSON(n)),t.main)}static single(t,n=t){return new Re([Re.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;rr.from-s.from),n=t.indexOf(i);for(let r=1;rs.head?Re.range(l,o):Re.range(o,l))}}return new Re(t,n)}}function nse(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let c$=0;class ht{constructor(t,n,i,r,s){this.combine=t,this.compareInput=n,this.compare=i,this.isStatic=r,this.id=c$++,this.default=t([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(t={}){return new ht(t.combine||(n=>n),t.compareInput||((n,i)=>n===i),t.compare||(t.combine?(n,i)=>n===i:u$),!!t.static,t.enables)}of(t){return new vw([],this,0,t)}compute(t,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new vw(t,this,1,n)}computeN(t,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new vw(t,this,2,n)}from(t,n){return n||(n=i=>i),this.compute([t],i=>n(i.field(t)))}}function u$(e,t){return e==t||e.length==t.length&&e.every((n,i)=>n===t[i])}class vw{constructor(t,n,i,r){this.dependencies=t,this.facet=n,this.type=i,this.value=r,this.id=c$++}dynamicSlot(t){var n;let i=this.value,r=this.facet.compareInput,s=this.id,a=t[s]>>1,o=this.type==2,l=!1,u=!1,d=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?u=!0:((n=t[f.id])!==null&&n!==void 0?n:1)&1||d.push(t[f.id]);return{create(f){return f.values[a]=i(f),1},update(f,h){if(l&&h.docChanged||u&&(h.docChanged||h.selection)||rj(f,d)){let p=i(f);if(o?!U7(p,f.values[a],r):!r(p,f.values[a]))return f.values[a]=p,1}return 0},reconfigure:(f,h)=>{let p,m=h.config.address[s];if(m!=null){let g=ck(h,m);if(this.dependencies.every(y=>y instanceof ht?h.facet(y)===f.facet(y):y instanceof _s?h.field(y,!1)==f.field(y,!1):!0)||(o?U7(p=i(f),g,r):r(p=i(f),g)))return f.values[a]=g,0}else p=i(f);return f.values[a]=p,1}}}get extension(){return this}}function U7(e,t,n){if(e.length!=t.length)return!1;for(let i=0;ie[l.id]),r=n.map(l=>l.type),s=i.filter(l=>!(l&1)),a=e[t.id]>>1;function o(l){let u=[];for(let d=0;di===r),t);return t.provide&&(n.provides=t.provide(n)),n}create(t){let n=t.facet(WS).find(i=>i.field==this);return((n==null?void 0:n.create)||this.createF)(t)}slot(t){let n=t[this.id]>>1;return{create:i=>(i.values[n]=this.create(i),1),update:(i,r)=>{let s=i.values[n],a=this.updateF(s,r);return this.compareF(s,a)?0:(i.values[n]=a,1)},reconfigure:(i,r)=>{let s=i.facet(WS),a=r.facet(WS),o;return(o=s.find(l=>l.field==this))&&o!=a.find(l=>l.field==this)?(i.values[n]=o.create(i),1):r.config.address[this.id]!=null?(i.values[n]=r.field(this),0):(i.values[n]=this.create(i),1)}}}init(t){return[this,WS.of({field:this,create:t})]}get extension(){return this}}const uh={lowest:4,low:3,default:2,high:1,highest:0};function _O(e){return t=>new ise(t,e)}const Yu={highest:_O(uh.highest),high:_O(uh.high),default:_O(uh.default),low:_O(uh.low),lowest:_O(uh.lowest)};class ise{constructor(t,n){this.inner=t,this.prec=n}get extension(){return this}}class S_{of(t){return new sj(this,t)}reconfigure(t){return S_.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class sj{constructor(t,n){this.compartment=t,this.inner=n}get extension(){return this}}class lk{constructor(t,n,i,r,s,a){for(this.base=t,this.compartments=n,this.dynamicSlots=i,this.address=r,this.staticValues=s,this.facets=a,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(t,n,i){let r=[],s=Object.create(null),a=new Map;for(let h of E7e(t,n,a))h instanceof _s?r.push(h):(s[h.facet.id]||(s[h.facet.id]=[])).push(h);let o=Object.create(null),l=[],u=[];for(let h of r)o[h.id]=u.length<<1,u.push(p=>h.slot(p));let d=i==null?void 0:i.config.facets;for(let h in s){let p=s[h],m=p[0].facet,g=d&&d[h]||[];if(p.every(y=>y.type==0))if(o[m.id]=l.length<<1|1,u$(g,p))l.push(i.facet(m));else{let y=m.combine(p.map(b=>b.value));l.push(i&&m.compare(y,i.facet(m))?i.facet(m):y)}else{for(let y of p)y.type==0?(o[y.id]=l.length<<1|1,l.push(y.value)):(o[y.id]=u.length<<1,u.push(b=>y.dynamicSlot(b)));o[m.id]=u.length<<1,u.push(y=>w7e(y,m,p))}}let f=u.map(h=>h(o));return new lk(t,a,f,o,l,s)}}function E7e(e,t,n){let i=[[],[],[],[],[]],r=new Map;function s(a,o){let l=r.get(a);if(l!=null){if(l<=o)return;let u=i[l].indexOf(a);u>-1&&i[l].splice(u,1),a instanceof sj&&n.delete(a.compartment)}if(r.set(a,o),Array.isArray(a))for(let u of a)s(u,o);else if(a instanceof sj){if(n.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=t.get(a.compartment)||a.inner;n.set(a.compartment,u),s(u,o)}else if(a instanceof ise)s(a.inner,a.prec);else if(a instanceof _s)i[o].push(a),a.provides&&s(a.provides,o);else if(a instanceof vw)i[o].push(a),a.facet.extensions&&s(a.facet.extensions,uh.default);else{let u=a.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${a}).`);if(u==a)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(u,o)}}return s(e,uh.default),i.reduce((a,o)=>a.concat(o))}function Vb(e,t){if(t&1)return 2;let n=t>>1,i=e.status[n];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;e.status[n]=4;let r=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|r}function ck(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}const rse=ht.define(),aj=ht.define({combine:e=>e.some(t=>t),static:!0}),sse=ht.define({combine:e=>e.length?e[0]:void 0,static:!0}),ase=ht.define(),ose=ht.define(),lse=ht.define(),cse=ht.define({combine:e=>e.length?e[0]:!1});class Nc{constructor(t,n){this.type=t,this.value=n}static define(){return new k7e}}class k7e{of(t){return new Nc(this,t)}}class T7e{constructor(t){this.map=t}of(t){return new Ht(this,t)}}class Ht{constructor(t,n){this.type=t,this.value=n}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new Ht(this.type,n)}is(t){return this.type==t}static define(t={}){return new T7e(t.map||(n=>n))}static mapEffects(t,n){if(!t.length)return t;let i=[];for(let r of t){let s=r.map(n);s&&i.push(s)}return i}}Ht.reconfigure=Ht.define();Ht.appendConfig=Ht.define();class Dr{constructor(t,n,i,r,s,a){this.startState=t,this.changes=n,this.selection=i,this.effects=r,this.annotations=s,this.scrollIntoView=a,this._doc=null,this._state=null,i&&nse(i,n.newLength),s.some(o=>o.type==Dr.time)||(this.annotations=s.concat(Dr.time.of(Date.now())))}static create(t,n,i,r,s,a){return new Dr(t,n,i,r,s,a)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(t){for(let n of this.annotations)if(n.type==t)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(Dr.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]=="."))}}Dr.time=Nc.define();Dr.userEvent=Nc.define();Dr.addToHistory=Nc.define();Dr.remote=Nc.define();function _7e(e,t){let n=[];for(let i=0,r=0;;){let s,a;if(i=e[i]))s=e[i++],a=e[i++];else if(r=0;r--){let s=i[r](e);s instanceof Dr?e=s:Array.isArray(s)&&s.length==1&&s[0]instanceof Dr?e=s[0]:e=dse(t,ng(s),!1)}return e}function N7e(e){let t=e.startState,n=t.facet(lse),i=e;for(let r=n.length-1;r>=0;r--){let s=n[r](e);s&&Object.keys(s).length&&(i=use(i,oj(t,s,e.changes.newLength),!0))}return i==e?e:Dr.create(t,e.changes,e.selection,i.effects,i.annotations,i.scrollIntoView)}const C7e=[];function ng(e){return e==null?C7e:Array.isArray(e)?e:[e]}var Zi=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(Zi||(Zi={}));const R7e=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let lj;try{lj=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function I7e(e){if(lj)return lj.test(e);for(let t=0;t"€"&&(n.toUpperCase()!=n.toLowerCase()||R7e.test(n)))return!0}return!1}function P7e(e){return t=>{if(!/\S/.test(t))return Zi.Space;if(I7e(t))return Zi.Word;for(let n=0;n-1)return Zi.Word;return Zi.Other}}class Nn{constructor(t,n,i,r,s,a){this.config=t,this.doc=n,this.selection=i,this.values=r,this.status=t.statusTemplate.slice(),this.computeSlot=s,a&&(a._state=this);for(let o=0;or.set(u,l)),n=null),r.set(o.value.compartment,o.value.extension)):o.is(Ht.reconfigure)?(n=null,i=o.value):o.is(Ht.appendConfig)&&(n=null,i=ng(i).concat(o.value));let s;n?s=t.startState.values.slice():(n=lk.resolve(i,r,this),s=new Nn(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(l,u)=>u.reconfigure(l,this),null).values);let a=t.startState.facet(aj)?t.newSelection:t.newSelection.asSingle();new Nn(n,t.newDoc,a,s,(o,l)=>l.update(o,t),t)}replaceSelection(t){return typeof t=="string"&&(t=this.toText(t)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:t},range:Re.cursor(n.from+t.length)}))}changeByRange(t){let n=this.selection,i=t(n.ranges[0]),r=this.changes(i.changes),s=[i.range],a=ng(i.effects);for(let o=1;oa.spec.fromJSON(o,l)))}}return Nn.create({doc:t.doc,selection:Re.fromJSON(t.selection),extensions:n.extensions?r.concat([n.extensions]):r})}static create(t={}){let n=lk.resolve(t.extensions||[],new Map),i=t.doc instanceof Wn?t.doc:Wn.of((t.doc||"").split(n.staticFacet(Nn.lineSeparator)||tj)),r=t.selection?t.selection instanceof Re?t.selection:Re.single(t.selection.anchor,t.selection.head):Re.single(0);return nse(r,i.length),n.staticFacet(aj)||(r=r.asSingle()),new Nn(n,i,r,n.dynamicSlots.map(()=>null),(s,a)=>a.create(s),null)}get tabSize(){return this.facet(Nn.tabSize)}get lineBreak(){return this.facet(Nn.lineSeparator)||` +`}get readOnly(){return this.facet(cse)}phrase(t,...n){for(let i of this.facet(Nn.phrases))if(Object.prototype.hasOwnProperty.call(i,t)){t=i[t];break}return n.length&&(t=t.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>n.length?i:n[s-1]})),t}languageDataAt(t,n,i=-1){let r=[];for(let s of this.facet(rse))for(let a of s(this,n,i))Object.prototype.hasOwnProperty.call(a,t)&&r.push(a[t]);return r}charCategorizer(t){let n=this.languageDataAt("wordChars",t);return P7e(n.length?n[0]:"")}wordAt(t){let{text:n,from:i,length:r}=this.doc.lineAt(t),s=this.charCategorizer(t),a=t-i,o=t-i;for(;a>0;){let l=ds(n,a,!1);if(s(n.slice(l,a))!=Zi.Word)break;a=l}for(;oe.length?e[0]:4});Nn.lineSeparator=sse;Nn.readOnly=cse;Nn.phrases=ht.define({compare(e,t){let n=Object.keys(e),i=Object.keys(t);return n.length==i.length&&n.every(r=>e[r]==t[r])}});Nn.languageData=rse;Nn.changeFilter=ase;Nn.transactionFilter=ose;Nn.transactionExtender=lse;S_.reconfigure=Ht.define();function Cc(e,t,n={}){let i={};for(let r of e)for(let s of Object.keys(r)){let a=r[s],o=i[s];if(o===void 0)i[s]=a;else if(!(o===a||a===void 0))if(Object.hasOwnProperty.call(n,s))i[s]=n[s](o,a);else throw new Error("Config merge conflict for field "+s)}for(let r in t)i[r]===void 0&&(i[r]=t[r]);return i}class gf{eq(t){return this==t}range(t,n=t){return Gy.create(t,n,this)}}gf.prototype.startSide=gf.prototype.endSide=0;gf.prototype.point=!1;gf.prototype.mapMode=ws.TrackDel;function d$(e,t){return e==t||e.constructor==t.constructor&&e.eq(t)}class Gy{constructor(t,n,i){this.from=t,this.to=n,this.value=i}static create(t,n,i){return new Gy(t,n,i)}}function cj(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class f${constructor(t,n,i,r){this.from=t,this.to=n,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(t,n,i,r=0){let s=i?this.to:this.from;for(let a=r,o=s.length;;){if(a==o)return a;let l=a+o>>1,u=s[l]-t||(i?this.value[l].endSide:this.value[l].startSide)-n;if(l==a)return u>=0?a:o;u>=0?o=l:a=l+1}}between(t,n,i,r){for(let s=this.findIndex(n,-1e9,!0),a=this.findIndex(i,1e9,!1,s);sp||h==p&&u.startSide>0&&u.endSide<=0)continue;(p-h||u.endSide-u.startSide)<0||(a<0&&(a=h),u.point&&(o=Math.max(o,p-h)),i.push(u),r.push(h-a),s.push(p-a))}return{mapped:i.length?new f$(r,s,i,o):null,pos:a}}}class Sn{constructor(t,n,i,r){this.chunkPos=t,this.chunk=n,this.nextLayer=i,this.maxPoint=r}static create(t,n,i,r){return new Sn(t,n,i,r)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let n of this.chunk)t+=n.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:n=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=t,a=t.filter;if(n.length==0&&!a)return this;if(i&&(n=n.slice().sort(cj)),this.isEmpty)return n.length?Sn.of(n):this;let o=new fse(this,null,-1).goto(0),l=0,u=[],d=new Pu;for(;o.value||l=0){let f=n[l++];d.addInner(f.from,f.to,f.value)||u.push(f)}else o.rangeIndex==1&&o.chunkIndexthis.chunkEnd(o.chunkIndex)||so.to||s=s&&t<=s+a.length&&a.between(s,t-s,n-s,i)===!1)return}this.nextLayer.between(t,n,i)}}iter(t=0){return Wy.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,n=0){return Wy.from(t).goto(n)}static compare(t,n,i,r,s=-1){let a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),o=n.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),l=z7(a,o,i),u=new AO(a,l,s),d=new AO(o,l,s);i.iterGaps((f,h,p)=>F7(u,f,d,h,p,r)),i.empty&&i.length==0&&F7(u,0,d,0,0,r)}static eq(t,n,i=0,r){r==null&&(r=999999999);let s=t.filter(d=>!d.isEmpty&&n.indexOf(d)<0),a=n.filter(d=>!d.isEmpty&&t.indexOf(d)<0);if(s.length!=a.length)return!1;if(!s.length)return!0;let o=z7(s,a),l=new AO(s,o,0).goto(i),u=new AO(a,o,0).goto(i);for(;;){if(l.to!=u.to||!uj(l.active,u.active)||l.point&&(!u.point||!d$(l.point,u.point)))return!1;if(l.to>r)return!0;l.next(),u.next()}}static spans(t,n,i,r,s=-1){let a=new AO(t,null,s).goto(n),o=n,l=a.openStart;for(;;){let u=Math.min(a.to,i);if(a.point){let d=a.activeForPoint(a.to),f=a.pointFromo&&(r.span(o,u,a.active,l),l=a.openEnd(u));if(a.to>i)return l+(a.point&&a.to>i?1:0);o=a.to,a.next()}}static of(t,n=!1){let i=new Pu;for(let r of t instanceof Gy?[t]:n?j7e(t):t)i.add(r.from,r.to,r.value);return i.finish()}static join(t){if(!t.length)return Sn.empty;let n=t[t.length-1];for(let i=t.length-2;i>=0;i--)for(let r=t[i];r!=Sn.empty;r=r.nextLayer)n=new Sn(r.chunkPos,r.chunk,n,Math.max(r.maxPoint,n.maxPoint));return n}}Sn.empty=new Sn([],[],null,-1);function j7e(e){if(e.length>1)for(let t=e[0],n=1;n0)return e.slice().sort(cj);t=i}return e}Sn.empty.nextLayer=Sn.empty;class Pu{finishChunk(t){this.chunks.push(new f$(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,t&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(t,n,i){this.addInner(t,n,i)||(this.nextLayer||(this.nextLayer=new Pu)).add(t,n,i)}addInner(t,n,i){let r=t-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(n-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=n,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,n-t)),!0)}addChunk(t,n){if((t-this.lastTo||n.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,n.maxPoint),this.chunks.push(n),this.chunkPos.push(t);let i=n.value.length-1;return this.last=n.value[i],this.lastFrom=n.from[i]+t,this.lastTo=n.to[i]+t,!0}finish(){return this.finishInner(Sn.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return t;let n=Sn.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,n}}function z7(e,t,n){let i=new Map;for(let s of e)for(let a=0;a=this.minPoint)break}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&r.push(new fse(a,n,i,s));return r.length==1?r[0]:new Wy(r)}get startSide(){return this.value?this.value.startSide:0}goto(t,n=-1e9){for(let i of this.heap)i.goto(t,n);for(let i=this.heap.length>>1;i>=0;i--)DN(this.heap,i);return this.next(),this}forward(t,n){for(let i of this.heap)i.forward(t,n);for(let i=this.heap.length>>1;i>=0;i--)DN(this.heap,i);(this.to-t||this.value.endSide-n)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),DN(this.heap,0)}}}function DN(e,t){for(let n=e[t];;){let i=(t<<1)+1;if(i>=e.length)break;let r=e[i];if(i+1=0&&(r=e[i+1],i++),n.compare(r)<0)break;e[i]=n,e[t]=r,t=i}}class AO{constructor(t,n,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Wy.from(t,n,i)}goto(t,n=-1e9){return this.cursor.goto(t,n),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=n,this.openStart=-1,this.next(),this}forward(t,n){for(;this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-n)<0;)this.removeActive(this.minActive);this.cursor.forward(t,n)}removeActive(t){ZS(this.active,t),ZS(this.activeTo,t),ZS(this.activeRank,t),this.minActive=V7(this.active,this.activeTo)}addActive(t){let n=0,{value:i,to:r,rank:s}=this.cursor;for(;n0;)n++;KS(this.active,n,i),KS(this.activeTo,n,r),KS(this.activeRank,n,s),t&&KS(t,n,this.cursor.from),this.minActive=V7(this.active,this.activeTo)}next(){let t=this.to,n=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>t){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&ZS(i,r)}else if(this.cursor.value)if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(n&&this.cursor.to==this.to&&this.cursor.from=0&&i[r]=0&&!(this.activeRank[i]t||this.activeTo[i]==t&&this.active[i].endSide>=this.point.endSide)&&n.push(this.active[i]);return n.reverse()}openEnd(t){let n=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>t;i--)n++;return n}}function F7(e,t,n,i,r,s){e.goto(t),n.goto(i);let a=i+r,o=i,l=i-t,u=!!s.boundChange;for(let d=!1;;){let f=e.to+l-n.to,h=f||e.endSide-n.endSide,p=h<0?e.to+l:n.to,m=Math.min(p,a);if(e.point||n.point?(e.point&&n.point&&d$(e.point,n.point)&&uj(e.activeForPoint(e.to),n.activeForPoint(n.to))||s.comparePoint(o,m,e.point,n.point),d=!1):(d&&s.boundChange(o),m>o&&!uj(e.active,n.active)&&s.compareRange(o,m,e.active,n.active),u&&ma)break;o=p,h<=0&&e.next(),h>=0&&n.next()}}function uj(e,t){if(e.length!=t.length)return!1;for(let n=0;n=t;i--)e[i+1]=e[i];e[t]=n}function V7(e,t){let n=-1,i=1e9;for(let r=0;r=t)return r;if(r==e.length)break;s+=e.charCodeAt(r)==9?n-s%n:1,r=ds(e,r)}return i===!0?-1:e.length}const fj="ͼ",X7=typeof Symbol>"u"?"__"+fj:Symbol.for(fj),hj=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),q7=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Of{constructor(t,n){this.rules=[];let{finish:i}=n||{};function r(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function s(a,o,l,u){let d=[],f=/^@(\w+)\b/.exec(a[0]),h=f&&f[1]=="keyframes";if(f&&o==null)return l.push(a[0]+";");for(let p in o){let m=o[p];if(/&/.test(p))s(p.split(/,\s*/).map(g=>a.map(y=>g.replace(/&/,y))).reduce((g,y)=>g.concat(y)),m,l);else if(m&&typeof m=="object"){if(!f)throw new RangeError("The value of a property ("+p+") should be a primitive value.");s(r(p),m,d,h)}else m!=null&&d.push(p.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+m+";")}(d.length||h)&&l.push((i&&!f&&!u?a.map(i):a).join(", ")+" {"+d.join(" ")+"}")}for(let a in t)s(r(a),t[a],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let t=q7[X7]||1;return q7[X7]=t+1,fj+t.toString(36)}static mount(t,n,i){let r=t[hj],s=i&&i.nonce;r?s&&r.setNonce(s):r=new M7e(t,s),r.mount(Array.isArray(n)?n:[n],t)}}let H7=new Map;class M7e{constructor(t,n){let i=t.ownerDocument||t,r=i.defaultView;if(!t.head&&t.adoptedStyleSheets&&r.CSSStyleSheet){let s=H7.get(i);if(s)return t[hj]=s;this.sheet=new r.CSSStyleSheet,H7.set(i,this)}else this.styleTag=i.createElement("style"),n&&this.styleTag.setAttribute("nonce",n);this.modules=[],t[hj]=this}mount(t,n){let i=this.sheet,r=0,s=0;for(let a=0;a-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,o),i)for(let u=0;u",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},L7e=typeof navigator<"u"&&/Mac/.test(navigator.platform),D7e=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var xs=0;xs<10;xs++)bf[48+xs]=bf[96+xs]=String(xs);for(var xs=1;xs<=24;xs++)bf[xs+111]="F"+xs;for(var xs=65;xs<=90;xs++)bf[xs]=String.fromCharCode(xs+32),Zy[xs]=String.fromCharCode(xs);for(var $N in bf)Zy.hasOwnProperty($N)||(Zy[$N]=bf[$N]);function $7e(e){var t=L7e&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||D7e&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",n=!t&&e.key||(e.shiftKey?Zy:bf)[e.keyCode]||e.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function Oi(){var e=arguments[0];typeof e=="string"&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i];typeof r=="string"?e.setAttribute(i,r):r!=null&&(e[i]=r)}t++}for(;t2);var ut={mac:W7||/Mac/.test(Js.platform),windows:/Win/.test(Js.platform),linux:/Linux|X11/.test(Js.platform),ie:v_,ie_version:pse?pj.documentMode||6:gj?+gj[1]:mj?+mj[1]:0,gecko:Y7,gecko_version:Y7?+(/Firefox\/(\d+)/.exec(Js.userAgent)||[0,0])[1]:0,chrome:!!QN,chrome_version:QN?+QN[1]:0,ios:W7,android:/Android\b/.test(Js.userAgent),webkit:G7,webkit_version:G7?+(/\bAppleWebKit\/(\d+)/.exec(Js.userAgent)||[0,0])[1]:0,safari:Oj,safari_version:Oj?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Js.userAgent)||[0,0])[1]:0,tabSize:pj.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function h$(e,t){for(let n in e)n=="class"&&t.class?t.class+=" "+e.class:n=="style"&&t.style?t.style+=";"+e.style:t[n]=e[n];return t}const uk=Object.create(null);function p$(e,t,n){if(e==t)return!0;e||(e=uk),t||(t=uk);let i=Object.keys(e),r=Object.keys(t);if(i.length-0!=r.length-0)return!1;for(let s of i)if(s!=n&&(r.indexOf(s)==-1||e[s]!==t[s]))return!1;return!0}function Q7e(e,t){for(let n=e.attributes.length-1;n>=0;n--){let i=e.attributes[n].name;t[i]==null&&e.removeAttribute(i)}for(let n in t){let i=t[n];n=="style"?e.style.cssText=i:e.getAttribute(n)!=i&&e.setAttribute(n,i)}}function Z7(e,t,n){let i=!1;if(t)for(let r in t)n&&r in n||(i=!0,r=="style"?e.style.cssText="":e.removeAttribute(r));if(n)for(let r in n)t&&t[r]==n[r]||(i=!0,r=="style"?e.style.cssText=n[r]:e.setAttribute(r,n[r]));return i}function B7e(e){let t=Object.create(null);for(let n=0;n0?3e8:-4e8:n>0?1e8:-1e8,new Kh(t,n,n,i,t.widget||null,!1)}static replace(t){let n=!!t.block,i,r;if(t.isBlockGap)i=-5e8,r=4e8;else{let{start:s,end:a}=mse(t,n);i=(s?n?-3e8:-1:5e8)-1,r=(a?n?2e8:1:-6e8)+1}return new Kh(t,i,r,n,t.widget||null,!0)}static line(t){return new f1(t)}static set(t,n=!1){return Sn.of(t,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}_t.none=Sn.empty;class d1 extends _t{constructor(t){let{start:n,end:i}=mse(t);super(n?-1:5e8,i?1:-6e8,null,t),this.tagName=t.tagName||"span",this.attrs=t.class&&t.attributes?h$(t.attributes,{class:t.class}):t.class?{class:t.class}:t.attributes||uk}eq(t){return this==t||t instanceof d1&&this.tagName==t.tagName&&p$(this.attrs,t.attrs)}range(t,n=t){if(t>=n)throw new RangeError("Mark decorations may not be empty");return super.range(t,n)}}d1.prototype.point=!1;class f1 extends _t{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof f1&&this.spec.class==t.spec.class&&p$(this.spec.attributes,t.spec.attributes)}range(t,n=t){if(n!=t)throw new RangeError("Line decoration ranges must be zero-length");return super.range(t,n)}}f1.prototype.mapMode=ws.TrackBefore;f1.prototype.point=!0;class Kh extends _t{constructor(t,n,i,r,s,a){super(n,i,s,t),this.block=r,this.isReplace=a,this.mapMode=r?n<=0?ws.TrackBefore:ws.TrackAfter:ws.TrackDel}get type(){return this.startSide!=this.endSide?Ts.WidgetRange:this.startSide<=0?Ts.WidgetBefore:Ts.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){return t instanceof Kh&&U7e(this.widget,t.widget)&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,n=t){if(this.isReplace&&(t>n||t==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=t)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(t,n)}}Kh.prototype.point=!0;function mse(e,t=!1){let{inclusiveStart:n,inclusiveEnd:i}=e;return n==null&&(n=e.inclusive),i==null&&(i=e.inclusive),{start:n??t,end:i??t}}function U7e(e,t){return e==t||!!(e&&t&&e.compare(t))}function ig(e,t,n,i=0){let r=n.length-1;r>=0&&n[r]+i>=e?n[r]=Math.max(n[r],t):n.push(e,t)}class Ky extends gf{constructor(t,n,i){super(),this.tagName=t,this.attributes=n,this.rank=i}eq(t){return t==this||t instanceof Ky&&this.tagName==t.tagName&&p$(this.attributes,t.attributes)}static create(t){return new Ky(t.tagName,t.attributes||uk,t.rank==null?50:Math.max(0,Math.min(t.rank,100)))}static set(t,n=!1){return Sn.of(t,n)}}Ky.prototype.startSide=Ky.prototype.endSide=-1;function Jy(e){let t;return e.nodeType==11?t=e.getSelection?e:e.ownerDocument:t=e,t.getSelection()}function bj(e,t){return t?e==t||e.contains(t.nodeType!=1?t.parentNode:t):!1}function Xb(e,t){if(!t.anchorNode)return!1;try{return bj(e,t.anchorNode)}catch{return!1}}function qb(e){return e.nodeType==3?tx(e,0,e.nodeValue.length).getClientRects():e.nodeType==1?e.getClientRects():[]}function Hb(e,t,n,i){return n?K7(e,t,n,i,-1)||K7(e,t,n,i,1):!1}function yf(e){for(var t=0;;t++)if(e=e.previousSibling,!e)return t}function dk(e){return e.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function K7(e,t,n,i,r){for(;;){if(e==n&&t==i)return!0;if(t==(r<0?0:ju(e))){if(e.nodeName=="DIV")return!1;let s=e.parentNode;if(!s||s.nodeType!=1)return!1;t=yf(e)+(r<0?0:1),e=s}else if(e.nodeType==1){if(e=e.childNodes[t+(r<0?-1:0)],e.nodeType==1&&e.contentEditable=="false")return!1;t=r<0?ju(e):0}else return!1}}function ju(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function ex(e,t){let{left:n,right:i}=e;if(n==i)return e;let r=t?n:i;return{left:r,right:r,top:e.top,bottom:e.bottom}}function z7e(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function gse(e,t){let n=t.width/e.offsetWidth,i=t.height/e.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.height-e.offsetHeight)<1)&&(i=1),{scaleX:n,scaleY:i}}function F7e(e,t,n,i,r,s,a,o){let l=e.ownerDocument,u=l.defaultView||window;for(let d=e,f=!1;d&&!f;)if(d.nodeType==1){let h,p=d==l.body,m=1,g=1;if(p)h=z7e(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(f=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let S=d.getBoundingClientRect();({scaleX:m,scaleY:g}=gse(d,S)),h={left:S.left,right:S.left+d.clientWidth*m,top:S.top,bottom:S.top+d.clientHeight*g}}let y=0,b=0;if(r=="nearest")t.top0&&t.bottom>h.bottom+b&&(b=t.bottom-h.bottom+a)):t.bottom>h.bottom-a&&(b=t.bottom-h.bottom+a,n<0&&t.top-b0&&t.right>h.right+y&&(y=t.right-h.right+s)):t.right>h.right-s&&(y=t.right-h.right+s,n<0&&t.lefth.bottom||t.lefth.right)&&(t={left:Math.max(t.left,h.left),right:Math.min(t.right,h.right),top:Math.max(t.top,h.top),bottom:Math.min(t.bottom,h.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function Ose(e,t=!0){let n=e.ownerDocument,i=null,r=null;for(let s=e.parentNode;s&&!(s==n.body||(!t||i)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),t&&!i&&s.scrollWidth>s.clientWidth&&(i=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:i,y:r}}class V7e{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:n,focusNode:i}=t;this.set(n,Math.min(t.anchorOffset,n?ju(n):0),i,Math.min(t.focusOffset,i?ju(i):0))}set(t,n,i,r){this.anchorNode=t,this.anchorOffset=n,this.focusNode=i,this.focusOffset=r}}let oh=null;ut.safari&&ut.safari_version>=26&&(oh=!1);function bse(e){if(e.setActive)return e.setActive();if(oh)return e.focus(oh);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(oh==null?{get preventScroll(){return oh={preventScroll:!0},!0}}:void 0),!oh){oh=!1;for(let n=0;nMath.max(0,e.document.documentElement.scrollHeight-e.innerHeight-4):e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}function xse(e,t){for(let n=e,i=t;;){if(n.nodeType==3&&i>0)return{node:n,offset:i};if(n.nodeType==1&&i>0){if(n.contentEditable=="false")return null;n=n.childNodes[i-1],i=ju(n)}else if(n.parentNode&&!dk(n))i=yf(n),n=n.parentNode;else return null}}function Sse(e,t){for(let n=e,i=t;;){if(n.nodeType==3&&i=n){if(o.level==i)return a;(s<0||(r!=0?r<0?o.fromn:t[s].level>o.level))&&(s=a)}}if(s<0)throw new RangeError("Index out of range");return s}}function Ese(e,t){if(e.length!=t.length)return!1;for(let n=0;n=0;g-=3)if(Vl[g+1]==-p){let y=Vl[g+2],b=y&2?r:y&4?y&1?s:r:0;b&&(Ei[f]=Ei[Vl[g]]=b),o=g;break}}else{if(Vl.length==189)break;Vl[o++]=f,Vl[o++]=h,Vl[o++]=l}else if((m=Ei[f])==2||m==1){let g=m==r;l=g?0:1;for(let y=o-3;y>=0;y-=3){let b=Vl[y+2];if(b&2)break;if(g)Vl[y+2]|=2;else{if(b&4)break;Vl[y+2]|=4}}}}}function K7e(e,t,n,i){for(let r=0,s=i;r<=n.length;r++){let a=r?n[r-1].to:e,o=rl;)m==y&&(m=n[--g].from,y=g?n[g-1].to:e),Ei[--m]=p;l=d}else s=u,l++}}}function xj(e,t,n,i,r,s,a){let o=i%2?2:1;if(i%2==r%2)for(let l=t,u=0;ll&&a.push(new lc(l,g.from,p));let y=g.direction==Jh!=!(p%2);Sj(e,y?i+1:i,r,g.inner,g.from,g.to,a),l=g.to}m=g.to}else{if(m==n||(d?Ei[m]!=o:Ei[m]==o))break;m++}h?xj(e,l,m,i+1,r,h,a):lt;){let d=!0,f=!1;if(!u||l>s[u-1].to){let g=Ei[l-1];g!=o&&(d=!1,f=g==16)}let h=!d&&o==1?[]:null,p=d?i:i+1,m=l;e:for(;;)if(u&&m==s[u-1].to){if(f)break e;let g=s[--u];if(!d)for(let y=g.from,b=u;;){if(y==t)break e;if(b&&s[b-1].to==y)y=s[--b].from;else{if(Ei[y-1]==o)break e;break}}if(h)h.push(g);else{g.toEi.length;)Ei[Ei.length]=256;let i=[],r=t==Jh?0:1;return Sj(e,r,r,n,0,e.length,i),i}function kse(e){return[new lc(0,e,0)]}let Tse="";function eze(e,t,n,i,r){var s;let a=i.head-e.from,o=lc.find(t,a,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),l=t[o],u=l.side(r,n);if(a==u){let h=o+=r?1:-1;if(h<0||h>=t.length)return null;l=t[o=h],a=l.side(!r,n),u=l.side(r,n)}let d=ds(e.text,a,l.forward(r,n));(dl.to)&&(d=u),Tse=e.text.slice(Math.min(a,d),Math.max(a,d));let f=o==(r?t.length-1:0)?null:t[o+(r?1:-1)];return f&&d==u&&f.level+(r?0:1)e.some(t=>t)}),jse=ht.define({combine:e=>e.some(t=>t)}),Mse=ht.define();class sg{constructor(t,n,i,r,s,a=!1){this.range=t,this.y=n,this.x=i,this.yMargin=r,this.xMargin=s,this.isSnapshot=a}map(t){return t.empty?this:new sg(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new sg(Re.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const JS=Ht.define({map:(e,t)=>e.map(t)}),Lse=Ht.define();function Ta(e,t,n){let i=e.facet(Cse);i.length?i[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)||(n?console.error(n+":",t):console.error(t))}const au=ht.define({combine:e=>e.length?e[0]:!0});let nze=0;const jm=ht.define({combine(e){return e.filter((t,n)=>{for(let i=0;i{let l=[];return a&&l.push(w_.of(u=>{let d=u.plugin(o);return d?a(d):_t.none})),s&&l.push(s(o)),l})}static fromClass(t,n){return pr.define((i,r)=>new t(i,r),n)}}class BN{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(t){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(i){if(Ta(n.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(t,this.spec.arg)}catch(n){Ta(t.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(i){Ta(t.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Dse=ht.define(),b$=ht.define(),w_=ht.define(),$se=ht.define(),y$=ht.define(),h1=ht.define(),Qse=ht.define();function ez(e,t){let n=e.state.facet(Qse);if(!n.length)return n;let i=n.map(s=>s instanceof Function?s(e):s),r=[];return Sn.spans(i,t.from,t.to,{point(){},span(s,a,o,l){let u=s-t.from,d=a-t.from,f=r;for(let h=o.length-1;h>=0;h--,l--){let p=o[h].spec.bidiIsolate,m;if(p==null&&(p=tze(t.text,u,d)),l>0&&f.length&&(m=f[f.length-1]).to==u&&m.direction==p)m.to=d,f=m.inner;else{let g={from:u,to:d,direction:p,inner:[]};f.push(g),f=g.inner}}}}),r}const Bse=ht.define();function x$(e){let t=0,n=0,i=0,r=0;for(let s of e.state.facet(Bse)){let a=s(e);a&&(a.left!=null&&(t=Math.max(t,a.left)),a.right!=null&&(n=Math.max(n,a.right)),a.top!=null&&(i=Math.max(i,a.top)),a.bottom!=null&&(r=Math.max(r,a.bottom)))}return{left:t,right:n,top:i,bottom:r}}const ib=ht.define();class jo{constructor(t,n,i,r){this.fromA=t,this.toA=n,this.fromB=i,this.toB=r}join(t){return new jo(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let n=t.length,i=this;for(;n>0;n--){let r=t[n-1];if(!(r.fromA>i.toA)){if(r.toAr.push(new jo(s,a,o,l))),this.changedRanges=r}static create(t,n,i){return new fk(t,n,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const ize=[];class fr{constructor(t,n,i=0){this.dom=t,this.length=n,this.flags=i,this.parent=null,t.cmTile=this}get breakAfter(){return this.flags&1}get children(){return ize}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(t){if(this.flags|=2,this.flags&4){this.flags&=-5;let n=this.domAttrs;n&&Q7e(this.dom,n)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(t){this.dom=t,t.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t,n=this.posAtStart){let i=n;for(let r of this.children){if(r==t)return i;i+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}covers(t){return!0}coordsIn(t,n,i){return null}domPosFor(t,n){let i=yf(this.dom),r=this.length?t>0:n>0;return new Ol(this.parent.dom,i+(r?1:0),t==0||t==this.length)}markDirty(t){this.flags&=-3,t&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let t=this;t;t=t.parent)if(t instanceof k_)return t;return null}static get(t){return t.cmTile}}class E_ extends fr{constructor(t){super(t,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(t){this.children.push(t),t.parent=this}sync(t){if(this.flags&2)return;super.sync(t);let n=this.dom,i=null,r,s=(t==null?void 0:t.node)==n?t:null,a=0;for(let o of this.children){if(o.sync(t),a+=o.length+o.breakAfter,r=i?i.nextSibling:n.firstChild,s&&r!=o.dom&&(s.written=!0),o.dom.parentNode==n)for(;r&&r!=o.dom;)r=tz(r);else n.insertBefore(o.dom,r);i=o.dom}for(r=i?i.nextSibling:n.firstChild,s&&r&&(s.written=!0);r;)r=tz(r);this.length=a}}function tz(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}class k_ extends E_{constructor(t,n){super(n),this.view=t}owns(t){for(;t;t=t.parent)if(t==this)return!0;return!1}isBlock(){return!0}nearest(t){for(;;){if(!t)return null;let n=fr.get(t);if(n&&this.owns(n))return n;t=t.parentNode}}blockTiles(t){for(let n=[],i=this,r=0,s=0;;)if(r==i.children.length){if(!n.length)return;i=i.parent,i.breakAfter&&s++,r=n.pop()}else{let a=i.children[r++];if(a instanceof xu)n.push(r),i=a,r=0;else{let o=s+a.length,l=t(a,s);if(l!==void 0)return l;s=o+a.breakAfter}}}resolveBlock(t,n){let i,r=-1,s,a=-1;if(this.blockTiles((o,l)=>{let u=l+o.length;if(t>=l&&t<=u){if(o.isWidget()&&n>=-1&&n<=1){if(o.flags&32)return!0;o.flags&16&&(i=void 0)}(lt||t==l&&(n>1?o.length:o.covers(-1)))&&(!s||!o.isWidget()&&s.isWidget())&&(s=o,a=t-l)}}),!i&&!s)throw new Error("No tile at position "+t);return i&&n<0||!s?{tile:i,offset:r}:{tile:s,offset:a}}}class xu extends E_{constructor(t,n){super(t),this.wrapper=n}isBlock(){return!0}covers(t){return this.children.length?t<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(t,n){let i=new xu(n||document.createElement(t.tagName),t);return n||(i.flags|=4),i}}class qg extends E_{constructor(t,n){super(t),this.attrs=n}isLine(){return!0}static start(t,n,i){let r=new qg(n||document.createElement("div"),t);return(!n||!i)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(t,n,i){let r=null,s=-1,a=null,o=-1;function l(d,f){for(let h=0,p=0;h=f&&(m.isComposite()?l(m,f-p):(!a||a.isHidden&&(n>0&&!(a.flags&32)||i&&sze(a,m)))&&(g>f||m.flags&32)?(a=m,o=f-p):(pr&&(t=r);let s=t,a=t,o=0;t==0&&n<0||t==r&&n>=0?ut.chrome||ut.gecko||(t?(s--,o=1):a=0)?0:l.length-1];return ut.safari&&!o&&u.width==0&&(u=Array.prototype.find.call(l,d=>d.width)||u),i==null?u:ex(u,(o?o>0:n<0)==i)}static of(t,n){let i=new Sh(n||document.createTextNode(t),t);return n||(i.flags|=2),i}}class ep extends fr{constructor(t,n,i,r){super(t,n,r),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(t){return this.flags&48?!1:(this.flags&(t<0?64:128))>0}coordsIn(t,n){return this.coordsInWidget(t,n,!1)}coordsInWidget(t,n,i){let r=this.widget.coordsAt(this.dom,t,n);if(r)return r;if(i)return ex(this.dom.getBoundingClientRect(),this.length?t==0:n<=0);{let s=this.dom.getClientRects(),a=null;if(!s.length)return null;let o=this.flags&16?!0:this.flags&32?!1:t>0;for(let l=o?s.length-1:0;a=s[l],!(t>0?l==0:l==s.length-1||a.top0==i)}}class aze{constructor(t){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=t}advance(t,n,i){let{tile:r,index:s,beforeBreak:a,parents:o}=this;for(;t||n>0;)if(r.isComposite())if(a){if(!t)break;i&&i.break(),t--,a=!1}else if(s==r.children.length){if(!t&&!o.length)break;i&&i.leave(r),a=!!r.breakAfter,{tile:r,index:s}=o.pop(),s++}else{let l=r.children[s],u=l.breakAfter;(n>0?l.length<=t:l.length=0;o--){let l=n.marks[o],u=r.lastChild;if(u instanceof wa&&u.mark.eq(l.mark))u.dom!=l.dom&&u.setDOM(UN(l.dom)),r=u;else{if(this.cache.reused.get(l)){let f=fr.get(l.dom);f&&f.setDOM(UN(l.dom))}let d=wa.of(l.mark,l.dom);r.append(d),r=d}this.cache.reused.set(l,2)}let s=fr.get(t.text);s&&this.cache.reused.set(s,2);let a=new Sh(t.text,t.text.nodeValue);a.flags|=8,this.pos=t.range.toB,r.append(a)}addInlineWidget(t,n,i){let r=this.afterWidget&&t.flags&48&&(this.afterWidget.flags&48)==(t.flags&48);r||this.flushBuffer();let s=this.ensureMarks(n,i);!r&&!(t.flags&16)&&s.append(this.getBuffer(1)),s.append(t),this.pos+=t.length,this.afterWidget=t}addMark(t,n,i){this.flushBuffer(),this.ensureMarks(n,i).append(t),this.pos+=t.length,this.afterWidget=null}addBlockWidget(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}continueWidget(t){let n=this.afterWidget||this.lastBlock;n.length+=t,this.pos+=t}addLineStart(t,n){var i;t||(t=Use);let r=qg.start(t,n||((i=this.cache.find(qg))===null||i===void 0?void 0:i.dom),!!n);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(t){this.blockPosCovered()||this.addLineStart(t)}ensureLine(t){this.curLine||this.addLineStart(t)}ensureMarks(t,n){var i;let r=this.curLine;for(let s=t.length-1;s>=0;s--){let a=t[s],o;if(n>0&&(o=r.lastChild)&&o instanceof wa&&o.mark.eq(a))r=o,n--;else{let l=wa.of(a,(i=this.cache.find(wa,u=>u.mark.eq(a)))===null||i===void 0?void 0:i.dom);r.append(l),r=l,n=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let t=this.curLine.lastChild;(!t||!nz(this.curLine,!1)||t.dom.nodeName!="BR"&&t.isWidget()&&!(ut.ios&&nz(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(zN,0,32)||new ep(zN.toDOM(),0,zN,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let t=this.wrappers.length-1;t>=0;t--)this.wrappers[t].to=this.pos){let n=t.rank*102+t.value.rank,i=new oze(t.from,t.to,t.value,n),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-i.rank||this.wrappers[r-1].to-i.to)<0;)r--;this.wrappers.splice(r,0,i)}this.wrapperPos=this.pos}getBlockPos(){var t;this.updateBlockWrappers();let n=this.root;for(let i of this.wrappers){let r=n.lastChild;if(i.froma.wrapper.eq(i.wrapper)))===null||t===void 0?void 0:t.dom);n.append(s),n=s}}return n}blockPosCovered(){let t=this.lastBlock;return t!=null&&!t.breakAfter&&(!t.isWidget()||(t.flags&160)>0)}getBuffer(t){let n=2|(t<0?16:32),i=this.cache.find(hk,void 0,1);return i&&(i.flags=n),i||new hk(n)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class cze{constructor(t){this.skipCount=0,this.text="",this.textOff=0,this.cursor=t.iter()}skip(t){this.textOff+t<=this.text.length?this.textOff+=t:(this.skipCount+=t-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(t){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw new Error("Ran out of text content when drawing inline views");this.text=r;let o=this.textOff=Math.min(t,r.length);return s?null:r.slice(0,o)}let n=Math.min(this.text.length,this.textOff+t),i=this.text.slice(this.textOff,n);return this.textOff=n,i}}const pk=[ep,qg,Sh,wa,hk,xu,k_];for(let e=0;e[]),this.index=pk.map(()=>0),this.reused=new Map}add(t){let n=t.constructor.bucket,i=this.buckets[n];i.length<6?i.push(t):i[this.index[n]=(this.index[n]+1)%6]=t}find(t,n,i=2){let r=t.bucket,s=this.buckets[r],a=this.index[r];for(let o=0;o{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(t,n){let i=n&&this.getCompositionContext(n.text);for(let r=0,s=0,a=0;;){let o=ar){let u=l-r;this.preserve(u,!a,!o),r=l,s+=u}if(!o)break;n&&o.fromA<=n.range.fromA&&o.toA>=n.range.toA?(this.forward(o.fromA,n.range.fromA,n.range.fromA{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(l-o);else{let u=l>0||o{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof wa&&r.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?r.length&&(r.length=s=0):a instanceof wa&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(t)}emit(t,n){let i=null,r=this.builder,s=-1,a=Sn.spans(this.decorations,t,n,{point:(o,l,u,d,f,h)=>{if(u instanceof Kh){if(this.disallowBlockEffectsFor[h]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(o).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=d.length,f>d.length)r.continueWidget(l-o);else{let p=u.widget||(u.block?Hg.block:Hg.inline),m=fze(u),g=this.cache.findWidget(p,l-o,m)||ep.of(p,this.view,l-o,m);u.block?(u.startSide>0&&r.addLineStartIfNotCovered(i),r.addBlockWidget(g)):(r.ensureLine(i),r.addInlineWidget(g,d,f))}i=null}else i=hze(i,u);l>o&&this.text.skip(l-o)},span:(o,l,u,d)=>{for(let f=o;f-1&&(this.openWidget=a>s),this.openWidget||r.addLineStartIfNotCovered(i),this.openMarks=a}forward(t,n,i=1){n-t<=10?this.old.advance(n-t,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(n-t-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(t){let n=[],i=null;for(let r=t.parentNode;;r=r.parentNode){let s=fr.get(r);if(r==this.view.contentDOM)break;s instanceof wa?n.push(s):s!=null&&s.isLine()?i=s:s instanceof xu||(r.nodeName=="DIV"&&!i&&r!=this.view.contentDOM?i=new qg(r,Use):i||n.push(wa.of(new d1({tagName:r.nodeName.toLowerCase(),attributes:B7e(r)}),r)))}return{line:i,marks:n}}}function nz(e,t){let n=i=>{for(let r of i.children)if((t?r.isText():r.length)||n(r))return!0;return!1};return n(e)}function fze(e){let t=e.isReplace?(e.startSide<0?64:0)|(e.endSide>0?128:0):e.startSide>0?32:16;return e.block&&(t|=256),t}const Use={class:"cm-line"};function hze(e,t){let n=t.spec.attributes,i=t.spec.class;return!n&&!i||(e||(e={class:"cm-line"}),n&&h$(n,e),i&&(e.class+=" "+i)),e}function pze(e){let t=[];for(let n=e.parents.length;n>1;n--){let i=n==e.parents.length?e.tile:e.parents[n].tile;i instanceof wa&&t.push(i.mark)}return t}function UN(e){let t=fr.get(e);return t&&t.setDOM(e.cloneNode()),e}class Hg extends Cl{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Hg.inline=new Hg("span");Hg.block=new Hg("div");const zN=new class extends Cl{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class iz{constructor(t){this.view=t,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=_t.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new k_(t,t.contentDOM),this.updateInner([new jo(0,0,0,t.state.doc.length)],null)}update(t){var n;let i=t.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:d,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(t);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((n=this.domChanged)===null||n===void 0)&&n.newSel?r=this.domChanged.newSel.head:!wze(t.changes,this.hasComposition)&&!t.selectionSet&&(r=t.state.selection.main.head));let s=r>-1?gze(this.view,t.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:f}=this.hasComposition;i=new jo(d,f,t.changes.mapPos(d,-1),t.changes.mapPos(f,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(ut.ie||ut.chrome)&&!s&&t&&t.state.doc.lines!=t.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,o=this.blockWrappers;this.updateDeco();let l=yze(a,this.decorations,t.changes);l.length&&(i=jo.extendWithRanges(i,l));let u=Sze(o,this.blockWrappers,t.changes);return u.length&&(i=jo.extendWithRanges(i,u)),s&&!i.some(d=>d.fromA<=s.range.fromA&&d.toA>=s.range.toA)&&(i=s.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,s),t.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(t,n){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(n||t.length){let a=this.tile,o=new dze(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);n&&fr.get(n.text)&&o.cache.reused.set(fr.get(n.text),2),this.tile=o.run(t,n),wj(a,o.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=ut.chrome||ut.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||i.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Xb(i,this.view.observer.selectionRange)&&!(r&&i.contains(r));if(!(s||n||a))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,u,d;if(l.empty?d=u=this.inlineDOMNearPos(l.anchor,l.assoc||1):(d=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),u=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),ut.gecko&&l.empty&&!this.hasComposition&&mze(u)){let h=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(h,u.node.childNodes[u.offset]||null)),u=d=new Ol(h,0),o=!0}let f=this.view.observer.selectionRange;(o||!f.focusNode||(!Hb(u.node,u.offset,f.anchorNode,f.anchorOffset)||!Hb(d.node,d.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{ut.android&&ut.chrome&&i.contains(f.focusNode)&&vze(f.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let h=Jy(this.view.root);if(h)if(l.empty){if(ut.gecko){let p=Oze(u.node,u.offset);if(p&&p!=3){let m=(p==1?xse:Sse)(u.node,u.offset);m&&(u=new Ol(m.node,m.offset))}}h.collapse(u.node,u.offset),l.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=l.bidiLevel)}else if(h.extend){h.collapse(u.node,u.offset);try{h.extend(d.node,d.offset)}catch{}}else{let p=document.createRange();l.anchor>l.head&&([u,d]=[d,u]),p.setEnd(d.node,d.offset),p.setStart(u.node,u.offset),h.removeAllRanges(),h.addRange(p)}a&&this.view.root.activeElement==i&&(i.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,d)),this.impreciseAnchor=u.precise?null:new Ol(f.anchorNode,f.anchorOffset),this.impreciseHead=d.precise?null:new Ol(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(t,n){return this.hasComposition&&n.empty&&Hb(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==n.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,n=t.state.selection.main,i=Jy(t.root),{anchorNode:r,anchorOffset:s}=t.observer.selectionRange;if(!i||!n.empty||!n.assoc||!i.modify)return;let a=this.lineAt(n.head,n.assoc);if(!a)return;let o=a.posAtStart;if(n.head==o||n.head==o+a.length)return;let l=this.coordsAt(n.head,-1),u=this.coordsAt(n.head,1);if(!l||!u||l.bottom>u.top)return;let d=this.domAtPos(n.head+n.assoc,n.assoc);i.collapse(d.node,d.offset),i.modify("move",n.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let f=t.observer.selectionRange;t.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=n.from&&i.collapse(r,s)}posFromDOM(t,n){let i=this.tile.nearest(t);if(!i)return this.tile.dom.compareDocumentPosition(t)&2?0:this.view.state.doc.length;let r=i.posAtStart;if(i.isComposite()){let s;if(t==i.dom)s=i.dom.childNodes[n];else{let a=ju(t)==0?0:n==0?-1:1;for(;;){let o=t.parentNode;if(o==i.dom)break;a==0&&o.firstChild!=o.lastChild&&(t==o.firstChild?a=-1:a=1),t=o}a<0?s=t:s=t.nextSibling}if(s==i.dom.firstChild)return r;for(;s&&!fr.get(s);)s=s.nextSibling;if(!s)return r+i.length;for(let a=0,o=r;;a++){let l=i.children[a];if(l.dom==s)return o;o+=l.length+l.breakAfter}}else return i.isText()?t==i.dom?r+n:r+(n?i.length:0):r}domAtPos(t,n){let{tile:i,offset:r}=this.tile.resolveBlock(t,n);return i.isWidget()?i.domPosFor(r,n):i.domIn(r,n)}inlineDOMNearPos(t,n){let i,r=-1,s=!1,a,o=-1,l=!1;return this.tile.blockTiles((u,d)=>{if(u.isWidget()){if(u.flags&32&&d>=t)return!0;u.flags&16&&(s=!0)}else{let f=d+u.length;if(d<=t&&(i=u,r=t-d,s=f=t&&!a&&(a=u,o=t-d,l=d>t),d>t&&a)return!0}}),!i&&!a?this.domAtPos(t,n):(s&&a?i=null:l&&i&&(a=null),i&&n<0||!a?i.domIn(r,n):a.domIn(o,n))}coordsAt(t,n,i){let{tile:r,offset:s}=this.tile.resolveBlock(t,n);return r.isWidget()?r.widget instanceof FN?null:r.coordsInWidget(s,n,!0):r.coordsIn(s,n,i)}lineAt(t,n){let{tile:i}=this.tile.resolveBlock(t,n);return i.isLine()?i:null}coordsForChar(t){let{tile:n,offset:i}=this.tile.resolveBlock(t,1);if(!n.isLine())return null;function r(s,a){if(s.isComposite())for(let o of s.children){if(o.length>=a){let l=r(o,a);if(l)return l}if(a-=o.length,a<0)break}else if(s.isText()&&aMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,l=this.view.textDirection==ki.LTR,u=0,d=(f,h,p)=>{for(let m=0;mr);m++){let g=f.children[m],y=h+g.length,b=g.dom.getBoundingClientRect(),{height:S}=b;if(p&&!m&&(u+=b.top-p.top),g instanceof xu)y>i&&d(g,h,b);else if(h>=i&&(u>0&&n.push(-u),n.push(S+u),u=0,a)){let x=g.dom.lastChild,v=x?qb(x):[];if(v.length){let E=v[v.length-1],w=l?E.right-b.left:b.right-E.left;w>o&&(o=w,this.minWidth=s,this.minWidthFrom=h,this.minWidthTo=y)}}p&&m==f.children.length-1&&(u+=p.bottom-b.bottom),h=y+g.breakAfter}};return d(this.tile,0,null),n}textDirectionAt(t){let{tile:n}=this.tile.resolveBlock(t,1);return getComputedStyle(n.dom).direction=="rtl"?ki.RTL:ki.LTR}measureTextSize(){let t=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let o=0,l;for(let u of a.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let d=qb(u.dom);if(d.length!=1)return;o+=d[0].width,l=d[0].height}if(o)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:o/a.length,textHeight:l}}});if(t)return t;let n=document.createElement("div"),i,r,s;return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(n);let a=qb(n.firstChild)[0];i=n.getBoundingClientRect().height,r=a&&a.width?a.width/27:7,s=a&&a.height?a.height:i,n.remove()}),{lineHeight:i,charWidth:r,textHeight:s}}computeBlockGapDeco(){let t=[],n=this.view.viewState;for(let i=0,r=0;;r++){let s=r==n.viewports.length?null:n.viewports[r],a=s?s.from-1:this.view.state.doc.length;if(a>i){let o=(n.lineBlockAt(a).bottom-n.lineBlockAt(i).top)/this.view.scaleY;t.push(_t.replace({widget:new FN(o),block:!0,inclusive:!0,isBlockGap:!0}).range(i,a))}if(!s)break;i=s.to+1}return _t.set(t)}updateDeco(){let t=1,n=this.view.state.facet(w_).map(s=>(this.dynamicDecorationMap[t++]=typeof s=="function")?s(this.view):s),i=!1,r=this.view.state.facet(y$).map((s,a)=>{let o=typeof s=="function";return o&&(i=!0),o?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[t++]=i,n.push(Sn.join(r))),this.decorations=[this.editContextFormatting,...n,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];ttypeof s=="function"?s(this.view):s)}scrollIntoView(t){if(t.isSnapshot){let u=this.view.viewState.lineBlockAt(t.range.head);this.view.scrollDOM.scrollTop=u.top-t.yMargin,this.view.scrollDOM.scrollLeft=t.xMargin;return}for(let u of this.view.state.facet(Mse))try{if(u(this.view,t.range,t))return!0}catch(d){Ta(this.view.state,d,"scroll handler")}let{range:n}=t,i=this.coordsAt(n.head,n.assoc||(n.head>n.anchor?-1:1)),r;if(!i)return;!n.empty&&(r=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let s=x$(this.view),a={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:o,offsetHeight:l}=this.view.scrollDOM;if(F7e(this.view.scrollDOM,a,n.head1&&(i.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||i.bottomi.isWidget()||i.children.some(n);return n(this.tile.resolveBlock(t,1).tile)}destroy(){wj(this.tile)}}function wj(e,t){let n=t==null?void 0:t.get(e);if(n!=1){n==null&&e.destroy();for(let i of e.children)wj(i,t)}}function mze(e){return e.node.nodeType==1&&e.node.firstChild&&(e.offset==0||e.node.childNodes[e.offset-1].contentEditable=="false")&&(e.offset==e.node.childNodes.length||e.node.childNodes[e.offset].contentEditable=="false")}function zse(e,t){let n=e.observer.selectionRange;if(!n.focusNode)return null;let i=xse(n.focusNode,n.focusOffset),r=Sse(n.focusNode,n.focusOffset),s=i||r;if(r&&i&&r.node!=i.node){let o=fr.get(r.node);if(!o||o.isText()&&o.text!=r.node.nodeValue)s=r;else if(e.docView.lastCompositionAfterCursor){let l=fr.get(i.node);!l||l.isText()&&l.text!=i.node.nodeValue||(s=r)}}if(e.docView.lastCompositionAfterCursor=s!=i,!s)return null;let a=t-s.offset;return{from:a,to:a+s.node.nodeValue.length,node:s.node}}function gze(e,t,n){let i=zse(e,n);if(!i)return null;let{node:r,from:s,to:a}=i,o=r.nodeValue;if(/[\n\r]/.test(o)||e.state.doc.sliceString(i.from,i.to)!=o)return null;let l=t.invertedDesc;return{range:new jo(l.mapPos(s),l.mapPos(a),s,a),text:r}}function Oze(e,t){return e.nodeType!=1?0:(t&&e.childNodes[t-1].contentEditable=="false"?1:0)|(t{it.from&&(n=!0)}),n}class FN extends Cl{constructor(t){super(),this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function Eze(e,t,n=1){let i=e.charCategorizer(t),r=e.doc.lineAt(t),s=t-r.from;if(r.length==0)return Re.cursor(t);s==0?n=1:s==r.length&&(n=-1);let a=s,o=s;n<0?a=ds(r.text,s,!1):o=ds(r.text,s);let l=i(r.text.slice(a,o));for(;a>0;){let u=ds(r.text,a,!1);if(i(r.text.slice(u,a))!=l)break;a=u}for(;oe.defaultLineHeight*1.5){let o=e.viewState.heightOracle.textHeight,l=Math.floor((r-n.top-(e.defaultLineHeight-o)*.5)/o);s+=l*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(n.from,n.to);return n.from+dj(a,s,e.state.tabSize)}function Ej(e,t,n){let i=e.lineBlockAt(t);if(Array.isArray(i.type)){let r;for(let s of i.type){if(s.from>t)break;if(!(s.tot)return s;(!r||s.type==Ts.Text&&(r.type!=s.type||(n<0?s.fromt)))&&(r=s)}}return r||i}return i}function Tze(e,t,n,i){let r=Ej(e,t.head,t.assoc||-1),s=!i||r.type!=Ts.Text||!(e.lineWrapping||r.widgetLineBreaks)?null:e.coordsAtPos(t.assoc<0&&t.head>r.from?t.head-1:t.head);if(s){let a=e.dom.getBoundingClientRect(),o=e.textDirectionAt(r.from),l=e.posAtCoords({x:n==(o==ki.LTR)?a.right-1:a.left+1,y:(s.top+s.bottom)/2});if(l!=null)return Re.cursor(l,n?-1:1)}return Re.cursor(n?r.to:r.from,n?-1:1)}function rz(e,t,n,i){let r=e.state.doc.lineAt(t.head),s=e.bidiSpans(r),a=e.textDirectionAt(r.from);for(let o=t,l=null;;){let u=eze(r,s,a,o,n),d=Tse;if(!u){if(r.number==(n?e.state.doc.lines:1))return o;d=` +`,r=e.state.doc.line(r.number+(n?1:-1)),s=e.bidiSpans(r),u=e.visualLineSide(r,!n)}if(l){if(!l(d))return o}else{if(!i)return u;l=i(d)}o=u}}function _ze(e,t,n){let i=e.state.charCategorizer(t),r=i(n);return s=>{let a=i(s);return r==Zi.Space&&(r=a),r==a}}function Aze(e,t,n,i){let r=t.head,s=n?1:-1;if(r==(n?e.state.doc.length:0))return Re.cursor(r,t.assoc);let a=t.goalColumn,o,l=e.contentDOM.getBoundingClientRect(),u=e.coordsAtPos(r,t.assoc||((t.empty?n:t.head==t.from)?1:-1)),d=e.documentTop;if(u)a==null&&(a=u.left-l.left),o=s<0?u.top:u.bottom;else{let m=e.viewState.lineBlockAt(r);a==null&&(a=Math.min(l.right-l.left,e.defaultCharacterWidth*(r-m.from))),o=(s<0?m.top:m.bottom)+d}let f=l.left+a,h=e.viewState.heightOracle.textHeight>>1,p=i??h;for(let m=0;;m+=h){let g=o+(p+m)*s,y=kj(e,{x:f,y:g},!1,s);if(n?g>l.bottom:go:S{if(t>s&&tr(e)),n.from,t.head>n.from?-1:1);return i==n.from?n:Re.cursor(i,ie.viewState.docHeight)return new tc(e.state.doc.length,-1);if(u=e.elementAtHeight(l),i==null)break;if(u.type==Ts.Text){if(i<0?u.toe.viewport.to)break;let h=e.docView.coordsAt(i<0?u.from:u.to,i>0?-1:1);if(h&&(i<0?h.top<=l+s:h.bottom>=l+s))break}let f=e.viewState.heightOracle.textHeight/2;l=i>0?u.bottom+f:u.top-f}if(e.viewport.from>=u.to||e.viewport.to<=u.from){if(n)return null;if(u.type==Ts.Text){let f=kze(e,r,u,a,o);return new tc(f,f==u.from?1:-1)}}if(u.type!=Ts.Text)return l<(u.top+u.bottom)/2?new tc(u.from,1):new tc(u.to,-1);let d=e.docView.lineAt(u.from,2);return(!d||d.length!=u.length)&&(d=e.docView.lineAt(u.from,-2)),new Nze(e,a,o,e.textDirectionAt(u.from)).scanTile(d,u.from)}class Nze{constructor(t,n,i,r){this.view=t,this.x=n,this.y=i,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(t){return(!this.line||this.line.from>t||this.line.to1||i.length&&(i[0].level!=this.baseDir||i[0].to+r.from>1;t:if(a.has(g)){let b=r+Math.floor(Math.random()*m);for(let S=0;S1)){if(S.bottomthis.y)(!u||u.top>S.top)&&(u=S),x=-1;else{let v=S.left>this.x?this.x-S.left:S.right(m+m+g)/3)return this.y=l.bottom-1,this.scan(t,n,!0);if(u&&u.top<(m+g+g)/3)return this.y=u.top+1,this.scan(t,n,!0)}let p=(o?this.dirAt(t[d],1):this.baseDir)==ki.LTR;return{i:d,after:this.x>(h.left+h.right)/2==p}}scanText(t,n){let i=[];for(let s=0;s{let a=i[s]-n,o=i[s+1]-n;return tx(t.dom,a,o).getClientRects()});return r.after?new tc(i[r.i+1],-1):new tc(i[r.i],1)}scanTile(t,n){if(!t.length)return new tc(n,1);if(t.children.length==1){let o=t.children[0];if(o.isText())return this.scanText(o,n);if(o.isComposite())return this.scanTile(o,n)}let i=[n];for(let o=0,l=n;o{let l=t.children[o];return l.flags&48?null:(l.dom.nodeType==1?l.dom:tx(l.dom,0,l.length)).getClientRects()}),s=t.children[r.i],a=i[r.i];return s.isText()?this.scanText(s,a):s.isComposite()?this.scanTile(s,a):r.after?new tc(i[r.i+1],-1):new tc(a,1)}}const rm="￿";class Cze{constructor(t,n){this.points=t,this.view=n,this.text="",this.lineSeparator=n.state.facet(Nn.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+=rm}readRange(t,n){if(!t)return this;let i=t.parentNode;for(let r=t;;){this.findPointBefore(i,r);let s=this.text.length;this.readNode(r);let a=fr.get(r),o=r.nextSibling;if(o==n){a!=null&&a.breakAfter&&!o&&i!=this.view.contentDOM&&this.lineBreak();break}let l=fr.get(o);(a&&l?a.breakAfter:(a?a.breakAfter:dk(r))||dk(o)&&(r.nodeName!="BR"||a!=null&&a.isWidget())&&this.text.length>s)&&!Ize(o,n)&&this.lineBreak(),r=o}return this.findPointBefore(i,n),this}readTextNode(t){let n=t.nodeValue;for(let i of this.points)i.node==t&&(i.pos=this.text.length+Math.min(i.offset,n.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,a=1,o;if(this.lineSeparator?(s=n.indexOf(this.lineSeparator,i),a=this.lineSeparator.length):(o=r.exec(n))&&(s=o.index,a=o[0].length),this.append(n.slice(i,s<0?n.length:s)),s<0)break;if(this.lineBreak(),a>1)for(let l of this.points)l.node==t&&l.pos>this.text.length&&(l.pos-=a-1);i=s+a}}readNode(t){let n=fr.get(t),i=n&&n.overrideDOMText;if(i!=null){this.findPointInside(t,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else t.nodeType==3?this.readTextNode(t):t.nodeName=="BR"?t.nextSibling&&this.lineBreak():t.nodeType==1&&this.readRange(t.firstChild,null)}findPointBefore(t,n){for(let i of this.points)i.node==t&&t.childNodes[i.offset]==n&&(i.pos=this.text.length)}findPointInside(t,n){for(let i of this.points)(t.nodeType==3?i.node==t:t.contains(i.node))&&(i.pos=this.text.length+(Rze(t,i.node,i.offset)?n:0))}}function Rze(e,t,n){for(;;){if(!t||n-1;let{impreciseHead:s,impreciseAnchor:a}=t.docView,o=t.state.selection;if(t.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=Vse(t.docView.tile,n,i,0))){let l=s||a?[]:Mze(t),u=new Cze(l,t);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=Lze(l,this.bounds.from)}else{let l=t.observer.selectionRange,u=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!bj(t.contentDOM,l.focusNode)?o.main.head:t.docView.posFromDOM(l.focusNode,l.focusOffset),d=a&&a.node==l.anchorNode&&a.offset==l.anchorOffset||!bj(t.contentDOM,l.anchorNode)?o.main.anchor:t.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=t.viewport;if((ut.ios||ut.chrome)&&u!=d&&Math.min(u,d)<=o.main.from&&Math.max(u,d)>=o.main.to&&(f.from>0||f.to-1&&o.ranges.length>1)this.newSel=o.replaceRange(Re.range(d,u));else if(t.lineWrapping&&d==u&&!(o.main.empty&&o.main.head==u)&&t.inputState.lastTouchTime>Date.now()-100){let h=t.coordsAtPos(u,-1),p=0;h&&(p=t.inputState.lastTouchY<=h.bottom?-1:1),this.newSel=Re.create([Re.cursor(u,p)])}else this.newSel=Re.single(d,u)}}}function Vse(e,t,n,i){if(e.isComposite()){let r=-1,s=-1,a=-1,o=-1;for(let l=0,u=i,d=i;ln)return Vse(f,t,n,u);if(h>=t&&r==-1&&(r=l,s=u),u>n&&f.dom.parentNode==e.dom){a=l,o=d;break}d=h,u=h+f.breakAfter}return{from:s,to:o<0?i+e.length:o,startDOM:(r?e.children[r-1].dom.nextSibling:null)||e.dom.firstChild,endDOM:a=0?e.children[a].dom:null}}else return e.isText()?{from:i,to:i+e.length,startDOM:e.dom,endDOM:e.dom.nextSibling}:null}function Xse(e,t){let n,{newSel:i}=t,{state:r}=e,s=r.selection.main,a=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:o,to:l}=t.bounds,u=s.from,d=null;(a===8||ut.android&&t.text.length=o&&s.to<=l&&(t.typeOver||f!=t.text)&&f.slice(0,s.from-o)==t.text.slice(0,s.from-o)&&f.slice(s.to-o)==t.text.slice(h=t.text.length-(f.length-(s.to-o)))?n={from:s.from,to:s.to,insert:Wn.of(t.text.slice(s.from-o,h).split(rm))}:(p=qse(f,t.text,u-o,d))&&(ut.chrome&&a==13&&p.toB==p.from+2&&t.text.slice(p.from,p.toB)==rm+rm&&p.toB--,n={from:o+p.from,to:o+p.toA,insert:Wn.of(t.text.slice(p.from,p.toB).split(rm))})}else i&&(!e.hasFocus&&r.facet(au)||mk(i,s))&&(i=null);if(!n&&!i)return!1;if((ut.mac||ut.android)&&n&&n.from==n.to&&n.from==s.head-1&&/^\. ?$/.test(n.insert.toString())&&e.contentDOM.getAttribute("autocorrect")=="off"?(i&&n.insert.length==2&&(i=Re.single(i.main.anchor-1,i.main.head-1)),n={from:n.from,to:n.to,insert:Wn.of([n.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?n={from:s.from,to:s.to,insert:r.toText(e.inputState.insertingText)}:ut.chrome&&n&&n.from==n.to&&n.from==s.head&&n.insert.toString()==` + `&&e.lineWrapping&&(i&&(i=Re.single(i.main.anchor-1,i.main.head-1)),n={from:s.from,to:s.to,insert:Wn.of([" "])}),n)return S$(e,n,i,a);if(i&&!mk(i,s)){let o=!1,l="select";return e.inputState.lastSelectionTime>Date.now()-50&&(e.inputState.lastSelectionOrigin=="select"&&(o=!0),l=e.inputState.lastSelectionOrigin,l=="select.pointer"&&(i=Fse(r.facet(h1).map(u=>u(e)),i))),e.dispatch({selection:i,scrollIntoView:o,userEvent:l}),!0}else return!1}function S$(e,t,n,i=-1){if(ut.ios&&e.inputState.flushIOSKey(t))return!0;let r=e.state.selection.main;if(ut.android&&(t.to==r.to&&(t.from==r.from||t.from==r.from-1&&e.state.sliceDoc(t.from,r.from)==" ")&&t.insert.length==1&&t.insert.lines==2&&rg(e.contentDOM,"Enter",13)||(t.from==r.from-1&&t.to==r.to&&t.insert.length==0||i==8&&t.insert.lengthr.head)&&rg(e.contentDOM,"Backspace",8)||t.from==r.from&&t.to==r.to+1&&t.insert.length==0&&rg(e.contentDOM,"Delete",46)))return!0;let s=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let a,o=()=>a||(a=jze(e,t,n));return e.state.facet(Rse).some(l=>l(e,t.from,t.to,s,o))||e.dispatch(o()),!0}function jze(e,t,n){let i,r=e.state,s=r.selection.main,a=-1;if(t.from==t.to&&t.froms.to){let l=t.fromf(e)),u,l);t.from==d&&(a=d)}if(a>-1)i={changes:t,selection:Re.cursor(t.from+t.insert.length,-1)};else if(t.from>=s.from&&t.to<=s.to&&t.to-t.from>=(s.to-s.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let l=s.fromt.to?r.sliceDoc(t.to,s.to):"";i=r.replaceSelection(e.state.toText(l+t.insert.sliceString(0,void 0,e.state.lineBreak)+u))}else{let l=r.changes(t),u=n&&n.main.to<=l.newLength?n.main:void 0;if(r.selection.ranges.length>1&&(e.inputState.composing>=0||e.inputState.compositionPendingChange)&&t.to<=s.to+10&&t.to>=s.to-10){let d=e.state.sliceDoc(t.from,t.to),f,h=n&&zse(e,n.main.head);if(h){let m=t.insert.length-(t.to-t.from);f={from:h.from,to:h.to-m}}else f=e.state.doc.lineAt(s.head);let p=s.to-t.to;i=r.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:u||m.map(l)};let g=m.to-p,y=g-d.length;if(e.state.sliceDoc(y,g)!=d||g>=f.from&&y<=f.to)return{range:m};let b=r.changes({from:y,to:g,insert:t.insert}),S=m.to-s.to;return{changes:b,range:u?Re.range(Math.max(0,u.anchor+S),Math.max(0,u.head+S)):m.map(b)}})}else i={changes:l,selection:u&&r.selection.replaceRange(u)}}let o="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,o+=".compose",e.inputState.compositionFirstChange&&(o+=".start",e.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:o,scrollIntoView:!0})}function qse(e,t,n,i){let r=Math.min(e.length,t.length),s=0;for(;s0&&o>0&&e.charCodeAt(a-1)==t.charCodeAt(o-1);)a--,o--;if(i=="end"){let l=Math.max(0,s-Math.min(a,o));n-=a+l-s}if(a=a?s-n:0;s-=l,o=s+(o-a),a=s}else if(o=o?s-n:0;s-=l,a=s+(a-o),o=s}return{from:s,toA:a,toB:o}}function Mze(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}=e.observer.selectionRange;return n&&(t.push(new sz(n,i)),(r!=n||s!=i)&&t.push(new sz(r,s))),t}function Lze(e,t){if(e.length==0)return null;let n=e[0].pos,i=e.length==2?e[1].pos:n;return n>-1&&i>-1?Re.single(n+t,i+t):null}function mk(e,t){return t.head==e.main.head&&t.anchor==e.main.anchor}class Dze{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,ut.safari&&t.contentDOM.addEventListener("input",()=>null),ut.gecko&&Jze(t.contentDOM.ownerDocument)}handleEvent(t){!qze(this.view,t)||this.ignoreDuringComposition(t)||t.type=="keydown"&&this.keydown(t)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(t.type,t)):this.runHandlers(t.type,t))}runHandlers(t,n){let i=this.handlers[t];if(i){for(let r of i.observers)r(this.view,n);for(let r of i.handlers){if(n.defaultPrevented)break;if(r(this.view,n)){n.preventDefault();break}}}}ensureHandlers(t){let n=Qze(t),i=this.handlers,r=this.view.contentDOM;for(let s in n)if(s!="scroll"){let a=!n[s].handlers.length,o=i[s];o&&a!=!o.handlers.length&&(r.removeEventListener(s,this.handleEvent),o=null),o||r.addEventListener(s,this.handleEvent,{passive:a})}for(let s in i)s!="scroll"&&!n[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=n}keydown(t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&t.keyCode!=27&&Yse.indexOf(t.keyCode)<0&&(this.tabFocusMode=-1),ut.android&&ut.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return this.view.observer.delayAndroidKey(t.key,t.keyCode),!0;if(ut.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&(Hse.some(n=>n.keyCode==t.keyCode)&&!t.ctrlKey||Bze.indexOf(t.key)>-1&&t.ctrlKey)){let n={ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey,shiftKey:t.shiftKey};return n.shiftKey&&ut.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&$ze(this.view.win)&&(n.shiftKey=!1),this.pendingIOSKey={key:t.key,keyCode:t.keyCode,mods:n},setTimeout(()=>this.flushIOSKey(),250),!0}return t.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(t){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&t&&t.from0?!0:ut.safari&&!ut.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.view.observer.update(t),this.mouseSelection&&this.mouseSelection.update(t),this.draggedContent&&t.docChanged&&(this.draggedContent=this.draggedContent.map(t.changes)),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function $ze(e){return e.visualViewport?e.visualViewport.height*e.visualViewport.scale/e.document.documentElement.clientHeight<.85:!1}function az(e,t){return(n,i)=>{try{return t.call(e,i,n)}catch(r){Ta(n.state,r)}}}function Qze(e){let t=Object.create(null);function n(i){return t[i]||(t[i]={observers:[],handlers:[]})}for(let i of e){let r=i.spec,s=r&&r.plugin.domEventHandlers,a=r&&r.plugin.domEventObservers;if(s)for(let o in s){let l=s[o];l&&n(o).handlers.push(az(i.value,l))}if(a)for(let o in a){let l=a[o];l&&n(o).observers.push(az(i.value,l))}}for(let i in El)n(i).handlers.push(El[i]);for(let i in la)n(i).observers.push(la[i]);return t}const Hse=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Bze="dthko",Yse=[16,17,18,20,91,92,224,225],ev=6;function tv(e){return Math.max(0,e)*.7+8}function Uze(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}class zze{constructor(t,n,i,r){this.view=t,this.startEvent=n,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=Ose(t.contentDOM),this.atoms=t.state.facet(h1).map(a=>a(t));let s=t.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=t.state.facet(Nn.allowMultipleSelections)&&Fze(t,n),this.dragging=Xze(t,n)&&Zse(n)==1?null:!1}start(t){this.dragging===!1&&this.select(t)}move(t){if(t.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Uze(this.startEvent,t)<10)return;this.select(this.lastEvent=t);let n=0,i=0,r=0,s=0,a=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:o}=this.scrollParents.y.getBoundingClientRect());let l=x$(this.view);t.clientX-l.left<=r+ev?n=-tv(r-t.clientX):t.clientX+l.right>=a-ev&&(n=tv(t.clientX-a)),t.clientY-l.top<=s+ev?i=-tv(s-t.clientY):t.clientY+l.bottom>=o-ev&&(i=tv(t.clientY-o)),this.setScrollSpeed(n,i)}up(t){this.dragging==null&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,n){this.scrollSpeed={x:t,y:n},t||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:t,y:n}=this.scrollSpeed;t&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=t,t=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(t||n)&&this.view.win.scrollBy(t,n),this.dragging===!1&&this.select(this.lastEvent)}select(t){let{view:n}=this,i=Fse(this.atoms,this.style.get(t,this.extend,this.multiple));(this.mustSelect||!i.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){t.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(t)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Fze(e,t){let n=e.state.facet(_se);return n.length?n[0](t):ut.mac?t.metaKey:t.ctrlKey}function Vze(e,t){let n=e.state.facet(Ase);return n.length?n[0](t):ut.mac?!t.altKey:!t.ctrlKey}function Xze(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let i=Jy(e.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let s=0;s=t.clientX&&a.top<=t.clientY&&a.bottom>=t.clientY)return!0}return!1}function qze(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target,i;n!=e.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(i=fr.get(n))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(t))return!1;return!0}const El=Object.create(null),la=Object.create(null),Gse=ut.ie&&ut.ie_version<15||ut.ios&&ut.webkit_version<604;function Hze(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),Wse(e,n.value)},50)}function T_(e,t,n){for(let i of e.facet(t))n=i(n,e);return n}function Wse(e,t){t=T_(e.state,g$,t);let{state:n}=e,i,r=1,s=n.toText(t),a=s.lines==n.selection.ranges.length;if(Tj!=null&&n.selection.ranges.every(l=>l.empty)&&Tj==s.toString()){let l=-1;i=n.changeByRange(u=>{let d=n.doc.lineAt(u.from);if(d.from==l)return{range:u};l=d.from;let f=n.toText((a?s.line(r++).text:t)+n.lineBreak);return{changes:{from:d.from,insert:f},range:Re.cursor(u.from+f.length)}})}else a?i=n.changeByRange(l=>{let u=s.line(r++);return{changes:{from:l.from,to:l.to,insert:u.text},range:Re.cursor(l.from+u.length)}}):i=n.replaceSelection(s);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}la.scroll=e=>{let t=e.inputState;t.lastScrollTop=e.scrollDOM.scrollTop,t.lastScrollLeft=e.scrollDOM.scrollLeft,ut.ios&&!t.touchActive&&(t.lastIOSMomentumScroll=Date.now())};la.wheel=la.mousewheel=e=>{e.inputState.lastWheelEvent=Date.now()};El.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),t.keyCode==27&&e.inputState.tabFocusMode!=0&&(e.inputState.tabFocusMode=Date.now()+2e3),!1);la.touchstart=(e,t)=>{let n=e.inputState,i=t.targetTouches[0];n.touchActive=!0,n.lastTouchTime=Date.now(),i&&(n.lastTouchX=i.clientX,n.lastTouchY=i.clientY),n.setSelectionOrigin("select.pointer")};la.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")};la.touchend=(e,t)=>{e.inputState.touchActive=!1};El.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let i of e.state.facet(Nse))if(n=i(e,t),n)break;if(!n&&t.button==0&&(n=Gze(e,t)),n){let i=!e.hasFocus;e.inputState.startMouseSelection(new zze(e,t,n,i)),i&&e.observer.ignore(()=>{bse(e.contentDOM);let s=e.root.activeElement;s&&!s.contains(e.contentDOM)&&s.blur()});let r=e.inputState.mouseSelection;if(r)return r.start(t),r.dragging===!1}else e.inputState.setSelectionOrigin("select.pointer");return!1};function oz(e,t,n,i){if(i==1)return Re.cursor(t,n);if(i==2)return Eze(e.state,t,n);{let r=e.docView.lineAt(t,n),s=e.state.doc.lineAt(r?r.posAtEnd:t),a=r?r.posAtStart:s.from,o=r?r.posAtEnd:s.to;return oDate.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(cz+1)%3:1}function Gze(e,t){let n=e.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),i=Zse(t),r=e.state.selection;return{update(s){s.docChanged&&(n.pos=s.changes.mapPos(n.pos),r=r.map(s.changes))},get(s,a,o){let l=e.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),u,d=oz(e,l.pos,l.assoc,i);if(n.pos!=l.pos&&!a){let f=oz(e,n.pos,n.assoc,i),h=Math.min(f.from,d.from),p=Math.max(f.to,d.to);d=h1&&(u=Wze(r,l.pos))?u:o?r.addRange(d):Re.create([d])}}}function Wze(e,t){for(let n=0;n=t)return Re.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}El.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let r=e.docView.tile.nearest(t.target);if(r&&r.isWidget()){let s=r.posAtStart,a=s+r.length;(s>=n.to||a<=n.from)&&(n=Re.undirectionalRange(s,a))}}let{inputState:i}=e;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",T_(e.state,O$,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1};El.dragend=e=>(e.inputState.draggedContent=null,!1);function dz(e,t,n,i){if(n=T_(e.state,g$,n),!n)return;let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:s}=e.inputState,a=i&&s&&Vze(e,t)?{from:s.from,to:s.to}:null,o={from:r,insert:n},l=e.state.changes(a?[a,o]:o);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}El.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let i=Array(n.length),r=0,s=()=>{++r==n.length&&dz(e,t,i.filter(a=>a!=null).join(e.state.lineBreak),!1)};for(let a=0;a{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(i[a]=o.result),s()},o.readAsText(n[a])}return!0}else{let i=t.dataTransfer.getData("Text");if(i)return dz(e,t,i,!0),!0}return!1};El.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=Gse?null:t.clipboardData;return n?(Wse(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(Hze(e),!1)};function Zze(e,t){let n=e.dom.parentNode;if(!n)return;let i=n.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout(()=>{i.remove(),e.focus()},50)}function Kze(e){let t=[],n=[],i=!1;for(let r of e.selection.ranges)r.empty||(t.push(e.sliceDoc(r.from,r.to)),n.push(r));if(!t.length){let r=-1;for(let{from:s}of e.selection.ranges){let a=e.doc.lineAt(s);a.number>r&&(t.push(a.text),n.push({from:a.from,to:Math.min(e.doc.length,a.to+1)})),r=a.number}i=!0}return{text:T_(e,O$,t.join(e.lineBreak)),ranges:n,linewise:i}}let Tj=null;El.copy=El.cut=(e,t)=>{if(!Xb(e.contentDOM,e.observer.selectionRange))return!1;let{text:n,ranges:i,linewise:r}=Kze(e.state);if(!n&&!r)return!1;Tj=r?n:null,t.type=="cut"&&!e.state.readOnly&&e.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let s=Gse?null:t.clipboardData;return s?(s.clearData(),s.setData("text/plain",n),!0):(Zze(e,n),!1)};const Kse=Nc.define();function Jse(e,t){let n=[];for(let i of e.facet(Ise)){let r=i(e,t);r&&n.push(r)}return n.length?e.update({effects:n,annotations:Kse.of(!0)}):null}function eae(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=Jse(e.state,t);n?e.dispatch(n):e.update([])}},10)}la.focus=e=>{e.inputState.lastFocusTime=Date.now(),!e.scrollDOM.scrollTop&&(e.inputState.lastScrollTop||e.inputState.lastScrollLeft)&&(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),eae(e)};la.blur=e=>{e.observer.clearSelectionRange(),eae(e)};la.compositionstart=la.compositionupdate=e=>{e.observer.editContext||(e.inputState.compositionFirstChange==null&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))};la.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,ut.chrome&&ut.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))};la.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()};El.beforeinput=(e,t)=>{var n,i;if((t.inputType=="insertText"||t.inputType=="insertCompositionText")&&(e.inputState.insertingText=t.data,e.inputState.insertingTextAt=Date.now()),t.inputType=="insertReplacementText"&&e.observer.editContext){let s=(n=t.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),a=t.getTargetRanges();if(s&&a.length){let o=a[0],l=e.posAtDOM(o.startContainer,o.startOffset),u=e.posAtDOM(o.endContainer,o.endOffset);return S$(e,{from:l,to:u,insert:e.state.toText(s)},null),!0}}let r;if(ut.chrome&&ut.android&&(r=Hse.find(s=>s.inputType==t.inputType))&&(e.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>s+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return ut.ios&&t.inputType=="deleteContentForward"&&e.observer.flushSoon(),ut.safari&&t.inputType=="insertText"&&e.inputState.composing>=0&&setTimeout(()=>la.compositionend(e,t),20),!1};const fz=new Set;function Jze(e){fz.has(e)||(fz.add(e),e.addEventListener("copy",()=>{}),e.addEventListener("cut",()=>{}))}const hz=["pre-wrap","normal","pre-line","break-spaces"];let Yg=!1;function pz(){Yg=!1}class eFe{constructor(t){this.lineWrapping=t,this.doc=Wn.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(t,n){let i=this.doc.lineAt(n).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((n-t-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return hz.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let n=!1;for(let i=0;i-1,l=Math.abs(n-this.lineHeight)>.3||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=n,this.charWidth=i,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let u=0;u0}set outdated(t){this.flags=(t?2:0)|this.flags&-3}setHeight(t){this.height!=t&&(Math.abs(this.height-t)>ww&&(Yg=!0),this.height=t)}replace(t,n,i){return sa.of(i)}decomposeLeft(t,n){n.push(this)}decomposeRight(t,n){n.push(this)}applyChanges(t,n,i,r){let s=this,a=i.doc;for(let o=r.length-1;o>=0;o--){let{fromA:l,toA:u,fromB:d,toB:f}=r[o],h=s.lineAt(l,Pi.ByPosNoHeight,i.setDoc(n),0,0),p=h.to>=u?h:s.lineAt(u,Pi.ByPosNoHeight,i,0,0);for(f+=p.to-u,u=p.to;o>0&&h.from<=r[o-1].toA;)l=r[o-1].fromA,d=r[o-1].fromB,o--,ls*2){let o=t[n-1];o.break?t.splice(--n,1,o.left,null,o.right):t.splice(--n,1,o.left,o.right),i+=1+o.break,r-=o.size}else if(s>r*2){let o=t[i];o.break?t.splice(i,1,o.left,null,o.right):t.splice(i,1,o.left,o.right),i+=2+o.break,s-=o.size}else break;else if(r=s&&a(this.lineAt(0,Pi.ByPos,i,r,s))}setMeasuredHeight(t){let n=t.heights[t.index++];n<0?(this.spaceAbove=-n,n=t.heights[t.index++]):this.spaceAbove=0,this.setHeight(n)}updateHeight(t,n=0,i=!1,r){return r&&r.from<=n&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Ha extends tae{constructor(t,n,i){super(t,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(t,n){return new pl(n,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(t,n,i){let r=i[0];return i.length==1&&(r instanceof Ha||r instanceof ys&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof ys?r=new Ha(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):sa.of(i)}updateHeight(t,n=0,i=!1,r){return r&&r.from<=n&&r.more?this.setMeasuredHeight(r):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class ys extends sa{constructor(t){super(t,0)}heightMetrics(t,n){let i=t.doc.lineAt(n).number,r=t.doc.lineAt(n+this.length).number,s=r-i+1,a,o=0;if(t.lineWrapping){let l=Math.min(this.height,t.lineHeight*s);a=l/s,this.length>s+1&&(o=(this.height-l)/(this.length-s-1))}else a=this.height/s;return{firstLine:i,lastLine:r,perLine:a,perChar:o}}blockAt(t,n,i,r){let{firstLine:s,lastLine:a,perLine:o,perChar:l}=this.heightMetrics(n,r);if(n.lineWrapping){let u=r+(t0){let s=i[i.length-1];s instanceof ys?i[i.length-1]=new ys(s.length+r):i.push(null,new ys(r-1))}if(t>0){let s=i[0];s instanceof ys?i[0]=new ys(t+s.length):i.unshift(new ys(t-1),null)}return sa.of(i)}decomposeLeft(t,n){n.push(new ys(t-1),null)}decomposeRight(t,n){n.push(null,new ys(this.length-t-1))}updateHeight(t,n=0,i=!1,r){let s=n+this.length;if(r&&r.from<=n+this.length&&r.more){let a=[],o=Math.max(n,r.from),l=-1;for(r.from>n&&a.push(new ys(r.from-n-1).updateHeight(t,n));o<=s&&r.more;){let d=t.doc.lineAt(o).length;a.length&&a.push(null);let f=r.heights[r.index++],h=0;f<0&&(h=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=ww&&(l=-2);let p=new Ha(d,f,h);p.outdated=!1,a.push(p),o+=d+1}o<=s&&a.push(null,new ys(s-o).updateHeight(t,o));let u=sa.of(a);return(l<0||Math.abs(u.height-this.height)>=ww||Math.abs(l-this.heightMetrics(t,n).perLine)>=ww)&&(Yg=!0),gk(this,u)}else(i||this.outdated)&&(this.setHeight(t.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class iFe extends sa{constructor(t,n,i){super(t.length+n+i.length,t.height+i.height,n|(t.outdated||i.outdated?2:0)),this.left=t,this.right=i,this.size=t.size+i.size}get break(){return this.flags&1}blockAt(t,n,i,r){let s=i+this.left.height;return to))return u;let d=n==Pi.ByPosNoHeight?Pi.ByPosNoHeight:Pi.ByPos;return l?u.join(this.right.lineAt(o,d,i,a,o)):this.left.lineAt(o,d,i,r,s).join(u)}forEachLine(t,n,i,r,s,a){let o=r+this.left.height,l=s+this.left.length+this.break;if(this.break)t=l&&this.right.forEachLine(t,n,i,o,l,a);else{let u=this.lineAt(l,Pi.ByPos,i,r,s);t=t&&u.from<=n&&a(u),n>u.to&&this.right.forEachLine(u.to+1,n,i,o,l,a)}}replace(t,n,i){let r=this.left.length+this.break;if(nthis.left.length)return this.balanced(this.left,this.right.replace(t-r,n-r,i));let s=[];t>0&&this.decomposeLeft(t,s);let a=s.length;for(let o of i)s.push(o);if(t>0&&mz(s,a-1),n=i&&n.push(null)),t>i&&this.right.decomposeLeft(t-i,n)}decomposeRight(t,n){let i=this.left.length,r=i+this.break;if(t>=r)return this.right.decomposeRight(t-r,n);t2*n.size||n.size>2*t.size?sa.of(this.break?[t,null,n]:[t,n]):(this.left=gk(this.left,t),this.right=gk(this.right,n),this.setHeight(t.height+n.height),this.outdated=t.outdated||n.outdated,this.size=t.size+n.size,this.length=t.length+this.break+n.length,this)}updateHeight(t,n=0,i=!1,r){let{left:s,right:a}=this,o=n+s.length+this.break,l=null;return r&&r.from<=n+s.length&&r.more?l=s=s.updateHeight(t,n,i,r):s.updateHeight(t,n,i),r&&r.from<=o+a.length&&r.more?l=a=a.updateHeight(t,o,i,r):a.updateHeight(t,o,i),l?this.balanced(s,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function mz(e,t){let n,i;e[t]==null&&(n=e[t-1])instanceof ys&&(i=e[t+1])instanceof ys&&e.splice(t-1,3,new ys(n.length+1+i.length))}const rFe=5;class v${constructor(t,n){this.pos=t,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,n){if(this.lineStart>-1){let i=Math.min(n,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof Ha?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new Ha(i-this.pos,-1,0)),this.writtenTo=i,n>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(t,n,i){if(t=rFe)&&this.addLineDeco(r,s,a)}else n>t&&this.span(t,n);this.lineEnd>-1&&this.lineEnd-1)return;let{from:t,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=n,this.writtenTot&&this.nodes.push(new Ha(this.pos-t,-1,0)),this.writtenTo=this.pos}blankContent(t,n){let i=new ys(n-t);return this.oracle.doc.lineAt(t).to==n&&(i.flags|=4),i}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof Ha)return t;let n=new Ha(0,-1,0);return this.nodes.push(n),n}addBlock(t){this.enterLine();let n=t.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,n&&n.endSide>0&&(this.covering=t)}addLineDeco(t,n,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,t),r.breaks+=n,this.writtenTo=this.pos=this.pos+i}finish(t){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof Ha)&&!this.isCovered?this.nodes.push(new Ha(0,-1,0)):(this.writtenTod.clientHeight||d.scrollWidth>d.clientWidth)&&f.overflow!="visible"){let h=d.getBoundingClientRect();s=Math.max(s,h.left),a=Math.min(a,h.right),o=Math.max(o,h.top),l=Math.min(u==e.parentNode?r.innerHeight:l,h.bottom)}u=f.position=="absolute"||f.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:s-n.left,right:Math.max(s,a)-n.left,top:o-(n.top+t),bottom:Math.max(o,l)-(n.top+t)}}function lFe(e){let t=e.getBoundingClientRect(),n=e.ownerDocument.defaultView||window;return t.left0&&t.top0}function cFe(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class XN{constructor(t,n,i,r){this.from=t,this.to=n,this.size=i,this.displaySize=r}static same(t,n){if(t.length!=n.length)return!1;for(let i=0;itypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new eFe(i),this.stateDeco=bz(n),this.heightMap=sa.empty().applyChanges(this.stateDeco,Wn.empty,this.heightOracle.setDoc(n.doc),[new jo(0,0,0,n.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=_t.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=t.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:n}=this.state.selection;for(let i=0;i<=1;i++){let r=i?n.head:n.anchor;if(!t.some(({from:s,to:a})=>r>=s&&r<=a)){let{from:s,to:a}=this.lineBlockAt(r);t.push(new nv(s,a))}}return this.viewports=t.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let t=this.scaler;return this.scaler=this.heightMap.height<=7e6?Oz:new w$(this.heightOracle,this.heightMap,this.viewports),t.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,t=>{this.viewportLines.push(rb(t,this.scaler))})}update(t,n=null){this.state=t.state;let i=this.stateDeco;this.stateDeco=bz(this.state);let r=t.changedRanges,s=jo.extendWithRanges(r,sFe(i,this.stateDeco,t?t.changes:Yr.empty(this.state.doc.length))),a=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);pz(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=a||Yg)&&(t.flags|=2),o?(this.scrollAnchorPos=t.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let l=s.length?this.mapViewport(this.viewport,t.changes):this.viewport;(n&&(n.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,n));let u=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,t.flags|=this.updateForViewport(),(u||!t.changes.empty||t.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(t.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&(t.selectionSet||t.focusChanged)&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(jse)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:t}=this,n=t.contentDOM,i=window.getComputedStyle(n),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?ki.RTL:ki.LTR;let a=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",o=n.getBoundingClientRect(),l=a||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let u=0,d=0;if(o.width&&o.height){let{scaleX:E,scaleY:w}=gse(n,o);(E>.005&&Math.abs(this.scaleX-E)>.005||w>.005&&Math.abs(this.scaleY-w)>.005)&&(this.scaleX=E,this.scaleY=w,u|=16,a=l=!0)}let f=(parseInt(i.paddingTop)||0)*this.scaleY,h=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=h)&&(this.paddingTop=f,this.paddingBottom=h,u|=18),this.editorWidth!=t.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=t.scrollDOM.clientWidth,u|=16);let p=Ose(this.view.contentDOM,!1).y;p!=this.scrollParent&&(this.scrollParent=p,this.scrollAnchorHeight=-1,this.scrollOffset=0);let m=this.getScrollOffset();this.scrollOffset!=m&&(this.scrollAnchorHeight=-1,this.scrollOffset=m),this.scrolledToBottom=yse(this.scrollParent||t.win);let g=(this.printing?cFe:oFe)(n,this.paddingTop),y=g.top-this.pixelViewport.top,b=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let S=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(S!=this.inView&&(this.inView=S,S&&(l=!0)),!this.inView&&!this.scrollTarget&&!lFe(t.dom))return 0;let x=o.width;if((this.contentDOMWidth!=x||this.editorHeight!=t.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=t.scrollDOM.clientHeight,u|=16),l){let E=t.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(E)&&(a=!0),a||r.lineWrapping&&Math.abs(x-this.contentDOMWidth)>r.charWidth){let{lineHeight:w,charWidth:k,textHeight:_}=t.docView.measureTextSize();a=w>0&&r.refresh(s,w,k,_,Math.max(5,x/k),E),a&&(t.docView.minWidth=0,u|=16)}y>0&&b>0?d=Math.max(y,b):y<0&&b<0&&(d=Math.min(y,b)),pz();for(let w of this.viewports){let k=w.from==this.viewport.from?E:t.docView.measureVisibleLineHeights(w);this.heightMap=(a?sa.empty().applyChanges(this.stateDeco,Wn.empty,this.heightOracle,[new jo(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(r,0,a,new tFe(w.from,k))}Yg&&(u|=2)}let v=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return v&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),u|=this.updateForViewport()),(u&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,t)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,n){let i=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:a,visibleBottom:o}=this,l=new nv(r.lineAt(a-i*1e3,Pi.ByHeight,s,0,0).from,r.lineAt(o+(1-i)*1e3,Pi.ByHeight,s,0,0).to);if(n){let{head:u}=n.range;if(ul.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(u,Pi.ByPos,s,0,0),h;n.y=="center"?h=(f.top+f.bottom)/2-d/2:n.y=="start"||n.y=="nearest"&&u=o+Math.max(10,Math.min(i,250)))&&r>a-2*1e3&&s>1,a=r<<1;if(this.defaultTextDirection!=ki.LTR&&!i)return[];let o=[],l=(d,f,h,p)=>{if(f-dd&&bb.from>=h.from&&b.to<=h.to&&Math.abs(b.from-d)b.fromS));if(!y){if(fx.from<=f&&x.to>=f)){let x=n.moveToLineBoundary(Re.cursor(f),!1,!0).head;x>d&&(f=x)}let b=this.gapSize(h,d,f,p),S=i||b<2e6?b:2e6;y=new XN(d,f,b,S)}o.push(y)},u=d=>{if(d.length2e6)for(let w of t)w.from>=d.from&&w.fromd.from&&l(d.from,p,d,f),mn.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(t){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let i=[];Sn.spans(n,this.viewport.from,this.viewport.to,{span(s,a){i.push({from:s,to:a})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find(n=>n.from<=t&&n.to>=t)||rb(this.heightMap.lineAt(t,Pi.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return t>=this.viewportLines[0].top&&t<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=t&&n.bottom>=t)||rb(this.heightMap.lineAt(this.scaler.fromDOM(t),Pi.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(t){let n=this.lineBlockAtHeight(t+8);return n.from>=this.viewport.from||this.viewportLines[0].top-t>200?n:this.viewportLines[0]}elementAtHeight(t){return rb(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class nv{constructor(t,n){this.from=t,this.to=n}}function dFe(e,t,n){let i=[],r=e,s=0;return Sn.spans(n,e,t,{span(){},point(a,o){a>r&&(i.push({from:r,to:a}),s+=a-r),r=o}},20),r=1)return t[t.length-1].to;let i=Math.floor(e*n);for(let r=0;;r++){let{from:s,to:a}=t[r],o=a-s;if(i<=o)return s+i;i-=o}}function rv(e,t){let n=0;for(let{from:i,to:r}of e.ranges){if(t<=r){n+=t-i;break}n+=r-i}return n/e.total}function fFe(e,t){for(let n of e)if(t(n))return n}const Oz={toDOM(e){return e},fromDOM(e){return e},scale:1,eq(e){return e==this}};function bz(e){let t=e.facet(w_).filter(i=>typeof i!="function"),n=e.facet(y$).filter(i=>typeof i!="function");return n.length&&t.push(Sn.join(n)),t}class w${constructor(t,n,i){let r=0,s=0,a=0;this.viewports=i.map(({from:o,to:l})=>{let u=n.lineAt(o,Pi.ByPos,t,0,0).top,d=n.lineAt(l,Pi.ByPos,t,0,0).bottom;return r+=d-u,{from:o,to:l,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(n.height-r);for(let o of this.viewports)o.domTop=a+(o.top-s)*this.scale,a=o.domBottom=o.domTop+(o.bottom-o.top),s=o.bottom}toDOM(t){for(let n=0,i=0,r=0;;n++){let s=nn.from==t.viewports[i].from&&n.to==t.viewports[i].to):!1}}function rb(e,t){if(t.scale==1)return e;let n=t.toDOM(e.top),i=t.toDOM(e.bottom);return new pl(e.from,e.length,n,i-n,Array.isArray(e._content)?e._content.map(r=>rb(r,t)):e._content)}const sv=ht.define({combine:e=>e.join(" ")}),_j=ht.define({combine:e=>e.indexOf(!0)>-1}),Aj=Of.newName(),nae=Of.newName(),iae=Of.newName(),rae={"&light":"."+nae,"&dark":"."+iae};function Nj(e,t,n){return new Of(t,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return e;if(!n||!n[r])throw new RangeError(`Unsupported selector: ${r}`);return n[r]}):e+" "+i}})}const hFe=Nj("."+Aj,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},rae),pFe={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},qN=ut.ie&&ut.ie_version<=11;class mFe{constructor(t){this.view=t,this.active=!1,this.editContext=null,this.selectionRange=new V7e,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver(n=>{for(let i of n)this.queue.push(i);(ut.ie&&ut.ie_version<=11||ut.ios&&t.composing)&&n.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&ut.android&&t.constructor.EDIT_CONTEXT!==!1&&!(ut.chrome&&ut.chrome_version<126)&&(this.editContext=new OFe(t),t.state.facet(au)&&(t.contentDOM.editContext=this.editContext.editContext)),qN&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){this.view.inputState.runHandlers("scroll",t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(t){(t.type=="change"||!t.type)&&!t.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some((n,i)=>n!=t[i]))){this.gapIntersection.disconnect();for(let n of t)this.gapIntersection.observe(n);this.gaps=t}}onSelectionChange(t){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(au)?i.root.activeElement!=this.dom:!Xb(this.dom,r))return;let s=r.anchorNode&&i.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(t)){n||(this.selectionChanged=!1);return}(ut.ie&&ut.ie_version<=11||ut.android&&ut.chrome)&&!i.state.selection.main.empty&&r.focusNode&&Hb(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,n=Jy(t.root);if(!n)return!1;let i=ut.safari&&t.root.nodeType==11&&t.root.activeElement==this.dom&&gFe(this.view,n)||n;if(!i||this.selectionRange.eq(i))return!1;let r=Xb(this.dom,i);return r&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&rg(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||t=="Enter")&&(this.delayedAndroidKey={key:t,keyCode:n,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let n=-1,i=-1,r=!1;for(let s of t){let a=this.readMutation(s);a&&(a.typeOver&&(r=!0),n==-1?{from:n,to:i}=a:(n=Math.min(a.from,n),i=Math.max(a.to,i)))}return{from:n,to:i,typeOver:r}}readChange(){let{from:t,to:n,typeOver:i}=this.processRecords(),r=this.selectionChanged&&Xb(this.dom,this.selectionRange);if(t<0&&!r)return null;t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Pze(this.view,t,n,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let i=this.view.state,r=Xse(this.view,n);return this.view.state==i&&(n.domChanged||n.newSel&&!mk(this.view.state.selection,n.newSel.main))&&this.view.update([]),r}readMutation(t){let n=this.view.docView.tile.nearest(t.target);if(!n||n.isWidget())return null;if(n.markDirty(t.type=="attributes"),t.type=="childList"){let i=yz(n,t.previousSibling||t.target.previousSibling,-1),r=yz(n,t.nextSibling||t.target.nextSibling,1);return{from:i?n.posAfter(i):n.posAtStart,to:r?n.posBefore(r):n.posAtEnd,typeOver:!1}}else return t.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}update(t){this.editContext&&(this.editContext.update(t),t.startState.facet(au)!=t.state.facet(au)&&(t.view.contentDOM.editContext=t.state.facet(au)?this.editContext.editContext:null))}destroy(){var t,n,i;this.stop(),(t=this.intersection)===null||t===void 0||t.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function yz(e,t,n){for(;t;){let i=fr.get(t);if(i&&i.parent==e)return i;let r=t.parentNode;t=r!=e.dom?r:n>0?t.nextSibling:t.previousSibling}return null}function xz(e,t){let n=t.startContainer,i=t.startOffset,r=t.endContainer,s=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor,1);return Hb(a.node,a.offset,r,s)&&([n,i,r,s]=[r,s,n,i]),{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}}function gFe(e,t){if(t.getComposedRanges){let r=t.getComposedRanges(e.root)[0];if(r)return xz(e,r)}let n=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),n=r.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),n?xz(e,n):null}class OFe{constructor(t){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(t.state);let n=this.editContext=new window.EditContext({text:t.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,t.state.selection.main.anchor))),selectionEnd:this.toContextPos(t.state.selection.main.head)});this.handlers.textupdate=i=>{let r=t.state.selection.main,{anchor:s,head:a}=r,o=this.toEditorPos(i.updateRangeStart),l=this.toEditorPos(i.updateRangeEnd);t.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:o,drifted:!1});let u=l-o>i.text.length;o==this.from&&sthis.to&&(l=s);let d=qse(t.state.sliceDoc(o,l),i.text,(u?r.from:r.to)-o,u?"end":null);if(!d){let h=Re.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));mk(h,r)||t.dispatch({selection:h,userEvent:"select"});return}let f={from:d.from+o,to:d.toA+o,insert:Wn.of(i.text.slice(d.from,d.toB).split(` +`))};if((ut.mac||ut.android)&&f.from==a-1&&/^\. ?$/.test(i.text)&&t.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:o,to:l,insert:Wn.of([i.text.replace("."," ")])}),this.pendingContextChange=f,!t.state.readOnly){let h=this.to-this.from+(f.to-f.from+f.insert.length);S$(t,f,Re.single(this.toEditorPos(i.selectionStart,h),this.toEditorPos(i.selectionEnd,h)))}this.pendingContextChange&&(this.revertPending(t.state),this.setSelection(t.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(n.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let a=this.toEditorPos(i.rangeStart),o=this.toEditorPos(i.rangeEnd);a{let r=[];for(let s of i.getTextFormats()){let a=s.underlineStyle,o=s.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(o)){let l=this.toEditorPos(s.rangeStart),u=this.toEditorPos(s.rangeEnd);if(l{t.inputState.composing<0&&(t.inputState.composing=0,t.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(t.inputState.composing=-1,t.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(t.state)}};for(let i in this.handlers)n.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let r=Jy(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(t){let n=0,i=!1,r=this.pendingContextChange;return t.changes.iterChanges((s,a,o,l,u)=>{if(i)return;let d=u.length-(a-s);if(r&&a>=r.to)if(r.from==s&&r.to==a&&r.insert.eq(u)){r=this.pendingContextChange=null,n+=d,this.to+=d;return}else r=null,this.revertPending(t.state);if(s+=n,a+=n,a<=this.from)this.from+=d,this.to+=d;else if(sthis.to||this.to-this.from+u.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(a),u.toString()),this.to+=d}n+=d}),r&&!i&&this.revertPending(t.state),!i}update(t){let n=this.pendingContextChange,i=t.startState.selection.main;this.composing&&(this.composing.drifted||!t.changes.touchesRange(i.from,i.to)&&t.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=t.changes.mapPos(this.composing.editorBase)):!this.applyEdits(t)||!this.rangeIsValid(t.state)?(this.pendingContextChange=null,this.reset(t.state)):(t.docChanged||t.selectionSet||n)&&this.setSelection(t.state),(t.geometryChanged||t.docChanged||t.selectionSet)&&t.view.requestMeasure(this.measureReq)}resetRange(t){let{head:n}=t.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(t.doc.length,n+1e4)}reset(t){this.resetRange(t),this.editContext.updateText(0,this.editContext.text.length,t.doc.sliceString(this.from,this.to)),this.setSelection(t)}revertPending(t){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),t.doc.sliceString(n.from,n.to))}setSelection(t){let{main:n}=t.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),r=this.toContextPos(n.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(t){let{head:n}=t.selection.main;return!(this.from>0&&n-this.from<500||this.to1e4*3)}toEditorPos(t,n=this.to-this.from){t=Math.min(t,n);let i=this.composing;return i&&i.drifted?i.editorBase+(t-i.contextBase):t+this.from}toContextPos(t){let n=this.composing;return n&&n.drifted?n.contextBase+(t-n.editorBase):t-this.from}destroy(){for(let t in this.handlers)this.editContext.removeEventListener(t,this.handlers[t])}}class rt{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(t={}){var n;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),t.parent&&t.parent.appendChild(this.dom);let{dispatch:i}=t;this.dispatchTransactions=t.dispatchTransactions||i&&(r=>r.forEach(s=>i(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=t.root||X7e(t.parent)||document,this.viewState=new gz(this,t.state||Nn.create(t)),t.scrollTo&&t.scrollTo.is(JS)&&(this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(jm).map(r=>new BN(r));for(let r of this.plugins)r.update(this);this.observer=new mFe(this),this.inputState=new Dze(this),this.inputState.ensureHandlers(this.plugins),this.docView=new iz(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...t){let n=t.length==1&&t[0]instanceof Dr?t:t.length==1&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(n,this)}update(t){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,i=!1,r,s=this.state;for(let h of t){if(h.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=h.state}if(this.destroyed){this.viewState.state=s;return}let a=this.hasFocus,o=0,l=null;t.some(h=>h.annotation(Kse))?(this.inputState.notifiedFocused=a,o=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,l=Jse(s,a),l||(o=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(d=null)):this.observer.clear(),s.facet(Nn.phrases)!=this.state.facet(Nn.phrases))return this.setState(s);r=fk.create(this,s,t),r.flags|=o;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let h of t){if(f&&(f=f.map(h.changes)),h.scrollIntoView){let{main:p}=h.state.selection,{x:m,y:g}=this.state.facet(rt.cursorScrollMargin);f=new sg(p.empty?p:Re.cursor(p.head,p.head>p.anchor?-1:1),"nearest","nearest",g,m)}for(let p of h.effects)p.is(JS)&&(f=p.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=Ok.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),n=this.docView.update(r),this.state.facet(ib)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(n,t.some(h=>h.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(sv)!=r.state.facet(sv)&&(this.viewState.mustMeasureContent=!0),(n||i||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!r.empty)for(let h of this.state.facet(vj))try{h(r)}catch(p){Ta(this.state,p,"update listener")}(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!Xse(this,d)&&u.force&&rg(this.contentDOM,u.key,u.keyCode)})}setState(t){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=t;return}this.updateState=2;let n=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new gz(this,t),this.plugins=t.facet(jm).map(i=>new BN(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new iz(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(t){let n=t.startState.facet(jm),i=t.state.facet(jm);if(n!=i){let r=[];for(let s of i){let a=n.indexOf(s);if(a<0)r.push(new BN(s));else{let o=this.plugins[a];o.mustUpdate=t,r.push(o)}}for(let s of this.plugins)s.mustUpdate!=t&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=t;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,t&&this.observer.forceFlush();let n=null,i=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:a}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let o=0;;o++){if(a<0)if(yse(i||this.win))s=-1,a=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(r);s=p.from,a=p.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(o>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];l&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(p=>{try{return p.read(this)}catch(m){return Ta(this.state,m),Sz}}),f=fk.create(this,this.state,[]),h=!1;f.flags|=l,n?n.flags|=l:n=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),h=this.docView.update(f),h&&this.docViewUpdate());for(let p=0;p1||m<-1)&&!(ut.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+m,i?i.scrollTop+=m:this.win.scrollBy(0,m),a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let o of this.state.facet(vj))o(n)}get themeClasses(){return Aj+" "+(this.state.facet(_j)?iae:nae)+" "+this.state.facet(sv)}updateAttrs(){let t=vz(this,Dse,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(au)?"true":"false",class:"cm-content",style:`${ut.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),vz(this,b$,n);let i=this.observer.ignore(()=>{let r=Z7(this.contentDOM,this.contentAttrs,n),s=Z7(this.dom,this.editorAttrs,t);return r||s});return this.editorAttrs=t,this.contentAttrs=n,i}showAnnouncements(t){let n=!0;for(let i of t)for(let r of i.effects)if(r.is(rt.announce)){n&&(this.announceDOM.textContent=""),n=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(ib);let t=this.state.facet(rt.cspNonce);Of.mount(this.root,this.styleModules.concat(hFe).reverse(),t?{nonce:t}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(t){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),t){if(this.measureRequests.indexOf(t)>-1)return;if(t.key!=null){for(let n=0;ni.plugin==t)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,n,i){return VN(this,t,rz(this,t,n,i))}moveByGroup(t,n){return VN(this,t,rz(this,t,n,i=>_ze(this,t.head,i)))}visualLineSide(t,n){let i=this.bidiSpans(t),r=this.textDirectionAt(t.from),s=i[n?i.length-1:0];return Re.cursor(s.side(n,r)+t.from,s.forward(!n,r)?1:-1)}moveToLineBoundary(t,n,i=!0){return Tze(this,t,n,i)}moveVertically(t,n,i){return VN(this,t,Aze(this,t,n,i))}domAtPos(t,n=1){return this.docView.domAtPos(t,n)}posAtDOM(t,n=0){return this.docView.posFromDOM(t,n)}posAtCoords(t,n=!0){this.readMeasured();let i=kj(this,t,n);return i&&i.pos}posAndSideAtCoords(t,n=!0){return this.readMeasured(),kj(this,t,n)}coordsAtPos(t,n=1){this.readMeasured();let i=this.state.doc.lineAt(t),r=this.bidiSpans(i),s=r[lc.find(r,t-i.from,-1,n)];return this.docView.coordsAt(t,n,s.dir==ki.RTL)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(Pse)||tthis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>bFe)return kse(t.length);let n=this.textDirectionAt(t.from),i;for(let s of this.bidiCache)if(s.from==t.from&&s.dir==n&&(s.fresh||Ese(s.isolates,i=ez(this,t))))return s.order;i||(i=ez(this,t));let r=J7e(t.text,n,i);return this.bidiCache.push(new Ok(t.from,t.to,n,i,!0,r)),r}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||ut.safari&&((t=this.inputState)===null||t===void 0?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{bse(this.contentDOM),this.docView.updateSelection()})}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((t.nodeType==9?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let t of this.plugins)t.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(t,n={}){var i,r,s,a;return JS.of(new sg(typeof t=="number"?Re.cursor(t):t,(i=n.y)!==null&&i!==void 0?i:"nearest",(r=n.x)!==null&&r!==void 0?r:"nearest",(s=n.yMargin)!==null&&s!==void 0?s:5,(a=n.xMargin)!==null&&a!==void 0?a:5))}scrollSnapshot(){let{scrollTop:t,scrollLeft:n}=this.scrollDOM,i=this.viewState.scrollAnchorAt(t);return JS.of(new sg(Re.cursor(i.from),"start","start",i.top-t,n,!0))}setTabFocusMode(t){t==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof t=="boolean"?this.inputState.tabFocusMode=t?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+t)}static domEventHandlers(t){return pr.define(()=>({}),{eventHandlers:t})}static domEventObservers(t){return pr.define(()=>({}),{eventObservers:t})}static theme(t,n){let i=Of.newName(),r=[sv.of(i),ib.of(Nj(`.${i}`,t))];return n&&n.dark&&r.push(_j.of(!0)),r}static baseTheme(t){return Yu.lowest(ib.of(Nj("."+Aj,t,rae)))}static findFromDOM(t){var n;let i=t.querySelector(".cm-content"),r=i&&fr.get(i)||fr.get(t);return((n=r==null?void 0:r.root)===null||n===void 0?void 0:n.view)||null}}rt.styleModule=ib;rt.inputHandler=Rse;rt.clipboardInputFilter=g$;rt.clipboardOutputFilter=O$;rt.scrollHandler=Mse;rt.focusChangeEffect=Ise;rt.perLineTextDirection=Pse;rt.exceptionSink=Cse;rt.updateListener=vj;rt.editable=au;rt.mouseSelectionStyle=Nse;rt.dragMovesSelection=Ase;rt.clickAddsSelectionRange=_se;rt.decorations=w_;rt.blockWrappers=$se;rt.outerDecorations=y$;rt.atomicRanges=h1;rt.bidiIsolatedRanges=Qse;rt.cursorScrollMargin=ht.define({combine:e=>{let t=5,n=5;for(let i of e)typeof i=="number"?t=n=i:{x:t,y:n}=i;return{x:t,y:n}}});rt.scrollMargins=Bse;rt.darkTheme=_j;rt.cspNonce=ht.define({combine:e=>e.length?e[0]:""});rt.contentAttributes=b$;rt.editorAttributes=Dse;rt.lineWrapping=rt.contentAttributes.of({class:"cm-lineWrapping"});rt.announce=Ht.define();const bFe=4096,Sz={};class Ok{constructor(t,n,i,r,s,a){this.from=t,this.to=n,this.dir=i,this.isolates=r,this.fresh=s,this.order=a}static update(t,n){if(n.empty&&!t.some(s=>s.fresh))return t;let i=[],r=t.length?t[t.length-1].dir:ki.LTR;for(let s=Math.max(0,t.length-10);s=0;r--){let s=i[r],a=typeof s=="function"?s(e):s;a&&h$(a,n)}return n}const yFe=ut.mac?"mac":ut.windows?"win":ut.linux?"linux":"key";function xFe(e,t){const n=e.split(/-(?!$)/);let i=n[n.length-1];i=="Space"&&(i=" ");let r,s,a,o;for(let l=0;li.concat(r),[]))),n}function vFe(e,t,n){return aae(sae(e.state),t,e,n)}let Id=null;const wFe=4e3;function EFe(e,t=yFe){let n=Object.create(null),i=Object.create(null),r=(a,o)=>{let l=i[a];if(l==null)i[a]=o;else if(l!=o)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},s=(a,o,l,u,d)=>{var f,h;let p=n[a]||(n[a]=Object.create(null)),m=o.split(/ (?!$)/).map(b=>xFe(b,t));for(let b=1;b{let v=Id={view:x,prefix:S,scope:a};return setTimeout(()=>{Id==v&&(Id=null)},wFe),!0}]})}let g=m.join(" ");r(g,!1);let y=p[g]||(p[g]={preventDefault:!1,stopPropagation:!1,run:((h=(f=p._any)===null||f===void 0?void 0:f.run)===null||h===void 0?void 0:h.slice())||[]});l&&y.run.push(l),u&&(y.preventDefault=!0),d&&(y.stopPropagation=!0)};for(let a of e){let o=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let u of o){let d=n[u]||(n[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=a;for(let h in d)d[h].run.push(p=>f(p,Cj))}let l=a[t]||a.key;if(l)for(let u of o)s(u,l,a.run,a.preventDefault,a.stopPropagation),a.shift&&s(u,"Shift-"+l,a.shift,a.preventDefault,a.stopPropagation)}return n}let Cj=null;function aae(e,t,n,i){Cj=t;let r=$7e(t),s=Sa(r,0),a=ec(s)==r.length&&r!=" ",o="",l=!1,u=!1,d=!1;Id&&Id.view==n&&Id.scope==i&&(o=Id.prefix+" ",Yse.indexOf(t.keyCode)<0&&(u=!0,Id=null));let f=new Set,h=y=>{if(y){for(let b of y.run)if(!f.has(b)&&(f.add(b),b(n)))return y.stopPropagation&&(d=!0),!0;y.preventDefault&&(y.stopPropagation&&(d=!0),u=!0)}return!1},p=e[i],m,g;return p&&(h(p[o+av(r,t,!a)])?l=!0:a&&(t.altKey||t.metaKey||t.ctrlKey)&&!(ut.windows&&t.ctrlKey&&t.altKey)&&!(ut.mac&&t.altKey&&!(t.ctrlKey||t.metaKey))&&(m=bf[t.keyCode])&&m!=r?(h(p[o+av(m,t,!0)])||t.shiftKey&&(g=Zy[t.keyCode])!=r&&g!=m&&h(p[o+av(g,t,!1)]))&&(l=!0):a&&t.shiftKey&&h(p[o+av(r,t,!0)])&&(l=!0),!l&&h(p._any)&&(l=!0)),u&&(l=!0),l&&d&&t.stopPropagation(),Cj=null,l}class Dh{constructor(t,n,i,r,s){this.className=t,this.left=n,this.top=i,this.width=r,this.height=s}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}update(t,n){return n.className!=this.className?!1:(this.adjust(t),!0)}adjust(t){t.style.left=this.left+"px",t.style.top=this.top+"px",this.width!=null&&(t.style.width=this.width+"px"),t.style.height=this.height+"px"}eq(t){return this.left==t.left&&this.top==t.top&&this.width==t.width&&this.height==t.height&&this.className==t.className}static forRange(t,n,i){if(i.empty){let r=t.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let s=oae(t);return[new Dh(n,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return kFe(t,n,i)}}function oae(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==ki.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function Ez(e,t,n,i){let r=e.coordsAtPos(t,n*2);if(!r)return i;let s=e.dom.getBoundingClientRect(),a=(r.top+r.bottom)/2,o=e.posAtCoords({x:s.left+1,y:a}),l=e.posAtCoords({x:s.right-1,y:a});return o==null||l==null?i:{from:Math.max(i.from,Math.min(o,l)),to:Math.min(i.to,Math.max(o,l))}}function kFe(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let i=Math.max(n.from,e.viewport.from),r=Math.min(n.to,e.viewport.to),s=e.textDirection==ki.LTR,a=e.contentDOM,o=a.getBoundingClientRect(),l=oae(e),u=a.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),f=o.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),h=o.right-(d?parseInt(d.paddingRight):0),p=Ej(e,i,1),m=Ej(e,r,-1),g=p.type==Ts.Text?p:null,y=m.type==Ts.Text?m:null;if(g&&(e.lineWrapping||p.widgetLineBreaks)&&(g=Ez(e,i,1,g)),y&&(e.lineWrapping||m.widgetLineBreaks)&&(y=Ez(e,r,-1,y)),g&&y&&g.from==y.from&&g.to==y.to)return S(x(n.from,n.to,g));{let E=g?x(n.from,null,g):v(p,!1),w=y?x(null,n.to,y):v(m,!0),k=[];return(g||p).to<(y||m).from-(g&&y?1:0)||p.widgetLineBreaks>1&&E.bottom+e.defaultLineHeight/2j&&L.from=N)break;I>D&&R(Math.max($,D),E==null&&$<=j,Math.min(I,N),w==null&&I>=Q,B.dir)}if(D=M.to+1,D>=N)break}return A.length==0&&R(j,E==null,Q,w==null,e.textDirection),{top:_,bottom:C,horizontal:A}}function v(E,w){let k=o.top+(w?E.top:E.bottom);return{top:k,bottom:k,horizontal:[]}}}function TFe(e,t){return e.constructor==t.constructor&&e.eq(t)}class _Fe{constructor(t,n){this.view=t,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,t)}update(t){t.startState.facet(Ew)!=t.state.facet(Ew)&&this.setOrder(t.state),(this.layer.update(t,this.dom)||t.geometryChanged)&&(this.scale(),t.view.requestMeasure(this.measureReq))}docViewUpdate(t){this.layer.updateOnDocViewUpdate!==!1&&t.requestMeasure(this.measureReq)}setOrder(t){let n=0,i=t.facet(Ew);for(;n!TFe(n,this.drawn[i]))){let n=this.dom.firstChild,i=0;for(let r of t)r.update&&n&&r.constructor&&this.drawn[i].constructor&&r.update(n,this.drawn[i])?(n=n.nextSibling,i++):this.dom.insertBefore(r.draw(),n);for(;n;){let r=n.nextSibling;n.remove(),n=r}this.drawn=t,ut.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Ew=ht.define();function lae(e){return[pr.define(t=>new _Fe(t,e)),Ew.of(e)]}const Gg=ht.define({combine(e){return Cc(e,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(t,n)=>Math.min(t,n),drawRangeCursor:(t,n)=>t||n})}});function AFe(e={}){return[Gg.of(e),NFe,CFe,RFe,jse.of(!0)]}function cae(e){return e.startState.facet(Gg)!=e.state.facet(Gg)}const NFe=lae({above:!0,markers(e){let{state:t}=e,n=t.facet(Gg),i=[];for(let r of t.selection.ranges){let s=r==t.selection.main;if(r.empty||n.drawRangeCursor&&!(s&&ut.ios&&n.iosSelectionHandles)){let a=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=r.empty?r:Re.cursor(r.head,r.assoc);for(let l of Dh.forRange(e,a,o))i.push(l)}}return i},update(e,t){e.transactions.some(i=>i.selection)&&(t.style.animationName=t.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=cae(e);return n&&kz(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){kz(t.state,e)},class:"cm-cursorLayer"});function kz(e,t){t.style.animationDuration=e.facet(Gg).cursorBlinkRate+"ms"}const CFe=lae({above:!1,markers(e){let t=[],{main:n,ranges:i}=e.state.selection;for(let r of i)if(!r.empty)for(let s of Dh.forRange(e,"cm-selectionBackground",r))t.push(s);if(ut.ios&&!n.empty&&e.state.facet(Gg).iosSelectionHandles){for(let r of Dh.forRange(e,"cm-selectionHandle cm-selectionHandle-start",Re.cursor(n.from,1)))t.push(r);for(let r of Dh.forRange(e,"cm-selectionHandle cm-selectionHandle-end",Re.cursor(n.to,1)))t.push(r)}return t},update(e,t){return e.docChanged||e.selectionSet||e.viewportChanged||cae(e)},class:"cm-selectionLayer"}),RFe=Yu.highest(rt.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),uae=Ht.define({map(e,t){return e==null?null:t.mapPos(e)}}),sb=_s.define({create(){return null},update(e,t){return e!=null&&(e=t.changes.mapPos(e)),t.effects.reduce((n,i)=>i.is(uae)?i.value:n,e)}}),IFe=pr.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(sb);n==null?this.cursor!=null&&((t=this.cursor)===null||t===void 0||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(sb)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(sb),n=t!=null&&e.coordsAtPos(t);if(!n)return null;let i=e.scrollDOM.getBoundingClientRect();return{left:n.left-i.left+e.scrollDOM.scrollLeft*e.scaleX,top:n.top-i.top+e.scrollDOM.scrollTop*e.scaleY,height:n.bottom-n.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:n}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/n+"px",this.cursor.style.height=e.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(sb)!=e&&this.view.dispatch({effects:uae.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){(e.target==this.view.contentDOM||!this.view.contentDOM.contains(e.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function PFe(){return[sb,IFe]}function Tz(e,t,n,i,r){t.lastIndex=0;for(let s=e.iterRange(n,i),a=n,o;!s.next().done;a+=s.value.length)if(!s.lineBreak)for(;o=t.exec(s.value);)r(a+o.index,o)}function jFe(e,t){let n=e.visibleRanges;if(n.length==1&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let i=[];for(let{from:r,to:s}of n)r=Math.max(e.state.doc.lineAt(r).from,r-t),s=Math.min(e.state.doc.lineAt(s).to,s+t),i.length&&i[i.length-1].to>=r?i[i.length-1].to=s:i.push({from:r,to:s});return i}class MFe{constructor(t){const{regexp:n,decoration:i,decorate:r,boundary:s,maxLength:a=1e3}=t;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,r)this.addMatch=(o,l,u,d)=>r(d,u,u+o[0].length,o,l);else if(typeof i=="function")this.addMatch=(o,l,u,d)=>{let f=i(o,l,u);f&&d(u,u+o[0].length,f)};else if(i)this.addMatch=(o,l,u,d)=>d(u,u+o[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=a}createDeco(t){let n=new Pu,i=n.add.bind(n);for(let{from:r,to:s}of jFe(t,this.maxLength))Tz(t.state.doc,this.regexp,r,s,(a,o)=>this.addMatch(o,t,a,i));return n.finish()}updateDeco(t,n){let i=1e9,r=-1;return t.docChanged&&t.changes.iterChanges((s,a,o,l)=>{l>=t.view.viewport.from&&o<=t.view.viewport.to&&(i=Math.min(o,i),r=Math.max(l,r))}),t.viewportMoved||r-i>1e3?this.createDeco(t.view):r>-1?this.updateRange(t.view,n.map(t.changes),i,r):n}updateRange(t,n,i,r){for(let s of t.visibleRanges){let a=Math.max(s.from,i),o=Math.min(s.to,r);if(o>=a){let l=t.state.doc.lineAt(a),u=l.tol.from;a--)if(this.boundary.test(l.text[a-1-l.from])){d=a;break}for(;oh.push(b.range(g,y));if(l==u)for(this.regexp.lastIndex=d-l.from;(p=this.regexp.exec(l.text))&&p.indexthis.addMatch(y,t,g,m));n=n.update({filterFrom:d,filterTo:f,filter:(g,y)=>gf,add:h})}}return n}}const Rj=/x/.unicode!=null?"gu":"g",LFe=new RegExp(`[\0-\b +--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Rj),DFe={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let HN=null;function $Fe(){var e;if(HN==null&&typeof document<"u"&&document.body){let t=document.body.style;HN=((e=t.tabSize)!==null&&e!==void 0?e:t.MozTabSize)!=null}return HN||!1}const kw=ht.define({combine(e){let t=Cc(e,{render:null,specialChars:LFe,addSpecialChars:null});return(t.replaceTabs=!$Fe())&&(t.specialChars=new RegExp(" |"+t.specialChars.source,Rj)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,Rj)),t}});function QFe(e={}){return[kw.of(e),BFe()]}let _z=null;function BFe(){return _z||(_z=pr.fromClass(class{constructor(e){this.view=e,this.decorations=_t.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(kw)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new MFe({regexp:e.specialChars,decoration:(t,n,i)=>{let{doc:r}=n.state,s=Sa(t[0],0);if(s==9){let a=r.lineAt(i),o=n.state.tabSize,l=wl(a.text,o,i-a.from);return _t.replace({widget:new VFe((o-l%o)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=_t.replace({widget:new FFe(e,s)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(kw);e.startState.facet(kw)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))}const UFe="•";function zFe(e){return e>=32?UFe:e==10?"␤":String.fromCharCode(9216+e)}class FFe extends Cl{constructor(t,n){super(),this.options=t,this.code=n}eq(t){return t.code==this.code}toDOM(t){let n=zFe(this.code),i=t.state.phrase("Control character")+" "+(DFe[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,n);if(r)return r;let s=document.createElement("span");return s.textContent=n,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class VFe extends Cl{constructor(t){super(),this.width=t}eq(t){return t.width==this.width}toDOM(){let t=document.createElement("span");return t.textContent=" ",t.className="cm-tab",t.style.width=this.width+"px",t}ignoreEvent(){return!1}}function XFe(){return HFe}const qFe=_t.line({class:"cm-activeLine"}),HFe=pr.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let i of e.state.selection.ranges){let r=e.lineBlockAt(i.head);r.from>t&&(n.push(qFe.range(r.from)),t=r.from)}return _t.set(n)}},{decorations:e=>e.decorations});class YFe extends Cl{constructor(t){super(),this.content=t}toDOM(t){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(t):this.content.cloneNode(!0)),n.setAttribute("aria-hidden","true"),n}coordsAt(t){let n=t.firstChild?qb(t.firstChild):[];if(!n.length)return null;let i=window.getComputedStyle(t.parentNode),r=ex(n[0],i.direction!="rtl"),s=parseInt(i.lineHeight);return r.bottom-r.top>s*1.5?{left:r.left,right:r.right,top:r.top,bottom:r.top+s}:r}ignoreEvent(){return!1}}function GFe(e){let t=pr.fromClass(class{constructor(n){this.view=n,this.placeholder=e?_t.set([_t.widget({widget:new YFe(e),side:1}).range(0)]):_t.none}get decorations(){return this.view.state.doc.length?_t.none:this.placeholder}},{decorations:n=>n.decorations});return typeof e=="string"?[t,rt.contentAttributes.of({"aria-placeholder":e})]:t}const Ij=2e3;function WFe(e,t,n){let i=Math.min(t.line,n.line),r=Math.max(t.line,n.line),s=[];if(t.off>Ij||n.off>Ij||t.col<0||n.col<0){let a=Math.min(t.off,n.off),o=Math.max(t.off,n.off);for(let l=i;l<=r;l++){let u=e.doc.line(l);u.length<=o&&s.push(Re.range(u.from+a,u.to+o))}}else{let a=Math.min(t.col,n.col),o=Math.max(t.col,n.col);for(let l=i;l<=r;l++){let u=e.doc.line(l),d=dj(u.text,a,e.tabSize,!0);if(d<0)s.push(Re.cursor(u.to));else{let f=dj(u.text,o,e.tabSize);s.push(Re.range(u.from+d,u.from+f))}}}return s}function ZFe(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}function Az(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),i=e.state.doc.lineAt(n),r=n-i.from,s=r>Ij?-1:r==i.length?ZFe(e,t.clientX):wl(i.text,e.state.tabSize,n-i.from);return{line:i.number,col:s,off:r}}function KFe(e,t){let n=Az(e,t),i=e.state.selection;return n?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(n.line).from),a=r.state.doc.lineAt(s);n={line:a.number,col:n.col,off:Math.min(n.off,a.length)},i=i.map(r.changes)}},get(r,s,a){let o=Az(e,r);if(!o)return i;let l=WFe(e.state,n,o);return l.length?a?Re.create(l.concat(i.ranges)):Re.create(l):i}}:null}function JFe(e){let t=n=>n.altKey&&n.button==0;return rt.mouseSelectionStyle.of((n,i)=>t(i)?KFe(n,i):null)}const eVe={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},tVe={style:"cursor: crosshair"};function nVe(e={}){let[t,n]=eVe[e.key||"Alt"],i=pr.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==t||n(r))},keyup(r){(r.keyCode==t||!n(r))&&this.set(!1)},mousemove(r){this.set(n(r))}}});return[i,rt.contentAttributes.of(r=>{var s;return!((s=r.plugin(i))===null||s===void 0)&&s.isDown?tVe:null})]}const ov="-10000px";class dae{constructor(t,n,i,r){this.facet=n,this.createTooltipView=i,this.removeTooltipView=r,this.input=t.state.facet(n),this.tooltips=this.input.filter(a=>a);let s=null;this.tooltipViews=this.tooltips.map(a=>s=i(a,s))}update(t,n){var i;let r=t.state.facet(this.facet),s=r.filter(l=>l);if(r===this.input){for(let l of this.tooltipViews)l.update&&l.update(t);return!1}let a=[],o=n?[]:null;for(let l=0;ln[u]=l),n.length=o.length),this.input=r,this.tooltips=s,this.tooltipViews=a,!0}}function iVe(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}const YN=ht.define({combine:e=>{var t,n,i;return{position:ut.ios?"absolute":((t=e.find(r=>r.position))===null||t===void 0?void 0:t.position)||"fixed",parent:((n=e.find(r=>r.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((i=e.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||iVe}}}),Nz=new WeakMap,E$=pr.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(YN);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new dae(e,k$,(n,i)=>this.createTooltip(n,i),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,i=e.state.facet(YN);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;n=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),i=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",n.dom.appendChild(r)}return n.dom.style.position=this.position,n.dom.style.top=ov,n.dom.style.left="0px",this.container.insertBefore(n.dom,i),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(e=i.destroy)===null||e===void 0||e.call(i);this.parent&&this.container.remove(),(t=this.resizeObserver)===null||t===void 0||t.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(ut.safari){let a=s.getBoundingClientRect();n=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else n=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(e=s.width/this.parent.offsetWidth,t=s.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=x$(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,a)=>{let o=this.manager.tooltipViews[a];return o.getCoords?o.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(YN).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let o of this.manager.tooltipViews)o.dom.style.position="absolute"}let{visible:n,space:i,scaleX:r,scaleY:s}=e,a=[];for(let o=0;o=Math.min(n.bottom,i.bottom)||f.rightMath.min(n.right,i.right)+.1)){d.style.top=ov;continue}let p=l.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,g=h.right-h.left,y=(t=Nz.get(u))!==null&&t!==void 0?t:h.bottom-h.top,b=u.offset||sVe,S=this.view.textDirection==ki.LTR,x=h.width>i.right-i.left?S?i.left:i.right-h.width:S?Math.max(i.left,Math.min(f.left-(p?14:0)+b.x,i.right-g)):Math.min(Math.max(i.left,f.left-g+(p?14:0)-b.x),i.right-g),v=this.above[o];!l.strictSide&&(v?f.top-y-m-b.yi.bottom)&&v==i.bottom-f.bottom>f.top-i.top&&(v=this.above[o]=!v);let E=(v?f.top-i.top:i.bottom-f.bottom)-m;if(Ex&&_.topw&&(w=v?_.top-y-2-m:_.bottom+m+2);if(this.position=="absolute"?(d.style.top=(w-e.parent.top)/s+"px",Cz(d,(x-e.parent.left)/r)):(d.style.top=w/s+"px",Cz(d,x/r)),p){let _=f.left+(S?b.x:-b.x)-(x+14-7);p.style.left=_/r+"px"}u.overlap!==!0&&a.push({left:x,top:w,right:k,bottom:w+y}),d.classList.toggle("cm-tooltip-above",v),d.classList.toggle("cm-tooltip-below",!v),u.positioned&&u.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=ov}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Cz(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+"px")}const rVe=rt.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),sVe={x:0,y:0},k$=ht.define({enables:[E$,rVe]}),bk=ht.define({combine:e=>e.reduce((t,n)=>t.concat(n),[])});class __{static create(t){return new __(t)}constructor(t){this.view=t,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new dae(t,bk,(n,i)=>this.createHostedView(n,i),n=>n.dom.remove())}createHostedView(t,n){let i=t.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(t){for(let n of this.manager.tooltipViews)n.mount&&n.mount(t);this.mounted=!0}positioned(t){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(t)}update(t){this.manager.update(t)}destroy(){var t;for(let n of this.manager.tooltipViews)(t=n.destroy)===null||t===void 0||t.call(n)}passProp(t){let n;for(let i of this.manager.tooltipViews){let r=i[t];if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const aVe=k$.compute([bk],e=>{let t=e.facet(bk);return t.length===0?null:{pos:Math.min(...t.map(n=>n.pos)),end:Math.max(...t.map(n=>{var i;return(i=n.end)!==null&&i!==void 0?i:n.pos})),create:__.create,above:t[0].above,arrow:t.some(n=>n.arrow)}}),fae=ht.define();class oVe{constructor(t,n,i,r,s,a){this.view=t,this.source=n,this.field=i,this.locked=r,this.setHover=s,this.hoverTime=a,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:t.dom,time:0},this.checkHover=this.checkHover.bind(this),t.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),t.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(t){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let t=Date.now()-this.lastMove.time;ta.bottom||n.xa.right+t.defaultCharacterWidth)return;let o=t.bidiSpans(t.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),l=o&&o.dir==ki.RTL?-1:1;s=n.x{if(o&&!(Array.isArray(o)&&!o.length)){let l=Array.isArray(o)?o:[o];r&&this.locked.set(l,r),t.dispatch({effects:this.setHover.of(l)})}};if(s&&"then"in s){let o=this.pending={pos:n};s.then(l=>{this.pending==o&&(this.pending=null,a(l))},l=>Ta(t.state,l,"hover tooltip"))}else a(s)}get tooltip(){let t=this.view.plugin(E$),n=t?t.manager.tooltips.findIndex(i=>i.create==__.create):-1;return n>-1?t.manager.tooltipViews[n]:null}mousemove(t){var n,i;this.lastMove={x:t.clientX,y:t.clientY,target:t.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:s}=this;if(r.length&&!this.locked.has(r)&&s&&!lVe(s.dom,t)||this.pending){let{pos:a}=r[0]||this.pending,o=(i=(n=r[0])===null||n===void 0?void 0:n.end)!==null&&i!==void 0?i:a;(a==o?this.view.posAtCoords(this.lastMove)!=a:!cVe(this.view,a,o,t.clientX,t.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(t){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length&&!this.locked.has(n)){let{tooltip:i}=this;i&&i.dom.contains(t.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(t){let n=i=>{t.removeEventListener("mouseleave",n);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};t.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const lv=4;function lVe(e,t){let{left:n,right:i,top:r,bottom:s}=e.getBoundingClientRect(),a;if(a=e.querySelector(".cm-tooltip-arrow")){let o=a.getBoundingClientRect();r=Math.min(o.top,r),s=Math.max(o.bottom,s)}return t.clientX>=n-lv&&t.clientX<=i+lv&&t.clientY>=r-lv&&t.clientY<=s+lv}function cVe(e,t,n,i,r,s){let a=e.scrollDOM.getBoundingClientRect(),o=e.documentTop+e.documentPadding.top+e.contentHeight;if(a.left>i||a.rightr||Math.min(a.bottom,o)=t&&l<=n}function uVe(e,t={}){let n=Ht.define(),i=new WeakMap,r=_s.define({create(){return[]},update(a,o){let l=i.get(a);if(a.length&&(t.hideOnChange&&(o.docChanged||o.selection)?a=[]:l&&l(o)?a=[]:t.hideOn&&(a=a.filter(u=>!t.hideOn(o,u)))),o.docChanged&&a.length){let u=[];for(let d of a){let f=o.changes.mapPos(d.pos,-1,ws.TrackDel);if(f!=null){let h=Object.assign(Object.create(null),d);h.pos=f,h.end!=null&&(h.end=o.changes.mapPos(h.end)),u.push(h)}}a=u}for(let u of o.effects)u.is(n)&&(a=u.value,l=void 0),(u.is(fVe)&&!u.value||u.value==r)&&(a=[]);return a.length&&l&&i.set(a,l),a},provide:a=>bk.from(a)});const s=pr.define(a=>new oVe(a,e,r,i,n,t.hoverTime||300));return{active:r,extension:[r,s,fae.of(s),aVe]}}function dVe(e,t,n,i={}){var r;let s=e.state.facet(fae).map(a=>e.plugin(a)).filter(a=>!!a);if(i.tooltip&&i.tooltip.active){let a=s.find(o=>o.field==i.tooltip.active);a&&(s=[a])}for(let a of s)a.activateHover(e,t,n,(r=i.until)!==null&&r!==void 0?r:()=>!1)}function hae(e,t){let n=e.plugin(E$);if(!n)return null;let i=n.manager.tooltips.indexOf(t);return i<0?null:n.manager.tooltipViews[i]}const fVe=Ht.define(),Rz=ht.define({combine(e){let t,n;for(let i of e)t=t||i.topContainer,n=n||i.bottomContainer;return{topContainer:t,bottomContainer:n}}});function T$(e,t){let n=e.plugin(pae),i=n?n.specs.indexOf(t):-1;return i>-1?n.panels[i]:null}const pae=pr.fromClass(class{constructor(e){this.input=e.state.facet(nx),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(e));let t=e.state.facet(Rz);this.top=new cv(e,!0,t.topContainer),this.bottom=new cv(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(e){let t=e.state.facet(Rz);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new cv(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new cv(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(nx);if(n!=this.input){let i=n.filter(l=>l),r=[],s=[],a=[],o=[];for(let l of i){let u=this.specs.indexOf(l),d;u<0?(d=l(e.view),o.push(d)):(d=this.panels[u],d.update&&d.update(e)),r.push(d),(d.top?s:a).push(d)}this.specs=i,this.panels=r,this.top.sync(s),this.bottom.sync(a);for(let l of o)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let i of this.panels)i.update&&i.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>rt.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class cv{constructor(t,n,i){this.view=t,this.top=n,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(t){for(let n of this.panels)n.destroy&&t.indexOf(n)<0&&n.destroy();this.panels=t,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let t=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;t!=n.dom;)t=Iz(t);t=t.nextSibling}else this.dom.insertBefore(n.dom,t);for(;t;)t=Iz(t)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let t of this.classes.split(" "))t&&this.container.classList.remove(t);for(let t of(this.classes=this.view.themeClasses).split(" "))t&&this.container.classList.add(t)}}}function Iz(e){let t=e.nextSibling;return e.remove(),t}const nx=ht.define({enables:pae});function hVe(e,t){let n,i=new Promise(a=>n=a),r=a=>pVe(a,t,n);e.state.field(GN,!1)?e.dispatch({effects:mae.of(r)}):e.dispatch({effects:Ht.appendConfig.of(GN.init(()=>[r]))});let s=gae.of(r);return{close:s,result:i.then(a=>((e.win.queueMicrotask||(l=>e.win.setTimeout(l,10)))(()=>{e.state.field(GN).indexOf(r)>-1&&e.dispatch({effects:s})}),a))}}const GN=_s.define({create(){return[]},update(e,t){for(let n of t.effects)n.is(mae)?e=[n.value].concat(e):n.is(gae)&&(e=e.filter(i=>i!=n.value));return e},provide:e=>nx.computeN([e],t=>t.field(e))}),mae=Ht.define(),gae=Ht.define();function pVe(e,t,n){let i=t.content?t.content(e,()=>a(null)):null;if(!i){if(i=Oi("form"),t.input){let o=Oi("input",t.input);/^(text|password|number|email|tel|url)$/.test(o.type)&&o.classList.add("cm-textfield"),o.name||(o.name="input"),i.appendChild(Oi("label",(t.label||"")+": ",o))}else i.appendChild(document.createTextNode(t.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild(Oi("button",{class:"cm-button",type:"submit"},t.submitLabel||"OK"))}let r=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let o=0;o{u.keyCode==27?(u.preventDefault(),a(null)):u.keyCode==13&&(u.preventDefault(),a(l))}),l.addEventListener("submit",u=>{u.preventDefault(),a(l)})}let s=Oi("div",i,Oi("button",{onclick:()=>a(null),"aria-label":e.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));t.class&&(s.className=t.class),s.classList.add("cm-dialog");function a(o){s.contains(s.ownerDocument.activeElement)&&e.focus(),n(o)}return{dom:s,top:t.top,mount:()=>{if(t.focus){let o;typeof t.focus=="string"?o=i.querySelector(t.focus):o=i.querySelector("input")||i.querySelector("button"),o&&"select"in o?o.select():o&&"focus"in o&&o.focus()}}}}class Mu extends gf{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}}Mu.prototype.elementClass="";Mu.prototype.toDOM=void 0;Mu.prototype.mapMode=ws.TrackBefore;Mu.prototype.startSide=Mu.prototype.endSide=-1;Mu.prototype.point=!0;const Tw=ht.define(),mVe=ht.define(),gVe={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Sn.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Gb=ht.define();function OVe(e){return[Oae(),Gb.of({...gVe,...e})]}const Pz=ht.define({combine:e=>e.some(t=>t)});function Oae(e){return[bVe]}const bVe=pr.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(Gb).map(t=>new Mz(e,t)),this.fixed=!e.state.facet(Pz);for(let t of this.gutters)t.config.side=="after"?this.getDOMAfter().appendChild(t.dom):this.dom.appendChild(t.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,i=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(i<(n.to-n.from)*.8)}if(e.geometryChanged){let t=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=t,this.domAfter&&(this.domAfter.style.minHeight=t)}this.view.state.facet(Pz)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=Sn.iter(this.view.state.facet(Tw),this.view.viewport.from),i=[],r=this.gutters.map(s=>new yVe(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(s.type)){let a=!0;for(let o of s.type)if(o.type==Ts.Text&&a){Pj(n,i,o.from);for(let l of r)l.line(this.view,o,i);a=!1}else if(o.widget)for(let l of r)l.widget(this.view,o)}else if(s.type==Ts.Text){Pj(n,i,s.from);for(let a of r)a.line(this.view,s,i)}else if(s.widget)for(let a of r)a.widget(this.view,s);for(let s of r)s.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(Gb),n=e.state.facet(Gb),i=e.docChanged||e.heightChanged||e.viewportChanged||!Sn.eq(e.startState.facet(Tw),e.state.facet(Tw),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let r of this.gutters)r.update(e)&&(i=!0);else{i=!0;let r=[];for(let s of n){let a=t.indexOf(s);a<0?r.push(new Mz(this.view,s)):(this.gutters[a].update(e),r.push(this.gutters[a]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return i}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>rt.scrollMargins.of(t=>{let n=t.plugin(e);if(!n||n.gutters.length==0||!n.fixed)return null;let i=n.dom.offsetWidth*t.scaleX,r=n.domAfter?n.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==ki.LTR?{left:i,right:r}:{right:i,left:r}})});function jz(e){return Array.isArray(e)?e:[e]}function Pj(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class yVe{constructor(t,n,i){this.gutter=t,this.height=i,this.i=0,this.cursor=Sn.iter(t.markers,n.from)}addElement(t,n,i){let{gutter:r}=this,s=(n.top-this.height)/t.scaleY,a=n.height/t.scaleY;if(this.i==r.elements.length){let o=new bae(t,a,s,i);r.elements.push(o),r.dom.appendChild(o.dom)}else r.elements[this.i].update(t,a,s,i);this.height=n.bottom,this.i++}line(t,n,i){let r=[];Pj(this.cursor,r,n.from),i.length&&(r=r.concat(i));let s=this.gutter.config.lineMarker(t,n,r);s&&r.unshift(s);let a=this.gutter;r.length==0&&!a.config.renderEmptyElements||this.addElement(t,n,r)}widget(t,n){let i=this.gutter.config.widgetMarker(t,n.widget,n),r=i?[i]:null;for(let s of t.state.facet(mVe)){let a=s(t,n.widget,n);a&&(r||(r=[])).push(a)}r&&this.addElement(t,n,r)}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let n=t.elements.pop();t.dom.removeChild(n.dom),n.destroy()}}}class Mz{constructor(t,n){this.view=t,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in n.domEventHandlers)this.dom.addEventListener(i,r=>{let s=r.target,a;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();a=(l.top+l.bottom)/2}else a=r.clientY;let o=t.lineBlockAtHeight(a-t.documentTop);n.domEventHandlers[i](t,o,r)&&r.preventDefault()});this.markers=jz(n.markers(t)),n.initialSpacer&&(this.spacer=new bae(t,0,0,[n.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(t){let n=this.markers;if(this.markers=jz(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],t);r!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[r])}let i=t.view.viewport;return!Sn.eq(this.markers,n,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(t):!1)}destroy(){for(let t of this.elements)t.destroy()}}class bae{constructor(t,n,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,n,i,r)}update(t,n,i,r){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),xVe(this.markers,r)||this.setMarkers(t,r)}setMarkers(t,n){let i="cm-gutterElement",r=this.dom.firstChild;for(let s=0,a=0;;){let o=a,l=ss(o,l,u)||a(o,l,u):a}return i}})}});class WN extends Mu{constructor(t){super(),this.number=t}eq(t){return this.number==t.number}toDOM(){return document.createTextNode(this.number)}}function ZN(e,t){return e.state.facet(Mm).formatNumber(t,e.state)}const wVe=Gb.compute([Mm],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(t){return t.state.facet(SVe)},lineMarker(t,n,i){return i.some(r=>r.toDOM)?null:new WN(ZN(t,t.state.doc.lineAt(n.from).number))},widgetMarker:(t,n,i)=>{for(let r of t.state.facet(vVe)){let s=r(t,n,i);if(s)return s}return null},lineMarkerChange:t=>t.startState.facet(Mm)!=t.state.facet(Mm),initialSpacer(t){return new WN(ZN(t,Lz(t.state.doc.lines)))},updateSpacer(t,n){let i=ZN(n.view,Lz(n.view.state.doc.lines));return i==t.number?t:new WN(i)},domEventHandlers:e.facet(Mm).domEventHandlers,side:"before"}));function EVe(e={}){return[Mm.of(e),Oae(),wVe]}function Lz(e){let t=9;for(;t{let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.head).from;r>n&&(n=r,t.push(kVe.range(r)))}return Sn.of(t)});function _Ve(){return TVe}var KN;const vh=new Yt;function _$(e){return ht.define({combine:e?t=>t.concat(e):void 0})}const A$=new Yt;class Mo{constructor(t,n,i=[],r=""){this.data=t,this.name=r,Nn.prototype.hasOwnProperty("tree")||Object.defineProperty(Nn.prototype,"tree",{get(){return yi(this)}}),this.parser=n,this.extension=[xf.of(this),Nn.languageData.of((s,a,o)=>{let l=Dz(s,a,o),u=l.type.prop(vh);if(!u)return[];let d=s.facet(u),f=l.type.prop(A$);if(f){let h=l.resolve(a-l.from,o);for(let p of f)if(p.test(h,s)){let m=s.facet(p.facet);return p.type=="replace"?m:m.concat(d)}}return d})].concat(i)}isActiveAt(t,n,i=-1){return Dz(t,n,i).type.prop(vh)==this.data}findRegions(t){let n=t.facet(xf);if((n==null?void 0:n.data)==this.data)return[{from:0,to:t.doc.length}];if(!n||!n.allowsNesting)return[];let i=[],r=(s,a)=>{if(s.prop(vh)==this.data){i.push({from:a,to:a+s.length});return}let o=s.prop(Yt.mounted);if(o){if(o.tree.prop(vh)==this.data){if(o.overlay)for(let l of o.overlay)i.push({from:l.from+a,to:l.to+a});else i.push({from:a,to:a+s.length});return}else if(o.overlay){let l=i.length;if(r(o.tree,o.overlay[0].from+a),i.length>l)return}}for(let l=0;li.isTop?n:void 0)]}),t.name)}configure(t,n){return new Lu(this.data,this.parser.configure(t),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function yi(e){let t=e.field(Mo.state,!1);return t?t.tree:ni.empty}class AVe{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,n){let i=this.cursorPos-this.string.length;return t=this.cursorPos?this.doc.sliceString(t,n):this.string.slice(t-i,n-i)}}let NO=null;class ix{constructor(t,n,i=[],r,s,a,o,l){this.parser=t,this.state=n,this.fragments=i,this.tree=r,this.treeLen=s,this.viewport=a,this.skipped=o,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(t,n,i){return new ix(t,n,[],ni.empty,0,i,[],null)}startParse(){return this.parser.startParse(new AVe(this.state.doc),this.fragments)}work(t,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=ni.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof t=="number"){let r=Date.now()+t;t=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=t,this.tree=n,this.fragments=this.withoutTempSkipped(yu.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let n=NO;NO=this;try{return t()}finally{NO=n}}withoutTempSkipped(t){for(let n;n=this.tempSkipped.pop();)t=$z(t,n.from,n.to);return t}changes(t,n){let{fragments:i,tree:r,treeLen:s,viewport:a,skipped:o}=this;if(this.takeTree(),!t.empty){let l=[];if(t.iterChangedRanges((u,d,f,h)=>l.push({fromA:u,toA:d,fromB:f,toB:h})),i=yu.applyChanges(i,l),r=ni.empty,s=0,a={from:t.mapPos(a.from,-1),to:t.mapPos(a.to,1)},this.skipped.length){o=[];for(let u of this.skipped){let d=t.mapPos(u.from,1),f=t.mapPos(u.to,-1);dt.from&&(this.fragments=$z(this.fragments,r,s),this.skipped.splice(i--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,n){this.skipped.push({from:t,to:n})}static getSkippingParser(t){return new class extends o${createParse(n,i,r){let s=r[0].from,a=r[r.length-1].to;return{parsedPos:s,advance(){let l=NO;if(l){for(let u of r)l.tempSkipped.push(u);t&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,t]):t)}return this.parsedPos=a,new ni(Zr.none,[],[],a-s)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let n=this.fragments;return this.treeLen>=t&&n.length&&n[0].from==0&&n[0].to>=t}static get(){return NO}}function $z(e,t,n){return yu.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class Wg{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,i)||n.takeTree(),new Wg(n)}static init(t){let n=Math.min(3e3,t.doc.length),i=ix.create(t.facet(xf).parser,t,{from:0,to:n});return i.work(20,n)||i.takeTree(),new Wg(i)}}Mo.state=_s.define({create:Wg.init,update(e,t){for(let n of t.effects)if(n.is(Mo.setState))return n.value;return t.startState.facet(xf)!=t.state.facet(xf)?Wg.init(t.state):e.apply(t)}});let yae=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};typeof requestIdleCallback<"u"&&(yae=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const JN=typeof navigator<"u"&&(!((KN=navigator.scheduling)===null||KN===void 0)&&KN.isInputPending)?()=>navigator.scheduling.isInputPending():null,NVe=pr.fromClass(class{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let n=this.view.state.field(Mo.state).context;(n.updateViewport(t.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(t.docChanged||t.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:t}=this.view,n=t.field(Mo.state);(n.tree!=n.context.tree||!n.context.isDone(t.doc.length))&&(this.working=yae(this.work))}work(t){this.working=null;let n=Date.now();if(this.chunkEndr+1e3,l=s.context.work(()=>JN&&JN()||Date.now()>a,r+(o?0:1e5));this.chunkBudget-=Date.now()-n,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Mo.setState.of(new Wg(s.context))})),this.chunkBudget>0&&!(l&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Ta(this.view.state,n)).then(()=>this.workScheduled--),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),xf=ht.define({combine(e){return e.length?e[0]:null},enables:e=>[Mo.state,NVe,rt.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class Sf{constructor(t,n=[]){this.language=t,this.support=n,this.extension=[t,n]}}class yk{constructor(t,n,i,r,s,a=void 0){this.name=t,this.alias=n,this.extensions=i,this.filename=r,this.loadFunc=s,this.support=a,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(t=>this.support=t,t=>{throw this.loading=null,t}))}static of(t){let{load:n,support:i}=t;if(!n){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");n=()=>Promise.resolve(i)}return new yk(t.name,(t.alias||[]).concat(t.name).map(r=>r.toLowerCase()),t.extensions||[],t.filename,n,i)}static matchFilename(t,n){for(let r of t)if(r.filename&&r.filename.test(n))return r;let i=/\.([^.]+)$/.exec(n);if(i){for(let r of t)if(r.extensions.indexOf(i[1])>-1)return r}return null}static matchLanguageName(t,n,i=!0){n=n.toLowerCase();for(let r of t)if(r.alias.some(s=>s==n))return r;if(i)for(let r of t)for(let s of r.alias){let a=n.indexOf(s);if(a>-1&&(s.length>2||!/\w/.test(n[a-1])&&!/\w/.test(n[a+s.length])))return r}return null}}const CVe=ht.define(),P0=ht.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(n=>n!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function xk(e){let t=e.facet(P0);return t.charCodeAt(0)==9?e.tabSize*t.length:t.length}function rx(e,t){let n="",i=e.tabSize,r=e.facet(P0)[0];if(r==" "){for(;t>=i;)n+=" ",t-=i;r=" "}for(let s=0;s=t?RVe(e,n,t):null}class A_{constructor(t,n={}){this.state=t,this.options=n,this.unit=xk(t)}lineAt(t,n=1){let i=this.state.doc.lineAt(t),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=i.from&&r<=i.to?s&&r==t?{text:"",from:t}:(n<0?r-1&&(s+=a-this.countColumn(i,i.search(/\S|$/))),s}countColumn(t,n=t.length){return wl(t,this.state.tabSize,n)}lineIndent(t,n=1){let{text:i,from:r}=this.lineAt(t,n),s=this.options.overrideIndentation;if(s){let a=s(r);if(a>-1)return a}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Pf=new Yt;function RVe(e,t,n){let i=t.resolveStack(n),r=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(r!=i.node){let s=[];for(let a=r;a&&!(a.fromi.node.to||a.from==i.node.from&&a.type==i.node.type);a=a.parent)s.push(a);for(let a=s.length-1;a>=0;a--)i={node:s[a],next:i}}return xae(i,e,n)}function xae(e,t,n){for(let i=e;i;i=i.next){let r=PVe(i.node);if(r)return r(C$.create(t,n,i))}return 0}function IVe(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function PVe(e){let t=e.type.prop(Pf);if(t)return t;let n=e.firstChild,i;if(n&&(i=n.type.prop(Yt.closedBy))){let r=e.lastChild,s=r&&i.indexOf(r.name)>-1;return a=>Sae(a,!0,1,void 0,s&&!IVe(a)?r.from:void 0)}return e.parent==null?jVe:null}function jVe(){return 0}class C$ extends A_{constructor(t,n,i){super(t.state,t.options),this.base=t,this.pos=n,this.context=i}get node(){return this.context.node}static create(t,n,i){return new C$(t,n,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(t){let n=this.state.doc.lineAt(t.from);for(;;){let i=t.resolve(n.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(MVe(i,t))break;n=this.state.doc.lineAt(i.from)}return this.lineIndent(n.from)}continue(){return xae(this.context.next,this.base,this.pos)}}function MVe(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function LVe(e){let t=e.node,n=t.childAfter(t.from),i=t.lastChild;if(!n)return null;let r=e.options.simulateBreak,s=e.state.doc.lineAt(n.from),a=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let o=n.to;;){let l=t.childAfter(o);if(!l||l==i)return null;if(!l.type.isSkipped){if(l.from>=a)return null;let u=/^ */.exec(s.text.slice(n.to-s.from))[0].length;return{from:n.from,to:n.to+u}}o=l.to}}function ag({closing:e,align:t=!0,units:n=1}){return i=>Sae(i,t,n,e)}function Sae(e,t,n,i,r){let s=e.textAfter,a=s.match(/^\s*/)[0].length,o=i&&s.slice(a,a+i.length)==i||r==e.pos+a,l=t?LVe(e):null;return l?o?e.column(l.from):e.column(l.to):e.baseIndent+(o?0:e.unit*n)}const DVe=e=>e.baseIndent;function og({except:e,units:t=1}={}){return n=>{let i=e&&e.test(n.textAfter);return n.baseIndent+(i?0:t*n.unit)}}const $Ve=200;function QVe(){return Nn.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:i}=e.newSelection.main,r=n.lineAt(i);if(i>r.from+$Ve)return e;let s=n.sliceString(r.from,i);if(!t.some(u=>u.test(s)))return e;let{state:a}=e,o=-1,l=[];for(let{head:u}of a.selection.ranges){let d=a.doc.lineAt(u);if(d.from==o)continue;o=d.from;let f=N$(a,d.from);if(f==null)continue;let h=/^\s*/.exec(d.text)[0],p=rx(a,f);h!=p&&l.push({from:d.from,to:d.from+h.length,insert:p})}return l.length?[e,{changes:l,sequential:!0}]:e})}const vae=ht.define(),Gu=new Yt;function p1(e){let t=e.firstChild,n=e.lastChild;return t&&t.ton)continue;if(s&&o.from=t&&u.to>n&&(s=u)}}return s}function UVe(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function Sk(e,t,n){for(let i of e.facet(vae)){let r=i(e,t,n);if(r)return r}return BVe(e,t,n)}function wae(e,t){let n=t.mapPos(e.from,1),i=t.mapPos(e.to,-1);return n>=i?void 0:{from:n,to:i}}const N_=Ht.define({map:wae}),m1=Ht.define({map:wae});function Eae(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(i=>i.from<=n&&i.to>=n)||t.push(e.lineBlockAt(n));return t}const tp=_s.define({create(){return _t.none},update(e,t){t.isUserEvent("delete")&&t.changes.iterChangedRanges((i,r)=>e=Qz(e,i,r)),e=e.map(t.changes);let n=[];for(let i of t.effects)i.is(N_)&&!zVe(e,i.value.from,i.value.to)?n.push(i.value):i.is(m1)&&(e=e.update({filter:(r,s)=>i.value.from!=r||i.value.to!=s,filterFrom:i.value.from,filterTo:i.value.to}));if(n.length){let{preparePlaceholder:i}=t.state.facet(_ae),r=n.map(s=>(i?_t.replace({widget:new GVe(i(t.state,s))}):Bz).range(s.from,s.to));e=e.update({add:r})}return t.selection&&(e=Qz(e,t.selection.main.head)),e},provide:e=>rt.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(i,r)=>{n.push(i,r)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n{rt&&(i=!0)}),i?e.update({filterFrom:t,filterTo:n,filter:(r,s)=>r>=n||s<=t}):e}function vk(e,t,n){var i;let r=null;return(i=e.field(tp,!1))===null||i===void 0||i.between(t,n,(s,a)=>{(!r||r.from>s)&&(r={from:s,to:a})}),r}function zVe(e,t,n){let i=!1;return e.between(t,t,(r,s)=>{r==t&&s==n&&(i=!0)}),i}function kae(e,t){return e.field(tp,!1)?t:t.concat(Ht.appendConfig.of(Aae()))}const FVe=e=>{for(let t of Eae(e)){let n=Sk(e.state,t.from,t.to);if(n)return e.dispatch({effects:kae(e.state,[N_.of(n),Tae(e,n)])}),!0}return!1},VVe=e=>{if(!e.state.field(tp,!1))return!1;let t=[];for(let n of Eae(e)){let i=vk(e.state,n.from,n.to);i&&t.push(m1.of(i),Tae(e,i,!1))}return t.length&&e.dispatch({effects:t}),t.length>0};function Tae(e,t,n=!0){let i=e.state.doc.lineAt(t.from).number,r=e.state.doc.lineAt(t.to).number;return rt.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${i} ${e.state.phrase("to")} ${r}.`)}const XVe=e=>{let{state:t}=e,n=[];for(let i=0;i{let t=e.state.field(tp,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(i,r)=>{n.push(m1.of({from:i,to:r}))}),e.dispatch({effects:n}),!0},HVe=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:FVe},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:VVe},{key:"Ctrl-Alt-[",run:XVe},{key:"Ctrl-Alt-]",run:qVe}],YVe={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},_ae=ht.define({combine(e){return Cc(e,YVe)}});function Aae(e){return[tp,KVe]}function Nae(e,t){let{state:n}=e,i=n.facet(_ae),r=a=>{let o=e.lineBlockAt(e.posAtDOM(a.target)),l=vk(e.state,o.from,o.to);l&&e.dispatch({effects:m1.of(l)}),a.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(e,r,t);let s=document.createElement("span");return s.textContent=i.placeholderText,s.setAttribute("aria-label",n.phrase("folded code")),s.title=n.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=r,s}const Bz=_t.replace({widget:new class extends Cl{toDOM(e){return Nae(e,null)}}});class GVe extends Cl{constructor(t){super(),this.value=t}eq(t){return this.value==t.value}toDOM(t){return Nae(t,this.value)}}const WVe={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class eC extends Mu{constructor(t,n){super(),this.config=t,this.open=n}eq(t){return this.config==t.config&&this.open==t.open}toDOM(t){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=t.state.phrase(this.open?"Fold line":"Unfold line"),n}}function ZVe(e={}){let t={...WVe,...e},n=new eC(t,!0),i=new eC(t,!1),r=pr.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(xf)!=a.state.facet(xf)||a.startState.field(tp,!1)!=a.state.field(tp,!1)||yi(a.startState)!=yi(a.state)||t.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let o=new Pu;for(let l of a.viewportLineBlocks){let u=vk(a.state,l.from,l.to)?i:Sk(a.state,l.from,l.to)?n:null;u&&o.add(l.from,l.from,u)}return o.finish()}}),{domEventHandlers:s}=t;return[r,OVe({class:"cm-foldGutter",markers(a){var o;return((o=a.plugin(r))===null||o===void 0?void 0:o.markers)||Sn.empty},initialSpacer(){return new eC(t,!1)},domEventHandlers:{...s,click:(a,o,l)=>{if(s.click&&s.click(a,o,l))return!0;let u=vk(a.state,o.from,o.to);if(u)return a.dispatch({effects:m1.of(u)}),!0;let d=Sk(a.state,o.from,o.to);return d?(a.dispatch({effects:N_.of(d)}),!0):!1}}}),Aae()]}const KVe=rt.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class g1{constructor(t,n){this.specs=t;let i;function r(o){let l=Of.newName();return(i||(i=Object.create(null)))["."+l]=o,l}const s=typeof n.all=="string"?n.all:n.all?r(n.all):void 0,a=n.scope;this.scope=a instanceof Mo?o=>o.prop(vh)==a.data:a?o=>o==a:void 0,this.style=qre(t.map(o=>({tag:o.tag,class:o.class||r(Object.assign({},o,{tag:null}))})),{all:s}).style,this.module=i?new Of(i):null,this.themeType=n.themeType}static define(t,n){return new g1(t,n||{})}}const jj=ht.define(),Cae=ht.define({combine(e){return e.length?[e[0]]:null}});function tC(e){let t=e.facet(jj);return t.length?t:e.facet(Cae)}function Rae(e,t){let n=[eXe],i;return e instanceof g1&&(e.module&&n.push(rt.styleModule.of(e.module)),i=e.themeType),t!=null&&t.fallback?n.push(Cae.of(e)):i?n.push(jj.computeN([rt.darkTheme],r=>r.facet(rt.darkTheme)==(i=="dark")?[e]:[])):n.push(jj.of(e)),n}class JVe{constructor(t){this.markCache=Object.create(null),this.tree=yi(t.state),this.decorations=this.buildDeco(t,tC(t.state)),this.decoratedTo=t.viewport.to}update(t){let n=yi(t.state),i=tC(t.state),r=i!=tC(t.startState),{viewport:s}=t.view,a=t.changes.mapPos(this.decoratedTo,1);n.length=s.to?(this.decorations=this.decorations.map(t.changes),this.decoratedTo=a):(n!=this.tree||t.viewportChanged||r)&&(this.tree=n,this.decorations=this.buildDeco(t.view,i),this.decoratedTo=s.to)}buildDeco(t,n){if(!n||!this.tree.length)return _t.none;let i=new Pu;for(let{from:r,to:s}of t.visibleRanges)LUe(this.tree,n,(a,o,l)=>{i.add(a,o,this.markCache[l]||(this.markCache[l]=_t.mark({class:l})))},r,s);return i.finish()}}const eXe=Yu.high(pr.fromClass(JVe,{decorations:e=>e.decorations})),tXe=g1.define([{tag:H.meta,color:"#404740"},{tag:H.link,textDecoration:"underline"},{tag:H.heading,textDecoration:"underline",fontWeight:"bold"},{tag:H.emphasis,fontStyle:"italic"},{tag:H.strong,fontWeight:"bold"},{tag:H.strikethrough,textDecoration:"line-through"},{tag:H.keyword,color:"#708"},{tag:[H.atom,H.bool,H.url,H.contentSeparator,H.labelName],color:"#219"},{tag:[H.literal,H.inserted],color:"#164"},{tag:[H.string,H.deleted],color:"#a11"},{tag:[H.regexp,H.escape,H.special(H.string)],color:"#e40"},{tag:H.definition(H.variableName),color:"#00f"},{tag:H.local(H.variableName),color:"#30a"},{tag:[H.typeName,H.namespace],color:"#085"},{tag:H.className,color:"#167"},{tag:[H.special(H.variableName),H.macroName],color:"#256"},{tag:H.definition(H.propertyName),color:"#00c"},{tag:H.comment,color:"#940"},{tag:H.invalid,color:"#f00"}]),nXe=rt.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Iae=1e4,Pae="()[]{}",jae=ht.define({combine(e){return Cc(e,{afterCursor:!0,brackets:Pae,maxScanDistance:Iae,renderMatch:sXe})}}),iXe=_t.mark({class:"cm-matchingBracket"}),rXe=_t.mark({class:"cm-nonmatchingBracket"});function sXe(e){let t=[],n=e.matched?iXe:rXe;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}function Uz(e){let t=[],n=e.facet(jae);for(let i of e.selection.ranges){if(!i.empty)continue;let r=cc(e,i.head,-1,n)||i.head>0&&cc(e,i.head-1,1,n)||n.afterCursor&&(cc(e,i.head,1,n)||i.heade.decorations}),oXe=[aXe,nXe];function lXe(e={}){return[jae.of(e),oXe]}const Mae=new Yt;function Mj(e,t,n){let i=e.prop(t<0?Yt.openedBy:Yt.closedBy);if(i)return i;if(e.name.length==1){let r=n.indexOf(e.name);if(r>-1&&r%2==(t<0?1:0))return[n[r+t]]}return null}function Lj(e){let t=e.type.prop(Mae);return t?t(e.node):e}function cc(e,t,n,i={}){let r=i.maxScanDistance||Iae,s=i.brackets||Pae,a=yi(e),o=a.resolveInner(t,n);for(let l=o;l;l=l.parent){let u=Mj(l.type,n,s);if(u&&l.from0?t>=d.from&&td.from&&t<=d.to))return cXe(e,t,n,l,d,u,s)}}return uXe(e,t,n,a,o.type,r,s)}function cXe(e,t,n,i,r,s,a){let o=i.parent,l={from:r.from,to:r.to},u=0,d=o==null?void 0:o.cursor();if(d&&(n<0?d.childBefore(i.from):d.childAfter(i.to)))do if(n<0?d.to<=i.from:d.from>=i.to){if(u==0&&s.indexOf(d.type.name)>-1&&d.from0)return null;let u={from:n<0?t-1:t,to:n>0?t+1:t},d=e.doc.iterRange(t,n>0?e.doc.length:0),f=0;for(let h=0;!d.next().done&&h<=s;){let p=d.value;n<0&&(h+=p.length);let m=t+h*n;for(let g=n>0?0:p.length-1,y=n>0?p.length:-1;g!=y;g+=n){let b=a.indexOf(p[g]);if(!(b<0||i.resolveInner(m+g,1).type!=r))if(b%2==0==n>0)f++;else{if(f==1)return{start:u,end:{from:m+g,to:m+g+1},matched:b>>1==l>>1};f--}}n>0&&(h+=p.length)}return d.done?{start:u,matched:!1}:null}const dXe=Object.create(null),zz=[Zr.none],Fz=[],Vz=Object.create(null),fXe=Object.create(null);for(let[e,t]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])fXe[e]=hXe(dXe,t);function nC(e,t){Fz.indexOf(e)>-1||(Fz.push(e),console.warn(t))}function hXe(e,t){let n=[];for(let o of t.split(" ")){let l=[];for(let u of o.split(".")){let d=e[u]||H[u];d?typeof d=="function"?l.length?l=l.map(d):nC(u,`Modifier ${u} used at start of tag`):l.length?nC(u,`Tag ${u} used as modifier`):l=Array.isArray(d)?d:[d]:nC(u,`Unknown highlighting tag ${u}`)}for(let u of l)n.push(u)}if(!n.length)return 0;let i=t.replace(/ /g,"_"),r=i+" "+n.map(o=>o.id),s=Vz[r];if(s)return s.id;let a=Vz[r]=Zr.define({id:zz.length,name:i,props:[Hu({[i]:n})]});return zz.push(a),a.id}ki.RTL,ki.LTR;class R${constructor(t,n,i,r){this.state=t,this.pos=n,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let n=yi(this.state).resolveInner(this.pos,-1);for(;n&&t.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(t){let n=this.state.doc.lineAt(this.pos),i=Math.max(n.from,this.pos-250),r=n.text.slice(i-n.from,this.pos-n.from),s=r.search(Dae(t,!1));return s<0?null:{from:i+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(t,n,i){t=="abort"&&this.abortListeners&&(this.abortListeners.push(n),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function Xz(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function pXe(e){let t=Object.create(null),n=Object.create(null);for(let{label:r}of e){t[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[n,i]=t.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:pXe(t);return r=>{let s=r.matchBefore(i);return s||r.explicit?{from:s?s.from:r.pos,options:t,validFor:n}:null}}function Lae(e,t){return n=>{for(let i=yi(n.state).resolveInner(n.pos,-1);i;i=i.parent){if(e.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return t(n)}}class qz{constructor(t,n,i,r){this.completion=t,this.source=n,this.match=i,this.score=r}}function $h(e){return e.selection.main.from}function Dae(e,t){var n;let{source:i}=e,r=t&&i[0]!="^",s=i[i.length-1]!="$";return!r&&!s?e:new RegExp(`${r?"^":""}(?:${i})${s?"$":""}`,(n=e.flags)!==null&&n!==void 0?n:e.ignoreCase?"i":"")}const P$=Nc.define();function mXe(e,t,n,i){let{main:r}=e.selection,s=n-r.from,a=i-r.from;return{...e.changeByRange(o=>{if(o!=r&&n!=i&&e.sliceDoc(o.from+s,o.from+a)!=e.sliceDoc(n,i))return{range:o};let l=e.toText(t);return{changes:{from:o.from+s,to:i==r.from?o.to:o.from+a,insert:l},range:Re.cursor(o.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const Hz=new WeakMap;function gXe(e){if(!Array.isArray(e))return e;let t=Hz.get(e);return t||Hz.set(e,t=I$(e)),t}const wk=Ht.define(),sx=Ht.define();class OXe{constructor(t){this.pattern=t,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n=48&&E<=57||E>=97&&E<=122?2:E>=65&&E<=90?1:0:(w=l$(E))!=w.toLowerCase()?1:w!=w.toUpperCase()?2:0;(!S||k==1&&y||v==0&&k!=0)&&(n[f]==E||i[f]==E&&(h=!0)?a[f++]=S:a.length&&(b=!1)),v=k,S+=ec(E)}return f==l&&a[0]==0&&b?this.result(-100+(h?-200:0),a,t):p==l&&m==0?this.ret(-200-t.length+(g==t.length?0:-100),[0,g]):o>-1?this.ret(-700-t.length,[o,o+this.pattern.length]):p==l?this.ret(-900-t.length,[m,g]):f==l?this.result(-100+(h?-200:0)+-700+(b?0:-1100),a,t):n.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,t)}result(t,n,i){let r=[],s=0;for(let a of n){let o=a+(this.astral?ec(Sa(i,a)):1);s&&r[s-1]==a?r[s-1]=o:(r[s++]=a,r[s++]=o)}return this.ret(t-i.length,r)}}class bXe{constructor(t){this.pattern=t,this.matched=[],this.score=0,this.folded=t.toLowerCase()}match(t){if(t.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:yXe,filterStrict:!1,compareCompletions:(t,n)=>(t.sortText||t.label).localeCompare(n.sortText||n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(t,n)=>t&&n,closeOnBlur:(t,n)=>t&&n,icons:(t,n)=>t&&n,tooltipClass:(t,n)=>i=>Yz(t(i),n(i)),optionClass:(t,n)=>i=>Yz(t(i),n(i)),addToOptions:(t,n)=>t.concat(n),filterStrict:(t,n)=>t||n})}});function Yz(e,t){return e?t?e+" "+t:e:t}function yXe(e,t,n,i,r,s){let a=e.textDirection==ki.RTL,o=a,l=!1,u="top",d,f,h=t.left-r.left,p=r.right-t.right,m=i.right-i.left,g=i.bottom-i.top;if(o&&h=g||S>t.top?d=n.bottom-t.top:(u="bottom",d=t.bottom-n.top)}let y=(t.bottom-t.top)/s.offsetHeight,b=(t.right-t.left)/s.offsetWidth;return{style:`${u}: ${d/y}px; max-width: ${f/b}px`,class:"cm-completionInfo-"+(l?a?"left-narrow":"right-narrow":o?"left":"right")}}const j$=Ht.define();function xXe(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(n){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),n.type&&i.classList.add(...n.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),t.push({render(n,i,r,s){let a=document.createElement("span");a.className="cm-completionLabel";let o=n.displayLabel||n.label,l=0;for(let u=0;ul&&a.appendChild(document.createTextNode(o.slice(l,d)));let h=a.appendChild(document.createElement("span"));h.appendChild(document.createTextNode(o.slice(d,f))),h.className="cm-completionMatchedText",l=f}return ln.position-i.position).map(n=>n.render)}function iC(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let r=Math.floor(t/n);return{from:r*n,to:(r+1)*n}}let i=Math.ceil((e-t)/n);return{from:e-i*n,to:e-(i-1)*n}}class SXe{constructor(t,n,i){this.view=t,this.stateField=n,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let r=t.state.field(n),{options:s,selected:a}=r.open,o=t.state.facet(us);this.optionContent=xXe(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=iC(s.length,a,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(t.state),this.dom.addEventListener("mousedown",l=>{let{options:u}=t.state.field(n).open;for(let d=l.target,f;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(f=/-(\d+)$/.exec(d.id))&&+f[1]this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(t.dispatch({effects:j$.of(d)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let u=t.state.field(this.stateField,!1);u&&u.tooltip&&t.state.facet(us).closeOnBlur&&l.relatedTarget!=t.contentDOM&&t.dispatch({effects:sx.of(null)})}),this.showOptions(s,r.id)}mount(){this.updateSel()}showOptions(t,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(t){var n;let i=t.state.field(this.stateField),r=t.startState.field(this.stateField);if(this.updateTooltipClass(t.state),i!=r){let{options:s,selected:a,disabled:o}=i.open;(!r.open||r.open.options!=s)&&(this.range=iC(s.length,a,t.state.facet(us).maxRenderedOptions),this.showOptions(s,i.id)),this.updateSel(),o!=((n=r.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(t){let n=this.tooltipClass(t);if(n!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of n.split(" "))i&&this.dom.classList.add(i);this.currentClass=n}}positioned(t){this.space=t,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let t=this.view.state.field(this.stateField),n=t.open;(n.selected>-1&&n.selected=this.range.to)&&(this.range=iC(n.options.length,n.selected,this.view.state.facet(us).maxRenderedOptions),this.showOptions(n.options,t.id));let i=this.updateSelectedOption(n.selected);if(i){this.destroyInfo();let{completion:r}=n.options[n.selected],{info:s}=r;if(!s)return;let a=typeof s=="string"?document.createTextNode(s):s(r);if(!a)return;"then"in a?a.then(o=>{o&&this.view.state.field(this.stateField,!1)==t&&this.addInfoPane(o,r)}).catch(o=>Ta(this.view.state,o,"completion info")):(this.addInfoPane(a,r),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(t,n){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),t.nodeType!=null)i.appendChild(t),this.infoDestroy=null;else{let{dom:r,destroy:s}=t;i.appendChild(r),this.infoDestroy=s||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(t){let n=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==t?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),n=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return n&&wXe(this.list,n),n}measureInfo(){let t=this.dom.querySelector("[aria-selected]");if(!t||!this.info)return null;let n=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=t.getBoundingClientRect(),s=this.space;if(!s){let a=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return r.top>Math.min(s.bottom,n.bottom)-10||r.bottom{a.target==r&&a.preventDefault()});let s=null;for(let a=i.from;ai.from||i.from==0))if(s=h,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let p=r.appendChild(document.createElement("completion-section"));p.textContent=h}}const d=r.appendChild(document.createElement("li"));d.id=n+"-"+a,d.setAttribute("role","option");let f=this.optionClass(o);f&&(d.className=f);for(let h of this.optionContent){let p=h(o,this.view.state,this.view,l);p&&d.appendChild(p)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.tonew SXe(n,e,t)}function wXe(e,t){let n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),r=n.height/e.offsetHeight;i.topn.bottom&&(e.scrollTop+=(i.bottom-n.bottom)/r)}function Gz(e){return(e.boost||0)*100+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function EXe(e,t){let n=[],i=null,r=null,s=d=>{n.push(d);let{section:f}=d.completion;if(f){i||(i=[]);let h=typeof f=="string"?f:f.name;i.some(p=>p.name==h)||i.push(typeof f=="string"?{name:h}:f)}},a=t.facet(us);for(let d of e)if(d.hasResult()){let f=d.result.getMatch;if(d.result.filter===!1)for(let h of d.result.options)s(new qz(h,d.source,f?f(h):[],1e9-n.length));else{let h=t.sliceDoc(d.from,d.to),p,m=a.filterStrict?new bXe(h):new OXe(h);for(let g of d.result.options)if(p=m.match(g.label)){let y=g.displayLabel?f?f(g,p.matched):[]:p.matched,b=p.score+(g.boost||0);if(s(new qz(g,d.source,y,b)),typeof g.section=="object"&&g.section.rank==="dynamic"){let{name:S}=g.section;r||(r=Object.create(null)),r[S]=Math.max(b,r[S]||-1e9)}}}}if(i){let d=Object.create(null),f=0,h=(p,m)=>(p.rank==="dynamic"&&m.rank==="dynamic"?r[m.name]-r[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(p.nameh.score-f.score||u(f.completion,h.completion))){let f=d.completion;!l||l.label!=f.label||l.detail!=f.detail||l.type!=null&&f.type!=null&&l.type!=f.type||l.apply!=f.apply||l.boost!=f.boost?o.push(d):Gz(d.completion)>Gz(l)&&(o[o.length-1]=d),l=d.completion}return o}class Lm{constructor(t,n,i,r,s,a){this.options=t,this.attrs=n,this.tooltip=i,this.timestamp=r,this.selected=s,this.disabled=a}setSelected(t,n){return t==this.selected||t>=this.options.length?this:new Lm(this.options,Wz(n,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,n,i,r,s,a){if(r&&!a&&t.some(u=>u.isPending))return r.setDisabled();let o=EXe(t,n);if(!o.length)return r&&t.some(u=>u.isPending)?r.setDisabled():null;let l=n.facet(us).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let u=r.options[r.selected].completion;for(let d=0;dd.hasResult()?Math.min(u,d.from):u,1e8),create:CXe,above:s.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(t){return new Lm(this.options,this.attrs,{...this.tooltip,pos:t.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new Lm(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Ek{constructor(t,n,i){this.active=t,this.id=n,this.open=i}static start(){return new Ek(AXe,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(t){let{state:n}=t,i=n.facet(us),s=(i.override||n.languageDataAt("autocomplete",$h(n)).map(gXe)).map(l=>(this.active.find(d=>d.source==l)||new Lo(l,this.active.some(d=>d.state!=0)?1:0)).update(t,i));s.length==this.active.length&&s.every((l,u)=>l==this.active[u])&&(s=this.active);let a=this.open,o=t.effects.some(l=>l.is(M$));a&&t.docChanged&&(a=a.map(t.changes)),t.selection||s.some(l=>l.hasResult()&&t.changes.touchesRange(l.from,l.to))||!kXe(s,this.active)||o?a=Lm.build(s,n,this.id,a,i,o):a&&a.disabled&&!s.some(l=>l.isPending)&&(a=null),!a&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new Lo(l.source,0):l));for(let l of t.effects)l.is(j$)&&(a=a&&a.setSelected(l.value,this.id));return s==this.active&&a==this.open?this:new Ek(s,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?TXe:_Xe}}function kXe(e,t){if(e==t)return!0;for(let n=0,i=0;;){for(;n-1&&(n["aria-activedescendant"]=e+"-"+t),n}const AXe=[];function $ae(e,t){if(e.isUserEvent("input.complete")){let i=e.annotation(P$);if(i&&t.activateOnCompletion(i))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class Lo{constructor(t,n,i=!1){this.source=t,this.state=n,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(t,n){let i=$ae(t,n),r=this;(i&8||i&16&&this.touches(t))&&(r=new Lo(r.source,0)),i&4&&r.state==0&&(r=new Lo(this.source,1)),r=r.updateFor(t,i);for(let s of t.effects)if(s.is(wk))r=new Lo(r.source,1,s.value);else if(s.is(sx))r=new Lo(r.source,0);else if(s.is(M$))for(let a of s.value)a.source==r.source&&(r=a);return r}updateFor(t,n){return this.map(t.changes)}map(t){return this}touches(t){return t.changes.touchesRange($h(t.state))}}class lg extends Lo{constructor(t,n,i,r,s,a){super(t,3,n),this.limit=i,this.result=r,this.from=s,this.to=a}hasResult(){return!0}updateFor(t,n){var i;if(!(n&3))return this.map(t.changes);let r=this.result;r.map&&!t.changes.empty&&(r=r.map(r,t.changes));let s=t.changes.mapPos(this.from),a=t.changes.mapPos(this.to,1),o=$h(t.state);if(o>a||!r||n&2&&($h(t.startState)==this.from||on.map(t))}}),va=_s.define({create(){return Ek.start()},update(e,t){return e.update(t)},provide:e=>[k$.from(e,t=>t.tooltip),rt.contentAttributes.from(e,t=>t.attrs)]});function L$(e,t){const n=t.completion.apply||t.completion.label;let i=e.state.field(va).active.find(r=>r.source==t.source);return i instanceof lg?(typeof n=="string"?e.dispatch({...mXe(e.state,n,i.from,i.to),annotations:P$.of(t.completion)}):n(e,t.completion,i.from,i.to),!0):!1}const CXe=vXe(va,L$);function uv(e,t="option"){return n=>{let i=n.state.field(va,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+r*(e?1:-1):e?0:a-1;return o<0?o=t=="page"?0:a-1:o>=a&&(o=t=="page"?a-1:0),n.dispatch({effects:j$.of(o)}),!0}}const RXe=e=>{let t=e.state.field(va,!1);return e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.state.field(va,!1)?(e.dispatch({effects:wk.of(!0)}),!0):!1,IXe=e=>{let t=e.state.field(va,!1);return!t||!t.active.some(n=>n.state!=0)?!1:(e.dispatch({effects:sx.of(null)}),!0)};class PXe{constructor(t,n){this.active=t,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const jXe=50,MXe=1e3,LXe=pr.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(va).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(va),n=e.state.facet(us);if(!e.selectionSet&&!e.docChanged&&e.startState.field(va)==t)return;let i=e.transactions.some(s=>{let a=$ae(s,n);return a&8||(s.selection||s.docChanged)&&!(a&3)});for(let s=0;sjXe&&Date.now()-a.time>MXe){for(let o of a.context.abortListeners)try{o()}catch(l){Ta(this.view.state,l)}a.context.abortListeners=null,this.running.splice(s--,1)}else a.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(s=>s.effects.some(a=>a.is(wk)))&&(this.pendingStart=!0);let r=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(s=>s.isPending&&!this.running.some(a=>a.active.source==s.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let s of e.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(va);for(let n of t.active)n.isPending&&!this.running.some(i=>i.active.source==n.source)&&this.startQuery(n);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(us).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=$h(t),i=new R$(t,n,e.explicit,this.view),r=new PXe(e,i);this.running.push(r),Promise.resolve(e.source(i)).then(s=>{r.context.aborted||(r.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:sx.of(null)}),Ta(this.view.state,s)})}scheduleAccept(){this.running.every(e=>e.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(us).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(us),i=this.view.state.field(va);for(let r=0;ro.source==s.active.source);if(a&&a.isPending)if(s.done==null){let o=new Lo(s.active.source,0);for(let l of s.updates)o=o.update(l,n);o.isPending||t.push(o)}else this.startQuery(a)}(t.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:M$.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(va,!1);if(t&&t.tooltip&&this.view.state.facet(us).closeOnBlur){let n=t.open&&hae(this.view,t.open.tooltip);(!n||!n.dom.contains(e.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:sx.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:wk.of(!1)}),20),this.composing=0}}}),DXe=typeof navigator=="object"&&/Win/.test(navigator.platform),$Xe=Yu.highest(rt.domEventHandlers({keydown(e,t){let n=t.state.field(va,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&!(DXe&&e.altKey)||e.metaKey)return!1;let i=n.open.options[n.open.selected],r=n.active.find(a=>a.source==i.source),s=i.completion.commitCharacters||r.result.commitCharacters;return s&&s.indexOf(e.key)>-1&&L$(t,i),!1}})),Qae=rt.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class QXe{constructor(t,n,i,r){this.field=t,this.line=n,this.from=i,this.to=r}}class D${constructor(t,n,i){this.field=t,this.from=n,this.to=i}map(t){let n=t.mapPos(this.from,-1,ws.TrackDel),i=t.mapPos(this.to,1,ws.TrackDel);return n==null||i==null?null:new D$(this.field,n,i)}}class $${constructor(t,n){this.lines=t,this.fieldPositions=n}instantiate(t,n){let i=[],r=[n],s=t.doc.lineAt(n),a=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(i.length){let u=a,d=/^\t*/.exec(l)[0].length;for(let f=0;fnew D$(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:i,ranges:o}}static parse(t){let n=[],i=[],r=[],s;for(let a of t.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(a);){let o=s[1]?+s[1]:null,l=s[2]||s[3]||"",u=-1;o===0&&(o=1e9);let d=l.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=u&&h.field++}for(let f of r)if(f.line==i.length&&f.from>s.index){let h=s[2]?3+(s[1]||"").length:2;f.from-=h,f.to-=h}r.push(new QXe(u,i.length,s.index,s.index+d.length)),a=a.slice(0,s.index)+l+a.slice(s.index+s[0].length)}a=a.replace(/\\([{}])/g,(o,l,u)=>{for(let d of r)d.line==i.length&&d.from>u&&(d.from--,d.to--);return l}),i.push(a)}return new $$(i,r)}}let BXe=_t.widget({widget:new class extends Cl{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),UXe=_t.mark({class:"cm-snippetField"});class j0{constructor(t,n){this.ranges=t,this.active=n,this.deco=_t.set(t.map(i=>(i.from==i.to?BXe:UXe).range(i.from,i.to)),!0)}map(t){let n=[];for(let i of this.ranges){let r=i.map(t);if(!r)return null;n.push(r)}return new j0(n,this.active)}selectionInsideField(t){return t.ranges.every(n=>this.ranges.some(i=>i.field==this.active&&i.from<=n.from&&i.to>=n.to))}}const O1=Ht.define({map(e,t){return e&&e.map(t)}}),zXe=Ht.define(),ax=_s.define({create(){return null},update(e,t){for(let n of t.effects){if(n.is(O1))return n.value;if(n.is(zXe)&&e)return new j0(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>rt.decorations.from(e,t=>t?t.deco:_t.none)});function Q$(e,t){return Re.create(e.filter(n=>n.field==t).map(n=>Re.range(n.from,n.to)))}function FXe(e){let t=$$.parse(e);return(n,i,r,s)=>{let{text:a,ranges:o}=t.instantiate(n.state,r),{main:l}=n.state.selection,u={changes:{from:r,to:s==l.from?l.to:s,insert:Wn.of(a)},scrollIntoView:!0,annotations:i?[P$.of(i),Dr.userEvent.of("input.complete")]:void 0};if(o.length&&(u.selection=Q$(o,0)),o.some(d=>d.field>0)){let d=new j0(o,0),f=u.effects=[O1.of(d)];n.state.field(ax,!1)===void 0&&f.push(Ht.appendConfig.of([ax,YXe,GXe,Qae]))}n.dispatch(n.state.update(u))}}function Bae(e){return({state:t,dispatch:n})=>{let i=t.field(ax,!1);if(!i||e<0&&i.active==0)return!1;let r=i.active+e,s=e>0&&!i.ranges.some(a=>a.field==r+e);return n(t.update({selection:Q$(i.ranges,r),effects:O1.of(s?null:new j0(i.ranges,r)),scrollIntoView:!0})),!0}}const VXe=({state:e,dispatch:t})=>e.field(ax,!1)?(t(e.update({effects:O1.of(null)})),!0):!1,XXe=Bae(1),qXe=Bae(-1),HXe=[{key:"Tab",run:XXe,shift:qXe},{key:"Escape",run:VXe}],Zz=ht.define({combine(e){return e.length?e[0]:HXe}}),YXe=Yu.highest(I0.compute([Zz],e=>e.facet(Zz)));function rr(e,t){return{...t,apply:FXe(e)}}const GXe=rt.domEventHandlers({mousedown(e,t){let n=t.state.field(ax,!1),i;if(!n||(i=t.posAtCoords({x:e.clientX,y:e.clientY}))==null)return!1;let r=n.ranges.find(s=>s.from<=i&&s.to>=i);return!r||r.field==n.active?!1:(t.dispatch({selection:Q$(n.ranges,r.field),effects:O1.of(n.ranges.some(s=>s.field>r.field)?new j0(n.ranges,r.field):null),scrollIntoView:!0}),!0)}}),ox={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},wh=Ht.define({map(e,t){let n=t.mapPos(e,-1,ws.TrackAfter);return n??void 0}}),B$=new class extends gf{};B$.startSide=1;B$.endSide=-1;const Uae=_s.define({create(){return Sn.empty},update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:i=>i>=n.from&&i<=n.to})}for(let n of t.effects)n.is(wh)&&(e=e.update({add:[B$.range(n.value,n.value+1)]}));return e}});function WXe(){return[KXe,Uae]}const sC="()[]{}<>«»»«[]{}";function zae(e){for(let t=0;t{if((ZXe?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let r=e.state.selection.main;if(i.length>2||i.length==2&&ec(Sa(i,0))==1||t!=r.from||n!=r.to)return!1;let s=tqe(e.state,i);return s?(e.dispatch(s),!0):!1}),JXe=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Fae(e,e.selection.main.head).brackets||ox.brackets,r=null,s=e.changeByRange(a=>{if(a.empty){let o=nqe(e.doc,a.head);for(let l of i)if(l==o&&C_(e.doc,a.head)==zae(Sa(l,0)))return{changes:{from:a.head-l.length,to:a.head+l.length},range:Re.cursor(a.head-l.length)}}return{range:r=a}});return r||t(e.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},eqe=[{key:"Backspace",run:JXe}];function tqe(e,t){let n=Fae(e,e.selection.main.head),i=n.brackets||ox.brackets;for(let r of i){let s=zae(Sa(r,0));if(t==r)return s==r?sqe(e,r,i.indexOf(r+r+r)>-1,n):iqe(e,r,s,n.before||ox.before);if(t==s&&Vae(e,e.selection.main.from))return rqe(e,r,s)}return null}function Vae(e,t){let n=!1;return e.field(Uae).between(0,e.doc.length,i=>{i==t&&(n=!0)}),n}function C_(e,t){let n=e.sliceString(t,t+2);return n.slice(0,ec(Sa(n,0)))}function nqe(e,t){let n=e.sliceString(t-2,t);return ec(Sa(n,0))==n.length?n:n.slice(1)}function iqe(e,t,n,i){let r=null,s=e.changeByRange(a=>{if(!a.empty)return{changes:[{insert:t,from:a.from},{insert:n,from:a.to}],effects:wh.of(a.to+t.length),range:Re.range(a.anchor+t.length,a.head+t.length)};let o=C_(e.doc,a.head);return!o||/\s/.test(o)||i.indexOf(o)>-1?{changes:{insert:t+n,from:a.head},effects:wh.of(a.head+t.length),range:Re.cursor(a.head+t.length)}:{range:r=a}});return r?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function rqe(e,t,n){let i=null,r=e.changeByRange(s=>s.empty&&C_(e.doc,s.head)==n?{changes:{from:s.head,to:s.head+n.length,insert:n},range:Re.cursor(s.head+n.length)}:i={range:s});return i?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function sqe(e,t,n,i){let r=i.stringPrefixes||ox.stringPrefixes,s=null,a=e.changeByRange(o=>{if(!o.empty)return{changes:[{insert:t,from:o.from},{insert:t,from:o.to}],effects:wh.of(o.to+t.length),range:Re.range(o.anchor+t.length,o.head+t.length)};let l=o.head,u=C_(e.doc,l),d;if(u==t){if(Kz(e,l))return{changes:{insert:t+t,from:l},effects:wh.of(l+t.length),range:Re.cursor(l+t.length)};if(Vae(e,l)){let h=n&&e.sliceDoc(l,l+t.length*3)==t+t+t?t+t+t:t;return{changes:{from:l,to:l+h.length,insert:h},range:Re.cursor(l+h.length)}}}else{if(n&&e.sliceDoc(l-2*t.length,l)==t+t&&(d=Jz(e,l-2*t.length,r))>-1&&Kz(e,d))return{changes:{insert:t+t+t+t,from:l},effects:wh.of(l+t.length),range:Re.cursor(l+t.length)};if(e.charCategorizer(l)(u)!=Zi.Word&&Jz(e,l,r)>-1&&!aqe(e,l,t,r))return{changes:{insert:t+t,from:l},effects:wh.of(l+t.length),range:Re.cursor(l+t.length)}}return{range:s=o}});return s?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function Kz(e,t){let n=yi(e).resolveInner(t+1);return n.parent&&n.from==t}function aqe(e,t,n,i){let r=yi(e).resolveInner(t,-1),s=i.reduce((a,o)=>Math.max(a,o.length),0);for(let a=0;a<5;a++){let o=e.sliceDoc(r.from,Math.min(r.to,r.from+n.length+s)),l=o.indexOf(n);if(!l||l>-1&&i.indexOf(o.slice(0,l))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>n.length+l;){if(e.sliceDoc(d.to-n.length,d.to)==n)return!1;d=d.firstChild}return!0}let u=r.to==t&&r.parent;if(!u)break;r=u}return!1}function Jz(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=Zi.Word)return t;for(let r of n){let s=t-r.length;if(e.sliceDoc(s,t)==r&&i(e.sliceDoc(s-1,s))!=Zi.Word)return s}return-1}function oqe(e={}){return[$Xe,va,us.of(e),LXe,lqe,Qae]}const Xae=[{key:"Ctrl-Space",run:rC},{mac:"Alt-`",run:rC},{mac:"Alt-i",run:rC},{key:"Escape",run:IXe},{key:"ArrowDown",run:uv(!0)},{key:"ArrowUp",run:uv(!1)},{key:"PageDown",run:uv(!0,"page")},{key:"PageUp",run:uv(!1,"page")},{key:"Enter",run:RXe}],lqe=Yu.highest(I0.computeN([us],e=>e.facet(us).defaultKeymap?[Xae]:[])),qae=[rr("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),rr("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),rr("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),rr("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),rr("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),rr(`try { \${} } catch (\${error}) { \${} @@ -647,27 +647,27 @@ ${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.pus constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),rr('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),rr('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],oqe=Vae.concat([rr("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),rr("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),rr("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),eF=new a5,Xae=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function NO(e){return(t,n)=>{let i=t.node.getChild("VariableDefinition");return i&&n(i,e),!0}}const lqe=["FunctionDeclaration"],cqe={FunctionDeclaration:NO("function"),ClassDeclaration:NO("class"),ClassExpression:()=>!0,EnumDeclaration:NO("constant"),TypeAliasDeclaration:NO("type"),NamespaceDeclaration:NO("namespace"),VariableDefinition(e,t){e.matchContext(lqe)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function qae(e,t){let n=eF.get(t);if(n)return n;let i=[],r=!0;function s(a,o){let l=e.sliceString(a.from,a.to);i.push({label:l,type:o})}return t.cursor(ei.IncludeAnonymous).iterate(a=>{if(r)r=!1;else if(a.name){let o=cqe[a.name];if(o&&o(a,s)||Xae.has(a.name))return!1}else if(a.to-a.from>8192){for(let o of qae(e,a.node))i.push(o);return!1}}),eF.set(t,i),i}const tF=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Hae=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function uqe(e){let t=yi(e.state).resolveInner(e.pos,-1);if(Hae.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&tF.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let i=[];for(let r=t;r;r=r.parent)Xae.has(r.name)&&(i=i.concat(qae(e.state.doc,r)));return{options:i,from:n?t.from:e.pos,validFor:tF}}const Oc=Mu.define({name:"javascript",parser:h7e.configure({props:[Pf.add({IfStatement:ag({except:/^\s*({|else\b)/}),TryStatement:ag({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:MVe,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),i=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:i?1:2)*e.unit},Block:sg({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":ag({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),Yu.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":p1,BlockComment(e){return{from:e.from+2,to:e.to-2}},JSXElement(e){let t=e.firstChild;if(!t||t.name=="JSXSelfClosingTag")return null;let n=e.lastChild;return{from:t.to,to:n.type.isError?e.to:n.from}},"JSXSelfClosingTag JSXOpenTag"(e){var t;let n=(t=e.firstChild)===null||t===void 0?void 0:t.nextSibling,i=e.lastChild;return!n||n.type.isError?null:{from:n.to,to:i.type.isError?e.to:i.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Yae={test:e=>/^JSX/.test(e.name),facet:_5({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Gae=Oc.configure({dialect:"ts"},"typescript"),Wae=Oc.configure({dialect:"jsx",props:[A5.add(e=>e.isTop?[Yae]:void 0)]}),Zae=Oc.configure({dialect:"jsx ts",props:[A5.add(e=>e.isTop?[Yae]:void 0)]},"typescript");let Kae=e=>({label:e,type:"keyword"});const Jae="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Kae),dqe=Jae.concat(["declare","implements","private","protected","public"].map(Kae));function Dj(e={}){let t=e.jsx?e.typescript?Zae:Wae:e.typescript?Gae:Oc,n=e.typescript?oqe.concat(dqe):Vae.concat(Jae);return new Sf(t,[Oc.data.of({autocomplete:jae(Hae,I5(n))}),Oc.data.of({autocomplete:uqe}),e.jsx?pqe:[]])}function fqe(e){for(;;){if(e.name=="JSXOpenTag"||e.name=="JSXSelfClosingTag"||e.name=="JSXFragmentTag")return e;if(e.name=="JSXEscape"||!e.parent)return null;e=e.parent}}function nF(e,t,n=e.length){for(let i=t==null?void 0:t.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return e.sliceString(i.from,Math.min(i.to,n));return""}const hqe=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),pqe=rt.inputHandler.of((e,t,n,i,r)=>{if((hqe?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||i!=">"&&i!="/"||!Oc.isActiveAt(e.state,t,-1))return!1;let s=r(),{state:a}=s,o=a.changeByRange(l=>{var u;let{head:d}=l,f=yi(a).resolveInner(d-1,-1),h;if(f.name=="JSXStartTag"&&(f=f.parent),!(a.doc.sliceString(d-1,d)!=i||f.name=="JSXAttributeValue"&&f.to>d)){if(i==">"&&f.name=="JSXFragmentTag")return{range:l,changes:{from:d,insert:""}};if(i=="/"&&f.name=="JSXStartCloseTag"){let p=f.parent,m=p.parent;if(m&&p.from==d-2&&((h=nF(a.doc,m.firstChild,d))||((u=m.firstChild)===null||u===void 0?void 0:u.name)=="JSXFragmentTag")){let g=`${h}>`;return{range:Re.cursor(d+g.length,-1),changes:{from:d,insert:g}}}}else if(i==">"){let p=fqe(f);if(p&&p.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(a.doc.sliceString(d,d+2))&&(h=nF(a.doc,p,d)))return{range:l,changes:{from:d,insert:``}}}}return{range:l}});return o.changes.empty?!1:(e.dispatch([s,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),mqe=qu({String:H.string,Number:H.number,"True False":H.bool,PropertyName:H.propertyName,Null:H.null,", :":H.separator,"[ ]":H.squareBracket,"{ }":H.brace}),gqe=Ru.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[mqe],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),Oqe=Mu.define({name:"json",parser:gqe.configure({props:[Pf.add({Object:ag({except:/^\s*\}/}),Array:ag({except:/^\s*\]/})}),Yu.add({"Object Array":p1})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function bqe(){return new Sf(Oqe)}class kk{static create(t,n,i,r,s){let a=r+(r<<8)+t+(n<<4)|0;return new kk(t,n,i,a,s,[],[])}constructor(t,n,i,r,s,a,o){this.type=t,this.value=n,this.from=i,this.hash=r,this.end=s,this.children=a,this.positions=o,this.hashProp=[[Yt.contextHash,r]]}addChild(t,n){t.prop(Yt.contextHash)!=this.hash&&(t=new ni(t.type,t.children,t.positions,t.length,this.hashProp)),this.children.push(t),this.positions.push(n)}toTree(t,n=this.end){let i=this.children.length-1;return i>=0&&(n=Math.max(n,this.positions[i]+this.children[i].length+this.from)),new ni(t.types[this.type],this.children,this.positions,n-this.from).balance({makeTree:(r,s,a)=>new ni(Zr.none,r,s,a,this.hashProp)})}}var Je;(function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.Autolink=33]="Autolink",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel",e[e.URL=44]="URL"})(Je||(Je={}));class yqe{constructor(t,n){this.start=t,this.content=n,this.marks=[],this.parsers=[]}}class xqe{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let t=this.skipSpace(this.basePos);this.indent=this.countIndent(t,this.pos,this.indent),this.pos=t,this.next=t==this.text.length?-1:this.text.charCodeAt(t)}skipSpace(t){return Wb(this.text,t)}reset(t){for(this.text=t,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(t){this.basePos=t,this.baseIndent=this.countIndent(t,this.pos,this.indent)}moveBaseColumn(t){this.baseIndent=t,this.basePos=this.findColumn(t)}addMarker(t){this.markers.push(t)}countIndent(t,n=0,i=0){for(let r=n;r=t.stack[n.depth+1].value+n.baseIndent)return!0;if(n.indent>=n.baseIndent+4)return!1;let i=(e.type==Je.OrderedList?F5:z5)(n,t,!1);return i>0&&(e.type!=Je.BulletList||U5(n,t,!1)<0)&&n.text.charCodeAt(n.pos+i-1)==e.value}const eoe={[Je.Blockquote](e,t,n){return n.next!=62?!1:(n.markers.push(Bn(Je.QuoteMark,t.lineStart+n.pos,t.lineStart+n.pos+1)),n.moveBase(n.pos+(qo(n.text.charCodeAt(n.pos+1))?2:1)),e.end=t.lineStart+n.text.length,!0)},[Je.ListItem](e,t,n){return n.indent-1?!1:(n.moveBaseColumn(n.baseIndent+e.value),!0)},[Je.OrderedList]:iF,[Je.BulletList]:iF,[Je.Document](){return!0}};function qo(e){return e==32||e==9||e==10||e==13}function Wb(e,t=0){for(;tn&&qo(e.charCodeAt(t-1));)t--;return t}function toe(e){if(e.next!=96&&e.next!=126)return-1;let t=e.pos+1;for(;t-1&&e.depth==t.stack.length&&t.parser.leafBlockParsers.indexOf(coe.SetextHeading)>-1||i<3?-1:1}function ioe(e,t){for(let n=e.stack.length-1;n>=0;n--)if(e.stack[n].type==t)return!0;return!1}function z5(e,t,n){return(e.next==45||e.next==43||e.next==42)&&(e.pos==e.text.length-1||qo(e.text.charCodeAt(e.pos+1)))&&(!n||ioe(t,Je.BulletList)||e.skipSpace(e.pos+2)=48&&r<=57;){i++;if(i==e.text.length)return-1;r=e.text.charCodeAt(i)}return i==e.pos||i>e.pos+9||r!=46&&r!=41||ie.pos+1||e.next!=49)?-1:i+1-e.pos}function roe(e){if(e.next!=35)return-1;let t=e.pos+1;for(;t6?-1:n}function soe(e){if(e.next!=45&&e.next!=61||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t/,ooe=/\?>/,Qj=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,coe=/\?>/,Qj=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(i);if(s)return e.append(Bn(Je.Comment,n,n+1+s[0].length));let a=/^\?[^]*?\?>/.exec(i);if(a)return e.append(Bn(Je.ProcessingInstruction,n,n+1+a[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(i);return o?e.append(Bn(Je.HTMLTag,n,n+1+o[0].length)):-1},Emphasis(e,t,n){if(t!=95&&t!=42)return-1;let i=n+1;for(;e.char(i)==t;)i++;let r=e.slice(n-1,n),s=e.slice(i,i+1),a=cx.test(r),o=cx.test(s),l=/\s|^$/.test(r),u=/\s|^$/.test(s),d=!u&&(!o||l||a),f=!l&&(!a||u||o),h=d&&(t==42||!f||a),p=f&&(t==42||!d||o);return e.append(new Ya(t==95?poe:moe,n,i,(h?1:0)|(p?2:0)))},HardBreak(e,t,n){if(t==92&&e.char(n+1)==10)return e.append(Bn(Je.HardBreak,n,n+2));if(t==32){let i=n+1;for(;e.char(i)==32;)i++;if(e.char(i)==10&&i>=n+2)return e.append(Bn(Je.HardBreak,n,i+1))}return-1},Link(e,t,n){return t==91?e.append(new Ya(dh,n,n+1,1)):-1},Image(e,t,n){return t==33&&e.char(n+1)==91?e.append(new Ya(Tk,n,n+2,1)):-1},LinkEnd(e,t,n){if(t!=93)return-1;for(let i=e.parts.length-1;i>=0;i--){let r=e.parts[i];if(r instanceof Ya&&(r.type==dh||r.type==Tk)){if(!r.side||e.skipSpace(r.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[i]=null,-1;let s=e.takeContent(i),a=e.parts[i]=Tqe(e,s,r.type==dh?Je.Link:Je.Image,r.from,n+1);if(r.type==dh)for(let o=0;ot?Bn(Je.URL,t+n,s+n):s==e.length?null:!1}}function Ooe(e,t,n){let i=e.charCodeAt(t);if(i!=39&&i!=34&&i!=40)return!1;let r=i==40?41:i;for(let s=t+1,a=!1;s=this.end?-1:this.text.charCodeAt(t-this.offset)}get end(){return this.offset+this.text.length}slice(t,n){return this.text.slice(t-this.offset,n-this.offset)}append(t){return this.parts.push(t),t.to}addDelimiter(t,n,i,r,s){return this.append(new Ya(t,n,i,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let t=this.parts.length-1;t>=0;t--){let n=this.parts[t];if(n instanceof Ya&&(n.type==dh||n.type==Tk))return!0}return!1}addElement(t){return this.append(t)}resolveMarkers(t){for(let i=t;i=t;l--){let g=this.parts[l];if(g instanceof Ya&&g.side&1&&g.type==r.type&&!(s&&(r.side&1||g.side&2)&&(g.to-g.from+a)%3==0&&((g.to-g.from)%3||a%3))){o=g;break}}if(!o)continue;let u=r.type.resolve,d=[],f=o.from,h=r.to;if(s){let g=Math.min(2,o.to-o.from,a);f=o.to-g,h=r.from+g,u=g==1?"Emphasis":"StrongEmphasis"}o.type.mark&&d.push(this.elt(o.type.mark,f,o.to));for(let g=l+1;g=0;n--){let i=this.parts[n];if(i instanceof Ya&&i.type==t&&i.side&1)return n}return null}takeContent(t){let n=this.resolveMarkers(t);return this.parts.length=t,n}getDelimiterAt(t){let n=this.parts[t];return n instanceof Ya?n:null}skipSpace(t){return Wb(this.text,t-this.offset)+this.offset}elt(t,n,i,r){return typeof t=="string"?Bn(this.parser.getNodeType(t),n,i,r):new hoe(t,n)}}V5.linkStart=dh;V5.imageStart=Tk;function Uj(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),i=0;for(let r of t){for(;i(t?t-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let r=t+this.fragment.offset;for(;i.to<=r;)if(!i.parent())return!1;for(;;){if(i.from>=r)return this.fragment.from<=n;if(!i.childAfter(r))return!1}}matches(t){let n=this.cursor.tree;return n&&n.prop(Yt.contextHash)==t}takeNodes(t){let n=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=t.absoluteLineStart,a=s,o=t.block.children.length,l=a,u=o;for(;;){if(n.to-i>r){if(n.type.isAnonymous&&n.firstChild())continue;break}let d=yoe(n.from-i,t.ranges);if(n.to-i<=t.ranges[t.rangeI].to)t.addNode(n.tree,d);else{let f=new ni(t.parser.nodeSet.types[Je.Paragraph],[],[],0,t.block.hashProp);t.reusePlaceholders.set(f,n.tree),t.addNode(f,d)}if(n.type.is("Block")&&(_qe.indexOf(n.type.id)<0?(a=n.to-i,o=t.block.children.length):(a=l,o=u),l=n.to-i,u=t.block.children.length),!n.nextSibling())break}for(;t.block.children.length>o;)t.block.children.pop(),t.block.positions.pop();return a-s}}function yoe(e,t){let n=e;for(let i=1;idv[e]),Object.keys(dv).map(e=>coe[e]),Object.keys(dv),wqe,eoe,Object.keys(oC).map(e=>oC[e]),Object.keys(oC),[]);function Rqe(e,t,n){let i=[];for(let r=e.firstChild,s=t;;r=r.nextSibling){let a=r?r.from:n;if(a>s&&i.push({from:s,to:a}),!r)break;s=r.to}return i}function Iqe(e){let{codeParser:t,htmlParser:n}=e;return{wrap:Ure((r,s)=>{let a=r.type.id;if(t&&(a==Je.CodeBlock||a==Je.FencedCode)){let o="";if(a==Je.FencedCode){let u=r.node.getChild(Je.CodeInfo);u&&(o=s.read(u.from,u.to))}let l=t(o);if(l)return{parser:l,overlay:u=>u.type.id==Je.CodeText,bracketed:a==Je.FencedCode}}else if(n&&(a==Je.HTMLBlock||a==Je.HTMLTag||a==Je.CommentBlock))return{parser:n,overlay:Rqe(r.node,r.from,r.to)};return null})}}const Pqe={resolve:"Strikethrough",mark:"StrikethroughMark"},jqe={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":H.strikethrough}},{name:"StrikethroughMark",style:H.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,n){if(t!=126||e.char(n+1)!=126||e.char(n+2)==126)return-1;let i=e.slice(n-1,n),r=e.slice(n+2,n+3),s=/\s|^$/.test(i),a=/\s|^$/.test(r),o=cx.test(i),l=cx.test(r);return e.addDelimiter(Pqe,n,n+2,!a&&(!l||s||o),!s&&(!o||a||l))},after:"Emphasis"}]};function Zb(e,t,n=0,i,r=0){let s=0,a=!0,o=-1,l=-1,u=!1,d=()=>{i.push(e.elt("TableCell",r+o,r+l,e.parser.parseInline(t.slice(o,l),r+o)))};for(let f=n;f-1)&&s++,a=!1,i&&(o>-1&&d(),i.push(e.elt("TableDelimiter",f+r,f+r+1))),o=l=-1):(u||h!=32&&h!=9)&&(o<0&&(o=f),l=f+1),u=!u&&h==92}return o>-1&&(s++,i&&d()),s}function oF(e,t){for(let n=t;n\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class lF{constructor(){this.rows=null}nextLine(t,n,i){if(this.rows==null){this.rows=!1;let r;if((n.next==45||n.next==58||n.next==124)&&xoe.test(r=n.text.slice(n.pos))){let s=[];Zb(t,i.content,0,s,i.start)==Zb(t,r,0)&&(this.rows=[t.elt("TableHeader",i.start,i.start+i.content.length,s),t.elt("TableDelimiter",t.lineStart+n.pos,t.lineStart+n.text.length)])}}else if(this.rows){let r=[];Zb(t,n.text,n.pos,r,t.lineStart),this.rows.push(t.elt("TableRow",t.lineStart+n.pos,t.lineStart+n.text.length,r))}return!1}finish(t,n){return this.rows?(t.addLeafElement(n,t.elt("Table",n.start,n.start+n.content.length,this.rows)),!0):!1}}const Mqe={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":H.heading}},"TableRow",{name:"TableCell",style:H.content},{name:"TableDelimiter",style:H.processingInstruction}],parseBlock:[{name:"Table",leaf(e,t){return oF(t.content,0)?new lF:null},endLeaf(e,t,n){if(n.parsers.some(r=>r instanceof lF)||!oF(t.text,t.basePos))return!1;let i=e.peekLine();return xoe.test(i)&&Zb(e,t.text,t.basePos)==Zb(e,i,t.basePos)},before:"SetextHeading"}]};class Lqe{nextLine(){return!1}finish(t,n){return t.addLeafElement(n,t.elt("Task",n.start,n.start+n.content.length,[t.elt("TaskMarker",n.start,n.start+3),...t.parser.parseInline(n.content.slice(3),n.start+3)])),!0}}const Dqe={defineNodes:[{name:"Task",block:!0,style:H.list},{name:"TaskMarker",style:H.atom}],parseBlock:[{name:"TaskList",leaf(e,t){return/^\[[ xX]\][ \t]/.test(t.content)&&e.parentType().name=="ListItem"?new Lqe:null},after:"SetextHeading"}]},cF=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,uF=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,$qe=/[\w-]+\.[\w-]+($|[/:])/,dF=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,fF=/\/[a-zA-Z\d@.]+/gy;function hF(e,t,n,i){let r=0;for(let s=t;s-1)return-1;let i=t+n[0].length;for(;;){let r=e[i-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&hF(e,t,i,")")>hF(e,t,i,"("))i--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,i))))i=t+s.index;else break}return i}function pF(e,t){dF.lastIndex=t;let n=dF.exec(e);if(!n)return-1;let i=n[0][n[0].length-1];return i=="_"||i=="-"?-1:t+n[0].length-(i=="."?1:0)}const Bqe={parseInline:[{name:"Autolink",parse(e,t,n){let i=n-e.offset;if(i&&/\w/.test(e.text[i-1]))return-1;cF.lastIndex=i;let r=cF.exec(e.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=Qqe(e.text,i+r[0].length),s>-1&&e.hasOpenLink){let a=/([^\[\]]|\[[^\]]*\])*/.exec(e.text.slice(i,s));s=i+a[0].length}}else r[3]?s=pF(e.text,i):(s=pF(e.text,i+r[0].length),s>-1&&r[0]=="xmpp:"&&(fF.lastIndex=s,r=fF.exec(e.text),r&&(s=r.index+r[0].length)));return s<0?-1:(e.addElement(e.elt("URL",n,s+e.offset)),s+e.offset)}}]},Uqe=[Mqe,Dqe,jqe,Bqe];function Soe(e,t,n){return(i,r,s)=>{if(r!=e||i.char(s+1)==e)return-1;let a=[i.elt(n,s,s+1)];for(let o=s+1;o=65&&e<=90||e==95||e>=97&&e<=122||e>=161}let bF=null,yF=null,xF=0;function Fj(e,t){let n=e.pos+t;if(xF==n&&yF==e)return bF;let i=e.peek(t),r="";for(;pHe(i);)r+=String.fromCharCode(i),i=e.peek(++t);return yF=e,xF=n,bF=r?r.toLowerCase():i==mHe||i==gHe?void 0:null}const Noe=60,_k=62,q5=47,mHe=63,gHe=33,OHe=45;function SF(e,t){this.name=e,this.parent=t}const bHe=[X5,koe,voe,woe,Eoe],yHe=new x_({start:null,shift(e,t,n,i){return bHe.indexOf(t)>-1?new SF(Fj(i,1)||"",e):e},reduce(e,t){return t==Toe&&e?e.parent:e},reuse(e,t,n,i){let r=t.type.id;return r==X5||r==lHe?new SF(Fj(i,1)||"",e):e},strict:!1}),xHe=new Ar((e,t)=>{if(e.next!=Noe){e.next<0&&t.context&&e.acceptToken(lC);return}e.advance();let n=e.next==q5;n&&e.advance();let i=Fj(e,0);if(i===void 0)return;if(!i)return e.acceptToken(n?nHe:tHe);let r=t.context?t.context.name:null;if(n){if(i==r)return e.acceptToken(Kqe);if(r&&hHe[r])return e.acceptToken(lC,-2);if(t.dialectEnabled(uHe))return e.acceptToken(Jqe);for(let s=t.context;s;s=s.parent)if(s.name==i)return;e.acceptToken(eHe)}else{if(i=="script")return e.acceptToken(voe);if(i=="style")return e.acceptToken(woe);if(i=="textarea")return e.acceptToken(Eoe);if(fHe.hasOwnProperty(i))return e.acceptToken(koe);r&&OF[r]&&OF[r][i]?e.acceptToken(lC,-1):e.acceptToken(X5)}},{contextual:!0}),SHe=new Ar(e=>{for(let t=0,n=0;;n++){if(e.next<0){n&&e.acceptToken(gF);break}if(e.next==OHe)t++;else if(e.next==_k&&t>=2){n>=3&&e.acceptToken(gF,-2);break}else t=0;e.advance()}});function vHe(e){for(;e;e=e.parent)if(e.name=="svg"||e.name=="math")return!0;return!1}const wHe=new Ar((e,t)=>{if(e.next==q5&&e.peek(1)==_k){let n=t.dialectEnabled(dHe)||vHe(t.context);e.acceptToken(n?Zqe:mF,2)}else e.next==_k&&e.acceptToken(mF,1)});function H5(e,t,n){let i=2+e.length;return new Ar(r=>{for(let s=0,a=0,o=0;;o++){if(r.next<0){o&&r.acceptToken(t);break}if(s==0&&r.next==Noe||s==1&&r.next==q5||s>=2&&sa?r.acceptToken(t,-a):r.acceptToken(n,-(a-2));break}else if((r.next==10||r.next==13)&&o){r.acceptToken(t,1);break}else s=a=0;r.advance()}})}const EHe=H5("script",Xqe,qqe),kHe=H5("style",Hqe,Yqe),THe=H5("textarea",Gqe,Wqe),_He=qu({"Text RawText IncompleteTag IncompleteCloseTag":H.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":H.angleBracket,TagName:H.tagName,"MismatchedCloseTag/TagName":[H.tagName,H.invalid],AttributeName:H.attributeName,"AttributeValue UnquotedAttributeValue":H.attributeValue,Is:H.definitionOperator,"EntityReference CharacterReference":H.character,Comment:H.blockComment,ProcessingInst:H.processingInstruction,DoctypeDecl:H.documentMeta}),AHe=Ru.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:yHe,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[_He],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let u=o.type.id;if(u==sHe)return cC(o,l,n);if(u==aHe)return cC(o,l,i);if(u==oHe)return cC(o,l,r);if(u==Toe&&s.length){let d=o.node,f=d.firstChild,h=f&&vF(f,l),p;if(h){for(let m of s)if(m.tag==h&&(!m.attrs||m.attrs(p||(p=Coe(f,l))))){let g=d.lastChild,y=g.type.id==cHe?g.from:d.to;if(y>f.to)return{parser:m.parser,overlay:[{from:f.to,to:y}]}}}}if(a&&u==_oe){let d=o.node,f;if(f=d.firstChild){let h=a[l.read(f.from,f.to)];if(h)for(let p of h){if(p.tagName&&p.tagName!=vF(d.parent,l))continue;let m=d.lastChild;if(m.type.id==zj){let g=m.from+1,y=m.lastChild,b=m.to-(y&&y.isError?0:1);if(b>g)return{parser:p.parser,overlay:[{from:g,to:b}],bracketed:!0}}else if(m.type.id==Aoe)return{parser:p.parser,overlay:[{from:m.from,to:m.to}]}}}}return null})}const NHe=145,wF=1,CHe=146,RHe=147,Ioe=2,IHe=148,PHe=3,jHe=4,Poe=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],MHe=58,LHe=40,joe=95,DHe=91,_w=45,$He=46,QHe=35,BHe=37,UHe=38,zHe=92,FHe=10,VHe=42;function ux(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function Y5(e){return e>=48&&e<=57}function EF(e){return Y5(e)||e>=97&&e<=102||e>=65&&e<=70}const Moe=(e,t,n)=>(i,r)=>{for(let s=!1,a=0,o=0;;o++){let{next:l}=i;if(ux(l)||l==_w||l==joe||s&&Y5(l))!s&&(l!=_w||o>0)&&(s=!0),a===o&&l==_w&&a++,i.advance();else if(l==zHe&&i.peek(1)!=FHe){if(i.advance(),EF(i.next)){do i.advance();while(EF(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();s=!0}else{s&&i.acceptToken(a==2&&r.canShift(Ioe)?t:l==LHe?n:e);break}}},XHe=new Ar(Moe(CHe,Ioe,RHe),{contextual:!0}),qHe=new Ar(Moe(IHe,PHe,jHe),{contextual:!0}),HHe=new Ar(e=>{if(Poe.includes(e.peek(-1))){let{next:t}=e;(ux(t)||t==joe||t==QHe||t==$He||t==VHe||t==DHe||t==MHe&&ux(e.peek(1))||t==_w||t==UHe)&&e.acceptToken(NHe)}}),YHe=new Ar(e=>{if(!Poe.includes(e.peek(-1))){let{next:t}=e;if(t==BHe&&(e.advance(),e.acceptToken(wF)),ux(t)){do e.advance();while(ux(e.next)||Y5(e.next));e.acceptToken(wF)}}}),GHe=qu({"AtKeyword import charset namespace keyframes media supports font-feature-values":H.definitionKeyword,"from to selector scope MatchFlag":H.keyword,NamespaceName:H.namespace,KeyframeName:H.labelName,KeyframeRangeName:H.operatorKeyword,TagName:H.tagName,ClassName:H.className,PseudoClassName:H.constant(H.className),IdName:H.labelName,"FeatureName PropertyName":H.propertyName,AttributeName:H.attributeName,NumberLiteral:H.number,KeywordQuery:H.keyword,UnaryQueryOp:H.operatorKeyword,"CallTag ValueName FontName":H.atom,VariableName:H.variableName,Callee:H.operatorKeyword,Unit:H.unit,"UniversalSelector NestingSelector":H.definitionOperator,"MatchOp CompareOp":H.compareOperator,"ChildOp SiblingOp, LogicOp":H.logicOperator,BinOp:H.arithmeticOperator,Important:H.modifier,Comment:H.blockComment,ColorLiteral:H.color,"ParenthesizedContent StringLiteral":H.string,":":H.punctuation,"PseudoOp #":H.derefOperator,"; , |":H.separator,"( )":H.paren,"[ ]":H.squareBracket,"{ }":H.brace}),WHe={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},ZHe={__proto__:null,or:104,and:104,not:112,only:112,layer:206},KHe={__proto__:null,selector:118,style:124,layer:202},JHe={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},eYe={__proto__:null,to:243},tYe=Ru.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[HHe,YHe,XHe,qHe,1,2,3,4,new ak("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:e=>WHe[e]||-1},{term:148,get:e=>ZHe[e]||-1},{term:4,get:e=>KHe[e]||-1},{term:28,get:e=>JHe[e]||-1},{term:146,get:e=>eYe[e]||-1}],tokenPrec:2405});let uC=null;function dC(){if(!uC&&typeof document=="object"&&document.body){let{style:e}=document.body,t=[],n=new Set;for(let i in e)i!="cssText"&&i!="cssFloat"&&typeof e[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),n.has(i)||(t.push(i),n.add(i)));uC=t.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return uC||[]}const kF=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),TF=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),nYe=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),iYe=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(e=>({type:"keyword",label:e})),Xc=/^(\w[\w-]*|-\w[\w-]*|)$/,rYe=/^-(-[\w-]*)?$/;function sYe(e,t){var n;if((e.name=="("||e.type.isError)&&(e=e.parent||e),e.name!="ArgList")return!1;let i=(n=e.parent)===null||n===void 0?void 0:n.firstChild;return(i==null?void 0:i.name)!="Callee"?!1:t.sliceString(i.from,i.to)=="var"}const _F=new a5,aYe=["Declaration"];function oYe(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function Loe(e,t,n){if(t.to-t.from>4096){let i=_F.get(t);if(i)return i;let r=[],s=new Set,a=t.cursor(ei.IncludeAnonymous);if(a.firstChild())do for(let o of Loe(e,a.node,n))s.has(o.label)||(s.add(o.label),r.push(o));while(a.nextSibling());return _F.set(t,r),r}else{let i=[],r=new Set;return t.cursor().iterate(s=>{var a;if(n(s)&&s.matchContext(aYe)&&((a=s.node.nextSibling)===null||a===void 0?void 0:a.name)==":"){let o=e.sliceString(s.from,s.to);r.has(o)||(r.add(o),i.push({label:o,type:"variable"}))}}),i}}const lYe=e=>t=>{let{state:n,pos:i}=t,r=yi(n).resolveInner(i,-1),s=r.type.isError&&r.from==r.to-1&&n.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:dC(),validFor:Xc};if(r.name=="ValueName")return{from:r.from,options:TF,validFor:Xc};if(r.name=="PseudoClassName")return{from:r.from,options:kF,validFor:Xc};if(e(r)||(t.explicit||s)&&sYe(r,n.doc))return{from:e(r)||s?r.from:i,options:Loe(n.doc,oYe(r),e),validFor:rYe};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:dC(),validFor:Xc};return{from:r.from,options:nYe,validFor:Xc}}if(r.name=="AtKeyword")return{from:r.from,options:iYe,validFor:Xc};if(!t.explicit)return null;let a=r.resolve(i),o=a.childBefore(i);return o&&o.name==":"&&a.name=="PseudoClassSelector"?{from:i,options:kF,validFor:Xc}:o&&o.name==":"&&a.name=="Declaration"||a.name=="ArgList"?{from:i,options:TF,validFor:Xc}:a.name=="Block"||a.name=="Styles"?{from:i,options:dC(),validFor:Xc}:null},cYe=lYe(e=>e.name=="VariableName"),Ak=Mu.define({name:"css",parser:tYe.configure({props:[Pf.add({Declaration:ag()}),Yu.add({"Block KeyframeList":p1})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function uYe(){return new Sf(Ak,Ak.data.of({autocomplete:cYe}))}const RO=["_blank","_self","_top","_parent"],fC=["ascii","utf-8","utf-16","latin1","latin1"],hC=["get","post","put","delete"],pC=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Ua=["true","false"],Et={},dYe={a:{attrs:{href:null,ping:null,type:null,media:null,target:RO,hreflang:null}},abbr:Et,address:Et,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Et,aside:Et,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Et,base:{attrs:{href:null,target:RO}},bdi:Et,bdo:Et,blockquote:{attrs:{cite:null}},body:Et,br:Et,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:pC,formmethod:hC,formnovalidate:["novalidate"],formtarget:RO,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Et,center:Et,cite:Et,code:Et,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Et,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Et,div:Et,dl:Et,dt:Et,em:Et,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Et,figure:Et,footer:Et,form:{attrs:{action:null,name:null,"accept-charset":fC,autocomplete:["on","off"],enctype:pC,method:hC,novalidate:["novalidate"],target:RO}},h1:Et,h2:Et,h3:Et,h4:Et,h5:Et,h6:Et,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Et,hgroup:Et,hr:Et,html:{attrs:{manifest:null}},i:Et,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:pC,formmethod:hC,formnovalidate:["novalidate"],formtarget:RO,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Et,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Et,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Et,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:fC,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Et,noscript:Et,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Et,param:{attrs:{name:null,value:null}},pre:Et,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Et,rt:Et,ruby:Et,samp:Et,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:fC}},section:Et,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Et,source:{attrs:{src:null,type:null,media:null}},span:Et,strong:Et,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Et,summary:Et,sup:Et,table:Et,tbody:Et,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Et,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Et,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Et,time:{attrs:{datetime:null}},title:Et,tr:Et,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Et,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Et},Doe={accesskey:null,class:null,contenteditable:Ua,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Ua,autocorrect:Ua,autocapitalize:Ua,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Ua,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Ua,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Ua,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Ua,"aria-hidden":Ua,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Ua,"aria-multiselectable":Ua,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Ua,"aria-relevant":null,"aria-required":Ua,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},$oe="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of $oe)Doe[e]=null;class dx{constructor(t,n){this.tags={...dYe,...t},this.globalAttrs={...Doe,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}dx.default=new dx;function Zg(e,t,n=e.length){if(!t)return"";let i=t.firstChild,r=i&&i.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,n)):""}function Kg(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function Qoe(e,t,n){let i=n.tags[Zg(e,Kg(t))];return(i==null?void 0:i.children)||n.allTags}function G5(e,t){let n=[];for(let i=Kg(t);i&&!i.type.isTop;i=Kg(i.parent)){let r=Zg(e,i);if(r&&i.lastChild.name=="CloseTag")break;r&&n.indexOf(r)<0&&(t.name=="EndTag"||t.from>=i.firstChild.to)&&n.push(r)}return n}const Boe=/^[:\-\.\w\u00b7-\uffff]*$/;function AF(e,t,n,i,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">",a=Kg(n,n.name=="StartTag"||n.name=="TagName");return{from:i,to:r,options:Qoe(e.doc,a,t).map(o=>({label:o,type:"type"})).concat(G5(e.doc,n).map((o,l)=>({label:"/"+o,apply:"/"+o+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function NF(e,t,n,i){let r=/\s*>/.test(e.sliceDoc(i,i+5))?"":">";return{from:n,to:i,options:G5(e.doc,t).map((s,a)=>({label:s,apply:s+r,type:"type",boost:99-a})),validFor:Boe}}function fYe(e,t,n,i){let r=[],s=0;for(let a of Qoe(e.doc,n,t))r.push({label:"<"+a,type:"type"});for(let a of G5(e.doc,n))r.push({label:"",type:"type",boost:99-s++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function hYe(e,t,n,i,r){let s=Kg(n),a=s?t.tags[Zg(e.doc,s)]:null,o=a&&a.attrs?Object.keys(a.attrs):[],l=a&&a.globalAttrs===!1?o:o.length?o.concat(t.globalAttrNames):t.globalAttrNames;return{from:i,to:r,options:l.map(u=>({label:u,type:"property"})),validFor:Boe}}function pYe(e,t,n,i,r){var s;let a=(s=n.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),o=[],l;if(a){let u=e.sliceDoc(a.from,a.to),d=t.globalAttrs[u];if(!d){let f=Kg(n),h=f?t.tags[Zg(e.doc,f)]:null;d=(h==null?void 0:h.attrs)&&h.attrs[u]}if(d){let f=e.sliceDoc(i,r).toLowerCase(),h='"',p='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,h="",p=e.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),i++):l=/^[^\s<>='"]*$/;for(let m of d)o.push({label:m,apply:h+m+p,type:"constant"})}}return{from:i,to:r,options:o,validFor:l}}function Uoe(e,t){let{state:n,pos:i}=t,r=yi(n).resolveInner(i,-1),s=r.resolve(i);for(let a=i,o;s==r&&(o=r.childBefore(a));){let l=o.lastChild;if(!l||!l.type.isError||l.fromUoe(i,r)}const OYe=Oc.parser.configure({top:"SingleExpression"}),zoe=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:Gae.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:Wae.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:Zae.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:OYe},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:Oc.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:Ak.parser}],Foe=[{name:"style",parser:Ak.parser.configure({top:"Styles"})}].concat($oe.map(e=>({name:e,parser:Oc.parser}))),Voe=Mu.define({name:"html",parser:AHe.configure({props:[Pf.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),Aw=Voe.configure({wrap:Roe(zoe,Foe)});function bYe(e={}){let t="",n;e.matchClosingTags===!1&&(t="noMatch"),e.selfClosingTags===!0&&(t=(t?t+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(n=Roe((e.nestedLanguages||[]).concat(zoe),(e.nestedAttributes||[]).concat(Foe)));let i=n?Voe.configure({wrap:n,dialect:t}):t?Aw.configure({dialect:t}):Aw;return new Sf(i,[Aw.data.of({autocomplete:gYe(e)}),e.autoCloseTags!==!1?yYe:[],Dj().support,uYe().support])}const CF=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),yYe=rt.inputHandler.of((e,t,n,i,r)=>{if(e.composing||e.state.readOnly||t!=n||i!=">"&&i!="/"||!Aw.isActiveAt(e.state,t,-1))return!1;let s=r(),{state:a}=s,o=a.changeByRange(l=>{var u,d,f;let h=a.doc.sliceString(l.from-1,l.to)==i,{head:p}=l,m=yi(a).resolveInner(p,-1),g;if(h&&i==">"&&m.name=="EndTag"){let y=m.parent;if(((d=(u=y.parent)===null||u===void 0?void 0:u.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(g=Zg(a.doc,y.parent,p))&&!CF.has(g)){let b=p+(a.doc.sliceString(p,p+1)===">"?1:0),S=``;return{range:l,changes:{from:p,to:b,insert:S}}}}else if(h&&i=="/"&&m.name=="IncompleteCloseTag"){let y=m.parent;if(m.from==p-2&&((f=y.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(g=Zg(a.doc,y,p))&&!CF.has(g)){let b=p+(a.doc.sliceString(p,p+1)===">"?1:0),S=`${g}>`;return{range:Re.cursor(p+S.length,-1),changes:{from:p,to:b,insert:S}}}}return{range:l}});return o.changes.empty?!1:(e.dispatch([s,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Xoe=_5({commentTokens:{block:{open:""}}}),qoe=new Yt,Hoe=Cqe.configure({props:[Yu.add(e=>!e.is("Block")||e.is("Document")||Vj(e)!=null||xYe(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),qoe.add(Vj),Pf.add({Document:()=>null}),vh.add({Document:Xoe})]});function Vj(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function xYe(e){return e.name=="OrderedList"||e.name=="BulletList"}function SYe(e,t){let n=e;for(;;){let i=n.nextSibling,r;if(!i||(r=Vj(i.type))!=null&&r<=t)break;n=i}return n.to}const vYe=xae.of((e,t,n)=>{for(let i=yi(e).resolveInner(n,-1);i&&!(i.fromn)return{from:n,to:s}}return null});function W5(e){return new Mo(Xoe,e,[],"markdown")}const wYe=W5(Hoe),EYe=Hoe.configure([Uqe,Fqe,zqe,Vqe,{props:[Yu.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),Nk=W5(EYe);function kYe(e,t){return n=>{if(n&&e){let i=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?i=e(n):i=yk.matchLanguageName(e,n,!0),i instanceof yk)return i.support?i.support.language.parser:ix.getSkippingParser(i.load());if(i)return i.parser}return t?t.parser:null}}let mC=class{constructor(t,n,i,r,s,a,o){this.node=t,this.from=n,this.to=i,this.spaceBefore=r,this.spaceAfter=s,this.type=a,this.item=o}blank(t,n=!0){let i=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(t!=null){for(;i.length0;r--)i+=" ";return i+(n?this.spaceAfter:"")}}marker(t,n){let i=this.node.name=="OrderedList"?String(+Goe(this.item,t)[2]+n):"";return this.spaceBefore+i+this.type+this.spaceAfter}};function Yoe(e,t){let n=[],i=[];for(let r=e;r;r=r.parent){if(r.name=="FencedCode")return i;(r.name=="ListItem"||r.name=="Blockquote")&&n.push(r)}for(let r=n.length-1;r>=0;r--){let s=n[r],a,o=t.lineAt(s.from),l=s.from-o.from;if(s.name=="Blockquote"&&(a=/^ *>( ?)/.exec(o.text.slice(l))))i.push(new mC(s,l,l+a[0].length,"",a[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(a=/^( *)\d+([.)])( *)/.exec(o.text.slice(l)))){let u=a[3],d=a[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),i.push(new mC(s.parent,l,l+d,a[1],u,a[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(a=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(l)))){let u=a[4],d=a[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=a[2];a[3]&&(f+=a[3].replace(/[xX]/," ")),i.push(new mC(s.parent,l,l+d,a[1],u,f,s))}}return i}function Goe(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function gC(e,t,n,i=0){for(let r=-1,s=e;;){if(s.name=="ListItem"){let o=Goe(s,t),l=+o[2];if(r>=0){if(l!=r+1)return;n.push({from:s.from+o[1].length,to:s.from+o[0].length,insert:String(r+2+i)})}r=l}let a=s.nextSibling;if(!a)break;s=a}}function Z5(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(I0)!=" ")return e;let i=wl(e,4,n),r="";for(let s=i;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+e.slice(n)}const TYe=(e={})=>({state:t,dispatch:n})=>{let i=yi(t),{doc:r}=t,s=null,a=t.changeByRange(o=>{if(!o.empty||!Nk.isActiveAt(t,o.from,-1)&&!Nk.isActiveAt(t,o.from,1))return s={range:o};let l=o.from,u=r.lineAt(l),d=Yoe(i.resolveInner(l,-1),r);for(;d.length&&d[d.length-1].from>l-u.from;)d.pop();if(!d.length)return s={range:o};let f=d[d.length-1];if(f.to-f.spaceAfter.length>l-u.from)return s={range:o};let h=l>=f.to-f.spaceAfter.length&&!/\S/.test(u.text.slice(f.to));if(f.item&&h){let b=f.node.firstChild,S=f.node.getChild("ListItem","ListItem");if(b.to>=l||S&&S.to0&&!/[^\s>]/.test(r.lineAt(u.from-1).text)||e.nonTightLists===!1){let x=d.length>1?d[d.length-2]:null,v,E="";x&&x.item?(v=u.from+x.from,E=x.marker(r,1)):v=u.from+(x?x.to:0);let w=[{from:v,to:l,insert:E}];return f.node.name=="OrderedList"&&gC(f.item,r,w,-2),x&&x.node.name=="OrderedList"&&gC(x.item,r,w),{range:Re.cursor(v+E.length),changes:w}}else{let x=IF(d,t,u);return{range:Re.cursor(l+x.length+1),changes:{from:u.from,insert:x+t.lineBreak}}}}if(f.node.name=="Blockquote"&&h&&u.from){let b=r.lineAt(u.from-1),S=/>\s*$/.exec(b.text);if(S&&S.index==f.from){let x=t.changes([{from:b.from+S.index,to:b.to},{from:u.from+f.from,to:u.to}]);return{range:o.map(x),changes:x}}}let p=[];f.node.name=="OrderedList"&&gC(f.item,r,p);let m=f.item&&f.item.from]*/.exec(u.text)[0].length>=f.to)for(let b=0,S=d.length-1;b<=S;b++)g+=b==S&&!m?d[b].marker(r,1):d[b].blank(bu.from&&/\s/.test(u.text.charAt(y-u.from-1));)y--;return g=Z5(g,t),AYe(f.node,t.doc)&&(g=IF(d,t,u)+t.lineBreak+g),p.push({from:y,to:l,insert:t.lineBreak+g}),{range:Re.cursor(y+g.length+1),changes:p}});return s?!1:(n(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)},_Ye=TYe();function RF(e){return e.name=="QuoteMark"||e.name=="ListMark"}function AYe(e,t){if(e.name!="OrderedList"&&e.name!="BulletList")return!1;let n=e.firstChild,i=e.getChild("ListItem","ListItem");if(!i)return!1;let r=t.lineAt(n.to),s=t.lineAt(i.from),a=/^[\s>]*$/.test(r.text);return r.number+(a?0:1){let n=yi(e),i=null,r=e.changeByRange(s=>{let a=s.from,{doc:o}=e;if(s.empty&&Nk.isActiveAt(e,s.from)){let l=o.lineAt(a),u=Yoe(NYe(n,a),o);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(a-l.from>f&&!/\S/.test(l.text.slice(f,a-l.from)))return{range:Re.cursor(l.from+f),changes:{from:l.from+f,to:a}};if(a-l.from==f&&(d.item&&l.from<=d.item.from||/^[\s>]*$/.test(l.text.slice(0,d.to)))){let h=l.from+d.from;if(d.item&&d.node.from{var n;let{main:i}=t.state.selection;if(i.empty)return!1;let r=(n=e.clipboardData)===null||n===void 0?void 0:n.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!Nk.isActiveAt(t.state,i.from,1)))return!1;let s=yi(t.state),a=!1;return s.iterate({from:i.from,to:i.to,enter:o=>{(o.from>i.from||MYe.test(o.name))&&(a=!0)},leave:o=>{o.to=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}const LGe=new Ar((e,t)=>{let n;if(e.next<0)e.acceptToken(BYe);else if(t.context.flags&Nw)bC(e.next)&&e.acceptToken(QYe,1);else if(((n=e.peek(-1))<0||bC(n))&&t.canShift(PF)){let i=0;for(;e.next==K5||e.next==I_;)e.advance(),i++;(e.next==np||e.next==fx||e.next==J5)&&e.acceptToken(PF,-i)}else bC(e.next)&&e.acceptToken($Ye,1)},{contextual:!0}),DGe=new Ar((e,t)=>{let n=t.context;if(n.flags)return;let i=e.peek(-1);if(i==np||i==fx){let r=0,s=0;for(;;){if(e.next==K5)r++;else if(e.next==I_)r+=8-r%8;else break;e.advance(),s++}r!=n.indent&&e.next!=np&&e.next!=fx&&e.next!=J5&&(r[e,t|ile])),BGe=new x_({start:$Ge,reduce(e,t,n,i){return e.flags&Nw&&MGe.has(t)||(t==iGe||t==ele)&&e.flags&ile?e.parent:e},shift(e,t,n,i){return t==Zoe?new Cw(e,QGe(i.read(i.pos,n.pos)),0):t==Koe?e.parent:t==FYe||t==HYe||t==WYe||t==Joe?new Cw(e,0,Nw):DF.has(t)?new Cw(e,0,DF.get(t)|e.flags&Nw):e},hash(e){return e.hash}}),UGe=new Ar(e=>{for(let t=0;t<5;t++){if(e.next!="print".charCodeAt(t))return;e.advance()}if(!/\w/.test(String.fromCharCode(e.next)))for(let t=0;;t++){let n=e.peek(t);if(!(n==K5||n==I_)){n!=AGe&&n!=NGe&&n!=np&&n!=fx&&n!=J5&&e.acceptToken(DYe);return}}}),zGe=new Ar((e,t)=>{let{flags:n}=t.context,i=n&Gc?nle:tle,r=(n&Wc)>0,s=!(n&Zc),a=(n&Kc)>0,o=e.pos;for(;!(e.next<0);)if(a&&e.next==Xj)if(e.peek(1)==Xj)e.advance(2);else{if(e.pos==o){e.acceptToken(Joe,1);return}break}else if(s&&e.next==LF){if(e.pos==o){e.advance();let l=e.next;l>=0&&(e.advance(),FGe(e,l)),e.acceptToken(zYe);return}break}else if(e.next==LF&&!s&&e.peek(1)>-1)e.advance(2);else if(e.next==i&&(!r||e.peek(1)==i&&e.peek(2)==i)){if(e.pos==o){e.acceptToken(jF,r?3:1);return}break}else if(e.next==np){if(r)e.advance();else if(e.pos==o){e.acceptToken(jF);return}break}else e.advance();e.pos>o&&e.acceptToken(UYe)});function FGe(e,t){if(t==CGe)for(let n=0;n<2&&e.next>=48&&e.next<=55;n++)e.advance();else if(t==RGe)for(let n=0;n<2&&yC(e.next);n++)e.advance();else if(t==PGe)for(let n=0;n<4&&yC(e.next);n++)e.advance();else if(t==jGe)for(let n=0;n<8&&yC(e.next);n++)e.advance();else if(t==IGe&&e.next==Xj){for(e.advance();e.next>=0&&e.next!=MF&&e.next!=tle&&e.next!=nle&&e.next!=np;)e.advance();e.next==MF&&e.advance()}}const VGe=qu({'async "*" "**" FormatConversion FormatSpec':H.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":H.controlKeyword,"in not and or is del":H.operatorKeyword,"from def class global nonlocal lambda":H.definitionKeyword,import:H.moduleKeyword,"with as print":H.keyword,Boolean:H.bool,None:H.null,VariableName:H.variableName,"CallExpression/VariableName":H.function(H.variableName),"FunctionDefinition/VariableName":H.function(H.definition(H.variableName)),"ClassDefinition/VariableName":H.definition(H.className),PropertyName:H.propertyName,"CallExpression/MemberExpression/PropertyName":H.function(H.propertyName),Comment:H.lineComment,Number:H.number,String:H.string,FormatString:H.special(H.string),Escape:H.escape,UpdateOp:H.updateOperator,"ArithOp!":H.arithmeticOperator,BitOp:H.bitwiseOperator,CompareOp:H.compareOperator,AssignOp:H.definitionOperator,Ellipsis:H.punctuation,At:H.meta,"( )":H.paren,"[ ]":H.squareBracket,"{ }":H.brace,".":H.derefOperator,", ;":H.separator}),XGe={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},qGe=Ru.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[UGe,DGe,LGe,zGe,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:e=>XGe[e]||-1}],tokenPrec:7668}),$F=new a5,rle=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function hv(e){return(t,n,i)=>{if(i)return!1;let r=t.node.getChild("VariableName");return r&&n(r,e),!0}}const HGe={FunctionDefinition:hv("function"),ClassDefinition:hv("class"),ForStatement(e,t,n){if(n){for(let i=e.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")t(i,"variable");else if(i.name=="in")break}},ImportStatement(e,t){var n,i;let{node:r}=e,s=((n=r.firstChild)===null||n===void 0?void 0:n.name)=="from";for(let a=r.getChild("import");a;a=a.nextSibling)a.name=="VariableName"&&((i=a.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&t(a,s?"variable":"namespace")},AssignStatement(e,t){for(let n=e.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")t(n,"variable");else if(n.name==":"||n.name=="AssignOp")break},ParamList(e,t){for(let n=null,i=e.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!n||!/\*|AssignOp/.test(n.name))&&t(i,"variable"),n=i},CapturePattern:hv("variable"),AsPattern:hv("variable"),__proto__:null};function sle(e,t){let n=$F.get(t);if(n)return n;let i=[],r=!0;function s(a,o){let l=e.sliceString(a.from,a.to);i.push({label:l,type:o})}return t.cursor(ei.IncludeAnonymous).iterate(a=>{if(a.name){let o=HGe[a.name];if(o&&o(a,s,r)||!r&&rle.has(a.name))return!1;r=!1}else if(a.to-a.from>8192){for(let o of sle(e,a.node))i.push(o);return!1}}),$F.set(t,i),i}const QF=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,ale=["String","FormatString","Comment","PropertyName"];function YGe(e){let t=yi(e.state).resolveInner(e.pos,-1);if(ale.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&QF.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let i=[];for(let r=t;r;r=r.parent)rle.has(r.name)&&(i=i.concat(sle(e.state.doc,r)));return{options:i,from:n?t.from:e.pos,validFor:QF}}const GGe=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(e=>({label:e,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(e=>({label:e,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(e=>({label:e,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(e=>({label:e,type:"function"}))),WGe=[rr("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),rr("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),rr("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),rr("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),rr(`if \${}: - -`,{label:"if",detail:"block",type:"keyword"}),rr("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),rr("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),rr("import ${module}",{label:"import",detail:"statement",type:"keyword"}),rr("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],ZGe=jae(ale,I5(GGe.concat(WGe)));function xC(e){let{node:t,pos:n}=e,i=e.lineIndent(n,-1),r=null;for(;;){let s=t.childBefore(n);if(s)if(s.name=="Comment")n=s.from;else if(s.name=="Body"||s.name=="MatchBody")e.baseIndentFor(s)+e.unit<=i&&(r=s),t=s;else if(s.name=="MatchClause")t=s;else if(s.type.is("Statement"))t=s;else break;else break}return r}function SC(e,t){let n=e.baseIndentFor(t),i=e.lineAt(e.pos,-1),r=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&e.node.ton?null:n+e.unit}const vC=Mu.define({name:"python",parser:qGe.configure({props:[Pf.add({Body:e=>{var t;let n=/^\s*(#|$)/.test(e.textAfter)&&xC(e)||e.node;return(t=SC(e,n))!==null&&t!==void 0?t:e.continue()},MatchBody:e=>{var t;let n=xC(e);return(t=SC(e,n||e.node))!==null&&t!==void 0?t:e.continue()},IfStatement:e=>/^\s*(else:|elif )/.test(e.textAfter)?e.baseIndent:e.continue(),"ForStatement WhileStatement":e=>/^\s*else:/.test(e.textAfter)?e.baseIndent:e.continue(),TryStatement:e=>/^\s*(except[ :]|finally:|else:)/.test(e.textAfter)?e.baseIndent:e.continue(),MatchStatement:e=>/^\s*case /.test(e.textAfter)?e.baseIndent+e.unit:e.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":sg({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":sg({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":sg({closing:"]"}),MemberExpression:e=>e.baseIndent+e.unit,"String FormatString":()=>null,Script:e=>{var t;let n=xC(e);return(t=n&&SC(e,n))!==null&&t!==void 0?t:e.continue()}}),Yu.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":p1,Body:(e,t)=>({from:e.from+1,to:e.to-(e.to==t.doc.length?0:1)}),"String FormatString":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function KGe(){return new Sf(vC,[vC.data.of({autocomplete:YGe}),vC.data.of({autocomplete:ZGe})])}const rm=63,BF=64,JGe=1,eWe=2,ole=3,tWe=4,lle=5,nWe=6,iWe=7,cle=65,rWe=66,sWe=8,aWe=9,oWe=10,lWe=11,cWe=12,ule=13,uWe=19,dWe=20,fWe=29,hWe=33,pWe=34,mWe=47,gWe=0,e3=1,qj=2,hx=3,Hj=4;class fh{constructor(t,n,i){this.parent=t,this.depth=n,this.type=i,this.hash=(t?t.hash+t.hash<<8:0)+n+(n<<4)+i}}fh.top=new fh(null,-1,gWe);function Kb(e,t){for(let n=0,i=t-e.pos-1;;i--,n++){let r=e.peek(i);if(Lu(r)||r==-1)return n}}function Yj(e){return e==32||e==9}function Lu(e){return e==10||e==13}function dle(e){return Yj(e)||Lu(e)}function Eh(e){return e<0||dle(e)}const OWe=new x_({start:fh.top,reduce(e,t){return e.type==hx&&(t==dWe||t==pWe)?e.parent:e},shift(e,t,n,i){if(t==ole)return new fh(e,Kb(i,i.pos),e3);if(t==cle||t==lle)return new fh(e,Kb(i,i.pos),qj);if(t==rm)return e.parent;if(t==uWe||t==hWe)return new fh(e,0,hx);if(t==ule&&e.type==Hj)return e.parent;if(t==mWe){let r=/[1-9]/.exec(i.read(i.pos,n.pos));if(r)return new fh(e,e.depth+ +r[0],Hj)}return e},hash(e){return e.hash}});function Jg(e,t,n=0){return e.peek(n)==t&&e.peek(n+1)==t&&e.peek(n+2)==t&&Eh(e.peek(n+3))}const bWe=new Ar((e,t)=>{if(e.next==-1&&t.canShift(BF))return e.acceptToken(BF);let n=e.peek(-1);if((Lu(n)||n<0)&&t.context.type!=hx){if(Jg(e,45))if(t.canShift(rm))e.acceptToken(rm);else return e.acceptToken(JGe,3);if(Jg(e,46))if(t.canShift(rm))e.acceptToken(rm);else return e.acceptToken(eWe,3);let i=0;for(;e.next==32;)i++,e.advance();(i{if(t.context.type==hx){e.next==63&&(e.advance(),Eh(e.next)&&e.acceptToken(iWe));return}if(e.next==45)e.advance(),Eh(e.next)&&e.acceptToken(t.context.type==e3&&t.context.depth==Kb(e,e.pos-1)?tWe:ole);else if(e.next==63)e.advance(),Eh(e.next)&&e.acceptToken(t.context.type==qj&&t.context.depth==Kb(e,e.pos-1)?nWe:lle);else{let n=e.pos;for(;;)if(Yj(e.next)){if(e.pos==n)return;e.advance()}else if(e.next==33)fle(e);else if(e.next==38)Gj(e);else if(e.next==42){Gj(e);break}else if(e.next==39||e.next==34){if(t3(e,!0))break;return}else if(e.next==91||e.next==123){if(!SWe(e))return;break}else{hle(e,!0,!1,0);break}for(;Yj(e.next);)e.advance();if(e.next==58){if(e.pos==n&&t.canShift(fWe))return;let i=e.peek(1);Eh(i)&&e.acceptTokenTo(t.context.type==qj&&t.context.depth==Kb(e,n)?rWe:cle,n)}}},{contextual:!0});function xWe(e){return e>32&&e<127&&e!=34&&e!=37&&e!=44&&e!=60&&e!=62&&e!=92&&e!=94&&e!=96&&e!=123&&e!=124&&e!=125}function UF(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zF(e,t){return e.next==37?(e.advance(),UF(e.next)&&e.advance(),UF(e.next)&&e.advance(),!0):xWe(e.next)||t&&e.next==44?(e.advance(),!0):!1}function fle(e){if(e.advance(),e.next==60){for(e.advance();;)if(!zF(e,!0)){e.next==62&&e.advance();break}}else for(;zF(e,!1););}function Gj(e){for(e.advance();!Eh(e.next)&&Ck(e.next)!="f";)e.advance()}function t3(e,t){let n=e.next,i=!1,r=e.pos;for(e.advance();;){let s=e.next;if(s<0)break;if(e.advance(),s==n)if(s==39)if(e.next==39)e.advance();else break;else break;else if(s==92&&n==34)e.next>=0&&e.advance();else if(Lu(s)){if(t)return!1;i=!0}else if(t&&e.pos>=r+1024)return!1}return!i}function SWe(e){for(let t=[],n=e.pos+1024;;)if(e.next==91||e.next==123)t.push(e.next),e.advance();else if(e.next==39||e.next==34){if(!t3(e,!0))return!1}else if(e.next==93||e.next==125){if(t[t.length-1]!=e.next-2)return!1;if(t.pop(),e.advance(),!t.length)return!0}else{if(e.next<0||e.pos>n||Lu(e.next))return!1;e.advance()}}const vWe="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function Ck(e){return e<33?"u":e>125?"s":vWe[e-33]}function wC(e,t){let n=Ck(e);return n!="u"&&!(t&&n=="f")}function hle(e,t,n,i){if(Ck(e.next)=="s"||(e.next==63||e.next==58||e.next==45)&&wC(e.peek(1),n))e.advance();else return!1;let r=e.pos;for(;;){let s=e.next,a=0,o=i+1;for(;dle(s);){if(Lu(s)){if(t)return!1;o=0}else o++;s=e.peek(++a)}if(!(s>=0&&(s==58?wC(e.peek(a+1),n):s==35?e.peek(a-1)!=32:wC(s,n)))||!n&&o<=i||o==0&&!n&&(Jg(e,45,a)||Jg(e,46,a)))break;if(t&&Ck(s)=="f")return!1;for(let u=a;u>=0;u--)e.advance();if(t&&e.pos>r+1024)return!1}return!0}const wWe=new Ar((e,t)=>{if(e.next==33)fle(e),e.acceptToken(cWe);else if(e.next==38||e.next==42){let n=e.next==38?oWe:lWe;Gj(e),e.acceptToken(n)}else e.next==39||e.next==34?(t3(e,!1),e.acceptToken(aWe)):hle(e,!1,t.context.type==hx,t.context.depth)&&e.acceptToken(sWe)}),EWe=new Ar((e,t)=>{let n=t.context.type==Hj?t.context.depth:-1,i=e.pos;e:for(;;){let r=0,s=e.next;for(;s==32;)s=e.peek(++r);if(!r&&(Jg(e,45,r)||Jg(e,46,r))||!Lu(s)&&(n<0&&(n=Math.max(t.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:OWe,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[kWe],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[bWe,yWe,wWe,EWe,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),_We=Mu.define({name:"yaml",parser:TWe.configure({props:[Pf.add({Stream:e=>{for(let t=e.node.resolve(e.pos,-1);t&&t.to>=e.pos;t=t.parent){if(t.name=="BlockLiteralContent"&&t.frome.pos)return null}}return null},FlowMapping:sg({closing:"}"}),FlowSequence:sg({closing:"]"})}),Yu.add({"FlowMapping FlowSequence":p1,"Item Pair BlockLiteral":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function AWe(){return new Sf(_We)}function Wj(){return Wj=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),i=i3(e.state,n.from);return i.line?RWe(e):i.block?PWe(e):!1};function n3(e,t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let r=e(t,n);return r?(i(n.update(r)),!0):!1}}const RWe=n3(LWe,0),IWe=n3(ple,0),PWe=n3((e,t)=>ple(e,t,MWe(t)),0);function i3(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const IO=50;function jWe(e,{open:t,close:n},i,r){let s=e.sliceDoc(i-IO,i),a=e.sliceDoc(r,r+IO),o=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(a)[0].length,u=s.length-o;if(s.slice(u-t.length,u)==t&&a.slice(l,l+n.length)==n)return{open:{pos:i-o,margin:o&&1},close:{pos:r+l,margin:l&&1}};let d,f;r-i<=2*IO?d=f=e.sliceDoc(i,r):(d=e.sliceDoc(i,i+IO),f=e.sliceDoc(r-IO,r));let h=/^\s*/.exec(d)[0].length,p=/\s*$/.exec(f)[0].length,m=f.length-p-n.length;return d.slice(h,h+t.length)==t&&f.slice(m,m+n.length)==n?{open:{pos:i+h+t.length,margin:/\s/.test(d.charAt(h+t.length))?1:0},close:{pos:r-p-n.length,margin:/\s/.test(f.charAt(m-1))?1:0}}:null}function MWe(e){let t=[];for(let n of e.selection.ranges){let i=e.doc.lineAt(n.from),r=n.to<=i.to?i:e.doc.lineAt(n.to);r.from>i.from&&r.from==n.to&&(r=n.to==i.to+1?i:e.doc.lineAt(n.to-1));let s=t.length-1;s>=0&&t[s].to>i.from?t[s].to=r.to:t.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return t}function ple(e,t,n=t.selection.ranges){let i=n.map(s=>i3(t,s.from).block);if(!i.every(s=>s))return null;let r=n.map((s,a)=>jWe(t,i[a],s.from,s.to));if(e!=2&&!r.every(s=>s))return{changes:t.changes(n.map((s,a)=>r[a]?[]:[{from:s.from,insert:i[a].open+" "},{from:s.to,insert:" "+i[a].close}]))};if(e!=1&&r.some(s=>s)){let s=[];for(let a=0,o;ar&&(s==a||a>f.from)){r=f.from;let h=/^\s*/.exec(f.text)[0].length,p=h==f.length,m=f.text.slice(h,h+u.length)==u?h:-1;hs.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:o,token:l,indent:u,empty:d,single:f}of i)(f||!d)&&s.push({from:o.from+u,insert:l+" "});let a=t.changes(s);return{changes:a,selection:t.selection.map(a,1)}}else if(e!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:a,comment:o,token:l}of i)if(o>=0){let u=a.from+o,d=u+l.length;a.text[d-a.from]==" "&&d++,s.push({from:u,to:d})}return{changes:s}}return null}const Zj=Nc.define(),DWe=Nc.define(),$We=ht.define(),mle=ht.define({combine(e){return Cc(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(i,r)=>t(i,r)||n(i,r)})}}),gle=_s.define({create(){return uc.empty},update(e,t){let n=t.state.facet(mle),i=t.annotation(Zj);if(i){let l=Ta.fromTransaction(t,i.selection),u=i.side,d=u==0?e.undone:e.done;return l?d=Rk(d,d.length,n.minDepth,l):d=yle(d,t.startState.selection),new uc(u==0?i.rest:d,u==0?d:i.rest)}let r=t.annotation(DWe);if((r=="full"||r=="before")&&(e=e.isolate()),t.annotation(Dr.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let s=Ta.fromTransaction(t),a=t.annotation(Dr.time),o=t.annotation(Dr.userEvent);return s?e=e.addChanges(s,a,o,n,t):t.selection&&(e=e.addSelection(t.startState.selection,a,o,n.newGroupDelay)),(r=="full"||r=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new uc(e.done.map(Ta.fromJSON),e.undone.map(Ta.fromJSON))}});function QWe(e={}){return[gle,mle.of(e),rt.domEventHandlers({beforeinput(t,n){let i=t.inputType=="historyUndo"?Ole:t.inputType=="historyRedo"?Kj:null;return i?(t.preventDefault(),i(n)):!1}})]}function P_(e,t){return function({state:n,dispatch:i}){if(!t&&n.readOnly)return!1;let r=n.field(gle,!1);if(!r)return!1;let s=r.pop(e,n,t);return s?(i(s),!0):!1}}const Ole=P_(0,!1),Kj=P_(1,!1),BWe=P_(0,!0),UWe=P_(1,!0);class Ta{constructor(t,n,i,r,s){this.changes=t,this.effects=n,this.mapped=i,this.startSelection=r,this.selectionsAfter=s}setSelAfter(t){return new Ta(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,i;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(t){return new Ta(t.changes&&Yr.fromJSON(t.changes),[],t.mapped&&gc.fromJSON(t.mapped),t.startSelection&&Re.fromJSON(t.startSelection),t.selectionsAfter.map(Re.fromJSON))}static fromTransaction(t,n){let i=Do;for(let r of t.startState.facet($We)){let s=r(t);s.length&&(i=i.concat(s))}return!i.length&&t.changes.empty?null:new Ta(t.changes.invert(t.startState.doc),i,void 0,n||t.startState.selection,Do)}static selection(t){return new Ta(void 0,Do,void 0,void 0,t)}}function Rk(e,t,n,i){let r=t+1>n+20?t-n-1:0,s=e.slice(r,t);return s.push(i),s}function zWe(e,t){let n=[],i=!1;return e.iterChangedRanges((r,s)=>n.push(r,s)),t.iterChangedRanges((r,s,a,o)=>{for(let l=0;l=u&&a<=d&&(i=!0)}}),i}function FWe(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,i)=>n.empty!=t.ranges[i].empty).length===0}function ble(e,t){return e.length?t.length?e.concat(t):e:t}const Do=[],VWe=200;function yle(e,t){if(e.length){let n=e[e.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-VWe));return i.length&&i[i.length-1].eq(t)?e:(i.push(t),Rk(e,e.length-1,1e9,n.setSelAfter(i)))}else return[Ta.selection([t])]}function XWe(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function EC(e,t){if(!e.length)return e;let n=e.length,i=Do;for(;n;){let r=qWe(e[n-1],t,i);if(r.changes&&!r.changes.empty||r.effects.length){let s=e.slice(0,n);return s[n-1]=r,s}else t=r.mapped,n--,i=r.selectionsAfter}return i.length?[Ta.selection(i)]:Do}function qWe(e,t,n){let i=ble(e.selectionsAfter.length?e.selectionsAfter.map(o=>o.map(t)):Do,n);if(!e.changes)return Ta.selection(i);let r=e.changes.map(t),s=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(s):s;return new Ta(r,Ht.mapEffects(e.effects,t),a,e.startSelection.map(s),i)}const HWe=/^(input\.type|delete)($|\.)/;class uc{constructor(t,n,i=0,r=void 0){this.done=t,this.undone=n,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new uc(this.done,this.undone):this}addChanges(t,n,i,r,s){let a=this.done,o=a[a.length-1];return o&&o.changes&&!o.changes.empty&&t.changes&&(!i||HWe.test(i))&&(!o.selectionsAfter.length&&n-this.prevTime0&&n-this.prevTimen.empty?e.moveByChar(n,t):j_(n,t))}function zs(e){return e.textDirectionAt(e.state.selection.main.head)==ki.LTR}const Sle=e=>xle(e,!zs(e)),vle=e=>xle(e,zs(e));function wle(e,t){return Il(e,n=>n.empty?e.moveByGroup(n,t):j_(n,t))}const GWe=e=>wle(e,!zs(e)),WWe=e=>wle(e,zs(e));function ZWe(e,t,n){if(t.type.prop(n))return!0;let i=t.to-t.from;return i&&(i>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function M_(e,t,n){let i=yi(e).resolveInner(t.head),r=n?Yt.closedBy:Yt.openedBy;for(let l=t.head;;){let u=n?i.childAfter(l):i.childBefore(l);if(!u)break;ZWe(e,u,r)?i=u:l=n?u.to:u.from}let s=i.type.prop(r),a,o;return s&&(a=n?cc(e,i.from,1):cc(e,i.to,-1))&&a.matched?o=n?a.end.to:a.end.from:o=n?i.to:i.from,Re.cursor(o,n?-1:1)}const KWe=e=>Il(e,t=>M_(e.state,t,!zs(e))),JWe=e=>Il(e,t=>M_(e.state,t,zs(e)));function Ele(e,t){return Il(e,n=>{if(!n.empty)return j_(n,t);let i=e.moveVertically(n,t);return i.head!=n.head?i:e.moveToLineBoundary(n,t)})}const kle=e=>Ele(e,!1),Tle=e=>Ele(e,!0);function _le(e){let t=e.scrollDOM.clientHeighta.empty?e.moveVertically(a,t,n.height):j_(a,t));if(r.eq(i.selection))return!1;let s;if(n.selfScroll){let a=e.coordsAtPos(i.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),l=o.top+n.marginTop,u=o.bottom-n.marginBottom;a&&a.top>l&&a.bottomAle(e,!1),Jj=e=>Ale(e,!0);function jf(e,t,n){let i=e.lineBlockAt(t.head),r=e.moveToLineBoundary(t,n);if(r.head==t.head&&r.head!=(n?i.to:i.from)&&(r=e.moveToLineBoundary(t,n,!1)),!n&&r.head==i.from&&i.length){let s=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&t.head!=i.from+s&&(r=Re.cursor(i.from+s))}return r}const eZe=e=>Il(e,t=>jf(e,t,!0)),tZe=e=>Il(e,t=>jf(e,t,!1)),nZe=e=>Il(e,t=>jf(e,t,!zs(e))),iZe=e=>Il(e,t=>jf(e,t,zs(e))),rZe=e=>Il(e,t=>Re.cursor(e.lineBlockAt(t.head).from,1)),sZe=e=>Il(e,t=>Re.cursor(e.lineBlockAt(t.head).to,-1));function aZe(e,t,n){let i=!1,r=j0(e.selection,s=>{let a=cc(e,s.head,-1)||cc(e,s.head,1)||s.head>0&&cc(e,s.head-1,1)||s.headaZe(e,t);function Ho(e,t,n){let i=j0(e.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=t&&(r=Re.range(r.head,r.anchor));let s=n(r);return Re.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return i.eq(e.state.selection)?!1:(e.dispatch(Rl(e.state,i)),!0)}function Nle(e,t){return Ho(e,t,n=>e.moveByChar(n,t))}const Cle=e=>Nle(e,!zs(e)),Rle=e=>Nle(e,zs(e));function Ile(e,t){return Ho(e,t,n=>e.moveByGroup(n,t))}const lZe=e=>Ile(e,!zs(e)),cZe=e=>Ile(e,zs(e)),uZe=e=>{let t=!zs(e);return Ho(e,t,n=>M_(e.state,n,t))},dZe=e=>{let t=zs(e);return Ho(e,t,n=>M_(e.state,n,t))};function Ple(e,t){return Ho(e,t,n=>e.moveVertically(n,t))}const jle=e=>Ple(e,!1),Mle=e=>Ple(e,!0);function Lle(e,t){return Ho(e,t,n=>e.moveVertically(n,t,_le(e).height))}const VF=e=>Lle(e,!1),XF=e=>Lle(e,!0),fZe=e=>Ho(e,!0,t=>jf(e,t,!0)),hZe=e=>Ho(e,!1,t=>jf(e,t,!1)),pZe=e=>{let t=!zs(e);return Ho(e,t,n=>jf(e,n,t))},mZe=e=>{let t=zs(e);return Ho(e,t,n=>jf(e,n,t))},gZe=e=>Ho(e,!1,t=>Re.cursor(e.lineBlockAt(t.head).from)),OZe=e=>Ho(e,!0,t=>Re.cursor(e.lineBlockAt(t.head).to)),qF=({state:e,dispatch:t})=>(t(Rl(e,{anchor:0})),!0),HF=({state:e,dispatch:t})=>(t(Rl(e,{anchor:e.doc.length})),!0),YF=({state:e,dispatch:t})=>(t(Rl(e,{anchor:e.selection.main.anchor,head:0})),!0),GF=({state:e,dispatch:t})=>(t(Rl(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),bZe=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),yZe=({state:e,dispatch:t})=>{let n=L_(e).map(({from:i,to:r})=>Re.range(i,Math.min(r+1,e.doc.length)));return t(e.update({selection:Re.create(n),userEvent:"select"})),!0},xZe=({state:e,dispatch:t})=>{let n=j0(e.selection,i=>{let r=yi(e),s=r.resolveStack(i.from,1);if(i.empty){let a=r.resolveStack(i.from,-1);a.node.from>=s.node.from&&a.node.to<=s.node.to&&(s=a)}for(let a=s;a;a=a.next){let{node:o}=a;if((o.from=i.to||o.to>i.to&&o.from<=i.from)&&a.next)return Re.range(o.to,o.from)}return i});return n.eq(e.selection)?!1:(t(Rl(e,n)),!0)};function Dle(e,t){let{state:n}=e,i=n.selection,r=n.selection.ranges.slice();for(let s of n.selection.ranges){let a=n.doc.lineAt(s.head);if(t?a.to0)for(let o=s;;){let l=e.moveVertically(o,t);if(l.heada.to){r.some(u=>u.head==l.head)||r.push(l);break}else{if(l.head==o.head)break;o=l}}}return r.length==i.ranges.length?!1:(e.dispatch(Rl(n,Re.create(r,r.length-1))),!0)}const SZe=e=>Dle(e,!1),vZe=e=>Dle(e,!0),wZe=({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=Re.create([n.main]):n.main.empty||(i=Re.create([Re.cursor(n.main.head)])),i?(t(Rl(e,i)),!0):!1};function b1(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:i}=e,r=i.changeByRange(s=>{let{from:a,to:o}=s;if(a==o){let l=t(s);la&&(n="delete.forward",l=pv(e,l,!0)),a=Math.min(a,l),o=Math.max(o,l)}else a=pv(e,a,!1),o=pv(e,o,!0);return a==o?{range:s}:{changes:{from:a,to:o},range:Re.cursor(a,ar(e)))i.between(t,t,(r,s)=>{rt&&(t=n?s:r)});return t}const $le=(e,t,n)=>b1(e,i=>{let r=i.from,{state:s}=e,a=s.doc.lineAt(r),o,l;if(n&&!t&&r>a.from&&r$le(e,!1,!0),Qle=e=>$le(e,!0,!1),Ble=(e,t)=>b1(e,n=>{let i=n.head,{state:r}=e,s=r.doc.lineAt(i),a=r.charCategorizer(i);for(let o=null;;){if(i==(t?s.to:s.from)){i==n.head&&s.number!=(t?r.doc.lines:1)&&(i+=t?1:-1);break}let l=ds(s.text,i-s.from,t)+s.from,u=s.text.slice(Math.min(i,l)-s.from,Math.max(i,l)-s.from),d=a(u);if(o!=null&&d!=o)break;(u!=" "||i!=n.head)&&(o=d),i=l}return i}),Ule=e=>Ble(e,!1),EZe=e=>Ble(e,!0),kZe=e=>b1(e,t=>{let n=e.lineBlockAt(t.head).to;return t.headb1(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),_Ze=e=>b1(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head{if(e.readOnly)return!1;let n=e.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:Wn.of(["",""])},range:Re.cursor(i.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},NZe=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(i=>{if(!i.empty||i.from==0||i.from==e.doc.length)return{range:i};let r=i.from,s=e.doc.lineAt(r),a=r==s.from?r-1:ds(s.text,r-s.from,!1)+s.from,o=r==s.to?r+1:ds(s.text,r-s.from,!0)+s.from;return{changes:{from:a,to:o,insert:e.doc.slice(r,o).append(e.doc.slice(a,r))},range:Re.cursor(o)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function L_(e){let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.from),s=e.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=e.doc.lineAt(i.to-1)),n>=r.number){let a=t[t.length-1];a.to=s.to,a.ranges.push(i)}else t.push({from:r.from,to:s.to,ranges:[i]});n=s.number+1}return t}function zle(e,t,n){if(e.readOnly)return!1;let i=[],r=[];for(let s of L_(e)){if(n?s.to==e.doc.length:s.from==0)continue;let a=e.doc.lineAt(n?s.to+1:s.from-1),o=a.length+1;if(n){i.push({from:s.to,to:a.to},{from:s.from,insert:a.text+e.lineBreak});for(let l of s.ranges)r.push(Re.range(Math.min(e.doc.length,l.anchor+o),Math.min(e.doc.length,l.head+o)))}else{i.push({from:a.from,to:s.from},{from:s.to,insert:e.lineBreak+a.text});for(let l of s.ranges)r.push(Re.range(l.anchor-o,l.head-o))}}return i.length?(t(e.update({changes:i,scrollIntoView:!0,selection:Re.create(r,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const CZe=({state:e,dispatch:t})=>zle(e,t,!1),RZe=({state:e,dispatch:t})=>zle(e,t,!0);function Fle(e,t,n){if(e.readOnly)return!1;let i=[];for(let s of L_(e))n?i.push({from:s.from,insert:e.doc.slice(s.from,s.to)+e.lineBreak}):i.push({from:s.to,insert:e.lineBreak+e.doc.slice(s.from,s.to)});let r=e.changes(i);return t(e.update({changes:r,selection:e.selection.map(r,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const IZe=({state:e,dispatch:t})=>Fle(e,t,!1),PZe=({state:e,dispatch:t})=>Fle(e,t,!0),jZe=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(L_(t).map(({from:r,to:s})=>(r>0?r--:s{let s;if(e.lineWrapping){let a=e.lineBlockAt(r.head),o=e.coordsAtPos(r.head,r.assoc||1);o&&(s=a.bottom+e.documentTop-o.bottom+e.defaultLineHeight/2)}return e.moveVertically(r,!0,s)}).map(n);return e.dispatch({changes:n,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function MZe(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=yi(e).resolveInner(t),i=n.childBefore(t),r=n.childAfter(t),s;return i&&r&&i.to<=t&&r.from>=t&&(s=i.type.prop(Yt.closedBy))&&s.indexOf(r.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}const WF=Vle(!1),LZe=Vle(!0);function Vle(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange(r=>{let{from:s,to:a}=r,o=t.doc.lineAt(s),l=!e&&s==a&&MZe(t,s);e&&(s=a=(a<=o.to?o:t.doc.lineAt(a)).to);let u=new A_(t,{simulateBreak:s,simulateDoubleBreak:!!l}),d=N5(u,s);for(d==null&&(d=wl(/^\s*/.exec(t.doc.lineAt(s).text)[0],t.tabSize));ao.from&&s{let r=[];for(let a=i.from;a<=i.to;){let o=e.doc.lineAt(a);o.number>n&&(i.empty||i.to>o.from)&&(t(o,r,i),n=o.number),a=o.to+1}let s=e.changes(r);return{changes:r,range:Re.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const DZe=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),i=new A_(e,{overrideIndentation:s=>{let a=n[s];return a??-1}}),r=r3(e,(s,a,o)=>{let l=N5(i,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let u=/^\s*/.exec(s.text)[0],d=rx(e,l);(u!=d||o.frome.readOnly?!1:(t(e.update(r3(e,(n,i)=>{i.push({from:n.from,insert:e.facet(I0)})}),{userEvent:"input.indent"})),!0),qle=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(r3(e,(n,i)=>{let r=/^\s*/.exec(n.text)[0];if(!r)return;let s=wl(r,e.tabSize),a=0,o=rx(e,Math.max(0,s-xk(e)));for(;a(e.setTabFocusMode(),!0),QZe=[{key:"Ctrl-b",run:Sle,shift:Cle,preventDefault:!0},{key:"Ctrl-f",run:vle,shift:Rle},{key:"Ctrl-p",run:kle,shift:jle},{key:"Ctrl-n",run:Tle,shift:Mle},{key:"Ctrl-a",run:rZe,shift:gZe},{key:"Ctrl-e",run:sZe,shift:OZe},{key:"Ctrl-d",run:Qle},{key:"Ctrl-h",run:eM},{key:"Ctrl-k",run:kZe},{key:"Ctrl-Alt-h",run:Ule},{key:"Ctrl-o",run:AZe},{key:"Ctrl-t",run:NZe},{key:"Ctrl-v",run:Jj}],BZe=[{key:"ArrowLeft",run:Sle,shift:Cle,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:GWe,shift:lZe,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:nZe,shift:pZe,preventDefault:!0},{key:"ArrowRight",run:vle,shift:Rle,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:WWe,shift:cZe,preventDefault:!0},{mac:"Cmd-ArrowRight",run:iZe,shift:mZe,preventDefault:!0},{key:"ArrowUp",run:kle,shift:jle,preventDefault:!0},{mac:"Cmd-ArrowUp",run:qF,shift:YF},{mac:"Ctrl-ArrowUp",run:FF,shift:VF},{key:"ArrowDown",run:Tle,shift:Mle,preventDefault:!0},{mac:"Cmd-ArrowDown",run:HF,shift:GF},{mac:"Ctrl-ArrowDown",run:Jj,shift:XF},{key:"PageUp",run:FF,shift:VF},{key:"PageDown",run:Jj,shift:XF},{key:"Home",run:tZe,shift:hZe,preventDefault:!0},{key:"Mod-Home",run:qF,shift:YF},{key:"End",run:eZe,shift:fZe,preventDefault:!0},{key:"Mod-End",run:HF,shift:GF},{key:"Enter",run:WF,shift:WF},{key:"Mod-a",run:bZe},{key:"Backspace",run:eM,shift:eM,preventDefault:!0},{key:"Delete",run:Qle,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Ule,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:EZe,preventDefault:!0},{mac:"Mod-Backspace",run:TZe,preventDefault:!0},{mac:"Mod-Delete",run:_Ze,preventDefault:!0}].concat(QZe.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),UZe=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:KWe,shift:uZe},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:JWe,shift:dZe},{key:"Alt-ArrowUp",run:CZe},{key:"Shift-Alt-ArrowUp",run:IZe},{key:"Alt-ArrowDown",run:RZe},{key:"Shift-Alt-ArrowDown",run:PZe},{key:"Mod-Alt-ArrowUp",run:SZe},{key:"Mod-Alt-ArrowDown",run:vZe},{key:"Escape",run:wZe},{key:"Mod-Enter",run:LZe},{key:"Alt-l",mac:"Ctrl-l",run:yZe},{key:"Mod-i",run:xZe,preventDefault:!0},{key:"Mod-[",run:qle},{key:"Mod-]",run:Xle},{key:"Mod-Alt-\\",run:DZe},{key:"Shift-Mod-k",run:jZe},{key:"Shift-Mod-\\",run:oZe},{key:"Mod-/",run:CWe},{key:"Alt-A",run:IWe},{key:"Ctrl-m",mac:"Shift-Alt-m",run:$Ze}].concat(BZe),zZe={key:"Tab",run:Xle,shift:qle},ZF=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class e0{constructor(t,n,i=0,r=t.length,s,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(i,r),this.bufferStart=i,this.normalize=s?o=>s(ZF(o)):ZF,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return xa(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=l5(t),i=this.bufferStart+this.bufferPos;this.bufferPos+=ec(t);let r=this.normalize(n);if(r.length)for(let s=0,a=i,o=!0;;s++){let l=r.charCodeAt(s),u=this.match(l,a,o,this.bufferPos+this.bufferStart,s==r.length-1);if(u)return this.value=u,this;if(s==r.length-1)break;o&&sthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let i=this.curLineStart+n.index,r=i+n[0].length;if(this.matchPos=Ik(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=n){let o=new lg(n,t.sliceString(n,i));return kC.set(t,o),o}if(r.from==n&&r.to==i)return r;let{text:s,from:a}=r;return a>n&&(s=t.sliceString(n,a)+s,a=n),r.to=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let i=this.flat.from+n.index,r=i+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,precise:!0,match:n},this.matchPos=Ik(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=lg.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Yle.prototype[Symbol.iterator]=Gle.prototype[Symbol.iterator]=function(){return this});function FZe(e){try{return new RegExp(e,s3),!0}catch{return!1}}function Ik(e,t){if(t>=e.length)return t;let n=e.lineAt(t),i;for(;t=56320&&i<57344;)t++;return t}const VZe=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:i,result:r}=dVe(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return r.then(s=>{let a=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!a){e.dispatch({effects:i});return}let o=t.doc.lineAt(t.selection.main.head),[,l,u,d,f]=a,h=d?+d.slice(1):0,p=u?+u:o.number;if(u&&f){let y=p/100;l&&(y=y*(l=="-"?-1:1)+o.number/t.doc.lines),p=Math.round(t.doc.lines*y)}else u&&l&&(p=p*(l=="-"?-1:1)+o.number);let m=t.doc.line(Math.max(1,Math.min(t.doc.lines,p))),g=Re.cursor(m.from+Math.max(0,Math.min(h,m.length)));e.dispatch({effects:[i,rt.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},XZe={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},qZe=ht.define({combine(e){return Cc(e,XZe,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function HZe(e){return[KZe,ZZe]}const YZe=_t.mark({class:"cm-selectionMatch"}),GZe=_t.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function KF(e,t,n,i){return(n==0||e(t.sliceDoc(n-1,n))!=Zi.Word)&&(i==t.doc.length||e(t.sliceDoc(i,i+1))!=Zi.Word)}function WZe(e,t,n,i){return e(t.sliceDoc(n,n+1))==Zi.Word&&e(t.sliceDoc(i-1,i))==Zi.Word}const ZZe=pr.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(qZe),{state:n}=e,i=n.selection;if(i.ranges.length>1)return _t.none;let r=i.main,s,a=null;if(r.empty){if(!t.highlightWordAroundCursor)return _t.none;let l=n.wordAt(r.head);if(!l)return _t.none;a=n.charCategorizer(r.head),s=n.sliceDoc(l.from,l.to)}else{let l=r.to-r.from;if(l200)return _t.none;if(t.wholeWords){if(s=n.sliceDoc(r.from,r.to),a=n.charCategorizer(r.head),!(KF(a,n,r.from,r.to)&&WZe(a,n,r.from,r.to)))return _t.none}else if(s=n.sliceDoc(r.from,r.to),!s)return _t.none}let o=[];for(let l of e.visibleRanges){let u=new e0(n.doc,s,l.from,l.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!a||KF(a,n,d,f))&&(r.empty&&d<=r.from&&f>=r.to?o.push(GZe.range(d,f)):(d>=r.to||f<=r.from)&&o.push(YZe.range(d,f)),o.length>t.maxMatches))return _t.none}}return _t.set(o)}},{decorations:e=>e.decorations}),KZe=rt.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),JZe=({state:e,dispatch:t})=>{let{selection:n}=e,i=Re.create(n.ranges.map(r=>e.wordAt(r.head)||Re.cursor(r.head)),n.mainIndex);return i.eq(n)?!1:(t(e.update({selection:i})),!0)};function eKe(e,t){let{main:n,ranges:i}=e.selection,r=e.wordAt(n.head),s=r&&r.from==n.from&&r.to==n.to;for(let a=!1,o=new e0(e.doc,t,i[i.length-1].to);;)if(o.next(),o.done){if(a)return null;o=new e0(e.doc,t,0,Math.max(0,i[i.length-1].from-1)),a=!0}else{if(a&&i.some(l=>l.from==o.value.from))continue;if(s){let l=e.wordAt(o.value.from);if(!l||l.from!=o.value.from||l.to!=o.value.to)continue}return o.value}}const tKe=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(s=>s.from===s.to))return JZe({state:e,dispatch:t});let i=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(s=>e.sliceDoc(s.from,s.to)!=i))return!1;let r=eKe(e,i);return r?(t(e.update({selection:e.selection.addRange(Re.range(r.from,r.to),!1),effects:rt.scrollIntoView(r.to)})),!0):!1},M0=ht.define({combine(e){return Cc(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new mKe(t),scrollToMatch:t=>rt.scrollIntoView(t)})}});class Wle{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||FZe(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,i)=>i=="n"?` -`:i=="r"?"\r":i=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new oKe(this):new rKe(this)}getCursor(t,n=0,i){let r=t.doc?t:Nn.create({doc:t});return i==null&&(i=r.doc.length),this.regexp?am(this,r,n,i):sm(this,r,n,i)}}class Zle{constructor(t){this.spec=t}}function nKe(e,t,n){return(i,r,s,a)=>{if(n&&!n(i,r,s,a))return!1;let o=i>=a&&r<=a+s.length?s.slice(i-a,r-a):t.doc.sliceString(i,r);return e(o,t,i,r)}}function sm(e,t,n,i){let r;return e.wholeWord&&(r=iKe(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(r=nKe(e.test,t,r)),new e0(t.doc,e.unquoted,n,i,e.caseSensitive?void 0:s=>s.toLowerCase(),r)}function iKe(e,t){return(n,i,r,s)=>((s>n||s+r.length=n)return null;r.push(i.value)}return r}highlight(t,n,i,r){let s=sm(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,t.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function sKe(e,t,n){return(i,r,s)=>(!n||n(i,r,s))&&e(s[0],t,i,r)}function am(e,t,n,i){let r;return e.wholeWord&&(r=aKe(t.charCategorizer(t.selection.main.head))),e.test&&(r=sKe(e.test,t,r)),new Yle(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:r},n,i)}function Pk(e,t){return e.slice(ds(e,t,!1),t)}function jk(e,t){return e.slice(t,ds(e,t))}function aKe(e){return(t,n,i)=>!i[0].length||(e(Pk(i.input,i.index))!=Zi.Word||e(jk(i.input,i.index))!=Zi.Word)&&(e(jk(i.input,i.index+i[0].length))!=Zi.Word||e(Pk(i.input,i.index+i[0].length))!=Zi.Word)}class oKe extends Zle{nextMatch(t,n,i){let r=am(this.spec,t,i,t.doc.length).next();return r.done&&(r=am(this.spec,t,0,n).next()),r.done?null:r.value}prevMatchInRange(t,n,i){for(let r=1;;r++){let s=Math.max(n,i-r*1e4),a=am(this.spec,t,s,i),o=null;for(;!a.next().done;)o=a.value;if(o&&(s==n||o.from>s+10))return o;if(s==n)return null}}prevMatch(t,n,i){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,i,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,i)=>{if(i=="&")return t.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s=n)return null;r.push(i.value)}return r}highlight(t,n,i,r){let s=am(this.spec,t,Math.max(0,n-250),Math.min(i+250,t.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const px=Ht.define(),a3=Ht.define(),tf=_s.define({create(e){return new TC(tM(e).create(),null)},update(e,t){for(let n of t.effects)n.is(px)?e=new TC(n.value.create(),e.panel):n.is(a3)&&(e=new TC(e.query,n.value?o3:null));return e},provide:e=>nx.from(e,t=>t.panel)});class TC{constructor(t,n){this.query=t,this.panel=n}}const lKe=_t.mark({class:"cm-searchMatch"}),cKe=_t.mark({class:"cm-searchMatch cm-searchMatch-selected"}),uKe=pr.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(tf))}update(e){let t=e.state.field(tf);(t!=e.startState.field(tf)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return _t.none;let{view:n}=this,i=new Iu;for(let r=0,s=n.visibleRanges,a=s.length;rs[r+1].from-2*250;)l=s[++r].to;e.highlight(n.state,o,l,(u,d)=>{let f=n.state.selection.ranges.some(h=>h.from==u&&h.to==d);i.add(u,d,f?cKe:lKe)})}return i.finish()}},{decorations:e=>e.decorations});function y1(e){return t=>{let n=t.state.field(tf,!1);return n&&n.query.spec.valid?e(t,n):ece(t)}}const Mk=y1((e,{query:t})=>{let{to:n}=e.state.selection.main,i=t.nextMatch(e.state,n,n);if(!i)return!1;let r=Re.single(i.from,i.to),s=e.state.facet(M0);return e.dispatch({selection:r,effects:[l3(e,i),s.scrollToMatch(r.main,e)],userEvent:"select.search"}),Jle(e),!0}),Lk=y1((e,{query:t})=>{let{state:n}=e,{from:i}=n.selection.main,r=t.prevMatch(n,i,i);if(!r)return!1;let s=Re.single(r.from,r.to),a=e.state.facet(M0);return e.dispatch({selection:s,effects:[l3(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),Jle(e),!0}),dKe=y1((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:Re.create(n.map(i=>Re.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),fKe=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:i,to:r}=n.main,s=[],a=0;for(let o=new e0(e.doc,e.sliceDoc(i,r));!o.next().done;){if(s.length>1e3)return!1;o.value.from==i&&(a=s.length),s.push(Re.range(o.value.from,o.value.to))}return t(e.update({selection:Re.create(s,a),userEvent:"select.search.matches"})),!0},JF=y1((e,{query:t})=>{let{state:n}=e,{from:i,to:r}=n.selection.main;if(n.readOnly)return!1;let s=t.nextMatch(n,i,i);if(!s)return!1;let a=s,o=[],l,u,d=[];a.precise?a.from==i&&a.to==r&&(u=n.toText(t.getReplacement(a)),o.push({from:a.from,to:a.to,insert:u}),a=t.nextMatch(n,a.from,a.to),d.push(rt.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(i).number)+"."))):a=t.nextMatch(n,a.from,a.to);let f=e.state.changes(o);return a&&(l=Re.single(a.from,a.to).map(f),d.push(l3(e,a)),d.push(n.facet(M0).scrollToMatch(l.main,e))),e.dispatch({changes:f,selection:l,effects:d,userEvent:"input.replace"}),!0}),hKe=y1((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let r of t.matchAll(e.state,1e9)){let{from:s,to:a,precise:o}=r;o&&n.push({from:s,to:a,insert:t.getReplacement(r)})}if(!n.length)return!1;let i=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:rt.announce.of(i),userEvent:"input.replace.all"}),!0});function o3(e){return e.state.facet(M0).createPanel(e)}function tM(e,t){var n,i,r,s,a;let o=e.selection.main,l=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!l)return t;let u=e.facet(M0);return new Wle({search:((n=t==null?void 0:t.literal)!==null&&n!==void 0?n:u.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(i=t==null?void 0:t.caseSensitive)!==null&&i!==void 0?i:u.caseSensitive,literal:(r=t==null?void 0:t.literal)!==null&&r!==void 0?r:u.literal,regexp:(s=t==null?void 0:t.regexp)!==null&&s!==void 0?s:u.regexp,wholeWord:(a=t==null?void 0:t.wholeWord)!==null&&a!==void 0?a:u.wholeWord})}function Kle(e){let t=T5(e,o3);return t&&t.dom.querySelector("[main-field]")}function Jle(e){let t=Kle(e);t&&t==e.root.activeElement&&t.select()}const ece=e=>{let t=e.state.field(tf,!1);if(t&&t.panel){let n=Kle(e);if(n&&n!=e.root.activeElement){let i=tM(e.state,t.query.spec);i.valid&&e.dispatch({effects:px.of(i)}),n.focus(),n.select()}}else e.dispatch({effects:[a3.of(!0),t?px.of(tM(e.state,t.query.spec)):Ht.appendConfig.of(OKe)]});return!0},tce=e=>{let t=e.state.field(tf,!1);if(!t||!t.panel)return!1;let n=T5(e,o3);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:a3.of(!1)}),!0},pKe=[{key:"Mod-f",run:ece,scope:"editor search-panel"},{key:"F3",run:Mk,shift:Lk,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Mk,shift:Lk,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:tce,scope:"editor search-panel"},{key:"Mod-Shift-l",run:fKe},{key:"Mod-Alt-g",run:VZe},{key:"Mod-d",run:tKe,preventDefault:!0}];class mKe{constructor(t){this.view=t;let n=this.query=t.state.field(tf).query.spec;this.commit=this.commit.bind(this),this.searchField=Oi("input",{value:n.search,placeholder:za(t,"Find"),"aria-label":za(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Oi("input",{value:n.replace,placeholder:za(t,"Replace"),"aria-label":za(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Oi("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=Oi("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=Oi("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function i(r,s,a){return Oi("button",{class:"cm-button",name:r,onclick:s,type:"button"},a)}this.dom=Oi("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>Mk(t),[za(t,"next")]),i("prev",()=>Lk(t),[za(t,"previous")]),i("select",()=>dKe(t),[za(t,"all")]),Oi("label",null,[this.caseField,za(t,"match case")]),Oi("label",null,[this.reField,za(t,"regexp")]),Oi("label",null,[this.wordField,za(t,"by word")]),...t.state.readOnly?[]:[Oi("br"),this.replaceField,i("replace",()=>JF(t),[za(t,"replace")]),i("replaceAll",()=>hKe(t),[za(t,"replace all")])],Oi("button",{name:"close",onclick:()=>tce(t),"aria-label":za(t,"close"),type:"button"},["×"])])}commit(){let t=new Wle({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:px.of(t)}))}keydown(t){xFe(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?Lk:Mk)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),JF(this.view))}update(t){for(let n of t.transactions)for(let i of n.effects)i.is(px)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(M0).top}}function za(e,t){return e.state.phrase(t)}const mv=30,gv=/[\s\.,:;?!]/;function l3(e,{from:t,to:n}){let i=e.state.doc.lineAt(t),r=e.state.doc.lineAt(n).to,s=Math.max(i.from,t-mv),a=Math.min(r,n+mv),o=e.state.sliceDoc(s,a);if(s!=i.from){for(let l=0;lo.length-mv;l--)if(!gv.test(o[l-1])&&gv.test(o[l])){o=o.slice(0,l);break}}return rt.announce.of(`${e.state.phrase("current match")}. ${o} ${e.state.phrase("on line")} ${i.number}.`)}const gKe=rt.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),OKe=[tf,Hu.low(uKe),gKe];class eV{constructor(t,n,i){this.from=t,this.to=n,this.diagnostic=i}}class hh{constructor(t,n,i){this.diagnostics=t,this.panel=n,this.selected=i}static init(t,n,i){let r=i.facet(mx).markerFilter;r&&(t=r(t,i));let s=t.slice().sort((p,m)=>p.from-m.from||p.to-m.to),a=new Iu,o=[],l=0,u=i.doc.iter(),d=0,f=i.doc.length;for(let p=0;;){let m=p==s.length?null:s[p];if(!m&&!o.length)break;let g,y;if(o.length)g=l,y=o.reduce((x,v)=>Math.min(x,v.to),m&&m.from>g?m.from:1e8);else{if(g=m.from,g>f)break;y=m.to,o.push(m),p++}for(;px.from||x.to==g))o.push(x),p++,y=Math.min(x.to,y);else{y=Math.min(x.from,y);break}}y=Math.min(y,f);let b=!1;if(o.some(x=>x.from==g&&(x.to==y||y==f))&&(b=g==y,!b&&y-g<10)){let x=g-(d+u.value.length);x>0&&(u.next(x),d=g);for(let v=g;;){if(v>=y){b=!0;break}if(!u.lineBreak&&d+u.value.length>v)break;v=d+u.value.length,d+=u.value.length,u.next()}}let S=CKe(o);if(b)a.add(g,g,_t.widget({widget:new TKe(S),diagnostics:o.slice()}));else{let x=o.reduce((v,E)=>E.markClass?v+" "+E.markClass:v,"");a.add(g,y,_t.mark({class:"cm-lintRange cm-lintRange-"+S+x,diagnostics:o.slice(),inclusiveEnd:o.some(v=>v.to>y)}))}if(l=y,l==f)break;for(let x=0;x{if(!(t&&a.diagnostics.indexOf(t)<0))if(!i)i=new eV(r,s,t||a.diagnostics[0]);else{if(a.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new eV(i.from,s,i.diagnostic)}}),i}function bKe(e,t){let n=t.pos,i=t.end||n,r=e.state.facet(mx).hideOn(e,n,i);if(r!=null)return r;let s=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(a=>a.is(nce))||e.changes.touchesRange(s.from,Math.max(s.to,i)))}function yKe(e,t){return e.field(no,!1)?t:t.concat(Ht.appendConfig.of(RKe))}const nce=Ht.define(),c3=Ht.define(),ice=Ht.define(),no=_s.define({create(){return new hh(_t.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),i=null,r=e.panel;if(e.selected){let s=t.changes.mapPos(e.selected.from,1);i=vf(n,e.selected.diagnostic,s)||vf(n,null,s)}!n.size&&r&&t.state.facet(mx).autoPanel&&(r=null),e=new hh(n,r,i)}for(let n of t.effects)if(n.is(nce)){let i=t.state.facet(mx).autoPanel?n.value.length?gx.open:null:e.panel;e=hh.init(n.value,i,t.state)}else n.is(c3)?e=new hh(e.diagnostics,n.value?gx.open:null,e.selected):n.is(ice)&&(e=new hh(e.diagnostics,e.panel,n.value));return e},provide:e=>[nx.from(e,t=>t.panel),rt.decorations.from(e,t=>t.diagnostics)]}),xKe=_t.mark({class:"cm-lintRange cm-lintRange-active"});function SKe(e,t,n){let{diagnostics:i}=e.state.field(no),r,s=-1,a=-1;i.between(t-(n<0?1:0),t+(n>0?1:0),(l,u,{spec:d})=>{if(t>=l&&t<=u&&(l==u||(t>l||n>0)&&(tsce(e,n,!1)))}const wKe=e=>{let t=e.state.field(no,!1);(!t||!t.panel)&&e.dispatch({effects:yKe(e.state,[c3.of(!0)])});let n=T5(e,gx.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},tV=e=>{let t=e.state.field(no,!1);return!t||!t.panel?!1:(e.dispatch({effects:c3.of(!1)}),!0)},EKe=e=>{let t=e.state.field(no,!1);if(!t)return!1;let n=e.state.selection.main,i=vf(t.diagnostics,null,n.to+1);return!i&&(i=vf(t.diagnostics,null,0),!i||i.from==n.from&&i.to==n.to)?!1:(e.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),cVe(e,i.from,1,{tooltip:ace,until:r=>r.docChanged||r.newSelection.main.headi.to}),!0)},kKe=[{key:"Mod-Shift-m",run:wKe,preventDefault:!0},{key:"F8",run:EKe}],mx=ht.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Cc(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:nV,tooltipFilter:nV,needsRefresh:(t,n)=>t?n?i=>t(i)||n(i):t:n,hideOn:(t,n)=>t?n?(i,r,s)=>t(i,r,s)||n(i,r,s):t:n,autoPanel:(t,n)=>t||n})}}});function nV(e,t){return e?t?(n,i)=>t(e(n,i),i):e:t}function rce(e){let t=[];if(e)e:for(let{name:n}of e){for(let i=0;is.toLowerCase()==r.toLowerCase())){t.push(r);continue e}}t.push("")}return t}function sce(e,t,n){var i;let r=n?rce(t.actions):[];return Oi("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},Oi("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(i=t.actions)===null||i===void 0?void 0:i.map((s,a)=>{let o=!1,l=p=>{if(p.preventDefault(),o)return;o=!0;let m=vf(e.state.field(no).diagnostics,t);m&&s.apply(e,m.from,m.to)},{name:u}=s,d=r[a]?u.indexOf(r[a]):-1,f=d<0?u:[u.slice(0,d),Oi("u",u.slice(d,d+1)),u.slice(d+1)],h=s.markClass?" "+s.markClass:"";return Oi("button",{type:"button",class:"cm-diagnosticAction"+h,onclick:l,onmousedown:l,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[a]})"`}.`},f)}),t.source&&Oi("div",{class:"cm-diagnosticSource"},t.source))}class TKe extends Cl{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return Oi("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class iV{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=sce(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class gx{constructor(t){this.view=t,this.items=[];let n=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)tV(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],a=rce(s.actions);for(let o=0;o{for(let s=0;stV(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(no).selected;if(!t)return-1;for(let n=0;n{for(let d of u.diagnostics){if(a.has(d))continue;a.add(d);let f=-1,h;for(let p=i;pi&&(this.items.splice(i,f-i),r=!0)),n&&h.diagnostic==n.diagnostic?h.dom.hasAttribute("aria-selected")||(h.dom.setAttribute("aria-selected","true"),s=h):h.dom.hasAttribute("aria-selected")&&h.dom.removeAttribute("aria-selected"),i++}});i({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:l})=>{let u=l.height/this.list.offsetHeight;o.topl.bottom&&(this.list.scrollTop+=(o.bottom-l.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let t=this.list.firstChild;function n(){let i=t;t=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;t!=i.dom;)n();t=i.dom.nextSibling}else this.list.insertBefore(i.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(no),i=vf(n.diagnostics,this.items[t].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:ice.of(i)})}static open(t){return new gx(t)}}function _Ke(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}function Ov(e){return _Ke(``,'width="6" height="3"')}const AKe=rt.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Ov("#f11")},".cm-lintRange-warning":{backgroundImage:Ov("orange")},".cm-lintRange-info":{backgroundImage:Ov("#999")},".cm-lintRange-hint":{backgroundImage:Ov("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function NKe(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function CKe(e){let t="hint",n=1;for(let i of e){let r=NKe(i.severity);r>n&&(n=r,t=i.severity)}return t}const ace=lVe(SKe,{hideOn:bKe}),RKe=[no,rt.decorations.compute([no],e=>{let{selected:t,panel:n}=e.field(no);return!t||!n||t.from==t.to?_t.none:_t.set([xKe.range(t.from,t.to)])}),ace,AKe];var rV=function(t){t===void 0&&(t={});var n=t,i=n.crosshairCursor,r=i===void 0?!1:i,s=[];t.closeBracketsKeymap!==!1&&(s=s.concat(KXe)),t.defaultKeymap!==!1&&(s=s.concat(UZe)),t.searchKeymap!==!1&&(s=s.concat(pKe)),t.historyKeymap!==!1&&(s=s.concat(YWe)),t.foldKeymap!==!1&&(s=s.concat(XVe)),t.completionKeymap!==!1&&(s=s.concat(Fae)),t.lintKeymap!==!1&&(s=s.concat(kKe));var a=[];return t.lineNumbers!==!1&&a.push(vVe()),t.highlightActiveLineGutter!==!1&&a.push(kVe()),t.highlightSpecialChars!==!1&&a.push(DFe()),t.history!==!1&&a.push(QWe()),t.foldGutter!==!1&&a.push(GVe()),t.drawSelection!==!1&&a.push(TFe()),t.dropCursor!==!1&&a.push(RFe()),t.allowMultipleSelections!==!1&&a.push(Nn.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&a.push(DVe()),t.syntaxHighlighting!==!1&&a.push(Nae(JVe,{fallback:!0})),t.bracketMatching!==!1&&a.push(aXe()),t.closeBrackets!==!1&&a.push(YXe()),t.autocompletion!==!1&&a.push(sqe()),t.rectangularSelection!==!1&&a.push(ZFe()),r!==!1&&a.push(eVe()),t.highlightActiveLine!==!1&&a.push(FFe()),t.highlightSelectionMatches!==!1&&a.push(HZe()),t.tabSize&&typeof t.tabSize=="number"&&a.push(I0.of(" ".repeat(t.tabSize))),a.concat([R0.of(s.flat())]).filter(Boolean)};const IKe="#e5c07b",sV="#e06c75",PKe="#56b6c2",jKe="#ffffff",Rw="#abb2bf",nM="#7d8799",MKe="#61afef",LKe="#98c379",aV="#d19a66",DKe="#c678dd",$Ke="#21252b",oV="#2c313a",lV="#282c34",_C="#353a42",QKe="#3E4451",cV="#528bff",BKe=rt.theme({"&":{color:Rw,backgroundColor:lV},".cm-content":{caretColor:cV},".cm-cursor, .cm-dropCursor":{borderLeftColor:cV},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:QKe},".cm-panels":{backgroundColor:$Ke,color:Rw},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:lV,color:nM,border:"none"},".cm-activeLineGutter":{backgroundColor:oV},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:_C},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:_C,borderBottomColor:_C},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:oV,color:Rw}}},{dark:!0}),UKe=g1.define([{tag:H.keyword,color:DKe},{tag:[H.name,H.deleted,H.character,H.propertyName,H.macroName],color:sV},{tag:[H.function(H.variableName),H.labelName],color:MKe},{tag:[H.color,H.constant(H.name),H.standard(H.name)],color:aV},{tag:[H.definition(H.name),H.separator],color:Rw},{tag:[H.typeName,H.className,H.number,H.changed,H.annotation,H.modifier,H.self,H.namespace],color:IKe},{tag:[H.operator,H.operatorKeyword,H.url,H.escape,H.regexp,H.link,H.special(H.string)],color:PKe},{tag:[H.meta,H.comment],color:nM},{tag:H.strong,fontWeight:"bold"},{tag:H.emphasis,fontStyle:"italic"},{tag:H.strikethrough,textDecoration:"line-through"},{tag:H.link,color:nM,textDecoration:"underline"},{tag:H.heading,fontWeight:"bold",color:sV},{tag:[H.atom,H.bool,H.special(H.variableName)],color:aV},{tag:[H.processingInstruction,H.string,H.inserted],color:LKe},{tag:H.invalid,color:jKe}]),zKe=[BKe,Nae(UKe)];var FKe=rt.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),VKe=function(t){t===void 0&&(t={});var n=t,i=n.indentWithTab,r=i===void 0?!0:i,s=n.editable,a=s===void 0?!0:s,o=n.readOnly,l=o===void 0?!1:o,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,h=f===void 0?"":f,p=n.basicSetup,m=p===void 0?!0:p,g=[];switch(r&&g.unshift(R0.of([zZe])),m&&(typeof m=="boolean"?g.unshift(rV()):g.unshift(rV(m))),h&&g.unshift(HFe(h)),d){case"light":g.push(FKe);break;case"dark":g.push(zKe);break;case"none":break;default:g.push(d);break}return a===!1&&g.push(rt.editable.of(!1)),l&&g.push(Nn.readOnly.of(!0)),[...g]},XKe=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class qKe{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(i){console.error("TimeoutLatch callback error:",i)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class uV{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var AC=null,HKe=()=>typeof window>"u"?new uV:(AC||(AC=new uV),AC),YKe=rt.theme({"& .cm-scroller":{height:"100% !important"}}),dV=null,NC=null;function GKe(e,t,n,i,r,s){if(!e&&!t&&!n&&!i&&!r&&!s)return null;var a=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:i,minWidth:r,maxWidth:s});return a===dV||(dV=a,NC=rt.theme({"&":{height:e,minHeight:t,maxHeight:n,width:i,minWidth:r,maxWidth:s}})),NC}var fV=Nc.define(),WKe=200,ZKe=[];function KKe(e){var t=e.value,n=e.selection,i=e.onChange,r=e.onStatistics,s=e.onCreateEditor,a=e.onUpdate,o=e.extensions,l=o===void 0?ZKe:o,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,h=e.height,p=h===void 0?null:h,m=e.minHeight,g=m===void 0?null:m,y=e.maxHeight,b=y===void 0?null:y,S=e.width,x=S===void 0?null:S,v=e.minWidth,E=v===void 0?null:v,w=e.maxWidth,k=w===void 0?null:w,_=e.placeholder,C=_===void 0?"":_,A=e.editable,R=A===void 0?!0:A,j=e.readOnly,Q=j===void 0?!1:j,L=e.indentWithTab,D=L===void 0?!0:L,N=e.basicSetup,M=N===void 0?!0:N,B=e.root,$=e.initialState,I=O.useState(),G=I[0],X=I[1],U=O.useState(),Y=U[0],ae=U[1],fe=O.useState(),ke=fe[0],K=fe[1],ie=O.useState(()=>({current:null}))[0],le=O.useState(()=>({current:null}))[0],ge=GKe(p,g,b,x,E,k),Ee=rt.updateListener.of(he=>{if(he.docChanged&&typeof i=="function"&&!he.transactions.some(me=>me.annotation(fV))){ie.current?ie.current.reset():(ie.current=new qKe(()=>{if(le.current){var me=le.current;le.current=null,me()}ie.current=null},WKe),HKe().add(ie.current));var te=he.state.doc,Te=te.toString();i(Te,he)}r&&r(XKe(he))}),Ce=VKe({theme:f,editable:R,readOnly:Q,placeholder:C,indentWithTab:D,basicSetup:M}),_e=[Ee,...ge?[ge]:[],YKe,...Ce];return a&&typeof a=="function"&&_e.push(rt.updateListener.of(a)),_e=_e.concat(l),O.useLayoutEffect(()=>{if(G&&!ke){var he={doc:t,selection:n,extensions:_e},te=$?Nn.fromJSON($.json,he,$.fields):Nn.create(he);if(K(te),!Y){var Te=new rt({state:te,parent:G,root:B});ae(Te),s&&s(Te,te)}}return()=>{Y&&(K(void 0),ae(void 0))}},[G,ke]),O.useEffect(()=>{e.container&&X(e.container)},[e.container]),O.useEffect(()=>()=>{Y&&(Y.destroy(),ae(void 0)),ie.current&&(ie.current.cancel(),ie.current=null)},[Y]),O.useEffect(()=>{u&&Y&&Y.focus()},[u,Y]),O.useEffect(()=>{Y&&Y.dispatch({effects:Ht.reconfigure.of(_e)})},[f,l,p,g,b,x,E,k,C,R,Q,D,M,i,a]),O.useEffect(()=>{if(t!==void 0){var he=Y?Y.state.doc.toString():"";if(Y&&t!==he){var te=ie.current&&!ie.current.isDone,Te=()=>{Y&&t!==Y.state.doc.toString()&&Y.dispatch({changes:{from:0,to:Y.state.doc.toString().length,insert:t||""},annotations:[fV.of(!0)]})};te?le.current=Te:Te()}}},[t,Y]),{state:ke,setState:K,view:Y,setView:ae,container:G,setContainer:X}}var JKe=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],oce=O.forwardRef((e,t)=>{var n=e.className,i=e.value,r=i===void 0?"":i,s=e.selection,a=e.extensions,o=a===void 0?[]:a,l=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,h=e.autoFocus,p=e.theme,m=p===void 0?"light":p,g=e.height,y=e.minHeight,b=e.maxHeight,S=e.width,x=e.minWidth,v=e.maxWidth,E=e.basicSetup,w=e.placeholder,k=e.indentWithTab,_=e.editable,C=e.readOnly,A=e.root,R=e.initialState,j=NWe(e,JKe),Q=O.useRef(null),L=KKe({root:A,value:r,autoFocus:h,theme:m,height:g,minHeight:y,maxHeight:b,width:S,minWidth:x,maxWidth:v,basicSetup:E,placeholder:w,indentWithTab:k,editable:_,readOnly:C,selection:s,onChange:l,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:o,initialState:R}),D=L.state,N=L.view,M=L.container,B=L.setContainer;O.useImperativeHandle(t,()=>({editor:Q.current,state:D,view:N}),[Q,M,D,N]);var $=O.useCallback(G=>{Q.current=G,B(G)},[B]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var I=typeof m=="string"?"cm-theme-"+m:"cm-theme";return c.jsx("div",Wj({ref:$,className:""+I+(n?" "+n:"")},j))});oce.displayName="CodeMirror";function eJe(e){const t=e.toLowerCase(),n=t.split("/").pop()??t,i=n.includes(".")?n.split(".").pop():"";return i==="py"||i==="pyi"?[KGe()]:["ts","tsx","mts","cts"].includes(i??"")?[Dj({typescript:!0,jsx:i==="tsx"})]:["js","jsx","mjs","cjs"].includes(i??"")?[Dj({jsx:i==="jsx"})]:i==="json"||i==="jsonc"?[bqe()]:i==="yaml"||i==="yml"?[AWe()]:["md","markdown"].includes(i??"")?[IYe()]:[]}function lce({value:e,path:t,onChange:n,readOnly:i=!1}){const r=O.useMemo(()=>eJe(t),[t]);return c.jsx(oce,{value:e,height:"100%",theme:"light",extensions:r,editable:!i,onChange:n,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!0,highlightActiveLineGutter:!0,autocompletion:!1}})}const cce=Object.freeze(Object.defineProperty({__proto__:null,default:lce},Symbol.toStringTag,{value:"Module"}));function tJe(e){var s;const t=e.split(/\r?\n/);if(((s=t[0])==null?void 0:s.trim())!=="---")return{body:e,frontmatter:[]};const n=t.findIndex((a,o)=>o>0&&a.trim()==="---");if(n<0)return{body:e,frontmatter:[]};const i=oUe(t.slice(1,n).join(` +`);i=r<0?n:n.slice(0,r)}return t+i.length>this.to?i.slice(0,this.to-t):i}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(t,n,i=0){this.block=kk.create(t,i,this.lineStart+n,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(t,n,i=0){this.startContext(this.parser.getNodeType(t),n,i)}addNode(t,n,i){typeof t=="number"&&(t=new ni(this.parser.nodeSet.types[t],Zg,Zg,(i??this.prevLineEnd())-n)),this.block.addChild(t,n-this.block.from)}addElement(t){this.block.addChild(t.toTree(this.parser.nodeSet),t.from-this.block.from)}addLeafElement(t,n){this.addNode(this.buffer.writeElements(Uj(n.children,t.marks),-n.from).finish(n.type,n.to-n.from),n.from)}finishContext(){let t=this.stack.pop(),n=this.stack[this.stack.length-1];n.addChild(t.toTree(this.parser.nodeSet),t.from-n.from),this.block=n}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(t){return this.ranges.length>1?foe(this.ranges,0,t.topNode,this.ranges[0].from,this.reusePlaceholders):t}finishLeaf(t){for(let i of t.parsers)if(i.finish(this,t))return;let n=Uj(this.parser.parseInline(t.content,t.start),t.marks);this.addNode(this.buffer.writeElements(n,-t.start).finish(Je.Paragraph,t.content.length),t.start)}elt(t,n,i,r){return typeof t=="string"?Un(this.parser.getNodeType(t),n,i,r):new moe(t,n)}get buffer(){return new poe(this.parser.nodeSet)}}function foe(e,t,n,i,r){let s=e[t].to,a=[],o=[],l=n.from+i;function u(d,f){for(;f?d>=s:d>s;){let h=e[t+1].from-s;i+=h,d+=h,t++,s=e[t].to}}for(let d=n.firstChild;d;d=d.nextSibling){u(d.from+i,!0);let f=d.from+i,h,p=r.get(d.tree);p?h=p:d.to+i>s?(h=foe(e,t,d,i,r),u(d.to+i,!1)):h=d.toTree(),a.push(h),o.push(f-l)}return u(n.to+i,!1),new ni(n.type,a,o,n.to+i-l,n.tree?n.tree.propValues:void 0)}class R_ extends o${constructor(t,n,i,r,s,a,o,l,u){super(),this.nodeSet=t,this.blockParsers=n,this.leafBlockParsers=i,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=a,this.inlineParsers=o,this.inlineNames=l,this.wrappers=u,this.nodeTypes=Object.create(null);for(let d of t.types)this.nodeTypes[d.name]=d.id}createParse(t,n,i){let r=new _qe(this,t,n,i);for(let s of this.wrappers)r=s(r,t,n,i);return r}configure(t){let n=Bj(t);if(!n)return this;let{nodeSet:i,skipContextMarkup:r}=this,s=this.blockParsers.slice(),a=this.leafBlockParsers.slice(),o=this.blockNames.slice(),l=this.inlineParsers.slice(),u=this.inlineNames.slice(),d=this.endLeafBlock.slice(),f=this.wrappers;if(RO(n.defineNodes)){r=Object.assign({},r);let h=i.types.slice(),p;for(let m of n.defineNodes){let{name:g,block:y,composite:b,style:S}=typeof m=="string"?{name:m}:m;if(h.some(E=>E.name==g))continue;b&&(r[h.length]=(E,w,k)=>b(w,k,E.value));let x=h.length,v=b?["Block","BlockContext"]:y?x>=Je.ATXHeading1&&x<=Je.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;h.push(Zr.define({id:x,name:g,props:v&&[[Yt.group,v]]})),S&&(p||(p={}),Array.isArray(S)||S instanceof Kl?p[g]=S:Object.assign(p,S))}i=new u1(h),p&&(i=i.extend(Hu(p)))}if(RO(n.props)&&(i=i.extend(...n.props)),RO(n.remove))for(let h of n.remove){let p=this.blockNames.indexOf(h),m=this.inlineNames.indexOf(h);p>-1&&(s[p]=a[p]=void 0),m>-1&&(l[m]=void 0)}if(RO(n.parseBlock))for(let h of n.parseBlock){let p=o.indexOf(h.name);if(p>-1)s[p]=h.parse,a[p]=h.leaf;else{let m=h.before?fv(o,h.before):h.after?fv(o,h.after)+1:o.length-1;s.splice(m,0,h.parse),a.splice(m,0,h.leaf),o.splice(m,0,h.name)}h.endLeaf&&d.push(h.endLeaf)}if(RO(n.parseInline))for(let h of n.parseInline){let p=u.indexOf(h.name);if(p>-1)l[p]=h.parse;else{let m=h.before?fv(u,h.before):h.after?fv(u,h.after)+1:u.length-1;l.splice(m,0,h.parse),u.splice(m,0,h.name)}}return n.wrap&&(f=f.concat(n.wrap)),new R_(i,s,a,o,d,r,l,u,f)}getNodeType(t){let n=this.nodeTypes[t];if(n==null)throw new RangeError(`Unknown node type '${t}'`);return n}parseInline(t,n){let i=new V$(this,t,n);e:for(let r=n;r=0){r=o;continue e}}r++}return i.resolveMarkers(0)}}function RO(e){return e!=null&&e.length>0}function Bj(e){if(!Array.isArray(e))return e;if(e.length==0)return null;let t=Bj(e[0]);if(e.length==1)return t;let n=Bj(e.slice(1));if(!n||!t)return t||n;let i=(a,o)=>(a||Zg).concat(o||Zg),r=t.wrap,s=n.wrap;return{props:i(t.props,n.props),defineNodes:i(t.defineNodes,n.defineNodes),parseBlock:i(t.parseBlock,n.parseBlock),parseInline:i(t.parseInline,n.parseInline),remove:i(t.remove,n.remove),wrap:r?s?(a,o,l,u)=>r(s(a,o,l,u),o,l,u):r:s}}function fv(e,t){let n=e.indexOf(t);if(n<0)throw new RangeError(`Position specified relative to unknown parser ${t}`);return n}let hoe=[Zr.none];for(let e=1,t;t=Je[e];e++)hoe[e]=Zr.define({id:e,name:t,props:e>=Je.Escape?[]:[[Yt.group,e in noe?["Block","BlockContext"]:["Block","LeafBlock"]]],top:t=="Document"});const Zg=[];class poe{constructor(t){this.nodeSet=t,this.content=[],this.nodes=[]}write(t,n,i,r=0){return this.content.push(t,n,i,4+r*4),this}writeElements(t,n=0){for(let i of t)i.writeTo(this,n);return this}finish(t,n){return ni.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:t,length:n})}}let lx=class{constructor(t,n,i,r=Zg){this.type=t,this.from=n,this.to=i,this.children=r}writeTo(t,n){let i=t.content.length;t.writeElements(this.children,n),t.content.push(this.type,this.from+n,this.to+n,t.content.length+4-i)}toTree(t){return new poe(t).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}};class moe{constructor(t,n){this.tree=t,this.from=n}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Zg}writeTo(t,n){t.nodes.push(this.tree),t.content.push(t.nodes.length-1,this.from+n,this.to+n,-1)}toTree(){return this.tree}}function Un(e,t,n,i){return new lx(e,t,n,i)}const goe={resolve:"Emphasis",mark:"EmphasisMark"},Ooe={resolve:"Emphasis",mark:"EmphasisMark"},dh={},Tk={};class Ya{constructor(t,n,i,r){this.type=t,this.from=n,this.to=i,this.side=r}}const aF="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let cx=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{cx=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}const oC={Escape(e,t,n){if(t!=92||n==e.end-1)return-1;let i=e.char(n+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(i);if(r)return e.append(Un(Je.Autolink,n,n+1+r[0].length,[Un(Je.LinkMark,n,n+1),Un(Je.URL,n+1,n+r[0].length),Un(Je.LinkMark,n+r[0].length,n+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(i);if(s)return e.append(Un(Je.Comment,n,n+1+s[0].length));let a=/^\?[^]*?\?>/.exec(i);if(a)return e.append(Un(Je.ProcessingInstruction,n,n+1+a[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(i);return o?e.append(Un(Je.HTMLTag,n,n+1+o[0].length)):-1},Emphasis(e,t,n){if(t!=95&&t!=42)return-1;let i=n+1;for(;e.char(i)==t;)i++;let r=e.slice(n-1,n),s=e.slice(i,i+1),a=cx.test(r),o=cx.test(s),l=/\s|^$/.test(r),u=/\s|^$/.test(s),d=!u&&(!o||l||a),f=!l&&(!a||u||o),h=d&&(t==42||!f||a),p=f&&(t==42||!d||o);return e.append(new Ya(t==95?goe:Ooe,n,i,(h?1:0)|(p?2:0)))},HardBreak(e,t,n){if(t==92&&e.char(n+1)==10)return e.append(Un(Je.HardBreak,n,n+2));if(t==32){let i=n+1;for(;e.char(i)==32;)i++;if(e.char(i)==10&&i>=n+2)return e.append(Un(Je.HardBreak,n,i+1))}return-1},Link(e,t,n){return t==91?e.append(new Ya(dh,n,n+1,1)):-1},Image(e,t,n){return t==33&&e.char(n+1)==91?e.append(new Ya(Tk,n,n+2,1)):-1},LinkEnd(e,t,n){if(t!=93)return-1;for(let i=e.parts.length-1;i>=0;i--){let r=e.parts[i];if(r instanceof Ya&&(r.type==dh||r.type==Tk)){if(!r.side||e.skipSpace(r.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[i]=null,-1;let s=e.takeContent(i),a=e.parts[i]=Aqe(e,s,r.type==dh?Je.Link:Je.Image,r.from,n+1);if(r.type==dh)for(let o=0;ot?Un(Je.URL,t+n,s+n):s==e.length?null:!1}}function yoe(e,t,n){let i=e.charCodeAt(t);if(i!=39&&i!=34&&i!=40)return!1;let r=i==40?41:i;for(let s=t+1,a=!1;s=this.end?-1:this.text.charCodeAt(t-this.offset)}get end(){return this.offset+this.text.length}slice(t,n){return this.text.slice(t-this.offset,n-this.offset)}append(t){return this.parts.push(t),t.to}addDelimiter(t,n,i,r,s){return this.append(new Ya(t,n,i,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let t=this.parts.length-1;t>=0;t--){let n=this.parts[t];if(n instanceof Ya&&(n.type==dh||n.type==Tk))return!0}return!1}addElement(t){return this.append(t)}resolveMarkers(t){for(let i=t;i=t;l--){let g=this.parts[l];if(g instanceof Ya&&g.side&1&&g.type==r.type&&!(s&&(r.side&1||g.side&2)&&(g.to-g.from+a)%3==0&&((g.to-g.from)%3||a%3))){o=g;break}}if(!o)continue;let u=r.type.resolve,d=[],f=o.from,h=r.to;if(s){let g=Math.min(2,o.to-o.from,a);f=o.to-g,h=r.from+g,u=g==1?"Emphasis":"StrongEmphasis"}o.type.mark&&d.push(this.elt(o.type.mark,f,o.to));for(let g=l+1;g=0;n--){let i=this.parts[n];if(i instanceof Ya&&i.type==t&&i.side&1)return n}return null}takeContent(t){let n=this.resolveMarkers(t);return this.parts.length=t,n}getDelimiterAt(t){let n=this.parts[t];return n instanceof Ya?n:null}skipSpace(t){return Wb(this.text,t-this.offset)+this.offset}elt(t,n,i,r){return typeof t=="string"?Un(this.parser.getNodeType(t),n,i,r):new moe(t,n)}}V$.linkStart=dh;V$.imageStart=Tk;function Uj(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),i=0;for(let r of t){for(;i(t?t-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let r=t+this.fragment.offset;for(;i.to<=r;)if(!i.parent())return!1;for(;;){if(i.from>=r)return this.fragment.from<=n;if(!i.childAfter(r))return!1}}matches(t){let n=this.cursor.tree;return n&&n.prop(Yt.contextHash)==t}takeNodes(t){let n=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=t.absoluteLineStart,a=s,o=t.block.children.length,l=a,u=o;for(;;){if(n.to-i>r){if(n.type.isAnonymous&&n.firstChild())continue;break}let d=Soe(n.from-i,t.ranges);if(n.to-i<=t.ranges[t.rangeI].to)t.addNode(n.tree,d);else{let f=new ni(t.parser.nodeSet.types[Je.Paragraph],[],[],0,t.block.hashProp);t.reusePlaceholders.set(f,n.tree),t.addNode(f,d)}if(n.type.is("Block")&&(Nqe.indexOf(n.type.id)<0?(a=n.to-i,o=t.block.children.length):(a=l,o=u),l=n.to-i,u=t.block.children.length),!n.nextSibling())break}for(;t.block.children.length>o;)t.block.children.pop(),t.block.positions.pop();return a-s}}function Soe(e,t){let n=e;for(let i=1;idv[e]),Object.keys(dv).map(e=>doe[e]),Object.keys(dv),kqe,noe,Object.keys(oC).map(e=>oC[e]),Object.keys(oC),[]);function Pqe(e,t,n){let i=[];for(let r=e.firstChild,s=t;;r=r.nextSibling){let a=r?r.from:n;if(a>s&&i.push({from:s,to:a}),!r)break;s=r.to}return i}function jqe(e){let{codeParser:t,htmlParser:n}=e;return{wrap:Fre((r,s)=>{let a=r.type.id;if(t&&(a==Je.CodeBlock||a==Je.FencedCode)){let o="";if(a==Je.FencedCode){let u=r.node.getChild(Je.CodeInfo);u&&(o=s.read(u.from,u.to))}let l=t(o);if(l)return{parser:l,overlay:u=>u.type.id==Je.CodeText,bracketed:a==Je.FencedCode}}else if(n&&(a==Je.HTMLBlock||a==Je.HTMLTag||a==Je.CommentBlock))return{parser:n,overlay:Pqe(r.node,r.from,r.to)};return null})}}const Mqe={resolve:"Strikethrough",mark:"StrikethroughMark"},Lqe={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":H.strikethrough}},{name:"StrikethroughMark",style:H.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,n){if(t!=126||e.char(n+1)!=126||e.char(n+2)==126)return-1;let i=e.slice(n-1,n),r=e.slice(n+2,n+3),s=/\s|^$/.test(i),a=/\s|^$/.test(r),o=cx.test(i),l=cx.test(r);return e.addDelimiter(Mqe,n,n+2,!a&&(!l||s||o),!s&&(!o||a||l))},after:"Emphasis"}]};function Zb(e,t,n=0,i,r=0){let s=0,a=!0,o=-1,l=-1,u=!1,d=()=>{i.push(e.elt("TableCell",r+o,r+l,e.parser.parseInline(t.slice(o,l),r+o)))};for(let f=n;f-1)&&s++,a=!1,i&&(o>-1&&d(),i.push(e.elt("TableDelimiter",f+r,f+r+1))),o=l=-1):(u||h!=32&&h!=9)&&(o<0&&(o=f),l=f+1),u=!u&&h==92}return o>-1&&(s++,i&&d()),s}function oF(e,t){for(let n=t;n\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class lF{constructor(){this.rows=null}nextLine(t,n,i){if(this.rows==null){this.rows=!1;let r;if((n.next==45||n.next==58||n.next==124)&&voe.test(r=n.text.slice(n.pos))){let s=[];Zb(t,i.content,0,s,i.start)==Zb(t,r,0)&&(this.rows=[t.elt("TableHeader",i.start,i.start+i.content.length,s),t.elt("TableDelimiter",t.lineStart+n.pos,t.lineStart+n.text.length)])}}else if(this.rows){let r=[];Zb(t,n.text,n.pos,r,t.lineStart),this.rows.push(t.elt("TableRow",t.lineStart+n.pos,t.lineStart+n.text.length,r))}return!1}finish(t,n){return this.rows?(t.addLeafElement(n,t.elt("Table",n.start,n.start+n.content.length,this.rows)),!0):!1}}const Dqe={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":H.heading}},"TableRow",{name:"TableCell",style:H.content},{name:"TableDelimiter",style:H.processingInstruction}],parseBlock:[{name:"Table",leaf(e,t){return oF(t.content,0)?new lF:null},endLeaf(e,t,n){if(n.parsers.some(r=>r instanceof lF)||!oF(t.text,t.basePos))return!1;let i=e.peekLine();return voe.test(i)&&Zb(e,t.text,t.basePos)==Zb(e,i,t.basePos)},before:"SetextHeading"}]};class $qe{nextLine(){return!1}finish(t,n){return t.addLeafElement(n,t.elt("Task",n.start,n.start+n.content.length,[t.elt("TaskMarker",n.start,n.start+3),...t.parser.parseInline(n.content.slice(3),n.start+3)])),!0}}const Qqe={defineNodes:[{name:"Task",block:!0,style:H.list},{name:"TaskMarker",style:H.atom}],parseBlock:[{name:"TaskList",leaf(e,t){return/^\[[ xX]\][ \t]/.test(t.content)&&e.parentType().name=="ListItem"?new $qe:null},after:"SetextHeading"}]},cF=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,uF=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,Bqe=/[\w-]+\.[\w-]+($|[/:])/,dF=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,fF=/\/[a-zA-Z\d@.]+/gy;function hF(e,t,n,i){let r=0;for(let s=t;s-1)return-1;let i=t+n[0].length;for(;;){let r=e[i-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&hF(e,t,i,")")>hF(e,t,i,"("))i--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,i))))i=t+s.index;else break}return i}function pF(e,t){dF.lastIndex=t;let n=dF.exec(e);if(!n)return-1;let i=n[0][n[0].length-1];return i=="_"||i=="-"?-1:t+n[0].length-(i=="."?1:0)}const zqe={parseInline:[{name:"Autolink",parse(e,t,n){let i=n-e.offset;if(i&&/\w/.test(e.text[i-1]))return-1;cF.lastIndex=i;let r=cF.exec(e.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=Uqe(e.text,i+r[0].length),s>-1&&e.hasOpenLink){let a=/([^\[\]]|\[[^\]]*\])*/.exec(e.text.slice(i,s));s=i+a[0].length}}else r[3]?s=pF(e.text,i):(s=pF(e.text,i+r[0].length),s>-1&&r[0]=="xmpp:"&&(fF.lastIndex=s,r=fF.exec(e.text),r&&(s=r.index+r[0].length)));return s<0?-1:(e.addElement(e.elt("URL",n,s+e.offset)),s+e.offset)}}]},Fqe=[Dqe,Qqe,Lqe,zqe];function woe(e,t,n){return(i,r,s)=>{if(r!=e||i.char(s+1)==e)return-1;let a=[i.elt(n,s,s+1)];for(let o=s+1;o=65&&e<=90||e==95||e>=97&&e<=122||e>=161}let bF=null,yF=null,xF=0;function Fj(e,t){let n=e.pos+t;if(xF==n&&yF==e)return bF;let i=e.peek(t),r="";for(;gHe(i);)r+=String.fromCharCode(i),i=e.peek(++t);return yF=e,xF=n,bF=r?r.toLowerCase():i==OHe||i==bHe?void 0:null}const Roe=60,_k=62,q$=47,OHe=63,bHe=33,yHe=45;function SF(e,t){this.name=e,this.parent=t}const xHe=[X$,_oe,Eoe,koe,Toe],SHe=new x_({start:null,shift(e,t,n,i){return xHe.indexOf(t)>-1?new SF(Fj(i,1)||"",e):e},reduce(e,t){return t==Aoe&&e?e.parent:e},reuse(e,t,n,i){let r=t.type.id;return r==X$||r==uHe?new SF(Fj(i,1)||"",e):e},strict:!1}),vHe=new Ar((e,t)=>{if(e.next!=Roe){e.next<0&&t.context&&e.acceptToken(lC);return}e.advance();let n=e.next==q$;n&&e.advance();let i=Fj(e,0);if(i===void 0)return;if(!i)return e.acceptToken(n?rHe:iHe);let r=t.context?t.context.name:null;if(n){if(i==r)return e.acceptToken(eHe);if(r&&mHe[r])return e.acceptToken(lC,-2);if(t.dialectEnabled(fHe))return e.acceptToken(tHe);for(let s=t.context;s;s=s.parent)if(s.name==i)return;e.acceptToken(nHe)}else{if(i=="script")return e.acceptToken(Eoe);if(i=="style")return e.acceptToken(koe);if(i=="textarea")return e.acceptToken(Toe);if(pHe.hasOwnProperty(i))return e.acceptToken(_oe);r&&OF[r]&&OF[r][i]?e.acceptToken(lC,-1):e.acceptToken(X$)}},{contextual:!0}),wHe=new Ar(e=>{for(let t=0,n=0;;n++){if(e.next<0){n&&e.acceptToken(gF);break}if(e.next==yHe)t++;else if(e.next==_k&&t>=2){n>=3&&e.acceptToken(gF,-2);break}else t=0;e.advance()}});function EHe(e){for(;e;e=e.parent)if(e.name=="svg"||e.name=="math")return!0;return!1}const kHe=new Ar((e,t)=>{if(e.next==q$&&e.peek(1)==_k){let n=t.dialectEnabled(hHe)||EHe(t.context);e.acceptToken(n?Jqe:mF,2)}else e.next==_k&&e.acceptToken(mF,1)});function H$(e,t,n){let i=2+e.length;return new Ar(r=>{for(let s=0,a=0,o=0;;o++){if(r.next<0){o&&r.acceptToken(t);break}if(s==0&&r.next==Roe||s==1&&r.next==q$||s>=2&&sa?r.acceptToken(t,-a):r.acceptToken(n,-(a-2));break}else if((r.next==10||r.next==13)&&o){r.acceptToken(t,1);break}else s=a=0;r.advance()}})}const THe=H$("script",Hqe,Yqe),_He=H$("style",Gqe,Wqe),AHe=H$("textarea",Zqe,Kqe),NHe=Hu({"Text RawText IncompleteTag IncompleteCloseTag":H.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":H.angleBracket,TagName:H.tagName,"MismatchedCloseTag/TagName":[H.tagName,H.invalid],AttributeName:H.attributeName,"AttributeValue UnquotedAttributeValue":H.attributeValue,Is:H.definitionOperator,"EntityReference CharacterReference":H.character,Comment:H.blockComment,ProcessingInst:H.processingInstruction,DoctypeDecl:H.documentMeta}),CHe=Iu.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:SHe,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[NHe],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let u=o.type.id;if(u==oHe)return cC(o,l,n);if(u==lHe)return cC(o,l,i);if(u==cHe)return cC(o,l,r);if(u==Aoe&&s.length){let d=o.node,f=d.firstChild,h=f&&vF(f,l),p;if(h){for(let m of s)if(m.tag==h&&(!m.attrs||m.attrs(p||(p=Ioe(f,l))))){let g=d.lastChild,y=g.type.id==dHe?g.from:d.to;if(y>f.to)return{parser:m.parser,overlay:[{from:f.to,to:y}]}}}}if(a&&u==Noe){let d=o.node,f;if(f=d.firstChild){let h=a[l.read(f.from,f.to)];if(h)for(let p of h){if(p.tagName&&p.tagName!=vF(d.parent,l))continue;let m=d.lastChild;if(m.type.id==zj){let g=m.from+1,y=m.lastChild,b=m.to-(y&&y.isError?0:1);if(b>g)return{parser:p.parser,overlay:[{from:g,to:b}],bracketed:!0}}else if(m.type.id==Coe)return{parser:p.parser,overlay:[{from:m.from,to:m.to}]}}}}return null})}const RHe=145,wF=1,IHe=146,PHe=147,joe=2,jHe=148,MHe=3,LHe=4,Moe=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],DHe=58,$He=40,Loe=95,QHe=91,_w=45,BHe=46,UHe=35,zHe=37,FHe=38,VHe=92,XHe=10,qHe=42;function ux(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function Y$(e){return e>=48&&e<=57}function EF(e){return Y$(e)||e>=97&&e<=102||e>=65&&e<=70}const Doe=(e,t,n)=>(i,r)=>{for(let s=!1,a=0,o=0;;o++){let{next:l}=i;if(ux(l)||l==_w||l==Loe||s&&Y$(l))!s&&(l!=_w||o>0)&&(s=!0),a===o&&l==_w&&a++,i.advance();else if(l==VHe&&i.peek(1)!=XHe){if(i.advance(),EF(i.next)){do i.advance();while(EF(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();s=!0}else{s&&i.acceptToken(a==2&&r.canShift(joe)?t:l==$He?n:e);break}}},HHe=new Ar(Doe(IHe,joe,PHe),{contextual:!0}),YHe=new Ar(Doe(jHe,MHe,LHe),{contextual:!0}),GHe=new Ar(e=>{if(Moe.includes(e.peek(-1))){let{next:t}=e;(ux(t)||t==Loe||t==UHe||t==BHe||t==qHe||t==QHe||t==DHe&&ux(e.peek(1))||t==_w||t==FHe)&&e.acceptToken(RHe)}}),WHe=new Ar(e=>{if(!Moe.includes(e.peek(-1))){let{next:t}=e;if(t==zHe&&(e.advance(),e.acceptToken(wF)),ux(t)){do e.advance();while(ux(e.next)||Y$(e.next));e.acceptToken(wF)}}}),ZHe=Hu({"AtKeyword import charset namespace keyframes media supports font-feature-values":H.definitionKeyword,"from to selector scope MatchFlag":H.keyword,NamespaceName:H.namespace,KeyframeName:H.labelName,KeyframeRangeName:H.operatorKeyword,TagName:H.tagName,ClassName:H.className,PseudoClassName:H.constant(H.className),IdName:H.labelName,"FeatureName PropertyName":H.propertyName,AttributeName:H.attributeName,NumberLiteral:H.number,KeywordQuery:H.keyword,UnaryQueryOp:H.operatorKeyword,"CallTag ValueName FontName":H.atom,VariableName:H.variableName,Callee:H.operatorKeyword,Unit:H.unit,"UniversalSelector NestingSelector":H.definitionOperator,"MatchOp CompareOp":H.compareOperator,"ChildOp SiblingOp, LogicOp":H.logicOperator,BinOp:H.arithmeticOperator,Important:H.modifier,Comment:H.blockComment,ColorLiteral:H.color,"ParenthesizedContent StringLiteral":H.string,":":H.punctuation,"PseudoOp #":H.derefOperator,"; , |":H.separator,"( )":H.paren,"[ ]":H.squareBracket,"{ }":H.brace}),KHe={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},JHe={__proto__:null,or:104,and:104,not:112,only:112,layer:206},eYe={__proto__:null,selector:118,style:124,layer:202},tYe={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},nYe={__proto__:null,to:243},iYe=Iu.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[GHe,WHe,HHe,YHe,1,2,3,4,new ak("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:e=>KHe[e]||-1},{term:148,get:e=>JHe[e]||-1},{term:4,get:e=>eYe[e]||-1},{term:28,get:e=>tYe[e]||-1},{term:146,get:e=>nYe[e]||-1}],tokenPrec:2405});let uC=null;function dC(){if(!uC&&typeof document=="object"&&document.body){let{style:e}=document.body,t=[],n=new Set;for(let i in e)i!="cssText"&&i!="cssFloat"&&typeof e[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),n.has(i)||(t.push(i),n.add(i)));uC=t.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return uC||[]}const kF=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),TF=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),rYe=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),sYe=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(e=>({type:"keyword",label:e})),qc=/^(\w[\w-]*|-\w[\w-]*|)$/,aYe=/^-(-[\w-]*)?$/;function oYe(e,t){var n;if((e.name=="("||e.type.isError)&&(e=e.parent||e),e.name!="ArgList")return!1;let i=(n=e.parent)===null||n===void 0?void 0:n.firstChild;return(i==null?void 0:i.name)!="Callee"?!1:t.sliceString(i.from,i.to)=="var"}const _F=new a$,lYe=["Declaration"];function cYe(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function $oe(e,t,n){if(t.to-t.from>4096){let i=_F.get(t);if(i)return i;let r=[],s=new Set,a=t.cursor(ei.IncludeAnonymous);if(a.firstChild())do for(let o of $oe(e,a.node,n))s.has(o.label)||(s.add(o.label),r.push(o));while(a.nextSibling());return _F.set(t,r),r}else{let i=[],r=new Set;return t.cursor().iterate(s=>{var a;if(n(s)&&s.matchContext(lYe)&&((a=s.node.nextSibling)===null||a===void 0?void 0:a.name)==":"){let o=e.sliceString(s.from,s.to);r.has(o)||(r.add(o),i.push({label:o,type:"variable"}))}}),i}}const uYe=e=>t=>{let{state:n,pos:i}=t,r=yi(n).resolveInner(i,-1),s=r.type.isError&&r.from==r.to-1&&n.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:dC(),validFor:qc};if(r.name=="ValueName")return{from:r.from,options:TF,validFor:qc};if(r.name=="PseudoClassName")return{from:r.from,options:kF,validFor:qc};if(e(r)||(t.explicit||s)&&oYe(r,n.doc))return{from:e(r)||s?r.from:i,options:$oe(n.doc,cYe(r),e),validFor:aYe};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:dC(),validFor:qc};return{from:r.from,options:rYe,validFor:qc}}if(r.name=="AtKeyword")return{from:r.from,options:sYe,validFor:qc};if(!t.explicit)return null;let a=r.resolve(i),o=a.childBefore(i);return o&&o.name==":"&&a.name=="PseudoClassSelector"?{from:i,options:kF,validFor:qc}:o&&o.name==":"&&a.name=="Declaration"||a.name=="ArgList"?{from:i,options:TF,validFor:qc}:a.name=="Block"||a.name=="Styles"?{from:i,options:dC(),validFor:qc}:null},dYe=uYe(e=>e.name=="VariableName"),Ak=Lu.define({name:"css",parser:iYe.configure({props:[Pf.add({Declaration:og()}),Gu.add({"Block KeyframeList":p1})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function fYe(){return new Sf(Ak,Ak.data.of({autocomplete:dYe}))}const IO=["_blank","_self","_top","_parent"],fC=["ascii","utf-8","utf-16","latin1","latin1"],hC=["get","post","put","delete"],pC=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Ua=["true","false"],Et={},hYe={a:{attrs:{href:null,ping:null,type:null,media:null,target:IO,hreflang:null}},abbr:Et,address:Et,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Et,aside:Et,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Et,base:{attrs:{href:null,target:IO}},bdi:Et,bdo:Et,blockquote:{attrs:{cite:null}},body:Et,br:Et,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:pC,formmethod:hC,formnovalidate:["novalidate"],formtarget:IO,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Et,center:Et,cite:Et,code:Et,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Et,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Et,div:Et,dl:Et,dt:Et,em:Et,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Et,figure:Et,footer:Et,form:{attrs:{action:null,name:null,"accept-charset":fC,autocomplete:["on","off"],enctype:pC,method:hC,novalidate:["novalidate"],target:IO}},h1:Et,h2:Et,h3:Et,h4:Et,h5:Et,h6:Et,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Et,hgroup:Et,hr:Et,html:{attrs:{manifest:null}},i:Et,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:pC,formmethod:hC,formnovalidate:["novalidate"],formtarget:IO,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Et,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Et,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Et,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:fC,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Et,noscript:Et,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Et,param:{attrs:{name:null,value:null}},pre:Et,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Et,rt:Et,ruby:Et,samp:Et,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:fC}},section:Et,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Et,source:{attrs:{src:null,type:null,media:null}},span:Et,strong:Et,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Et,summary:Et,sup:Et,table:Et,tbody:Et,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Et,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Et,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Et,time:{attrs:{datetime:null}},title:Et,tr:Et,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Et,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Et},Qoe={accesskey:null,class:null,contenteditable:Ua,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Ua,autocorrect:Ua,autocapitalize:Ua,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Ua,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Ua,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Ua,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Ua,"aria-hidden":Ua,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Ua,"aria-multiselectable":Ua,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Ua,"aria-relevant":null,"aria-required":Ua,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Boe="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of Boe)Qoe[e]=null;class dx{constructor(t,n){this.tags={...hYe,...t},this.globalAttrs={...Qoe,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}dx.default=new dx;function Kg(e,t,n=e.length){if(!t)return"";let i=t.firstChild,r=i&&i.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,n)):""}function Jg(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function Uoe(e,t,n){let i=n.tags[Kg(e,Jg(t))];return(i==null?void 0:i.children)||n.allTags}function G$(e,t){let n=[];for(let i=Jg(t);i&&!i.type.isTop;i=Jg(i.parent)){let r=Kg(e,i);if(r&&i.lastChild.name=="CloseTag")break;r&&n.indexOf(r)<0&&(t.name=="EndTag"||t.from>=i.firstChild.to)&&n.push(r)}return n}const zoe=/^[:\-\.\w\u00b7-\uffff]*$/;function AF(e,t,n,i,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">",a=Jg(n,n.name=="StartTag"||n.name=="TagName");return{from:i,to:r,options:Uoe(e.doc,a,t).map(o=>({label:o,type:"type"})).concat(G$(e.doc,n).map((o,l)=>({label:"/"+o,apply:"/"+o+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function NF(e,t,n,i){let r=/\s*>/.test(e.sliceDoc(i,i+5))?"":">";return{from:n,to:i,options:G$(e.doc,t).map((s,a)=>({label:s,apply:s+r,type:"type",boost:99-a})),validFor:zoe}}function pYe(e,t,n,i){let r=[],s=0;for(let a of Uoe(e.doc,n,t))r.push({label:"<"+a,type:"type"});for(let a of G$(e.doc,n))r.push({label:"",type:"type",boost:99-s++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function mYe(e,t,n,i,r){let s=Jg(n),a=s?t.tags[Kg(e.doc,s)]:null,o=a&&a.attrs?Object.keys(a.attrs):[],l=a&&a.globalAttrs===!1?o:o.length?o.concat(t.globalAttrNames):t.globalAttrNames;return{from:i,to:r,options:l.map(u=>({label:u,type:"property"})),validFor:zoe}}function gYe(e,t,n,i,r){var s;let a=(s=n.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),o=[],l;if(a){let u=e.sliceDoc(a.from,a.to),d=t.globalAttrs[u];if(!d){let f=Jg(n),h=f?t.tags[Kg(e.doc,f)]:null;d=(h==null?void 0:h.attrs)&&h.attrs[u]}if(d){let f=e.sliceDoc(i,r).toLowerCase(),h='"',p='"';/^['"]/.test(f)?(l=f[0]=='"'?/^[^"]*$/:/^[^']*$/,h="",p=e.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),i++):l=/^[^\s<>='"]*$/;for(let m of d)o.push({label:m,apply:h+m+p,type:"constant"})}}return{from:i,to:r,options:o,validFor:l}}function Foe(e,t){let{state:n,pos:i}=t,r=yi(n).resolveInner(i,-1),s=r.resolve(i);for(let a=i,o;s==r&&(o=r.childBefore(a));){let l=o.lastChild;if(!l||!l.type.isError||l.fromFoe(i,r)}const yYe=Oc.parser.configure({top:"SingleExpression"}),Voe=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:Zae.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:Kae.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:Jae.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:yYe},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:Oc.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:Ak.parser}],Xoe=[{name:"style",parser:Ak.parser.configure({top:"Styles"})}].concat(Boe.map(e=>({name:e,parser:Oc.parser}))),qoe=Lu.define({name:"html",parser:CHe.configure({props:[Pf.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),Aw=qoe.configure({wrap:Poe(Voe,Xoe)});function xYe(e={}){let t="",n;e.matchClosingTags===!1&&(t="noMatch"),e.selfClosingTags===!0&&(t=(t?t+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(n=Poe((e.nestedLanguages||[]).concat(Voe),(e.nestedAttributes||[]).concat(Xoe)));let i=n?qoe.configure({wrap:n,dialect:t}):t?Aw.configure({dialect:t}):Aw;return new Sf(i,[Aw.data.of({autocomplete:bYe(e)}),e.autoCloseTags!==!1?SYe:[],Dj().support,fYe().support])}const CF=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),SYe=rt.inputHandler.of((e,t,n,i,r)=>{if(e.composing||e.state.readOnly||t!=n||i!=">"&&i!="/"||!Aw.isActiveAt(e.state,t,-1))return!1;let s=r(),{state:a}=s,o=a.changeByRange(l=>{var u,d,f;let h=a.doc.sliceString(l.from-1,l.to)==i,{head:p}=l,m=yi(a).resolveInner(p,-1),g;if(h&&i==">"&&m.name=="EndTag"){let y=m.parent;if(((d=(u=y.parent)===null||u===void 0?void 0:u.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(g=Kg(a.doc,y.parent,p))&&!CF.has(g)){let b=p+(a.doc.sliceString(p,p+1)===">"?1:0),S=``;return{range:l,changes:{from:p,to:b,insert:S}}}}else if(h&&i=="/"&&m.name=="IncompleteCloseTag"){let y=m.parent;if(m.from==p-2&&((f=y.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(g=Kg(a.doc,y,p))&&!CF.has(g)){let b=p+(a.doc.sliceString(p,p+1)===">"?1:0),S=`${g}>`;return{range:Re.cursor(p+S.length,-1),changes:{from:p,to:b,insert:S}}}}return{range:l}});return o.changes.empty?!1:(e.dispatch([s,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Hoe=_$({commentTokens:{block:{open:""}}}),Yoe=new Yt,Goe=Iqe.configure({props:[Gu.add(e=>!e.is("Block")||e.is("Document")||Vj(e)!=null||vYe(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),Yoe.add(Vj),Pf.add({Document:()=>null}),vh.add({Document:Hoe})]});function Vj(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function vYe(e){return e.name=="OrderedList"||e.name=="BulletList"}function wYe(e,t){let n=e;for(;;){let i=n.nextSibling,r;if(!i||(r=Vj(i.type))!=null&&r<=t)break;n=i}return n.to}const EYe=vae.of((e,t,n)=>{for(let i=yi(e).resolveInner(n,-1);i&&!(i.fromn)return{from:n,to:s}}return null});function W$(e){return new Mo(Hoe,e,[],"markdown")}const kYe=W$(Goe),TYe=Goe.configure([Fqe,Xqe,Vqe,qqe,{props:[Gu.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),Nk=W$(TYe);function _Ye(e,t){return n=>{if(n&&e){let i=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?i=e(n):i=yk.matchLanguageName(e,n,!0),i instanceof yk)return i.support?i.support.language.parser:ix.getSkippingParser(i.load());if(i)return i.parser}return t?t.parser:null}}let mC=class{constructor(t,n,i,r,s,a,o){this.node=t,this.from=n,this.to=i,this.spaceBefore=r,this.spaceAfter=s,this.type=a,this.item=o}blank(t,n=!0){let i=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(t!=null){for(;i.length0;r--)i+=" ";return i+(n?this.spaceAfter:"")}}marker(t,n){let i=this.node.name=="OrderedList"?String(+Zoe(this.item,t)[2]+n):"";return this.spaceBefore+i+this.type+this.spaceAfter}};function Woe(e,t){let n=[],i=[];for(let r=e;r;r=r.parent){if(r.name=="FencedCode")return i;(r.name=="ListItem"||r.name=="Blockquote")&&n.push(r)}for(let r=n.length-1;r>=0;r--){let s=n[r],a,o=t.lineAt(s.from),l=s.from-o.from;if(s.name=="Blockquote"&&(a=/^ *>( ?)/.exec(o.text.slice(l))))i.push(new mC(s,l,l+a[0].length,"",a[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(a=/^( *)\d+([.)])( *)/.exec(o.text.slice(l)))){let u=a[3],d=a[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),i.push(new mC(s.parent,l,l+d,a[1],u,a[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(a=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(l)))){let u=a[4],d=a[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=a[2];a[3]&&(f+=a[3].replace(/[xX]/," ")),i.push(new mC(s.parent,l,l+d,a[1],u,f,s))}}return i}function Zoe(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function gC(e,t,n,i=0){for(let r=-1,s=e;;){if(s.name=="ListItem"){let o=Zoe(s,t),l=+o[2];if(r>=0){if(l!=r+1)return;n.push({from:s.from+o[1].length,to:s.from+o[0].length,insert:String(r+2+i)})}r=l}let a=s.nextSibling;if(!a)break;s=a}}function Z$(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(P0)!=" ")return e;let i=wl(e,4,n),r="";for(let s=i;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+e.slice(n)}const AYe=(e={})=>({state:t,dispatch:n})=>{let i=yi(t),{doc:r}=t,s=null,a=t.changeByRange(o=>{if(!o.empty||!Nk.isActiveAt(t,o.from,-1)&&!Nk.isActiveAt(t,o.from,1))return s={range:o};let l=o.from,u=r.lineAt(l),d=Woe(i.resolveInner(l,-1),r);for(;d.length&&d[d.length-1].from>l-u.from;)d.pop();if(!d.length)return s={range:o};let f=d[d.length-1];if(f.to-f.spaceAfter.length>l-u.from)return s={range:o};let h=l>=f.to-f.spaceAfter.length&&!/\S/.test(u.text.slice(f.to));if(f.item&&h){let b=f.node.firstChild,S=f.node.getChild("ListItem","ListItem");if(b.to>=l||S&&S.to0&&!/[^\s>]/.test(r.lineAt(u.from-1).text)||e.nonTightLists===!1){let x=d.length>1?d[d.length-2]:null,v,E="";x&&x.item?(v=u.from+x.from,E=x.marker(r,1)):v=u.from+(x?x.to:0);let w=[{from:v,to:l,insert:E}];return f.node.name=="OrderedList"&&gC(f.item,r,w,-2),x&&x.node.name=="OrderedList"&&gC(x.item,r,w),{range:Re.cursor(v+E.length),changes:w}}else{let x=IF(d,t,u);return{range:Re.cursor(l+x.length+1),changes:{from:u.from,insert:x+t.lineBreak}}}}if(f.node.name=="Blockquote"&&h&&u.from){let b=r.lineAt(u.from-1),S=/>\s*$/.exec(b.text);if(S&&S.index==f.from){let x=t.changes([{from:b.from+S.index,to:b.to},{from:u.from+f.from,to:u.to}]);return{range:o.map(x),changes:x}}}let p=[];f.node.name=="OrderedList"&&gC(f.item,r,p);let m=f.item&&f.item.from]*/.exec(u.text)[0].length>=f.to)for(let b=0,S=d.length-1;b<=S;b++)g+=b==S&&!m?d[b].marker(r,1):d[b].blank(bu.from&&/\s/.test(u.text.charAt(y-u.from-1));)y--;return g=Z$(g,t),CYe(f.node,t.doc)&&(g=IF(d,t,u)+t.lineBreak+g),p.push({from:y,to:l,insert:t.lineBreak+g}),{range:Re.cursor(y+g.length+1),changes:p}});return s?!1:(n(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)},NYe=AYe();function RF(e){return e.name=="QuoteMark"||e.name=="ListMark"}function CYe(e,t){if(e.name!="OrderedList"&&e.name!="BulletList")return!1;let n=e.firstChild,i=e.getChild("ListItem","ListItem");if(!i)return!1;let r=t.lineAt(n.to),s=t.lineAt(i.from),a=/^[\s>]*$/.test(r.text);return r.number+(a?0:1){let n=yi(e),i=null,r=e.changeByRange(s=>{let a=s.from,{doc:o}=e;if(s.empty&&Nk.isActiveAt(e,s.from)){let l=o.lineAt(a),u=Woe(RYe(n,a),o);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(a-l.from>f&&!/\S/.test(l.text.slice(f,a-l.from)))return{range:Re.cursor(l.from+f),changes:{from:l.from+f,to:a}};if(a-l.from==f&&(d.item&&l.from<=d.item.from||/^[\s>]*$/.test(l.text.slice(0,d.to)))){let h=l.from+d.from;if(d.item&&d.node.from{var n;let{main:i}=t.state.selection;if(i.empty)return!1;let r=(n=e.clipboardData)===null||n===void 0?void 0:n.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!Nk.isActiveAt(t.state,i.from,1)))return!1;let s=yi(t.state),a=!1;return s.iterate({from:i.from,to:i.to,enter:o=>{(o.from>i.from||DYe.test(o.name))&&(a=!0)},leave:o=>{o.to=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}const $Ge=new Ar((e,t)=>{let n;if(e.next<0)e.acceptToken(zYe);else if(t.context.flags&Nw)bC(e.next)&&e.acceptToken(UYe,1);else if(((n=e.peek(-1))<0||bC(n))&&t.canShift(PF)){let i=0;for(;e.next==K$||e.next==I_;)e.advance(),i++;(e.next==np||e.next==fx||e.next==J$)&&e.acceptToken(PF,-i)}else bC(e.next)&&e.acceptToken(BYe,1)},{contextual:!0}),QGe=new Ar((e,t)=>{let n=t.context;if(n.flags)return;let i=e.peek(-1);if(i==np||i==fx){let r=0,s=0;for(;;){if(e.next==K$)r++;else if(e.next==I_)r+=8-r%8;else break;e.advance(),s++}r!=n.indent&&e.next!=np&&e.next!=fx&&e.next!=J$&&(r[e,t|sle])),zGe=new x_({start:BGe,reduce(e,t,n,i){return e.flags&Nw&&DGe.has(t)||(t==sGe||t==nle)&&e.flags&sle?e.parent:e},shift(e,t,n,i){return t==Joe?new Cw(e,UGe(i.read(i.pos,n.pos)),0):t==ele?e.parent:t==XYe||t==GYe||t==KYe||t==tle?new Cw(e,0,Nw):DF.has(t)?new Cw(e,0,DF.get(t)|e.flags&Nw):e},hash(e){return e.hash}}),FGe=new Ar(e=>{for(let t=0;t<5;t++){if(e.next!="print".charCodeAt(t))return;e.advance()}if(!/\w/.test(String.fromCharCode(e.next)))for(let t=0;;t++){let n=e.peek(t);if(!(n==K$||n==I_)){n!=CGe&&n!=RGe&&n!=np&&n!=fx&&n!=J$&&e.acceptToken(QYe);return}}}),VGe=new Ar((e,t)=>{let{flags:n}=t.context,i=n&Wc?rle:ile,r=(n&Zc)>0,s=!(n&Kc),a=(n&Jc)>0,o=e.pos;for(;!(e.next<0);)if(a&&e.next==Xj)if(e.peek(1)==Xj)e.advance(2);else{if(e.pos==o){e.acceptToken(tle,1);return}break}else if(s&&e.next==LF){if(e.pos==o){e.advance();let l=e.next;l>=0&&(e.advance(),XGe(e,l)),e.acceptToken(VYe);return}break}else if(e.next==LF&&!s&&e.peek(1)>-1)e.advance(2);else if(e.next==i&&(!r||e.peek(1)==i&&e.peek(2)==i)){if(e.pos==o){e.acceptToken(jF,r?3:1);return}break}else if(e.next==np){if(r)e.advance();else if(e.pos==o){e.acceptToken(jF);return}break}else e.advance();e.pos>o&&e.acceptToken(FYe)});function XGe(e,t){if(t==IGe)for(let n=0;n<2&&e.next>=48&&e.next<=55;n++)e.advance();else if(t==PGe)for(let n=0;n<2&&yC(e.next);n++)e.advance();else if(t==MGe)for(let n=0;n<4&&yC(e.next);n++)e.advance();else if(t==LGe)for(let n=0;n<8&&yC(e.next);n++)e.advance();else if(t==jGe&&e.next==Xj){for(e.advance();e.next>=0&&e.next!=MF&&e.next!=ile&&e.next!=rle&&e.next!=np;)e.advance();e.next==MF&&e.advance()}}const qGe=Hu({'async "*" "**" FormatConversion FormatSpec':H.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":H.controlKeyword,"in not and or is del":H.operatorKeyword,"from def class global nonlocal lambda":H.definitionKeyword,import:H.moduleKeyword,"with as print":H.keyword,Boolean:H.bool,None:H.null,VariableName:H.variableName,"CallExpression/VariableName":H.function(H.variableName),"FunctionDefinition/VariableName":H.function(H.definition(H.variableName)),"ClassDefinition/VariableName":H.definition(H.className),PropertyName:H.propertyName,"CallExpression/MemberExpression/PropertyName":H.function(H.propertyName),Comment:H.lineComment,Number:H.number,String:H.string,FormatString:H.special(H.string),Escape:H.escape,UpdateOp:H.updateOperator,"ArithOp!":H.arithmeticOperator,BitOp:H.bitwiseOperator,CompareOp:H.compareOperator,AssignOp:H.definitionOperator,Ellipsis:H.punctuation,At:H.meta,"( )":H.paren,"[ ]":H.squareBracket,"{ }":H.brace,".":H.derefOperator,", ;":H.separator}),HGe={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},YGe=Iu.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[FGe,QGe,$Ge,VGe,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:e=>HGe[e]||-1}],tokenPrec:7668}),$F=new a$,ale=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function hv(e){return(t,n,i)=>{if(i)return!1;let r=t.node.getChild("VariableName");return r&&n(r,e),!0}}const GGe={FunctionDefinition:hv("function"),ClassDefinition:hv("class"),ForStatement(e,t,n){if(n){for(let i=e.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")t(i,"variable");else if(i.name=="in")break}},ImportStatement(e,t){var n,i;let{node:r}=e,s=((n=r.firstChild)===null||n===void 0?void 0:n.name)=="from";for(let a=r.getChild("import");a;a=a.nextSibling)a.name=="VariableName"&&((i=a.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&t(a,s?"variable":"namespace")},AssignStatement(e,t){for(let n=e.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")t(n,"variable");else if(n.name==":"||n.name=="AssignOp")break},ParamList(e,t){for(let n=null,i=e.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!n||!/\*|AssignOp/.test(n.name))&&t(i,"variable"),n=i},CapturePattern:hv("variable"),AsPattern:hv("variable"),__proto__:null};function ole(e,t){let n=$F.get(t);if(n)return n;let i=[],r=!0;function s(a,o){let l=e.sliceString(a.from,a.to);i.push({label:l,type:o})}return t.cursor(ei.IncludeAnonymous).iterate(a=>{if(a.name){let o=GGe[a.name];if(o&&o(a,s,r)||!r&&ale.has(a.name))return!1;r=!1}else if(a.to-a.from>8192){for(let o of ole(e,a.node))i.push(o);return!1}}),$F.set(t,i),i}const QF=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,lle=["String","FormatString","Comment","PropertyName"];function WGe(e){let t=yi(e.state).resolveInner(e.pos,-1);if(lle.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&QF.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let i=[];for(let r=t;r;r=r.parent)ale.has(r.name)&&(i=i.concat(ole(e.state.doc,r)));return{options:i,from:n?t.from:e.pos,validFor:QF}}const ZGe=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(e=>({label:e,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(e=>({label:e,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(e=>({label:e,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(e=>({label:e,type:"function"}))),KGe=[rr("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),rr("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),rr("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),rr("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),rr(`if \${}: + +`,{label:"if",detail:"block",type:"keyword"}),rr("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),rr("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),rr("import ${module}",{label:"import",detail:"statement",type:"keyword"}),rr("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],JGe=Lae(lle,I$(ZGe.concat(KGe)));function xC(e){let{node:t,pos:n}=e,i=e.lineIndent(n,-1),r=null;for(;;){let s=t.childBefore(n);if(s)if(s.name=="Comment")n=s.from;else if(s.name=="Body"||s.name=="MatchBody")e.baseIndentFor(s)+e.unit<=i&&(r=s),t=s;else if(s.name=="MatchClause")t=s;else if(s.type.is("Statement"))t=s;else break;else break}return r}function SC(e,t){let n=e.baseIndentFor(t),i=e.lineAt(e.pos,-1),r=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&e.node.ton?null:n+e.unit}const vC=Lu.define({name:"python",parser:YGe.configure({props:[Pf.add({Body:e=>{var t;let n=/^\s*(#|$)/.test(e.textAfter)&&xC(e)||e.node;return(t=SC(e,n))!==null&&t!==void 0?t:e.continue()},MatchBody:e=>{var t;let n=xC(e);return(t=SC(e,n||e.node))!==null&&t!==void 0?t:e.continue()},IfStatement:e=>/^\s*(else:|elif )/.test(e.textAfter)?e.baseIndent:e.continue(),"ForStatement WhileStatement":e=>/^\s*else:/.test(e.textAfter)?e.baseIndent:e.continue(),TryStatement:e=>/^\s*(except[ :]|finally:|else:)/.test(e.textAfter)?e.baseIndent:e.continue(),MatchStatement:e=>/^\s*case /.test(e.textAfter)?e.baseIndent+e.unit:e.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":ag({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":ag({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":ag({closing:"]"}),MemberExpression:e=>e.baseIndent+e.unit,"String FormatString":()=>null,Script:e=>{var t;let n=xC(e);return(t=n&&SC(e,n))!==null&&t!==void 0?t:e.continue()}}),Gu.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":p1,Body:(e,t)=>({from:e.from+1,to:e.to-(e.to==t.doc.length?0:1)}),"String FormatString":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function eWe(){return new Sf(vC,[vC.data.of({autocomplete:WGe}),vC.data.of({autocomplete:JGe})])}const sm=63,BF=64,tWe=1,nWe=2,cle=3,iWe=4,ule=5,rWe=6,sWe=7,dle=65,aWe=66,oWe=8,lWe=9,cWe=10,uWe=11,dWe=12,fle=13,fWe=19,hWe=20,pWe=29,mWe=33,gWe=34,OWe=47,bWe=0,e3=1,qj=2,hx=3,Hj=4;class fh{constructor(t,n,i){this.parent=t,this.depth=n,this.type=i,this.hash=(t?t.hash+t.hash<<8:0)+n+(n<<4)+i}}fh.top=new fh(null,-1,bWe);function Kb(e,t){for(let n=0,i=t-e.pos-1;;i--,n++){let r=e.peek(i);if(Du(r)||r==-1)return n}}function Yj(e){return e==32||e==9}function Du(e){return e==10||e==13}function hle(e){return Yj(e)||Du(e)}function Eh(e){return e<0||hle(e)}const yWe=new x_({start:fh.top,reduce(e,t){return e.type==hx&&(t==hWe||t==gWe)?e.parent:e},shift(e,t,n,i){if(t==cle)return new fh(e,Kb(i,i.pos),e3);if(t==dle||t==ule)return new fh(e,Kb(i,i.pos),qj);if(t==sm)return e.parent;if(t==fWe||t==mWe)return new fh(e,0,hx);if(t==fle&&e.type==Hj)return e.parent;if(t==OWe){let r=/[1-9]/.exec(i.read(i.pos,n.pos));if(r)return new fh(e,e.depth+ +r[0],Hj)}return e},hash(e){return e.hash}});function e0(e,t,n=0){return e.peek(n)==t&&e.peek(n+1)==t&&e.peek(n+2)==t&&Eh(e.peek(n+3))}const xWe=new Ar((e,t)=>{if(e.next==-1&&t.canShift(BF))return e.acceptToken(BF);let n=e.peek(-1);if((Du(n)||n<0)&&t.context.type!=hx){if(e0(e,45))if(t.canShift(sm))e.acceptToken(sm);else return e.acceptToken(tWe,3);if(e0(e,46))if(t.canShift(sm))e.acceptToken(sm);else return e.acceptToken(nWe,3);let i=0;for(;e.next==32;)i++,e.advance();(i{if(t.context.type==hx){e.next==63&&(e.advance(),Eh(e.next)&&e.acceptToken(sWe));return}if(e.next==45)e.advance(),Eh(e.next)&&e.acceptToken(t.context.type==e3&&t.context.depth==Kb(e,e.pos-1)?iWe:cle);else if(e.next==63)e.advance(),Eh(e.next)&&e.acceptToken(t.context.type==qj&&t.context.depth==Kb(e,e.pos-1)?rWe:ule);else{let n=e.pos;for(;;)if(Yj(e.next)){if(e.pos==n)return;e.advance()}else if(e.next==33)ple(e);else if(e.next==38)Gj(e);else if(e.next==42){Gj(e);break}else if(e.next==39||e.next==34){if(t3(e,!0))break;return}else if(e.next==91||e.next==123){if(!wWe(e))return;break}else{mle(e,!0,!1,0);break}for(;Yj(e.next);)e.advance();if(e.next==58){if(e.pos==n&&t.canShift(pWe))return;let i=e.peek(1);Eh(i)&&e.acceptTokenTo(t.context.type==qj&&t.context.depth==Kb(e,n)?aWe:dle,n)}}},{contextual:!0});function vWe(e){return e>32&&e<127&&e!=34&&e!=37&&e!=44&&e!=60&&e!=62&&e!=92&&e!=94&&e!=96&&e!=123&&e!=124&&e!=125}function UF(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zF(e,t){return e.next==37?(e.advance(),UF(e.next)&&e.advance(),UF(e.next)&&e.advance(),!0):vWe(e.next)||t&&e.next==44?(e.advance(),!0):!1}function ple(e){if(e.advance(),e.next==60){for(e.advance();;)if(!zF(e,!0)){e.next==62&&e.advance();break}}else for(;zF(e,!1););}function Gj(e){for(e.advance();!Eh(e.next)&&Ck(e.next)!="f";)e.advance()}function t3(e,t){let n=e.next,i=!1,r=e.pos;for(e.advance();;){let s=e.next;if(s<0)break;if(e.advance(),s==n)if(s==39)if(e.next==39)e.advance();else break;else break;else if(s==92&&n==34)e.next>=0&&e.advance();else if(Du(s)){if(t)return!1;i=!0}else if(t&&e.pos>=r+1024)return!1}return!i}function wWe(e){for(let t=[],n=e.pos+1024;;)if(e.next==91||e.next==123)t.push(e.next),e.advance();else if(e.next==39||e.next==34){if(!t3(e,!0))return!1}else if(e.next==93||e.next==125){if(t[t.length-1]!=e.next-2)return!1;if(t.pop(),e.advance(),!t.length)return!0}else{if(e.next<0||e.pos>n||Du(e.next))return!1;e.advance()}}const EWe="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function Ck(e){return e<33?"u":e>125?"s":EWe[e-33]}function wC(e,t){let n=Ck(e);return n!="u"&&!(t&&n=="f")}function mle(e,t,n,i){if(Ck(e.next)=="s"||(e.next==63||e.next==58||e.next==45)&&wC(e.peek(1),n))e.advance();else return!1;let r=e.pos;for(;;){let s=e.next,a=0,o=i+1;for(;hle(s);){if(Du(s)){if(t)return!1;o=0}else o++;s=e.peek(++a)}if(!(s>=0&&(s==58?wC(e.peek(a+1),n):s==35?e.peek(a-1)!=32:wC(s,n)))||!n&&o<=i||o==0&&!n&&(e0(e,45,a)||e0(e,46,a)))break;if(t&&Ck(s)=="f")return!1;for(let u=a;u>=0;u--)e.advance();if(t&&e.pos>r+1024)return!1}return!0}const kWe=new Ar((e,t)=>{if(e.next==33)ple(e),e.acceptToken(dWe);else if(e.next==38||e.next==42){let n=e.next==38?cWe:uWe;Gj(e),e.acceptToken(n)}else e.next==39||e.next==34?(t3(e,!1),e.acceptToken(lWe)):mle(e,!1,t.context.type==hx,t.context.depth)&&e.acceptToken(oWe)}),TWe=new Ar((e,t)=>{let n=t.context.type==Hj?t.context.depth:-1,i=e.pos;e:for(;;){let r=0,s=e.next;for(;s==32;)s=e.peek(++r);if(!r&&(e0(e,45,r)||e0(e,46,r))||!Du(s)&&(n<0&&(n=Math.max(t.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:yWe,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[_We],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[xWe,SWe,kWe,TWe,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),NWe=Lu.define({name:"yaml",parser:AWe.configure({props:[Pf.add({Stream:e=>{for(let t=e.node.resolve(e.pos,-1);t&&t.to>=e.pos;t=t.parent){if(t.name=="BlockLiteralContent"&&t.frome.pos)return null}}return null},FlowMapping:ag({closing:"}"}),FlowSequence:ag({closing:"]"})}),Gu.add({"FlowMapping FlowSequence":p1,"Item Pair BlockLiteral":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function CWe(){return new Sf(NWe)}function Wj(){return Wj=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),i=i3(e.state,n.from);return i.line?PWe(e):i.block?MWe(e):!1};function n3(e,t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let r=e(t,n);return r?(i(n.update(r)),!0):!1}}const PWe=n3($We,0),jWe=n3(gle,0),MWe=n3((e,t)=>gle(e,t,DWe(t)),0);function i3(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const PO=50;function LWe(e,{open:t,close:n},i,r){let s=e.sliceDoc(i-PO,i),a=e.sliceDoc(r,r+PO),o=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(a)[0].length,u=s.length-o;if(s.slice(u-t.length,u)==t&&a.slice(l,l+n.length)==n)return{open:{pos:i-o,margin:o&&1},close:{pos:r+l,margin:l&&1}};let d,f;r-i<=2*PO?d=f=e.sliceDoc(i,r):(d=e.sliceDoc(i,i+PO),f=e.sliceDoc(r-PO,r));let h=/^\s*/.exec(d)[0].length,p=/\s*$/.exec(f)[0].length,m=f.length-p-n.length;return d.slice(h,h+t.length)==t&&f.slice(m,m+n.length)==n?{open:{pos:i+h+t.length,margin:/\s/.test(d.charAt(h+t.length))?1:0},close:{pos:r-p-n.length,margin:/\s/.test(f.charAt(m-1))?1:0}}:null}function DWe(e){let t=[];for(let n of e.selection.ranges){let i=e.doc.lineAt(n.from),r=n.to<=i.to?i:e.doc.lineAt(n.to);r.from>i.from&&r.from==n.to&&(r=n.to==i.to+1?i:e.doc.lineAt(n.to-1));let s=t.length-1;s>=0&&t[s].to>i.from?t[s].to=r.to:t.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return t}function gle(e,t,n=t.selection.ranges){let i=n.map(s=>i3(t,s.from).block);if(!i.every(s=>s))return null;let r=n.map((s,a)=>LWe(t,i[a],s.from,s.to));if(e!=2&&!r.every(s=>s))return{changes:t.changes(n.map((s,a)=>r[a]?[]:[{from:s.from,insert:i[a].open+" "},{from:s.to,insert:" "+i[a].close}]))};if(e!=1&&r.some(s=>s)){let s=[];for(let a=0,o;ar&&(s==a||a>f.from)){r=f.from;let h=/^\s*/.exec(f.text)[0].length,p=h==f.length,m=f.text.slice(h,h+u.length)==u?h:-1;hs.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:o,token:l,indent:u,empty:d,single:f}of i)(f||!d)&&s.push({from:o.from+u,insert:l+" "});let a=t.changes(s);return{changes:a,selection:t.selection.map(a,1)}}else if(e!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:a,comment:o,token:l}of i)if(o>=0){let u=a.from+o,d=u+l.length;a.text[d-a.from]==" "&&d++,s.push({from:u,to:d})}return{changes:s}}return null}const Zj=Nc.define(),QWe=Nc.define(),BWe=ht.define(),Ole=ht.define({combine(e){return Cc(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(i,r)=>t(i,r)||n(i,r)})}}),ble=_s.define({create(){return uc.empty},update(e,t){let n=t.state.facet(Ole),i=t.annotation(Zj);if(i){let l=_a.fromTransaction(t,i.selection),u=i.side,d=u==0?e.undone:e.done;return l?d=Rk(d,d.length,n.minDepth,l):d=Sle(d,t.startState.selection),new uc(u==0?i.rest:d,u==0?d:i.rest)}let r=t.annotation(QWe);if((r=="full"||r=="before")&&(e=e.isolate()),t.annotation(Dr.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let s=_a.fromTransaction(t),a=t.annotation(Dr.time),o=t.annotation(Dr.userEvent);return s?e=e.addChanges(s,a,o,n,t):t.selection&&(e=e.addSelection(t.startState.selection,a,o,n.newGroupDelay)),(r=="full"||r=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new uc(e.done.map(_a.fromJSON),e.undone.map(_a.fromJSON))}});function UWe(e={}){return[ble,Ole.of(e),rt.domEventHandlers({beforeinput(t,n){let i=t.inputType=="historyUndo"?yle:t.inputType=="historyRedo"?Kj:null;return i?(t.preventDefault(),i(n)):!1}})]}function P_(e,t){return function({state:n,dispatch:i}){if(!t&&n.readOnly)return!1;let r=n.field(ble,!1);if(!r)return!1;let s=r.pop(e,n,t);return s?(i(s),!0):!1}}const yle=P_(0,!1),Kj=P_(1,!1),zWe=P_(0,!0),FWe=P_(1,!0);class _a{constructor(t,n,i,r,s){this.changes=t,this.effects=n,this.mapped=i,this.startSelection=r,this.selectionsAfter=s}setSelAfter(t){return new _a(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,i;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(t){return new _a(t.changes&&Yr.fromJSON(t.changes),[],t.mapped&&gc.fromJSON(t.mapped),t.startSelection&&Re.fromJSON(t.startSelection),t.selectionsAfter.map(Re.fromJSON))}static fromTransaction(t,n){let i=Do;for(let r of t.startState.facet(BWe)){let s=r(t);s.length&&(i=i.concat(s))}return!i.length&&t.changes.empty?null:new _a(t.changes.invert(t.startState.doc),i,void 0,n||t.startState.selection,Do)}static selection(t){return new _a(void 0,Do,void 0,void 0,t)}}function Rk(e,t,n,i){let r=t+1>n+20?t-n-1:0,s=e.slice(r,t);return s.push(i),s}function VWe(e,t){let n=[],i=!1;return e.iterChangedRanges((r,s)=>n.push(r,s)),t.iterChangedRanges((r,s,a,o)=>{for(let l=0;l=u&&a<=d&&(i=!0)}}),i}function XWe(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,i)=>n.empty!=t.ranges[i].empty).length===0}function xle(e,t){return e.length?t.length?e.concat(t):e:t}const Do=[],qWe=200;function Sle(e,t){if(e.length){let n=e[e.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-qWe));return i.length&&i[i.length-1].eq(t)?e:(i.push(t),Rk(e,e.length-1,1e9,n.setSelAfter(i)))}else return[_a.selection([t])]}function HWe(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function EC(e,t){if(!e.length)return e;let n=e.length,i=Do;for(;n;){let r=YWe(e[n-1],t,i);if(r.changes&&!r.changes.empty||r.effects.length){let s=e.slice(0,n);return s[n-1]=r,s}else t=r.mapped,n--,i=r.selectionsAfter}return i.length?[_a.selection(i)]:Do}function YWe(e,t,n){let i=xle(e.selectionsAfter.length?e.selectionsAfter.map(o=>o.map(t)):Do,n);if(!e.changes)return _a.selection(i);let r=e.changes.map(t),s=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(s):s;return new _a(r,Ht.mapEffects(e.effects,t),a,e.startSelection.map(s),i)}const GWe=/^(input\.type|delete)($|\.)/;class uc{constructor(t,n,i=0,r=void 0){this.done=t,this.undone=n,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new uc(this.done,this.undone):this}addChanges(t,n,i,r,s){let a=this.done,o=a[a.length-1];return o&&o.changes&&!o.changes.empty&&t.changes&&(!i||GWe.test(i))&&(!o.selectionsAfter.length&&n-this.prevTime0&&n-this.prevTimen.empty?e.moveByChar(n,t):j_(n,t))}function zs(e){return e.textDirectionAt(e.state.selection.main.head)==ki.LTR}const wle=e=>vle(e,!zs(e)),Ele=e=>vle(e,zs(e));function kle(e,t){return Il(e,n=>n.empty?e.moveByGroup(n,t):j_(n,t))}const ZWe=e=>kle(e,!zs(e)),KWe=e=>kle(e,zs(e));function JWe(e,t,n){if(t.type.prop(n))return!0;let i=t.to-t.from;return i&&(i>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function M_(e,t,n){let i=yi(e).resolveInner(t.head),r=n?Yt.closedBy:Yt.openedBy;for(let l=t.head;;){let u=n?i.childAfter(l):i.childBefore(l);if(!u)break;JWe(e,u,r)?i=u:l=n?u.to:u.from}let s=i.type.prop(r),a,o;return s&&(a=n?cc(e,i.from,1):cc(e,i.to,-1))&&a.matched?o=n?a.end.to:a.end.from:o=n?i.to:i.from,Re.cursor(o,n?-1:1)}const eZe=e=>Il(e,t=>M_(e.state,t,!zs(e))),tZe=e=>Il(e,t=>M_(e.state,t,zs(e)));function Tle(e,t){return Il(e,n=>{if(!n.empty)return j_(n,t);let i=e.moveVertically(n,t);return i.head!=n.head?i:e.moveToLineBoundary(n,t)})}const _le=e=>Tle(e,!1),Ale=e=>Tle(e,!0);function Nle(e){let t=e.scrollDOM.clientHeighta.empty?e.moveVertically(a,t,n.height):j_(a,t));if(r.eq(i.selection))return!1;let s;if(n.selfScroll){let a=e.coordsAtPos(i.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),l=o.top+n.marginTop,u=o.bottom-n.marginBottom;a&&a.top>l&&a.bottomCle(e,!1),Jj=e=>Cle(e,!0);function jf(e,t,n){let i=e.lineBlockAt(t.head),r=e.moveToLineBoundary(t,n);if(r.head==t.head&&r.head!=(n?i.to:i.from)&&(r=e.moveToLineBoundary(t,n,!1)),!n&&r.head==i.from&&i.length){let s=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&t.head!=i.from+s&&(r=Re.cursor(i.from+s))}return r}const nZe=e=>Il(e,t=>jf(e,t,!0)),iZe=e=>Il(e,t=>jf(e,t,!1)),rZe=e=>Il(e,t=>jf(e,t,!zs(e))),sZe=e=>Il(e,t=>jf(e,t,zs(e))),aZe=e=>Il(e,t=>Re.cursor(e.lineBlockAt(t.head).from,1)),oZe=e=>Il(e,t=>Re.cursor(e.lineBlockAt(t.head).to,-1));function lZe(e,t,n){let i=!1,r=M0(e.selection,s=>{let a=cc(e,s.head,-1)||cc(e,s.head,1)||s.head>0&&cc(e,s.head-1,1)||s.headlZe(e,t);function Ho(e,t,n){let i=M0(e.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=t&&(r=Re.range(r.head,r.anchor));let s=n(r);return Re.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return i.eq(e.state.selection)?!1:(e.dispatch(Rl(e.state,i)),!0)}function Rle(e,t){return Ho(e,t,n=>e.moveByChar(n,t))}const Ile=e=>Rle(e,!zs(e)),Ple=e=>Rle(e,zs(e));function jle(e,t){return Ho(e,t,n=>e.moveByGroup(n,t))}const uZe=e=>jle(e,!zs(e)),dZe=e=>jle(e,zs(e)),fZe=e=>{let t=!zs(e);return Ho(e,t,n=>M_(e.state,n,t))},hZe=e=>{let t=zs(e);return Ho(e,t,n=>M_(e.state,n,t))};function Mle(e,t){return Ho(e,t,n=>e.moveVertically(n,t))}const Lle=e=>Mle(e,!1),Dle=e=>Mle(e,!0);function $le(e,t){return Ho(e,t,n=>e.moveVertically(n,t,Nle(e).height))}const VF=e=>$le(e,!1),XF=e=>$le(e,!0),pZe=e=>Ho(e,!0,t=>jf(e,t,!0)),mZe=e=>Ho(e,!1,t=>jf(e,t,!1)),gZe=e=>{let t=!zs(e);return Ho(e,t,n=>jf(e,n,t))},OZe=e=>{let t=zs(e);return Ho(e,t,n=>jf(e,n,t))},bZe=e=>Ho(e,!1,t=>Re.cursor(e.lineBlockAt(t.head).from)),yZe=e=>Ho(e,!0,t=>Re.cursor(e.lineBlockAt(t.head).to)),qF=({state:e,dispatch:t})=>(t(Rl(e,{anchor:0})),!0),HF=({state:e,dispatch:t})=>(t(Rl(e,{anchor:e.doc.length})),!0),YF=({state:e,dispatch:t})=>(t(Rl(e,{anchor:e.selection.main.anchor,head:0})),!0),GF=({state:e,dispatch:t})=>(t(Rl(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),xZe=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),SZe=({state:e,dispatch:t})=>{let n=L_(e).map(({from:i,to:r})=>Re.range(i,Math.min(r+1,e.doc.length)));return t(e.update({selection:Re.create(n),userEvent:"select"})),!0},vZe=({state:e,dispatch:t})=>{let n=M0(e.selection,i=>{let r=yi(e),s=r.resolveStack(i.from,1);if(i.empty){let a=r.resolveStack(i.from,-1);a.node.from>=s.node.from&&a.node.to<=s.node.to&&(s=a)}for(let a=s;a;a=a.next){let{node:o}=a;if((o.from=i.to||o.to>i.to&&o.from<=i.from)&&a.next)return Re.range(o.to,o.from)}return i});return n.eq(e.selection)?!1:(t(Rl(e,n)),!0)};function Qle(e,t){let{state:n}=e,i=n.selection,r=n.selection.ranges.slice();for(let s of n.selection.ranges){let a=n.doc.lineAt(s.head);if(t?a.to0)for(let o=s;;){let l=e.moveVertically(o,t);if(l.heada.to){r.some(u=>u.head==l.head)||r.push(l);break}else{if(l.head==o.head)break;o=l}}}return r.length==i.ranges.length?!1:(e.dispatch(Rl(n,Re.create(r,r.length-1))),!0)}const wZe=e=>Qle(e,!1),EZe=e=>Qle(e,!0),kZe=({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=Re.create([n.main]):n.main.empty||(i=Re.create([Re.cursor(n.main.head)])),i?(t(Rl(e,i)),!0):!1};function b1(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:i}=e,r=i.changeByRange(s=>{let{from:a,to:o}=s;if(a==o){let l=t(s);la&&(n="delete.forward",l=pv(e,l,!0)),a=Math.min(a,l),o=Math.max(o,l)}else a=pv(e,a,!1),o=pv(e,o,!0);return a==o?{range:s}:{changes:{from:a,to:o},range:Re.cursor(a,ar(e)))i.between(t,t,(r,s)=>{rt&&(t=n?s:r)});return t}const Ble=(e,t,n)=>b1(e,i=>{let r=i.from,{state:s}=e,a=s.doc.lineAt(r),o,l;if(n&&!t&&r>a.from&&rBle(e,!1,!0),Ule=e=>Ble(e,!0,!1),zle=(e,t)=>b1(e,n=>{let i=n.head,{state:r}=e,s=r.doc.lineAt(i),a=r.charCategorizer(i);for(let o=null;;){if(i==(t?s.to:s.from)){i==n.head&&s.number!=(t?r.doc.lines:1)&&(i+=t?1:-1);break}let l=ds(s.text,i-s.from,t)+s.from,u=s.text.slice(Math.min(i,l)-s.from,Math.max(i,l)-s.from),d=a(u);if(o!=null&&d!=o)break;(u!=" "||i!=n.head)&&(o=d),i=l}return i}),Fle=e=>zle(e,!1),TZe=e=>zle(e,!0),_Ze=e=>b1(e,t=>{let n=e.lineBlockAt(t.head).to;return t.headb1(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),NZe=e=>b1(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head{if(e.readOnly)return!1;let n=e.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:Wn.of(["",""])},range:Re.cursor(i.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},RZe=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(i=>{if(!i.empty||i.from==0||i.from==e.doc.length)return{range:i};let r=i.from,s=e.doc.lineAt(r),a=r==s.from?r-1:ds(s.text,r-s.from,!1)+s.from,o=r==s.to?r+1:ds(s.text,r-s.from,!0)+s.from;return{changes:{from:a,to:o,insert:e.doc.slice(r,o).append(e.doc.slice(a,r))},range:Re.cursor(o)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function L_(e){let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.from),s=e.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=e.doc.lineAt(i.to-1)),n>=r.number){let a=t[t.length-1];a.to=s.to,a.ranges.push(i)}else t.push({from:r.from,to:s.to,ranges:[i]});n=s.number+1}return t}function Vle(e,t,n){if(e.readOnly)return!1;let i=[],r=[];for(let s of L_(e)){if(n?s.to==e.doc.length:s.from==0)continue;let a=e.doc.lineAt(n?s.to+1:s.from-1),o=a.length+1;if(n){i.push({from:s.to,to:a.to},{from:s.from,insert:a.text+e.lineBreak});for(let l of s.ranges)r.push(Re.range(Math.min(e.doc.length,l.anchor+o),Math.min(e.doc.length,l.head+o)))}else{i.push({from:a.from,to:s.from},{from:s.to,insert:e.lineBreak+a.text});for(let l of s.ranges)r.push(Re.range(l.anchor-o,l.head-o))}}return i.length?(t(e.update({changes:i,scrollIntoView:!0,selection:Re.create(r,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const IZe=({state:e,dispatch:t})=>Vle(e,t,!1),PZe=({state:e,dispatch:t})=>Vle(e,t,!0);function Xle(e,t,n){if(e.readOnly)return!1;let i=[];for(let s of L_(e))n?i.push({from:s.from,insert:e.doc.slice(s.from,s.to)+e.lineBreak}):i.push({from:s.to,insert:e.lineBreak+e.doc.slice(s.from,s.to)});let r=e.changes(i);return t(e.update({changes:r,selection:e.selection.map(r,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const jZe=({state:e,dispatch:t})=>Xle(e,t,!1),MZe=({state:e,dispatch:t})=>Xle(e,t,!0),LZe=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(L_(t).map(({from:r,to:s})=>(r>0?r--:s{let s;if(e.lineWrapping){let a=e.lineBlockAt(r.head),o=e.coordsAtPos(r.head,r.assoc||1);o&&(s=a.bottom+e.documentTop-o.bottom+e.defaultLineHeight/2)}return e.moveVertically(r,!0,s)}).map(n);return e.dispatch({changes:n,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function DZe(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=yi(e).resolveInner(t),i=n.childBefore(t),r=n.childAfter(t),s;return i&&r&&i.to<=t&&r.from>=t&&(s=i.type.prop(Yt.closedBy))&&s.indexOf(r.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}const WF=qle(!1),$Ze=qle(!0);function qle(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange(r=>{let{from:s,to:a}=r,o=t.doc.lineAt(s),l=!e&&s==a&&DZe(t,s);e&&(s=a=(a<=o.to?o:t.doc.lineAt(a)).to);let u=new A_(t,{simulateBreak:s,simulateDoubleBreak:!!l}),d=N$(u,s);for(d==null&&(d=wl(/^\s*/.exec(t.doc.lineAt(s).text)[0],t.tabSize));ao.from&&s{let r=[];for(let a=i.from;a<=i.to;){let o=e.doc.lineAt(a);o.number>n&&(i.empty||i.to>o.from)&&(t(o,r,i),n=o.number),a=o.to+1}let s=e.changes(r);return{changes:r,range:Re.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const QZe=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),i=new A_(e,{overrideIndentation:s=>{let a=n[s];return a??-1}}),r=r3(e,(s,a,o)=>{let l=N$(i,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let u=/^\s*/.exec(s.text)[0],d=rx(e,l);(u!=d||o.frome.readOnly?!1:(t(e.update(r3(e,(n,i)=>{i.push({from:n.from,insert:e.facet(P0)})}),{userEvent:"input.indent"})),!0),Yle=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(r3(e,(n,i)=>{let r=/^\s*/.exec(n.text)[0];if(!r)return;let s=wl(r,e.tabSize),a=0,o=rx(e,Math.max(0,s-xk(e)));for(;a(e.setTabFocusMode(),!0),UZe=[{key:"Ctrl-b",run:wle,shift:Ile,preventDefault:!0},{key:"Ctrl-f",run:Ele,shift:Ple},{key:"Ctrl-p",run:_le,shift:Lle},{key:"Ctrl-n",run:Ale,shift:Dle},{key:"Ctrl-a",run:aZe,shift:bZe},{key:"Ctrl-e",run:oZe,shift:yZe},{key:"Ctrl-d",run:Ule},{key:"Ctrl-h",run:eM},{key:"Ctrl-k",run:_Ze},{key:"Ctrl-Alt-h",run:Fle},{key:"Ctrl-o",run:CZe},{key:"Ctrl-t",run:RZe},{key:"Ctrl-v",run:Jj}],zZe=[{key:"ArrowLeft",run:wle,shift:Ile,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:ZWe,shift:uZe,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:rZe,shift:gZe,preventDefault:!0},{key:"ArrowRight",run:Ele,shift:Ple,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:KWe,shift:dZe,preventDefault:!0},{mac:"Cmd-ArrowRight",run:sZe,shift:OZe,preventDefault:!0},{key:"ArrowUp",run:_le,shift:Lle,preventDefault:!0},{mac:"Cmd-ArrowUp",run:qF,shift:YF},{mac:"Ctrl-ArrowUp",run:FF,shift:VF},{key:"ArrowDown",run:Ale,shift:Dle,preventDefault:!0},{mac:"Cmd-ArrowDown",run:HF,shift:GF},{mac:"Ctrl-ArrowDown",run:Jj,shift:XF},{key:"PageUp",run:FF,shift:VF},{key:"PageDown",run:Jj,shift:XF},{key:"Home",run:iZe,shift:mZe,preventDefault:!0},{key:"Mod-Home",run:qF,shift:YF},{key:"End",run:nZe,shift:pZe,preventDefault:!0},{key:"Mod-End",run:HF,shift:GF},{key:"Enter",run:WF,shift:WF},{key:"Mod-a",run:xZe},{key:"Backspace",run:eM,shift:eM,preventDefault:!0},{key:"Delete",run:Ule,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Fle,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:TZe,preventDefault:!0},{mac:"Mod-Backspace",run:AZe,preventDefault:!0},{mac:"Mod-Delete",run:NZe,preventDefault:!0}].concat(UZe.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),FZe=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:eZe,shift:fZe},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:tZe,shift:hZe},{key:"Alt-ArrowUp",run:IZe},{key:"Shift-Alt-ArrowUp",run:jZe},{key:"Alt-ArrowDown",run:PZe},{key:"Shift-Alt-ArrowDown",run:MZe},{key:"Mod-Alt-ArrowUp",run:wZe},{key:"Mod-Alt-ArrowDown",run:EZe},{key:"Escape",run:kZe},{key:"Mod-Enter",run:$Ze},{key:"Alt-l",mac:"Ctrl-l",run:SZe},{key:"Mod-i",run:vZe,preventDefault:!0},{key:"Mod-[",run:Yle},{key:"Mod-]",run:Hle},{key:"Mod-Alt-\\",run:QZe},{key:"Shift-Mod-k",run:LZe},{key:"Shift-Mod-\\",run:cZe},{key:"Mod-/",run:IWe},{key:"Alt-A",run:jWe},{key:"Ctrl-m",mac:"Shift-Alt-m",run:BZe}].concat(zZe),VZe={key:"Tab",run:Hle,shift:Yle},ZF=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class t0{constructor(t,n,i=0,r=t.length,s,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(i,r),this.bufferStart=i,this.normalize=s?o=>s(ZF(o)):ZF,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Sa(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=l$(t),i=this.bufferStart+this.bufferPos;this.bufferPos+=ec(t);let r=this.normalize(n);if(r.length)for(let s=0,a=i,o=!0;;s++){let l=r.charCodeAt(s),u=this.match(l,a,o,this.bufferPos+this.bufferStart,s==r.length-1);if(u)return this.value=u,this;if(s==r.length-1)break;o&&sthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let i=this.curLineStart+n.index,r=i+n[0].length;if(this.matchPos=Ik(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=n){let o=new cg(n,t.sliceString(n,i));return kC.set(t,o),o}if(r.from==n&&r.to==i)return r;let{text:s,from:a}=r;return a>n&&(s=t.sliceString(n,a)+s,a=n),r.to=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let i=this.flat.from+n.index,r=i+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,precise:!0,match:n},this.matchPos=Ik(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=cg.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Wle.prototype[Symbol.iterator]=Zle.prototype[Symbol.iterator]=function(){return this});function XZe(e){try{return new RegExp(e,s3),!0}catch{return!1}}function Ik(e,t){if(t>=e.length)return t;let n=e.lineAt(t),i;for(;t=56320&&i<57344;)t++;return t}const qZe=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:i,result:r}=hVe(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return r.then(s=>{let a=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!a){e.dispatch({effects:i});return}let o=t.doc.lineAt(t.selection.main.head),[,l,u,d,f]=a,h=d?+d.slice(1):0,p=u?+u:o.number;if(u&&f){let y=p/100;l&&(y=y*(l=="-"?-1:1)+o.number/t.doc.lines),p=Math.round(t.doc.lines*y)}else u&&l&&(p=p*(l=="-"?-1:1)+o.number);let m=t.doc.line(Math.max(1,Math.min(t.doc.lines,p))),g=Re.cursor(m.from+Math.max(0,Math.min(h,m.length)));e.dispatch({effects:[i,rt.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},HZe={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},YZe=ht.define({combine(e){return Cc(e,HZe,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function GZe(e){return[eKe,JZe]}const WZe=_t.mark({class:"cm-selectionMatch"}),ZZe=_t.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function KF(e,t,n,i){return(n==0||e(t.sliceDoc(n-1,n))!=Zi.Word)&&(i==t.doc.length||e(t.sliceDoc(i,i+1))!=Zi.Word)}function KZe(e,t,n,i){return e(t.sliceDoc(n,n+1))==Zi.Word&&e(t.sliceDoc(i-1,i))==Zi.Word}const JZe=pr.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(YZe),{state:n}=e,i=n.selection;if(i.ranges.length>1)return _t.none;let r=i.main,s,a=null;if(r.empty){if(!t.highlightWordAroundCursor)return _t.none;let l=n.wordAt(r.head);if(!l)return _t.none;a=n.charCategorizer(r.head),s=n.sliceDoc(l.from,l.to)}else{let l=r.to-r.from;if(l200)return _t.none;if(t.wholeWords){if(s=n.sliceDoc(r.from,r.to),a=n.charCategorizer(r.head),!(KF(a,n,r.from,r.to)&&KZe(a,n,r.from,r.to)))return _t.none}else if(s=n.sliceDoc(r.from,r.to),!s)return _t.none}let o=[];for(let l of e.visibleRanges){let u=new t0(n.doc,s,l.from,l.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!a||KF(a,n,d,f))&&(r.empty&&d<=r.from&&f>=r.to?o.push(ZZe.range(d,f)):(d>=r.to||f<=r.from)&&o.push(WZe.range(d,f)),o.length>t.maxMatches))return _t.none}}return _t.set(o)}},{decorations:e=>e.decorations}),eKe=rt.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),tKe=({state:e,dispatch:t})=>{let{selection:n}=e,i=Re.create(n.ranges.map(r=>e.wordAt(r.head)||Re.cursor(r.head)),n.mainIndex);return i.eq(n)?!1:(t(e.update({selection:i})),!0)};function nKe(e,t){let{main:n,ranges:i}=e.selection,r=e.wordAt(n.head),s=r&&r.from==n.from&&r.to==n.to;for(let a=!1,o=new t0(e.doc,t,i[i.length-1].to);;)if(o.next(),o.done){if(a)return null;o=new t0(e.doc,t,0,Math.max(0,i[i.length-1].from-1)),a=!0}else{if(a&&i.some(l=>l.from==o.value.from))continue;if(s){let l=e.wordAt(o.value.from);if(!l||l.from!=o.value.from||l.to!=o.value.to)continue}return o.value}}const iKe=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(s=>s.from===s.to))return tKe({state:e,dispatch:t});let i=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(s=>e.sliceDoc(s.from,s.to)!=i))return!1;let r=nKe(e,i);return r?(t(e.update({selection:e.selection.addRange(Re.range(r.from,r.to),!1),effects:rt.scrollIntoView(r.to)})),!0):!1},L0=ht.define({combine(e){return Cc(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new OKe(t),scrollToMatch:t=>rt.scrollIntoView(t)})}});class Kle{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||XZe(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,i)=>i=="n"?` +`:i=="r"?"\r":i=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new cKe(this):new aKe(this)}getCursor(t,n=0,i){let r=t.doc?t:Nn.create({doc:t});return i==null&&(i=r.doc.length),this.regexp?om(this,r,n,i):am(this,r,n,i)}}class Jle{constructor(t){this.spec=t}}function rKe(e,t,n){return(i,r,s,a)=>{if(n&&!n(i,r,s,a))return!1;let o=i>=a&&r<=a+s.length?s.slice(i-a,r-a):t.doc.sliceString(i,r);return e(o,t,i,r)}}function am(e,t,n,i){let r;return e.wholeWord&&(r=sKe(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(r=rKe(e.test,t,r)),new t0(t.doc,e.unquoted,n,i,e.caseSensitive?void 0:s=>s.toLowerCase(),r)}function sKe(e,t){return(n,i,r,s)=>((s>n||s+r.length=n)return null;r.push(i.value)}return r}highlight(t,n,i,r){let s=am(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,t.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function oKe(e,t,n){return(i,r,s)=>(!n||n(i,r,s))&&e(s[0],t,i,r)}function om(e,t,n,i){let r;return e.wholeWord&&(r=lKe(t.charCategorizer(t.selection.main.head))),e.test&&(r=oKe(e.test,t,r)),new Wle(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:r},n,i)}function Pk(e,t){return e.slice(ds(e,t,!1),t)}function jk(e,t){return e.slice(t,ds(e,t))}function lKe(e){return(t,n,i)=>!i[0].length||(e(Pk(i.input,i.index))!=Zi.Word||e(jk(i.input,i.index))!=Zi.Word)&&(e(jk(i.input,i.index+i[0].length))!=Zi.Word||e(Pk(i.input,i.index+i[0].length))!=Zi.Word)}class cKe extends Jle{nextMatch(t,n,i){let r=om(this.spec,t,i,t.doc.length).next();return r.done&&(r=om(this.spec,t,0,n).next()),r.done?null:r.value}prevMatchInRange(t,n,i){for(let r=1;;r++){let s=Math.max(n,i-r*1e4),a=om(this.spec,t,s,i),o=null;for(;!a.next().done;)o=a.value;if(o&&(s==n||o.from>s+10))return o;if(s==n)return null}}prevMatch(t,n,i){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,i,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,i)=>{if(i=="&")return t.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s=n)return null;r.push(i.value)}return r}highlight(t,n,i,r){let s=om(this.spec,t,Math.max(0,n-250),Math.min(i+250,t.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const px=Ht.define(),a3=Ht.define(),tf=_s.define({create(e){return new TC(tM(e).create(),null)},update(e,t){for(let n of t.effects)n.is(px)?e=new TC(n.value.create(),e.panel):n.is(a3)&&(e=new TC(e.query,n.value?o3:null));return e},provide:e=>nx.from(e,t=>t.panel)});class TC{constructor(t,n){this.query=t,this.panel=n}}const uKe=_t.mark({class:"cm-searchMatch"}),dKe=_t.mark({class:"cm-searchMatch cm-searchMatch-selected"}),fKe=pr.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(tf))}update(e){let t=e.state.field(tf);(t!=e.startState.field(tf)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return _t.none;let{view:n}=this,i=new Pu;for(let r=0,s=n.visibleRanges,a=s.length;rs[r+1].from-2*250;)l=s[++r].to;e.highlight(n.state,o,l,(u,d)=>{let f=n.state.selection.ranges.some(h=>h.from==u&&h.to==d);i.add(u,d,f?dKe:uKe)})}return i.finish()}},{decorations:e=>e.decorations});function y1(e){return t=>{let n=t.state.field(tf,!1);return n&&n.query.spec.valid?e(t,n):nce(t)}}const Mk=y1((e,{query:t})=>{let{to:n}=e.state.selection.main,i=t.nextMatch(e.state,n,n);if(!i)return!1;let r=Re.single(i.from,i.to),s=e.state.facet(L0);return e.dispatch({selection:r,effects:[l3(e,i),s.scrollToMatch(r.main,e)],userEvent:"select.search"}),tce(e),!0}),Lk=y1((e,{query:t})=>{let{state:n}=e,{from:i}=n.selection.main,r=t.prevMatch(n,i,i);if(!r)return!1;let s=Re.single(r.from,r.to),a=e.state.facet(L0);return e.dispatch({selection:s,effects:[l3(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),tce(e),!0}),hKe=y1((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:Re.create(n.map(i=>Re.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),pKe=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:i,to:r}=n.main,s=[],a=0;for(let o=new t0(e.doc,e.sliceDoc(i,r));!o.next().done;){if(s.length>1e3)return!1;o.value.from==i&&(a=s.length),s.push(Re.range(o.value.from,o.value.to))}return t(e.update({selection:Re.create(s,a),userEvent:"select.search.matches"})),!0},JF=y1((e,{query:t})=>{let{state:n}=e,{from:i,to:r}=n.selection.main;if(n.readOnly)return!1;let s=t.nextMatch(n,i,i);if(!s)return!1;let a=s,o=[],l,u,d=[];a.precise?a.from==i&&a.to==r&&(u=n.toText(t.getReplacement(a)),o.push({from:a.from,to:a.to,insert:u}),a=t.nextMatch(n,a.from,a.to),d.push(rt.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(i).number)+"."))):a=t.nextMatch(n,a.from,a.to);let f=e.state.changes(o);return a&&(l=Re.single(a.from,a.to).map(f),d.push(l3(e,a)),d.push(n.facet(L0).scrollToMatch(l.main,e))),e.dispatch({changes:f,selection:l,effects:d,userEvent:"input.replace"}),!0}),mKe=y1((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let r of t.matchAll(e.state,1e9)){let{from:s,to:a,precise:o}=r;o&&n.push({from:s,to:a,insert:t.getReplacement(r)})}if(!n.length)return!1;let i=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:rt.announce.of(i),userEvent:"input.replace.all"}),!0});function o3(e){return e.state.facet(L0).createPanel(e)}function tM(e,t){var n,i,r,s,a;let o=e.selection.main,l=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!l)return t;let u=e.facet(L0);return new Kle({search:((n=t==null?void 0:t.literal)!==null&&n!==void 0?n:u.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(i=t==null?void 0:t.caseSensitive)!==null&&i!==void 0?i:u.caseSensitive,literal:(r=t==null?void 0:t.literal)!==null&&r!==void 0?r:u.literal,regexp:(s=t==null?void 0:t.regexp)!==null&&s!==void 0?s:u.regexp,wholeWord:(a=t==null?void 0:t.wholeWord)!==null&&a!==void 0?a:u.wholeWord})}function ece(e){let t=T$(e,o3);return t&&t.dom.querySelector("[main-field]")}function tce(e){let t=ece(e);t&&t==e.root.activeElement&&t.select()}const nce=e=>{let t=e.state.field(tf,!1);if(t&&t.panel){let n=ece(e);if(n&&n!=e.root.activeElement){let i=tM(e.state,t.query.spec);i.valid&&e.dispatch({effects:px.of(i)}),n.focus(),n.select()}}else e.dispatch({effects:[a3.of(!0),t?px.of(tM(e.state,t.query.spec)):Ht.appendConfig.of(yKe)]});return!0},ice=e=>{let t=e.state.field(tf,!1);if(!t||!t.panel)return!1;let n=T$(e,o3);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:a3.of(!1)}),!0},gKe=[{key:"Mod-f",run:nce,scope:"editor search-panel"},{key:"F3",run:Mk,shift:Lk,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Mk,shift:Lk,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ice,scope:"editor search-panel"},{key:"Mod-Shift-l",run:pKe},{key:"Mod-Alt-g",run:qZe},{key:"Mod-d",run:iKe,preventDefault:!0}];class OKe{constructor(t){this.view=t;let n=this.query=t.state.field(tf).query.spec;this.commit=this.commit.bind(this),this.searchField=Oi("input",{value:n.search,placeholder:za(t,"Find"),"aria-label":za(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Oi("input",{value:n.replace,placeholder:za(t,"Replace"),"aria-label":za(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Oi("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=Oi("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=Oi("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function i(r,s,a){return Oi("button",{class:"cm-button",name:r,onclick:s,type:"button"},a)}this.dom=Oi("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>Mk(t),[za(t,"next")]),i("prev",()=>Lk(t),[za(t,"previous")]),i("select",()=>hKe(t),[za(t,"all")]),Oi("label",null,[this.caseField,za(t,"match case")]),Oi("label",null,[this.reField,za(t,"regexp")]),Oi("label",null,[this.wordField,za(t,"by word")]),...t.state.readOnly?[]:[Oi("br"),this.replaceField,i("replace",()=>JF(t),[za(t,"replace")]),i("replaceAll",()=>mKe(t),[za(t,"replace all")])],Oi("button",{name:"close",onclick:()=>ice(t),"aria-label":za(t,"close"),type:"button"},["×"])])}commit(){let t=new Kle({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:px.of(t)}))}keydown(t){vFe(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?Lk:Mk)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),JF(this.view))}update(t){for(let n of t.transactions)for(let i of n.effects)i.is(px)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(L0).top}}function za(e,t){return e.state.phrase(t)}const mv=30,gv=/[\s\.,:;?!]/;function l3(e,{from:t,to:n}){let i=e.state.doc.lineAt(t),r=e.state.doc.lineAt(n).to,s=Math.max(i.from,t-mv),a=Math.min(r,n+mv),o=e.state.sliceDoc(s,a);if(s!=i.from){for(let l=0;lo.length-mv;l--)if(!gv.test(o[l-1])&&gv.test(o[l])){o=o.slice(0,l);break}}return rt.announce.of(`${e.state.phrase("current match")}. ${o} ${e.state.phrase("on line")} ${i.number}.`)}const bKe=rt.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),yKe=[tf,Yu.low(fKe),bKe];class eV{constructor(t,n,i){this.from=t,this.to=n,this.diagnostic=i}}class hh{constructor(t,n,i){this.diagnostics=t,this.panel=n,this.selected=i}static init(t,n,i){let r=i.facet(mx).markerFilter;r&&(t=r(t,i));let s=t.slice().sort((p,m)=>p.from-m.from||p.to-m.to),a=new Pu,o=[],l=0,u=i.doc.iter(),d=0,f=i.doc.length;for(let p=0;;){let m=p==s.length?null:s[p];if(!m&&!o.length)break;let g,y;if(o.length)g=l,y=o.reduce((x,v)=>Math.min(x,v.to),m&&m.from>g?m.from:1e8);else{if(g=m.from,g>f)break;y=m.to,o.push(m),p++}for(;px.from||x.to==g))o.push(x),p++,y=Math.min(x.to,y);else{y=Math.min(x.from,y);break}}y=Math.min(y,f);let b=!1;if(o.some(x=>x.from==g&&(x.to==y||y==f))&&(b=g==y,!b&&y-g<10)){let x=g-(d+u.value.length);x>0&&(u.next(x),d=g);for(let v=g;;){if(v>=y){b=!0;break}if(!u.lineBreak&&d+u.value.length>v)break;v=d+u.value.length,d+=u.value.length,u.next()}}let S=IKe(o);if(b)a.add(g,g,_t.widget({widget:new AKe(S),diagnostics:o.slice()}));else{let x=o.reduce((v,E)=>E.markClass?v+" "+E.markClass:v,"");a.add(g,y,_t.mark({class:"cm-lintRange cm-lintRange-"+S+x,diagnostics:o.slice(),inclusiveEnd:o.some(v=>v.to>y)}))}if(l=y,l==f)break;for(let x=0;x{if(!(t&&a.diagnostics.indexOf(t)<0))if(!i)i=new eV(r,s,t||a.diagnostics[0]);else{if(a.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new eV(i.from,s,i.diagnostic)}}),i}function xKe(e,t){let n=t.pos,i=t.end||n,r=e.state.facet(mx).hideOn(e,n,i);if(r!=null)return r;let s=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(a=>a.is(rce))||e.changes.touchesRange(s.from,Math.max(s.to,i)))}function SKe(e,t){return e.field(no,!1)?t:t.concat(Ht.appendConfig.of(PKe))}const rce=Ht.define(),c3=Ht.define(),sce=Ht.define(),no=_s.define({create(){return new hh(_t.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),i=null,r=e.panel;if(e.selected){let s=t.changes.mapPos(e.selected.from,1);i=vf(n,e.selected.diagnostic,s)||vf(n,null,s)}!n.size&&r&&t.state.facet(mx).autoPanel&&(r=null),e=new hh(n,r,i)}for(let n of t.effects)if(n.is(rce)){let i=t.state.facet(mx).autoPanel?n.value.length?gx.open:null:e.panel;e=hh.init(n.value,i,t.state)}else n.is(c3)?e=new hh(e.diagnostics,n.value?gx.open:null,e.selected):n.is(sce)&&(e=new hh(e.diagnostics,e.panel,n.value));return e},provide:e=>[nx.from(e,t=>t.panel),rt.decorations.from(e,t=>t.diagnostics)]}),vKe=_t.mark({class:"cm-lintRange cm-lintRange-active"});function wKe(e,t,n){let{diagnostics:i}=e.state.field(no),r,s=-1,a=-1;i.between(t-(n<0?1:0),t+(n>0?1:0),(l,u,{spec:d})=>{if(t>=l&&t<=u&&(l==u||(t>l||n>0)&&(toce(e,n,!1)))}const kKe=e=>{let t=e.state.field(no,!1);(!t||!t.panel)&&e.dispatch({effects:SKe(e.state,[c3.of(!0)])});let n=T$(e,gx.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},tV=e=>{let t=e.state.field(no,!1);return!t||!t.panel?!1:(e.dispatch({effects:c3.of(!1)}),!0)},TKe=e=>{let t=e.state.field(no,!1);if(!t)return!1;let n=e.state.selection.main,i=vf(t.diagnostics,null,n.to+1);return!i&&(i=vf(t.diagnostics,null,0),!i||i.from==n.from&&i.to==n.to)?!1:(e.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),dVe(e,i.from,1,{tooltip:lce,until:r=>r.docChanged||r.newSelection.main.headi.to}),!0)},_Ke=[{key:"Mod-Shift-m",run:kKe,preventDefault:!0},{key:"F8",run:TKe}],mx=ht.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Cc(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:nV,tooltipFilter:nV,needsRefresh:(t,n)=>t?n?i=>t(i)||n(i):t:n,hideOn:(t,n)=>t?n?(i,r,s)=>t(i,r,s)||n(i,r,s):t:n,autoPanel:(t,n)=>t||n})}}});function nV(e,t){return e?t?(n,i)=>t(e(n,i),i):e:t}function ace(e){let t=[];if(e)e:for(let{name:n}of e){for(let i=0;is.toLowerCase()==r.toLowerCase())){t.push(r);continue e}}t.push("")}return t}function oce(e,t,n){var i;let r=n?ace(t.actions):[];return Oi("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},Oi("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(i=t.actions)===null||i===void 0?void 0:i.map((s,a)=>{let o=!1,l=p=>{if(p.preventDefault(),o)return;o=!0;let m=vf(e.state.field(no).diagnostics,t);m&&s.apply(e,m.from,m.to)},{name:u}=s,d=r[a]?u.indexOf(r[a]):-1,f=d<0?u:[u.slice(0,d),Oi("u",u.slice(d,d+1)),u.slice(d+1)],h=s.markClass?" "+s.markClass:"";return Oi("button",{type:"button",class:"cm-diagnosticAction"+h,onclick:l,onmousedown:l,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[a]})"`}.`},f)}),t.source&&Oi("div",{class:"cm-diagnosticSource"},t.source))}class AKe extends Cl{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return Oi("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class iV{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=oce(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class gx{constructor(t){this.view=t,this.items=[];let n=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)tV(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],a=ace(s.actions);for(let o=0;o{for(let s=0;stV(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(no).selected;if(!t)return-1;for(let n=0;n{for(let d of u.diagnostics){if(a.has(d))continue;a.add(d);let f=-1,h;for(let p=i;pi&&(this.items.splice(i,f-i),r=!0)),n&&h.diagnostic==n.diagnostic?h.dom.hasAttribute("aria-selected")||(h.dom.setAttribute("aria-selected","true"),s=h):h.dom.hasAttribute("aria-selected")&&h.dom.removeAttribute("aria-selected"),i++}});i({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:l})=>{let u=l.height/this.list.offsetHeight;o.topl.bottom&&(this.list.scrollTop+=(o.bottom-l.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let t=this.list.firstChild;function n(){let i=t;t=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;t!=i.dom;)n();t=i.dom.nextSibling}else this.list.insertBefore(i.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(no),i=vf(n.diagnostics,this.items[t].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:sce.of(i)})}static open(t){return new gx(t)}}function NKe(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}function Ov(e){return NKe(``,'width="6" height="3"')}const CKe=rt.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Ov("#f11")},".cm-lintRange-warning":{backgroundImage:Ov("orange")},".cm-lintRange-info":{backgroundImage:Ov("#999")},".cm-lintRange-hint":{backgroundImage:Ov("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function RKe(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function IKe(e){let t="hint",n=1;for(let i of e){let r=RKe(i.severity);r>n&&(n=r,t=i.severity)}return t}const lce=uVe(wKe,{hideOn:xKe}),PKe=[no,rt.decorations.compute([no],e=>{let{selected:t,panel:n}=e.field(no);return!t||!n||t.from==t.to?_t.none:_t.set([vKe.range(t.from,t.to)])}),lce,CKe];var rV=function(t){t===void 0&&(t={});var n=t,i=n.crosshairCursor,r=i===void 0?!1:i,s=[];t.closeBracketsKeymap!==!1&&(s=s.concat(eqe)),t.defaultKeymap!==!1&&(s=s.concat(FZe)),t.searchKeymap!==!1&&(s=s.concat(gKe)),t.historyKeymap!==!1&&(s=s.concat(WWe)),t.foldKeymap!==!1&&(s=s.concat(HVe)),t.completionKeymap!==!1&&(s=s.concat(Xae)),t.lintKeymap!==!1&&(s=s.concat(_Ke));var a=[];return t.lineNumbers!==!1&&a.push(EVe()),t.highlightActiveLineGutter!==!1&&a.push(_Ve()),t.highlightSpecialChars!==!1&&a.push(QFe()),t.history!==!1&&a.push(UWe()),t.foldGutter!==!1&&a.push(ZVe()),t.drawSelection!==!1&&a.push(AFe()),t.dropCursor!==!1&&a.push(PFe()),t.allowMultipleSelections!==!1&&a.push(Nn.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&a.push(QVe()),t.syntaxHighlighting!==!1&&a.push(Rae(tXe,{fallback:!0})),t.bracketMatching!==!1&&a.push(lXe()),t.closeBrackets!==!1&&a.push(WXe()),t.autocompletion!==!1&&a.push(oqe()),t.rectangularSelection!==!1&&a.push(JFe()),r!==!1&&a.push(nVe()),t.highlightActiveLine!==!1&&a.push(XFe()),t.highlightSelectionMatches!==!1&&a.push(GZe()),t.tabSize&&typeof t.tabSize=="number"&&a.push(P0.of(" ".repeat(t.tabSize))),a.concat([I0.of(s.flat())]).filter(Boolean)};const jKe="#e5c07b",sV="#e06c75",MKe="#56b6c2",LKe="#ffffff",Rw="#abb2bf",nM="#7d8799",DKe="#61afef",$Ke="#98c379",aV="#d19a66",QKe="#c678dd",BKe="#21252b",oV="#2c313a",lV="#282c34",_C="#353a42",UKe="#3E4451",cV="#528bff",zKe=rt.theme({"&":{color:Rw,backgroundColor:lV},".cm-content":{caretColor:cV},".cm-cursor, .cm-dropCursor":{borderLeftColor:cV},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:UKe},".cm-panels":{backgroundColor:BKe,color:Rw},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:lV,color:nM,border:"none"},".cm-activeLineGutter":{backgroundColor:oV},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:_C},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:_C,borderBottomColor:_C},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:oV,color:Rw}}},{dark:!0}),FKe=g1.define([{tag:H.keyword,color:QKe},{tag:[H.name,H.deleted,H.character,H.propertyName,H.macroName],color:sV},{tag:[H.function(H.variableName),H.labelName],color:DKe},{tag:[H.color,H.constant(H.name),H.standard(H.name)],color:aV},{tag:[H.definition(H.name),H.separator],color:Rw},{tag:[H.typeName,H.className,H.number,H.changed,H.annotation,H.modifier,H.self,H.namespace],color:jKe},{tag:[H.operator,H.operatorKeyword,H.url,H.escape,H.regexp,H.link,H.special(H.string)],color:MKe},{tag:[H.meta,H.comment],color:nM},{tag:H.strong,fontWeight:"bold"},{tag:H.emphasis,fontStyle:"italic"},{tag:H.strikethrough,textDecoration:"line-through"},{tag:H.link,color:nM,textDecoration:"underline"},{tag:H.heading,fontWeight:"bold",color:sV},{tag:[H.atom,H.bool,H.special(H.variableName)],color:aV},{tag:[H.processingInstruction,H.string,H.inserted],color:$Ke},{tag:H.invalid,color:LKe}]),VKe=[zKe,Rae(FKe)];var XKe=rt.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),qKe=function(t){t===void 0&&(t={});var n=t,i=n.indentWithTab,r=i===void 0?!0:i,s=n.editable,a=s===void 0?!0:s,o=n.readOnly,l=o===void 0?!1:o,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,h=f===void 0?"":f,p=n.basicSetup,m=p===void 0?!0:p,g=[];switch(r&&g.unshift(I0.of([VZe])),m&&(typeof m=="boolean"?g.unshift(rV()):g.unshift(rV(m))),h&&g.unshift(GFe(h)),d){case"light":g.push(XKe);break;case"dark":g.push(VKe);break;case"none":break;default:g.push(d);break}return a===!1&&g.push(rt.editable.of(!1)),l&&g.push(Nn.readOnly.of(!0)),[...g]},HKe=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class YKe{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(i){console.error("TimeoutLatch callback error:",i)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class uV{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var AC=null,GKe=()=>typeof window>"u"?new uV:(AC||(AC=new uV),AC),WKe=rt.theme({"& .cm-scroller":{height:"100% !important"}}),dV=null,NC=null;function ZKe(e,t,n,i,r,s){if(!e&&!t&&!n&&!i&&!r&&!s)return null;var a=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:i,minWidth:r,maxWidth:s});return a===dV||(dV=a,NC=rt.theme({"&":{height:e,minHeight:t,maxHeight:n,width:i,minWidth:r,maxWidth:s}})),NC}var fV=Nc.define(),KKe=200,JKe=[];function eJe(e){var t=e.value,n=e.selection,i=e.onChange,r=e.onStatistics,s=e.onCreateEditor,a=e.onUpdate,o=e.extensions,l=o===void 0?JKe:o,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,h=e.height,p=h===void 0?null:h,m=e.minHeight,g=m===void 0?null:m,y=e.maxHeight,b=y===void 0?null:y,S=e.width,x=S===void 0?null:S,v=e.minWidth,E=v===void 0?null:v,w=e.maxWidth,k=w===void 0?null:w,_=e.placeholder,C=_===void 0?"":_,A=e.editable,R=A===void 0?!0:A,j=e.readOnly,Q=j===void 0?!1:j,L=e.indentWithTab,D=L===void 0?!0:L,N=e.basicSetup,M=N===void 0?!0:N,B=e.root,$=e.initialState,I=O.useState(),G=I[0],X=I[1],U=O.useState(),Y=U[0],ae=U[1],fe=O.useState(),ke=fe[0],K=fe[1],ie=O.useState(()=>({current:null}))[0],le=O.useState(()=>({current:null}))[0],ge=ZKe(p,g,b,x,E,k),Ee=rt.updateListener.of(he=>{if(he.docChanged&&typeof i=="function"&&!he.transactions.some(me=>me.annotation(fV))){ie.current?ie.current.reset():(ie.current=new YKe(()=>{if(le.current){var me=le.current;le.current=null,me()}ie.current=null},KKe),GKe().add(ie.current));var te=he.state.doc,Te=te.toString();i(Te,he)}r&&r(HKe(he))}),Ce=qKe({theme:f,editable:R,readOnly:Q,placeholder:C,indentWithTab:D,basicSetup:M}),_e=[Ee,...ge?[ge]:[],WKe,...Ce];return a&&typeof a=="function"&&_e.push(rt.updateListener.of(a)),_e=_e.concat(l),O.useLayoutEffect(()=>{if(G&&!ke){var he={doc:t,selection:n,extensions:_e},te=$?Nn.fromJSON($.json,he,$.fields):Nn.create(he);if(K(te),!Y){var Te=new rt({state:te,parent:G,root:B});ae(Te),s&&s(Te,te)}}return()=>{Y&&(K(void 0),ae(void 0))}},[G,ke]),O.useEffect(()=>{e.container&&X(e.container)},[e.container]),O.useEffect(()=>()=>{Y&&(Y.destroy(),ae(void 0)),ie.current&&(ie.current.cancel(),ie.current=null)},[Y]),O.useEffect(()=>{u&&Y&&Y.focus()},[u,Y]),O.useEffect(()=>{Y&&Y.dispatch({effects:Ht.reconfigure.of(_e)})},[f,l,p,g,b,x,E,k,C,R,Q,D,M,i,a]),O.useEffect(()=>{if(t!==void 0){var he=Y?Y.state.doc.toString():"";if(Y&&t!==he){var te=ie.current&&!ie.current.isDone,Te=()=>{Y&&t!==Y.state.doc.toString()&&Y.dispatch({changes:{from:0,to:Y.state.doc.toString().length,insert:t||""},annotations:[fV.of(!0)]})};te?le.current=Te:Te()}}},[t,Y]),{state:ke,setState:K,view:Y,setView:ae,container:G,setContainer:X}}var tJe=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],cce=O.forwardRef((e,t)=>{var n=e.className,i=e.value,r=i===void 0?"":i,s=e.selection,a=e.extensions,o=a===void 0?[]:a,l=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,h=e.autoFocus,p=e.theme,m=p===void 0?"light":p,g=e.height,y=e.minHeight,b=e.maxHeight,S=e.width,x=e.minWidth,v=e.maxWidth,E=e.basicSetup,w=e.placeholder,k=e.indentWithTab,_=e.editable,C=e.readOnly,A=e.root,R=e.initialState,j=RWe(e,tJe),Q=O.useRef(null),L=eJe({root:A,value:r,autoFocus:h,theme:m,height:g,minHeight:y,maxHeight:b,width:S,minWidth:x,maxWidth:v,basicSetup:E,placeholder:w,indentWithTab:k,editable:_,readOnly:C,selection:s,onChange:l,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:o,initialState:R}),D=L.state,N=L.view,M=L.container,B=L.setContainer;O.useImperativeHandle(t,()=>({editor:Q.current,state:D,view:N}),[Q,M,D,N]);var $=O.useCallback(G=>{Q.current=G,B(G)},[B]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var I=typeof m=="string"?"cm-theme-"+m:"cm-theme";return c.jsx("div",Wj({ref:$,className:""+I+(n?" "+n:"")},j))});cce.displayName="CodeMirror";function nJe(e){const t=e.toLowerCase(),n=t.split("/").pop()??t,i=n.includes(".")?n.split(".").pop():"";return i==="py"||i==="pyi"?[eWe()]:["ts","tsx","mts","cts"].includes(i??"")?[Dj({typescript:!0,jsx:i==="tsx"})]:["js","jsx","mjs","cjs"].includes(i??"")?[Dj({jsx:i==="jsx"})]:i==="json"||i==="jsonc"?[xqe()]:i==="yaml"||i==="yml"?[CWe()]:["md","markdown"].includes(i??"")?[jYe()]:[]}function uce({value:e,path:t,onChange:n,readOnly:i=!1}){const r=O.useMemo(()=>nJe(t),[t]);return c.jsx(cce,{value:e,height:"100%",theme:"light",extensions:r,editable:!i,onChange:n,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!0,highlightActiveLineGutter:!0,autocompletion:!1}})}const dce=Object.freeze(Object.defineProperty({__proto__:null,default:uce},Symbol.toStringTag,{value:"Module"}));function iJe(e){var s;const t=e.split(/\r?\n/);if(((s=t[0])==null?void 0:s.trim())!=="---")return{body:e,frontmatter:[]};const n=t.findIndex((a,o)=>o>0&&a.trim()==="---");if(n<0)return{body:e,frontmatter:[]};const i=cUe(t.slice(1,n).join(` `));if(i.errors.length>0)return{body:e,frontmatter:[]};const r=i.toJS();return!r||typeof r!="object"||Array.isArray(r)?{body:e,frontmatter:[]}:{body:t.slice(n+1).join(` -`).replace(/^\s*\n/,""),frontmatter:Object.entries(r).map(([a,o])=>({key:a,value:typeof o=="string"?o:Lre(o).trim()}))}}function nJe(){return c.jsx("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"M2.75 5.5h5l1.5 1.75h8v7.25a1.75 1.75 0 0 1-1.75 1.75h-11a1.75 1.75 0 0 1-1.75-1.75v-9Z"})})}function iJe(){return c.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[c.jsx("path",{d:"M5 2.75h6l4 4v10.5H5z"}),c.jsx("path",{d:"M11 2.75v4h4"})]})}function rJe(e){const t={children:[]};for(const i of e){let r=t;const s=i.path.split("/").filter(Boolean);s.forEach((a,o)=>{let l=r.children.find(u=>u.name===a);if(!l){const u=s.slice(0,o+1).join("/");l={name:a,path:u,children:[]},r.children.push(l)}o===s.length-1&&(l.file=i),r=l})}const n=i=>{i.sort((r,s)=>+!!r.file-+!!s.file||r.name.localeCompare(s.name)),i.forEach(r=>n(r.children))};return n(t.children),t.children}function uce({nodes:e,depth:t,activePath:n,onSelect:i}){return e.map(r=>c.jsxs("div",{children:[r.file?c.jsxs("button",{type:"button",className:`skill-file-tree__row${r.path===n?" is-active":""}`,style:{paddingLeft:`${12+t*16}px`},onClick:()=>i(r.file),title:r.path,children:[c.jsx(iJe,{}),c.jsx("span",{children:r.name}),c.jsxs("small",{children:[r.file.size.toLocaleString()," B"]})]}):c.jsxs("div",{className:"skill-file-tree__row is-folder",style:{paddingLeft:`${12+t*16}px`},title:r.path,children:[c.jsx(nJe,{}),c.jsx("span",{children:r.name})]}),r.children.length>0?c.jsx(uce,{nodes:r.children,depth:t+1,activePath:n,onSelect:i}):null]},r.path))}function sJe(e){if(e.content===void 0)return;if(e.content.startsWith("data:")){const i=document.createElement("a");i.href=e.content,i.download=e.path.split("/").pop()||"skill-file",i.click();return}const t=URL.createObjectURL(new Blob([e.content])),n=document.createElement("a");n.href=t,n.download=e.path.split("/").pop()||"skill-file",n.click(),URL.revokeObjectURL(t)}function dce({files:e}){var f;const t=O.useMemo(()=>rJe(e),[e]),[n,i]=O.useState(((f=e[0])==null?void 0:f.path)||""),[r,s]=O.useState("preview"),a=e.find(h=>h.path===n)||e[0],o=(a==null?void 0:a.path.toLowerCase())||"",l=o.endsWith(".md")||o.endsWith(".markdown"),u=/\.(png|jpe?g|gif|webp|svg)$/.test(o),d=O.useMemo(()=>tJe(l&&(a==null?void 0:a.content)!==void 0?a.content:""),[a==null?void 0:a.content,l]);return c.jsxs("div",{className:"skill-file-browser",children:[c.jsx("aside",{className:"skill-file-tree","aria-label":"Skill 文件树",children:c.jsx(uce,{nodes:t,depth:0,activePath:(a==null?void 0:a.path)||"",onSelect:h=>i(h.path)})}),c.jsx("section",{className:"skill-file-preview",children:a?c.jsxs(c.Fragment,{children:[c.jsxs("header",{children:[c.jsx("span",{title:a.path,children:a.path}),c.jsxs("div",{children:[l?c.jsx("button",{type:"button",onClick:()=>s(h=>h==="preview"?"source":"preview"),children:r==="preview"?"查看源码":"查看预览"}):null,c.jsx("button",{type:"button",disabled:a.content===void 0,onClick:()=>sJe(a),children:"下载"})]})]}),c.jsx("div",{className:"skill-file-preview__body",children:a.kind==="binary"||a.content===void 0?c.jsxs("div",{className:"skill-file-preview__binary",children:[c.jsx("strong",{children:"二进制文件"}),c.jsxs("span",{children:[a.size.toLocaleString()," 字节"]}),c.jsx("span",{children:"当前接口仅返回文件元数据,可单独下载原文件。"})]}):u?c.jsx("img",{src:a.content.startsWith("data:")?a.content:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(a.content)}`,alt:a.path}):l&&r==="preview"?c.jsxs("div",{className:"skill-file-preview__markdown",children:[d.frontmatter.length>0?c.jsx("dl",{className:"skill-file-preview__frontmatter","aria-label":"Skill 元数据",children:d.frontmatter.map(h=>c.jsxs("div",{children:[c.jsx("dt",{children:h.key}),c.jsx("dd",{children:h.value})]},h.key))}):null,c.jsx(i1,{text:d.body,allowRawHtml:!1,className:"skill-file-preview__markdown-body"})]}):c.jsx(lce,{value:a.content,path:a.path,readOnly:!0,onChange:()=>{}})})]}):c.jsx("div",{className:"skill-file-preview__binary",children:"暂无文件"})})]})}const aJe=1200,oJe=3,fce=2,lJe=/SKILL\.md|frontmatter|Skill name|description|根目录|目录名|UTF-8|文本文件|文件数|符号链接|敏感凭证/i,hce={concise:"简洁实用",strict:"严谨稳健",tutorial:"教程友好",automation:"自动化优先"},cJe=[...Object.entries(hce).map(([e,t])=>({value:e,label:t})),{value:"custom",label:"自定义"}];function hV(e,t){var n;return{id:`group-${Date.now()}-${e}`,model:((n=t.models[e%Math.max(1,t.models.length)])==null?void 0:n.id)||"",style:"concise",customStyle:""}}function uJe(e){return e?e.state==="ready"?"Skill 已生成并通过格式校验":e.state==="failed"?"生成失败":e.state==="cancelled"?"已停止":e.stage==="validating"?"正在校验 Skill 格式":e.stage==="packaging"?"正在整理文件":"正在生成 Skill":"正在准备 Dev Sandbox"}function CC(e){var t;return e.state==="failed"&&((t=e.validation)==null?void 0:t.valid)===!1&&e.validation.errors.some(n=>lJe.test(n))}function pV(e){var n;return["只修复下面列出的 Skill 格式错误,不要改变原有用途和内容范围。","修复后重新检查目录结构、SKILL.md frontmatter 和所有文本文件。",(((n=e.validation)==null?void 0:n.errors.join(` +`).replace(/^\s*\n/,""),frontmatter:Object.entries(r).map(([a,o])=>({key:a,value:typeof o=="string"?o:$re(o).trim()}))}}function rJe(){return c.jsx("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"M2.75 5.5h5l1.5 1.75h8v7.25a1.75 1.75 0 0 1-1.75 1.75h-11a1.75 1.75 0 0 1-1.75-1.75v-9Z"})})}function sJe(){return c.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[c.jsx("path",{d:"M5 2.75h6l4 4v10.5H5z"}),c.jsx("path",{d:"M11 2.75v4h4"})]})}function aJe(e){const t={children:[]};for(const i of e){let r=t;const s=i.path.split("/").filter(Boolean);s.forEach((a,o)=>{let l=r.children.find(u=>u.name===a);if(!l){const u=s.slice(0,o+1).join("/");l={name:a,path:u,children:[]},r.children.push(l)}o===s.length-1&&(l.file=i),r=l})}const n=i=>{i.sort((r,s)=>+!!r.file-+!!s.file||r.name.localeCompare(s.name)),i.forEach(r=>n(r.children))};return n(t.children),t.children}function fce({nodes:e,depth:t,activePath:n,onSelect:i}){return e.map(r=>c.jsxs("div",{children:[r.file?c.jsxs("button",{type:"button",className:`skill-file-tree__row${r.path===n?" is-active":""}`,style:{paddingLeft:`${12+t*16}px`},onClick:()=>i(r.file),title:r.path,children:[c.jsx(sJe,{}),c.jsx("span",{children:r.name}),c.jsxs("small",{children:[r.file.size.toLocaleString()," B"]})]}):c.jsxs("div",{className:"skill-file-tree__row is-folder",style:{paddingLeft:`${12+t*16}px`},title:r.path,children:[c.jsx(rJe,{}),c.jsx("span",{children:r.name})]}),r.children.length>0?c.jsx(fce,{nodes:r.children,depth:t+1,activePath:n,onSelect:i}):null]},r.path))}function oJe(e){if(e.content===void 0)return;if(e.content.startsWith("data:")){const i=document.createElement("a");i.href=e.content,i.download=e.path.split("/").pop()||"skill-file",i.click();return}const t=URL.createObjectURL(new Blob([e.content])),n=document.createElement("a");n.href=t,n.download=e.path.split("/").pop()||"skill-file",n.click(),URL.revokeObjectURL(t)}function hce({files:e}){var f;const t=O.useMemo(()=>aJe(e),[e]),[n,i]=O.useState(((f=e[0])==null?void 0:f.path)||""),[r,s]=O.useState("preview"),a=e.find(h=>h.path===n)||e[0],o=(a==null?void 0:a.path.toLowerCase())||"",l=o.endsWith(".md")||o.endsWith(".markdown"),u=/\.(png|jpe?g|gif|webp|svg)$/.test(o),d=O.useMemo(()=>iJe(l&&(a==null?void 0:a.content)!==void 0?a.content:""),[a==null?void 0:a.content,l]);return c.jsxs("div",{className:"skill-file-browser",children:[c.jsx("aside",{className:"skill-file-tree","aria-label":"Skill 文件树",children:c.jsx(fce,{nodes:t,depth:0,activePath:(a==null?void 0:a.path)||"",onSelect:h=>i(h.path)})}),c.jsx("section",{className:"skill-file-preview",children:a?c.jsxs(c.Fragment,{children:[c.jsxs("header",{children:[c.jsx("span",{title:a.path,children:a.path}),c.jsxs("div",{children:[l?c.jsx("button",{type:"button",onClick:()=>s(h=>h==="preview"?"source":"preview"),children:r==="preview"?"查看源码":"查看预览"}):null,c.jsx("button",{type:"button",disabled:a.content===void 0,onClick:()=>oJe(a),children:"下载"})]})]}),c.jsx("div",{className:"skill-file-preview__body",children:a.kind==="binary"||a.content===void 0?c.jsxs("div",{className:"skill-file-preview__binary",children:[c.jsx("strong",{children:"二进制文件"}),c.jsxs("span",{children:[a.size.toLocaleString()," 字节"]}),c.jsx("span",{children:"当前接口仅返回文件元数据,可单独下载原文件。"})]}):u?c.jsx("img",{src:a.content.startsWith("data:")?a.content:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(a.content)}`,alt:a.path}):l&&r==="preview"?c.jsxs("div",{className:"skill-file-preview__markdown",children:[d.frontmatter.length>0?c.jsx("dl",{className:"skill-file-preview__frontmatter","aria-label":"Skill 元数据",children:d.frontmatter.map(h=>c.jsxs("div",{children:[c.jsx("dt",{children:h.key}),c.jsx("dd",{children:h.value})]},h.key))}):null,c.jsx(i1,{text:d.body,allowRawHtml:!1,className:"skill-file-preview__markdown-body"})]}):c.jsx(uce,{value:a.content,path:a.path,readOnly:!0,onChange:()=>{}})})]}):c.jsx("div",{className:"skill-file-preview__binary",children:"暂无文件"})})]})}const lJe=1200,cJe=3,pce=2,uJe=/SKILL\.md|frontmatter|Skill name|description|根目录|目录名|UTF-8|文本文件|文件数|符号链接|敏感凭证/i,mce={concise:"简洁实用",strict:"严谨稳健",tutorial:"教程友好",automation:"自动化优先"},dJe=[...Object.entries(mce).map(([e,t])=>({value:e,label:t})),{value:"custom",label:"自定义"}];function hV(e,t){var n;return{id:`group-${Date.now()}-${e}`,model:((n=t.models[e%Math.max(1,t.models.length)])==null?void 0:n.id)||"",style:"concise",customStyle:""}}function fJe(e){return e?e.state==="ready"?"Skill 已生成并通过格式校验":e.state==="failed"?"生成失败":e.state==="cancelled"?"已停止":e.stage==="validating"?"正在校验 Skill 格式":e.stage==="packaging"?"正在整理文件":"正在生成 Skill":"正在准备 Dev Sandbox"}function CC(e){var t;return e.state==="failed"&&((t=e.validation)==null?void 0:t.valid)===!1&&e.validation.errors.some(n=>uJe.test(n))}function pV(e){var n;return["只修复下面列出的 Skill 格式错误,不要改变原有用途和内容范围。","修复后重新检查目录结构、SKILL.md frontmatter 和所有文本文件。",(((n=e.validation)==null?void 0:n.errors.join(` `))||e.error||"Skill 格式校验未通过").slice(0,2e3)].join(` -`)}function dJe(e){var t;return e.repairing||((t=e.task)==null?void 0:t.state)==="running"&&e.repairMode?e.repairMode==="manual"?"正在再次修复":`正在自动修复(${Math.max(1,e.repairAttempts||1)}/${fce})`:uJe(e.task)}function mV(){return c.jsxs("svg",{className:"skill-generation__spinner",viewBox:"0 0 20 20","aria-hidden":"true",children:[c.jsx("circle",{cx:"10",cy:"10",r:"7"}),c.jsx("path",{d:"M10 3a7 7 0 0 1 7 7"})]})}function fJe(e,t=Date.now()){if(!(e!=null&&e.expiresAt))return"Session 最长保留 1 小时";const n=Math.max(0,new Date(e.expiresAt).getTime()-t),i=Math.floor(n/6e4),r=Math.floor(n%6e4/1e3);return`剩余 ${i}:${String(r).padStart(2,"0")}`}function hJe(e){return e?e.length>64?"Skill 名称不能超过 64 个字符":/^[a-z0-9-]+$/.test(e)?"":"Skill 名称只能包含小写字母、数字和连字符":""}function gV(e){return e?e.length>128?"模型 ID 不能超过 128 个字符":/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/.test(e)?"":"模型 ID 只能包含字母、数字、点、下划线、连字符、斜杠和冒号":""}function RC(e){return`${e.region||""}:${e.id}`}function pJe(){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function mJe({operation:e,cloudProvider:t,space:n,availableSpaces:i=[],spacesLoading:r=!1,initialIntent:s="",source:a,onBack:o,onPublished:l}){var q,oe,de,Ie;const[u,d]=O.useState(null),[f,h]=O.useState(null),[p,m]=O.useState(s),[g,y]=O.useState(""),[b,S]=O.useState([]),[x,v]=O.useState([]),[E,w]=O.useState(""),[k,_]=O.useState(!1),[C,A]=O.useState(""),[R,j]=O.useState(""),[Q,L]=O.useState(null),[D,N]=O.useState(""),[M,B]=O.useState(""),[$,I]=O.useState(n?RC(n):""),[G,X]=O.useState(Date.now()),U=O.useRef([]);O.useEffect(()=>{const ce=new AbortController;return ZT(ce.signal).then(Me=>{d(Me),S([hV(0,Me)])}).catch(Me=>{ce.signal.aborted||h(ss(Me,"读取 Dev Sandbox 配置失败"))}),()=>ce.abort()},[]),O.useEffect(()=>{U.current=x},[x]),O.useEffect(()=>{const ce=window.setInterval(()=>X(Date.now()),1e3);return()=>window.clearInterval(ce)},[]),O.useEffect(()=>{const ce=Me=>{U.current.some(Ye=>{var dt;return((dt=Ye.task)==null?void 0:dt.state)==="running"||Ye.repairing})&&Me.preventDefault()};return window.addEventListener("beforeunload",ce),()=>{var Me;window.removeEventListener("beforeunload",ce);for(const Ye of U.current)(Me=Ye.task)!=null&&Me.jobId&&BIe(Ye.task.jobId).catch(()=>{})}},[]),O.useEffect(()=>{if(!x.some(dt=>{var Gt;return((Gt=dt.task)==null?void 0:Gt.state)==="running"||dt.repairing}))return;let ce=!1,Me;const Ye=async()=>{const dt=U.current,Gt=await Promise.all(dt.map(async Ct=>{var Dt;if(((Dt=Ct.task)==null?void 0:Dt.state)!=="running")return Ct;try{const vt=await DIe(Ct.task.jobId);if(CC(vt)&&(Ct.repairAttempts||0)ft.map(Rt=>Rt.id===Ct.id?{...Rt,task:vt,repairing:!0,repairMode:"auto",repairAttempts:gt,repairError:void 0}:Rt));try{const ft=await r2({jobId:vt.jobId,intent:pV(vt),expectedRevision:vt.revision});return{...Ct,task:ft,artifact:void 0,repairing:!1,repairMode:"auto",repairAttempts:gt,repairError:void 0,error:void 0,pollError:void 0}}catch(ft){return{...Ct,task:vt,repairing:!1,repairMode:void 0,repairAttempts:gt,repairError:ss(ft,"自动修复格式错误失败"),pollError:void 0}}}let Wt=Ct.artifact;return vt.state==="ready"&&(Wt=await i2(vt.jobId,vt.revision)),{...Ct,task:vt,artifact:Wt,repairing:!1,repairMode:vt.state==="running"?Ct.repairMode:void 0,repairError:void 0,error:void 0,pollError:void 0}}catch(vt){return{...Ct,pollError:ss(vt,"读取候选方案状态失败,正在重试")}}}));ce||(v(Gt),Me=window.setTimeout(()=>void Ye(),aJe))};return Ye(),()=>{ce=!0,Me!==void 0&&window.clearTimeout(Me)}},[x.some(ce=>{var Me;return((Me=ce.task)==null?void 0:Me.state)==="running"||ce.repairing})]);const Y=x.find(ce=>ce.id===E)||x[0],ae=e==="create"&&!n,fe=i.find(ce=>RC(ce)===$)??null,ke=n??fe,K=i.map(ce=>({value:RC(ce),label:`${ce.name.trim()||"未命名 Skill Space"} · ${ff(ce.region||"cn-beijing",t)}`})),ie=hJe(g),le=!!(u!=null&&u.enabled&&p.trim()&&!ie&&b.length>0&&b.every(ce=>ce.model.trim()&&!gV(ce.model.trim()))),ge=(ce,Me)=>{S(Ye=>Ye.map(dt=>dt.id===ce?{...dt,...Me}:dt))},Ee=async ce=>{const Me={...ce,model:ce.model.trim()},Ye=ce.style==="custom"?ce.customStyle.trim():ce.style;try{const dt=await LIe({operation:e,intent:p.trim(),model:Me.model,style:Ye,name:g.trim()||void 0,source:a});return{id:ce.id,config:Me,task:dt}}catch(dt){return{id:ce.id,config:Me,error:ss(dt,"创建候选方案失败")}}},Ce=async()=>{if(!le)return;_(!0),L(null);const ce=b.map(Ye=>({id:Ye.id,config:Ye}));v(ce),w(b[0].id);const Me=await Promise.all(b.map(Ee));v(Me)},_e=async ce=>{v(Ye=>Ye.map(dt=>dt.id===ce.id?{...dt,error:void 0}:dt));const Me=await Ee(ce.config);v(Ye=>Ye.map(dt=>dt.id===ce.id?Me:dt))},he=async()=>{if(!(!(Y!=null&&Y.task)||!C.trim()||Y.task.state!=="ready")){j("refine"),L(null);try{const ce=await r2({jobId:Y.task.jobId,intent:C.trim(),expectedRevision:Y.task.revision});v(Me=>Me.map(Ye=>Ye.id===Y.id?{...Ye,task:ce,artifact:void 0}:Ye)),A("")}catch(ce){L(ss(ce,"继续调整失败"))}finally{j("")}}},te=async()=>{if(!(!(Y!=null&&Y.task)||!CC(Y.task))){j("refine"),L(null),v(ce=>ce.map(Me=>Me.id===Y.id?{...Me,repairing:!0,repairMode:"manual",repairError:void 0}:Me));try{const ce=await r2({jobId:Y.task.jobId,intent:pV(Y.task),expectedRevision:Y.task.revision});v(Me=>Me.map(Ye=>Ye.id===Y.id?{...Ye,task:ce,artifact:void 0,repairing:!1,repairMode:"manual",repairError:void 0}:Ye))}catch(ce){v(Me=>Me.map(Ye=>Ye.id===Y.id?{...Ye,repairing:!1,repairMode:void 0,repairError:ss(ce,"再次修复格式错误失败")}:Ye))}finally{j("")}}},Te=async()=>{if(!(!(Y!=null&&Y.task)||Y.task.state!=="ready"||M)){j("publish"),L(null);try{if(!ke)throw new Error("请选择上传的 Skill Space");const ce=Y.artifact||await i2(Y.task.jobId,Y.task.revision),Me=(a==null?void 0:a.region)||ke.region||"";if(!SD(Me))throw new Error("当前 Skill 地域不受支持");await QIe({jobId:Y.task.jobId,expectedRevision:Y.task.revision,expectedArtifactSha256:ce.sha256,disposition:e==="optimize"?"update-source":"create-new",skillSpaceIds:[ke.id],projectName:(a==null?void 0:a.projectName)||ke.projectName,region:Me,onProgress:Ye=>N(Ye.message)}),B(Y.id),l()}catch(ce){L(ss(ce,"上传 Skill 失败"))}finally{j(""),N("")}}},me=async()=>{if(!(!(Y!=null&&Y.task)||Y.task.state!=="ready")){j("download");try{const ce=Y.artifact||await i2(Y.task.jobId,Y.task.revision);await UIe(Y.task.jobId,Y.task.revision,ce.sha256)}catch(ce){L(ss(ce,"下载失败"))}finally{j("")}}},Be=async()=>{x.some(ce=>{var Me;return((Me=ce.task)==null?void 0:Me.state)==="running"})&&!window.confirm("离开后将停止并释放正在运行的 Dev Sandbox,确定离开吗?")||(await Promise.allSettled(x.flatMap(ce=>{var Me;return((Me=ce.task)==null?void 0:Me.state)==="running"?[$Ie({jobId:ce.task.jobId,expectedRevision:ce.task.revision})]:[]})),o())},je=e==="create"?"创建技能":`优化 ${(a==null?void 0:a.name)||"技能"}`,Ue=ce=>{var Me;return((Me=u==null?void 0:u.models.find(Ye=>Ye.id===ce))==null?void 0:Me.label)||ce},st=ce=>ce.config.style==="custom"?ce.config.customStyle.trim()||"自定义风格":hce[ce.config.style],ct=ce=>ce.error||ce.repairError?"失败":dJe(ce),Tt=ce=>!ce.error&&!ce.repairError&&(ce.repairing||!ce.task||ce.task.state==="running"),at=x.some(ce=>{var Me;return((Me=ce.task)==null?void 0:Me.state)==="ready"});return c.jsxs("section",{className:"skill-generation",children:[c.jsxs("header",{className:"skill-generation__header",children:[c.jsx("button",{type:"button",className:"skillcenter-back",onClick:()=>void Be(),"aria-label":"返回技能空间",children:c.jsx(pJe,{})}),c.jsxs("div",{children:[c.jsx("h1",{children:je}),c.jsx("p",{children:(n==null?void 0:n.name)||"主页技能生成"})]}),x.length>0?c.jsx("span",{className:"skill-generation__ttl",children:fJe(Y==null?void 0:Y.task,G)}):null]}),k?c.jsxs("div",{className:"skill-generation__workspace",children:[c.jsx("div",{className:"skill-generation__candidate-tabs",role:"tablist","aria-label":"候选方案",children:x.map(ce=>c.jsxs("button",{type:"button",role:"tab","aria-selected":(Y==null?void 0:Y.id)===ce.id,className:(Y==null?void 0:Y.id)===ce.id?"is-active":"",onClick:()=>w(ce.id),children:[c.jsxs("span",{className:"skill-generation__summary-row",children:[c.jsx("span",{children:"风格"}),c.jsx("strong",{children:st(ce)})]}),c.jsxs("span",{className:"skill-generation__summary-row",children:[c.jsx("span",{children:"模型"}),c.jsx("strong",{children:Ue(ce.config.model)})]}),c.jsxs("span",{className:"skill-generation__summary-row",children:[c.jsx("span",{children:"进度"}),c.jsxs("strong",{children:[Tt(ce)?c.jsx(mV,{}):null,ct(ce)]})]})]},ce.id))}),Y?c.jsxs("div",{className:"skill-generation__candidate",children:[c.jsxs("section",{className:"skill-generation__activity",children:[c.jsx("header",{children:c.jsxs("div",{className:"skill-generation__candidate-summary",children:[c.jsxs("div",{className:"skill-generation__summary-row",children:[c.jsx("span",{children:"风格"}),c.jsx("strong",{children:st(Y)})]}),c.jsxs("div",{className:"skill-generation__summary-row",children:[c.jsx("span",{children:"模型"}),c.jsx("strong",{children:Ue(Y.config.model)})]}),c.jsxs("div",{className:"skill-generation__summary-row","aria-live":"polite",children:[c.jsx("span",{children:"进度"}),c.jsxs("strong",{children:[Tt(Y)?c.jsx(mV,{}):null,Tt(Y)?c.jsx(hs,{children:ct(Y)}):ct(Y)]})]})]})}),Y.task?c.jsx(W8e,{activities:Y.task.activities}):null,Y.pollError?c.jsx("div",{className:"skill-inline-notice",children:c.jsx(eo,{error:Y.pollError})}):null,Y.repairError?c.jsx("div",{className:"skill-inline-notice",children:c.jsx(eo,{error:Y.repairError})}):null,Y.error?c.jsxs("div",{className:"skill-inline-error",children:[c.jsx(eo,{error:Y.error}),c.jsx("button",{type:"button",onClick:()=>void _e(Y),children:"重试此方案"})]}):null,(q=Y.task)!=null&&q.validation&&!Y.task.validation.valid&&!Y.repairing&&Y.task.state==="failed"?c.jsxs("div",{className:"skill-validation-errors",children:[c.jsx("strong",{children:"格式校验未通过"}),Y.task.validation.errors.map(ce=>c.jsx("p",{children:ce},ce)),CC(Y.task)?c.jsx("button",{type:"button",disabled:!!R,onClick:()=>void te(),children:"再次修复"}):null]}):null]}),c.jsxs("section",{className:"skill-generation__files",children:[c.jsxs("header",{children:[c.jsx("h2",{children:"文件"}),((oe=Y.task)==null?void 0:oe.state)==="ready"?c.jsx("button",{type:"button",onClick:()=>void me(),disabled:!!R,children:"下载 ZIP"}):null]}),Y.artifact?c.jsx(dce,{files:Y.artifact.files}):c.jsx("div",{className:"skill-generation__files-empty",children:((de=Y.task)==null?void 0:de.state)==="ready"?"正在读取文件…":"生成过程中会在这里显示完整文件树"})]}),((Ie=Y.task)==null?void 0:Ie.state)==="ready"?c.jsxs("div",{className:"skill-generation__ready-actions",children:[ae?c.jsx("div",{className:"skill-generation__publish-target",children:c.jsx(k2,{label:"上传到 Skill Space",value:$,options:K,onChange:I,disabled:r,placeholder:r?"正在加载 Skill Space":"选择 Skill Space"})}):null,c.jsxs("footer",{className:"skill-generation__followup",children:[c.jsx("textarea",{value:C,onChange:ce=>A(ce.target.value),placeholder:"继续调整这个候选方案"}),c.jsx("button",{type:"button",className:"skill-button",disabled:!C.trim()||!!R,onClick:()=>void he(),children:"继续调整"}),c.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!!R||!!M||!ke,onClick:()=>void Te(),children:R==="publish"?D||"上传中…":e==="optimize"?"覆盖原 Skill":ae?"上传到 Skill Space":"上传到当前空间"})]})]}):null,Q?c.jsx("div",{className:"skill-inline-error skill-generation__action-error",children:c.jsx(eo,{error:Q})}):null]}):null,!at&&x.every(ce=>ce.error)?c.jsx("div",{className:"skill-inline-error",children:"所有方案均创建失败,可分别重试。"}):null]}):c.jsxs("div",{className:"skill-generation__setup",children:[c.jsx("div",{className:"skill-generation__section-head is-basic",children:c.jsx("div",{children:c.jsx("strong",{children:"基本信息"})})}),c.jsxs("label",{children:[c.jsxs("span",{children:["目标",c.jsx("span",{className:"skill-required-mark","aria-hidden":"true",children:"*"})]}),c.jsx("textarea",{required:!0,value:p,onChange:ce=>m(ce.target.value),placeholder:e==="create"?"描述希望这个 Skill 完成什么任务":"描述希望如何优化当前 Skill"})]}),c.jsxs("label",{children:[c.jsx("span",{children:"Skill 名称"}),c.jsx("input",{value:g,onChange:ce=>y(ce.target.value),placeholder:"留空时自动生成","aria-invalid":!!ie,"aria-describedby":"skill-name-help"}),ie?c.jsx("span",{id:"skill-name-help",className:"skill-generation__field-error",role:"alert",children:ie}):c.jsx("span",{id:"skill-name-help",className:"skill-generation__field-help",children:"仅支持小写字母、数字和连字符;留空时自动生成。"})]}),c.jsx("div",{className:"skill-generation__section-head",children:c.jsxs("div",{children:[c.jsx("strong",{children:e==="create"?"生成方案":"优化方案"}),c.jsx("span",{children:e==="create"?"按不同方案并行生成多个技能,您可以选择最佳结果":"按不同方案并行优化当前技能,您可以选择最佳结果"})]})}),c.jsxs("div",{className:"skill-generation__groups",children:[b.map((ce,Me)=>c.jsxs("article",{className:"skill-generation__group",children:[c.jsxs("header",{children:[c.jsxs("strong",{children:["方案 ",Me+1]}),b.length>1?c.jsx("button",{type:"button",onClick:()=>S(Ye=>Ye.filter(dt=>dt.id!==ce.id)),children:"移除"}):null]}),c.jsx(k2,{label:"模型",required:!0,value:ce.model,options:(u==null?void 0:u.models.map(Ye=>({value:Ye.id,label:Ye.label})))||[],onChange:Ye=>ge(ce.id,{model:Ye}),allowCustom:!0,placeholder:"选择或输入模型 ID",error:gV(ce.model.trim())}),c.jsx(k2,{label:"风格",required:!0,value:ce.style,options:cJe,onChange:Ye=>ge(ce.id,{style:Ye})}),ce.style==="custom"?c.jsxs("label",{children:[c.jsx("span",{children:"自定义风格"}),c.jsx("textarea",{value:ce.customStyle,onChange:Ye=>ge(ce.id,{customStyle:Ye.target.value}),placeholder:"描述表达方式、严谨程度或输出偏好"})]}):null]},ce.id)),u&&b.lengthS(ce=>[...ce,hV(ce.length,u)]),children:"添加配置"}):null]}),f?c.jsx("div",{className:"skill-inline-error",children:c.jsx(eo,{error:f})}):null,u&&!u.enabled?c.jsx("div",{className:"skill-inline-notice",children:"管理员未配置"}):null,c.jsx("div",{className:"skill-generation__setup-actions",children:c.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!le,onClick:()=>void Ce(),children:"生成"})})]})]})}function u3({title:e,children:t,onClose:n,className:i=""}){const r=O.useRef(null);return O.useEffect(()=>{var a;(a=r.current)==null||a.focus();const s=o=>o.key==="Escape"&&n();return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]),c.jsx("div",{className:"skill-dialog-backdrop",onMouseDown:n,children:c.jsxs("section",{className:`skill-dialog${i?` ${i}`:""}`,role:"dialog","aria-modal":"true","aria-label":e,onMouseDown:s=>s.stopPropagation(),children:[c.jsxs("header",{children:[c.jsx("h2",{children:e}),c.jsx("button",{ref:r,type:"button",onClick:n,"aria-label":"关闭",children:"关闭"})]}),t]})})}function gJe({region:e,onClose:t,onCreated:n}){const[i,r]=O.useState(""),[s,a]=O.useState(""),[o,l]=O.useState(!1),[u,d]=O.useState(null),f=async()=>{if(i.trim()){l(!0),d(null);try{n(await CRe({name:i.trim(),description:s.trim()||void 0,region:e}))}catch(h){d(ss(h,"创建 Skill 空间失败"))}finally{l(!1)}}};return c.jsxs(u3,{title:"新建 Skill 空间",onClose:t,children:[c.jsxs("div",{className:"skill-dialog__body",children:[c.jsxs("label",{children:[c.jsx("span",{children:"名称"}),c.jsx("input",{autoFocus:!0,value:i,maxLength:128,onChange:h=>r(h.target.value)})]}),c.jsxs("label",{children:[c.jsx("span",{children:"描述(可选)"}),c.jsx("textarea",{value:s,maxLength:1024,onChange:h=>a(h.target.value)})]}),u?c.jsx("div",{className:"skill-inline-error",children:c.jsx(eo,{error:u})}):null]}),c.jsxs("footer",{children:[c.jsx("button",{type:"button",className:"skill-button",onClick:t,children:"取消"}),c.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!i.trim()||o,onClick:()=>void f(),children:o?"创建中…":"创建"})]})]})}function OJe({space:e,region:t,onClose:n,onUpdated:i}){const[r,s]=O.useState(e.name),[a,o]=O.useState(e.description||""),[l,u]=O.useState(!1),[d,f]=O.useState(null),h=async()=>{if(r.trim()){u(!0),f(null);try{const p=await RRe({spaceId:e.id,name:r.trim(),description:a.trim()||void 0,region:t});i({...e,...p,skillCount:e.skillCount})}catch(p){f(ss(p,"更新 Skill 空间失败"))}finally{u(!1)}}};return c.jsxs(u3,{title:"编辑 Skill 空间",onClose:n,children:[c.jsxs("div",{className:"skill-dialog__body",children:[c.jsxs("label",{children:[c.jsx("span",{children:"名称"}),c.jsx("input",{autoFocus:!0,value:r,maxLength:128,onChange:p=>s(p.target.value)})]}),c.jsxs("label",{children:[c.jsx("span",{children:"描述(可选)"}),c.jsx("textarea",{value:a,maxLength:1024,onChange:p=>o(p.target.value)})]}),d?c.jsx("div",{className:"skill-inline-error",children:c.jsx(eo,{error:d})}):null]}),c.jsxs("footer",{children:[c.jsx("button",{type:"button",className:"skill-button",onClick:n,children:"取消"}),c.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!r.trim()||l,onClick:()=>void h(),children:l?"保存中…":"保存"})]})]})}function bJe({space:e,region:t,onClose:n,onUploaded:i}){const[r,s]=O.useState(null),[a,o]=O.useState(null),[l,u]=O.useState(!1),[d,f]=O.useState(!1),[h,p]=O.useState(null),[m,g]=O.useState(!1),y=O.useRef(0),b=O.useRef(null),S=async v=>{const E=y.current+1;if(y.current=E,s(v),o(null),p(null),u(!!v),!!v)try{const w=await jRe(v);y.current===E&&o({name:w.name,fileCount:w.files.length})}catch(w){y.current===E&&p(ss(w,"Skill ZIP 格式校验失败"))}finally{y.current===E&&u(!1)}},x=async()=>{if(!(!r||!a)){f(!0),p(null);try{await PRe({spaceId:e.id,region:t,project:e.projectName,file:r}),i()}catch(v){p(ss(v,"上传 Skill 失败"))}finally{f(!1)}}};return c.jsxs(u3,{title:`上传到 ${e.name}`,className:"skill-upload-dialog",onClose:n,children:[c.jsxs("div",{className:"skill-dialog__body",children:[c.jsx("input",{ref:b,className:"skill-upload-dialog__input",type:"file",accept:".zip,application/zip",onChange:v=>{var E;return void S(((E=v.target.files)==null?void 0:E[0])||null)}}),c.jsxs("button",{type:"button",className:`skill-upload-dropzone${m?" is-dragging":""}`,onClick:()=>{var v;return(v=b.current)==null?void 0:v.click()},onDragEnter:v=>{v.preventDefault(),g(!0)},onDragOver:v=>{v.preventDefault(),v.dataTransfer.dropEffect="copy",g(!0)},onDragLeave:v=>{v.currentTarget.contains(v.relatedTarget)||g(!1)},onDrop:v=>{var E;v.preventDefault(),g(!1),S(((E=v.dataTransfer.files)==null?void 0:E[0])||null)},children:[c.jsx("strong",{children:r?r.name:"拖拽 Skill ZIP 到这里"}),c.jsx("span",{children:r?`${r.size.toLocaleString()} 字节`:"或点击选择本地文件"})]}),c.jsx("p",{children:"ZIP 根目录需要包含 SKILL.md,也可以只包含一层包装目录。选择后仅检查格式,不会自动上传。"}),l?c.jsx("div",{className:"skill-inline-notice",children:"正在检查文件格式…"}):null,a?c.jsxs("div",{className:"skill-inline-notice",children:["格式检查通过:",a.name,",共 ",a.fileCount," 个文件"]}):null,h?c.jsx("div",{className:"skill-inline-error",children:c.jsx(eo,{error:h})}):null]}),c.jsxs("footer",{children:[c.jsx("button",{type:"button",className:"skill-button",onClick:n,children:"取消"}),c.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!r||!a||l||d,onClick:()=>void x(),children:d?"上传中…":"上传"})]})]})}const yJe=12,OV=12;function Dk({disabled:e,placement:t="top",children:n}){const i=O.useId();return c.jsxs("span",{className:`skillcenter-disabled-action${e?" is-disabled":""} is-${t}`,tabIndex:e?0:void 0,"aria-describedby":e?i:void 0,children:[n,e?c.jsx("span",{id:i,className:"skillcenter-disabled-tooltip",role:"tooltip",children:"管理员未配置 Dev Sandbox"}):null]})}const xJe={active:"可用",available:"可用",creating:"创建中",disabled:"已停用",enabled:"已启用",failed:"异常",inactive:"未启用",pending:"等待中",published:"已发布",ready:"就绪",released:"已发布",running:"运行中",success:"正常",unavailable:"不可用",unreleased:"未发布",updating:"更新中"};function iM(e){return xJe[(e||"").trim().toLowerCase()]||"未知"}function bV(e){const t=(e||"").toLowerCase();return["active","available","enabled","published","ready","released","success"].includes(t)||t==="running"?"is-positive":["creating","pending","updating"].includes(t)?"is-progress":["failed","unavailable"].includes(t)?"is-danger":"is-muted"}function yV(e){if(!e)return"";const t=e.trim(),n=Number(t),i=/^\d+(?:\.\d+)?$/.test(t)?new Date(n<1e12?n*1e3:n):new Date(t);return Number.isNaN(i.getTime())?e:new Intl.DateTimeFormat("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(i)}function xV(e){if(!e)return 0;const t=e.trim(),n=Number(t),i=/^\d+(?:\.\d+)?$/.test(t)?new Date(n<1e12?n*1e3:n):new Date(t);return Number.isNaN(i.getTime())?0:i.getTime()}function ll(e){return`${e.region||"default"}:${e.projectName||"default"}:${e.id}`}function SJe(e,t){const n=new Map(e.map(i=>[ll(i),i]));for(const i of t)n.set(ll(i),i);return[...n.values()].sort((i,r)=>xV(r.updatedAt)-xV(i.updatedAt))}function vJe(e){const t=e.replace(/\r\n/g,` +`)}function hJe(e){var t;return e.repairing||((t=e.task)==null?void 0:t.state)==="running"&&e.repairMode?e.repairMode==="manual"?"正在再次修复":`正在自动修复(${Math.max(1,e.repairAttempts||1)}/${pce})`:fJe(e.task)}function mV(){return c.jsxs("svg",{className:"skill-generation__spinner",viewBox:"0 0 20 20","aria-hidden":"true",children:[c.jsx("circle",{cx:"10",cy:"10",r:"7"}),c.jsx("path",{d:"M10 3a7 7 0 0 1 7 7"})]})}function pJe(e,t=Date.now()){if(!(e!=null&&e.expiresAt))return"Session 最长保留 1 小时";const n=Math.max(0,new Date(e.expiresAt).getTime()-t),i=Math.floor(n/6e4),r=Math.floor(n%6e4/1e3);return`剩余 ${i}:${String(r).padStart(2,"0")}`}function mJe(e){return e?e.length>64?"Skill 名称不能超过 64 个字符":/^[a-z0-9-]+$/.test(e)?"":"Skill 名称只能包含小写字母、数字和连字符":""}function gV(e){return e?e.length>128?"模型 ID 不能超过 128 个字符":/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/.test(e)?"":"模型 ID 只能包含字母、数字、点、下划线、连字符、斜杠和冒号":""}function RC(e){return`${e.region||""}:${e.id}`}function gJe(){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function OJe({operation:e,cloudProvider:t,space:n,availableSpaces:i=[],spacesLoading:r=!1,initialIntent:s="",source:a,onBack:o,onPublished:l}){var q,oe,de,Ie;const[u,d]=O.useState(null),[f,h]=O.useState(null),[p,m]=O.useState(s),[g,y]=O.useState(""),[b,S]=O.useState([]),[x,v]=O.useState([]),[E,w]=O.useState(""),[k,_]=O.useState(!1),[C,A]=O.useState(""),[R,j]=O.useState(""),[Q,L]=O.useState(null),[D,N]=O.useState(""),[M,B]=O.useState(""),[$,I]=O.useState(n?RC(n):""),[G,X]=O.useState(Date.now()),U=O.useRef([]);O.useEffect(()=>{const ce=new AbortController;return ZT(ce.signal).then(Me=>{d(Me),S([hV(0,Me)])}).catch(Me=>{ce.signal.aborted||h(ss(Me,"读取 Dev Sandbox 配置失败"))}),()=>ce.abort()},[]),O.useEffect(()=>{U.current=x},[x]),O.useEffect(()=>{const ce=window.setInterval(()=>X(Date.now()),1e3);return()=>window.clearInterval(ce)},[]),O.useEffect(()=>{const ce=Me=>{U.current.some(Ye=>{var dt;return((dt=Ye.task)==null?void 0:dt.state)==="running"||Ye.repairing})&&Me.preventDefault()};return window.addEventListener("beforeunload",ce),()=>{var Me;window.removeEventListener("beforeunload",ce);for(const Ye of U.current)(Me=Ye.task)!=null&&Me.jobId&&zIe(Ye.task.jobId).catch(()=>{})}},[]),O.useEffect(()=>{if(!x.some(dt=>{var Gt;return((Gt=dt.task)==null?void 0:Gt.state)==="running"||dt.repairing}))return;let ce=!1,Me;const Ye=async()=>{const dt=U.current,Gt=await Promise.all(dt.map(async Ct=>{var Dt;if(((Dt=Ct.task)==null?void 0:Dt.state)!=="running")return Ct;try{const vt=await QIe(Ct.task.jobId);if(CC(vt)&&(Ct.repairAttempts||0)ft.map(Rt=>Rt.id===Ct.id?{...Rt,task:vt,repairing:!0,repairMode:"auto",repairAttempts:gt,repairError:void 0}:Rt));try{const ft=await rN({jobId:vt.jobId,intent:pV(vt),expectedRevision:vt.revision});return{...Ct,task:ft,artifact:void 0,repairing:!1,repairMode:"auto",repairAttempts:gt,repairError:void 0,error:void 0,pollError:void 0}}catch(ft){return{...Ct,task:vt,repairing:!1,repairMode:void 0,repairAttempts:gt,repairError:ss(ft,"自动修复格式错误失败"),pollError:void 0}}}let Wt=Ct.artifact;return vt.state==="ready"&&(Wt=await iN(vt.jobId,vt.revision)),{...Ct,task:vt,artifact:Wt,repairing:!1,repairMode:vt.state==="running"?Ct.repairMode:void 0,repairError:void 0,error:void 0,pollError:void 0}}catch(vt){return{...Ct,pollError:ss(vt,"读取候选方案状态失败,正在重试")}}}));ce||(v(Gt),Me=window.setTimeout(()=>void Ye(),lJe))};return Ye(),()=>{ce=!0,Me!==void 0&&window.clearTimeout(Me)}},[x.some(ce=>{var Me;return((Me=ce.task)==null?void 0:Me.state)==="running"||ce.repairing})]);const Y=x.find(ce=>ce.id===E)||x[0],ae=e==="create"&&!n,fe=i.find(ce=>RC(ce)===$)??null,ke=n??fe,K=i.map(ce=>({value:RC(ce),label:`${ce.name.trim()||"未命名 Skill Space"} · ${ff(ce.region||"cn-beijing",t)}`})),ie=mJe(g),le=!!(u!=null&&u.enabled&&p.trim()&&!ie&&b.length>0&&b.every(ce=>ce.model.trim()&&!gV(ce.model.trim()))),ge=(ce,Me)=>{S(Ye=>Ye.map(dt=>dt.id===ce?{...dt,...Me}:dt))},Ee=async ce=>{const Me={...ce,model:ce.model.trim()},Ye=ce.style==="custom"?ce.customStyle.trim():ce.style;try{const dt=await $Ie({operation:e,intent:p.trim(),model:Me.model,style:Ye,name:g.trim()||void 0,source:a});return{id:ce.id,config:Me,task:dt}}catch(dt){return{id:ce.id,config:Me,error:ss(dt,"创建候选方案失败")}}},Ce=async()=>{if(!le)return;_(!0),L(null);const ce=b.map(Ye=>({id:Ye.id,config:Ye}));v(ce),w(b[0].id);const Me=await Promise.all(b.map(Ee));v(Me)},_e=async ce=>{v(Ye=>Ye.map(dt=>dt.id===ce.id?{...dt,error:void 0}:dt));const Me=await Ee(ce.config);v(Ye=>Ye.map(dt=>dt.id===ce.id?Me:dt))},he=async()=>{if(!(!(Y!=null&&Y.task)||!C.trim()||Y.task.state!=="ready")){j("refine"),L(null);try{const ce=await rN({jobId:Y.task.jobId,intent:C.trim(),expectedRevision:Y.task.revision});v(Me=>Me.map(Ye=>Ye.id===Y.id?{...Ye,task:ce,artifact:void 0}:Ye)),A("")}catch(ce){L(ss(ce,"继续调整失败"))}finally{j("")}}},te=async()=>{if(!(!(Y!=null&&Y.task)||!CC(Y.task))){j("refine"),L(null),v(ce=>ce.map(Me=>Me.id===Y.id?{...Me,repairing:!0,repairMode:"manual",repairError:void 0}:Me));try{const ce=await rN({jobId:Y.task.jobId,intent:pV(Y.task),expectedRevision:Y.task.revision});v(Me=>Me.map(Ye=>Ye.id===Y.id?{...Ye,task:ce,artifact:void 0,repairing:!1,repairMode:"manual",repairError:void 0}:Ye))}catch(ce){v(Me=>Me.map(Ye=>Ye.id===Y.id?{...Ye,repairing:!1,repairMode:void 0,repairError:ss(ce,"再次修复格式错误失败")}:Ye))}finally{j("")}}},Te=async()=>{if(!(!(Y!=null&&Y.task)||Y.task.state!=="ready"||M)){j("publish"),L(null);try{if(!ke)throw new Error("请选择上传的 Skill Space");const ce=Y.artifact||await iN(Y.task.jobId,Y.task.revision),Me=(a==null?void 0:a.region)||ke.region||"";if(!SD(Me))throw new Error("当前 Skill 地域不受支持");await UIe({jobId:Y.task.jobId,expectedRevision:Y.task.revision,expectedArtifactSha256:ce.sha256,disposition:e==="optimize"?"update-source":"create-new",skillSpaceIds:[ke.id],projectName:(a==null?void 0:a.projectName)||ke.projectName,region:Me,onProgress:Ye=>N(Ye.message)}),B(Y.id),l()}catch(ce){L(ss(ce,"上传 Skill 失败"))}finally{j(""),N("")}}},me=async()=>{if(!(!(Y!=null&&Y.task)||Y.task.state!=="ready")){j("download");try{const ce=Y.artifact||await iN(Y.task.jobId,Y.task.revision);await FIe(Y.task.jobId,Y.task.revision,ce.sha256)}catch(ce){L(ss(ce,"下载失败"))}finally{j("")}}},Be=async()=>{x.some(ce=>{var Me;return((Me=ce.task)==null?void 0:Me.state)==="running"})&&!window.confirm("离开后将停止并释放正在运行的 Dev Sandbox,确定离开吗?")||(await Promise.allSettled(x.flatMap(ce=>{var Me;return((Me=ce.task)==null?void 0:Me.state)==="running"?[BIe({jobId:ce.task.jobId,expectedRevision:ce.task.revision})]:[]})),o())},je=e==="create"?"创建技能":`优化 ${(a==null?void 0:a.name)||"技能"}`,Ue=ce=>{var Me;return((Me=u==null?void 0:u.models.find(Ye=>Ye.id===ce))==null?void 0:Me.label)||ce},st=ce=>ce.config.style==="custom"?ce.config.customStyle.trim()||"自定义风格":mce[ce.config.style],ct=ce=>ce.error||ce.repairError?"失败":hJe(ce),Tt=ce=>!ce.error&&!ce.repairError&&(ce.repairing||!ce.task||ce.task.state==="running"),at=x.some(ce=>{var Me;return((Me=ce.task)==null?void 0:Me.state)==="ready"});return c.jsxs("section",{className:"skill-generation",children:[c.jsxs("header",{className:"skill-generation__header",children:[c.jsx("button",{type:"button",className:"skillcenter-back",onClick:()=>void Be(),"aria-label":"返回技能空间",children:c.jsx(gJe,{})}),c.jsxs("div",{children:[c.jsx("h1",{children:je}),c.jsx("p",{children:(n==null?void 0:n.name)||"主页技能生成"})]}),x.length>0?c.jsx("span",{className:"skill-generation__ttl",children:pJe(Y==null?void 0:Y.task,G)}):null]}),k?c.jsxs("div",{className:"skill-generation__workspace",children:[c.jsx("div",{className:"skill-generation__candidate-tabs",role:"tablist","aria-label":"候选方案",children:x.map(ce=>c.jsxs("button",{type:"button",role:"tab","aria-selected":(Y==null?void 0:Y.id)===ce.id,className:(Y==null?void 0:Y.id)===ce.id?"is-active":"",onClick:()=>w(ce.id),children:[c.jsxs("span",{className:"skill-generation__summary-row",children:[c.jsx("span",{children:"风格"}),c.jsx("strong",{children:st(ce)})]}),c.jsxs("span",{className:"skill-generation__summary-row",children:[c.jsx("span",{children:"模型"}),c.jsx("strong",{children:Ue(ce.config.model)})]}),c.jsxs("span",{className:"skill-generation__summary-row",children:[c.jsx("span",{children:"进度"}),c.jsxs("strong",{children:[Tt(ce)?c.jsx(mV,{}):null,ct(ce)]})]})]},ce.id))}),Y?c.jsxs("div",{className:"skill-generation__candidate",children:[c.jsxs("section",{className:"skill-generation__activity",children:[c.jsx("header",{children:c.jsxs("div",{className:"skill-generation__candidate-summary",children:[c.jsxs("div",{className:"skill-generation__summary-row",children:[c.jsx("span",{children:"风格"}),c.jsx("strong",{children:st(Y)})]}),c.jsxs("div",{className:"skill-generation__summary-row",children:[c.jsx("span",{children:"模型"}),c.jsx("strong",{children:Ue(Y.config.model)})]}),c.jsxs("div",{className:"skill-generation__summary-row","aria-live":"polite",children:[c.jsx("span",{children:"进度"}),c.jsxs("strong",{children:[Tt(Y)?c.jsx(mV,{}):null,Tt(Y)?c.jsx(hs,{children:ct(Y)}):ct(Y)]})]})]})}),Y.task?c.jsx(K8e,{activities:Y.task.activities}):null,Y.pollError?c.jsx("div",{className:"skill-inline-notice",children:c.jsx(eo,{error:Y.pollError})}):null,Y.repairError?c.jsx("div",{className:"skill-inline-notice",children:c.jsx(eo,{error:Y.repairError})}):null,Y.error?c.jsxs("div",{className:"skill-inline-error",children:[c.jsx(eo,{error:Y.error}),c.jsx("button",{type:"button",onClick:()=>void _e(Y),children:"重试此方案"})]}):null,(q=Y.task)!=null&&q.validation&&!Y.task.validation.valid&&!Y.repairing&&Y.task.state==="failed"?c.jsxs("div",{className:"skill-validation-errors",children:[c.jsx("strong",{children:"格式校验未通过"}),Y.task.validation.errors.map(ce=>c.jsx("p",{children:ce},ce)),CC(Y.task)?c.jsx("button",{type:"button",disabled:!!R,onClick:()=>void te(),children:"再次修复"}):null]}):null]}),c.jsxs("section",{className:"skill-generation__files",children:[c.jsxs("header",{children:[c.jsx("h2",{children:"文件"}),((oe=Y.task)==null?void 0:oe.state)==="ready"?c.jsx("button",{type:"button",onClick:()=>void me(),disabled:!!R,children:"下载 ZIP"}):null]}),Y.artifact?c.jsx(hce,{files:Y.artifact.files}):c.jsx("div",{className:"skill-generation__files-empty",children:((de=Y.task)==null?void 0:de.state)==="ready"?"正在读取文件…":"生成过程中会在这里显示完整文件树"})]}),((Ie=Y.task)==null?void 0:Ie.state)==="ready"?c.jsxs("div",{className:"skill-generation__ready-actions",children:[ae?c.jsx("div",{className:"skill-generation__publish-target",children:c.jsx(kN,{label:"上传到 Skill Space",value:$,options:K,onChange:I,disabled:r,placeholder:r?"正在加载 Skill Space":"选择 Skill Space"})}):null,c.jsxs("footer",{className:"skill-generation__followup",children:[c.jsx("textarea",{value:C,onChange:ce=>A(ce.target.value),placeholder:"继续调整这个候选方案"}),c.jsx("button",{type:"button",className:"skill-button",disabled:!C.trim()||!!R,onClick:()=>void he(),children:"继续调整"}),c.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!!R||!!M||!ke,onClick:()=>void Te(),children:R==="publish"?D||"上传中…":e==="optimize"?"覆盖原 Skill":ae?"上传到 Skill Space":"上传到当前空间"})]})]}):null,Q?c.jsx("div",{className:"skill-inline-error skill-generation__action-error",children:c.jsx(eo,{error:Q})}):null]}):null,!at&&x.every(ce=>ce.error)?c.jsx("div",{className:"skill-inline-error",children:"所有方案均创建失败,可分别重试。"}):null]}):c.jsxs("div",{className:"skill-generation__setup",children:[c.jsx("div",{className:"skill-generation__section-head is-basic",children:c.jsx("div",{children:c.jsx("strong",{children:"基本信息"})})}),c.jsxs("label",{children:[c.jsxs("span",{children:["目标",c.jsx("span",{className:"skill-required-mark","aria-hidden":"true",children:"*"})]}),c.jsx("textarea",{required:!0,value:p,onChange:ce=>m(ce.target.value),placeholder:e==="create"?"描述希望这个 Skill 完成什么任务":"描述希望如何优化当前 Skill"})]}),c.jsxs("label",{children:[c.jsx("span",{children:"Skill 名称"}),c.jsx("input",{value:g,onChange:ce=>y(ce.target.value),placeholder:"留空时自动生成","aria-invalid":!!ie,"aria-describedby":"skill-name-help"}),ie?c.jsx("span",{id:"skill-name-help",className:"skill-generation__field-error",role:"alert",children:ie}):c.jsx("span",{id:"skill-name-help",className:"skill-generation__field-help",children:"仅支持小写字母、数字和连字符;留空时自动生成。"})]}),c.jsx("div",{className:"skill-generation__section-head",children:c.jsxs("div",{children:[c.jsx("strong",{children:e==="create"?"生成方案":"优化方案"}),c.jsx("span",{children:e==="create"?"按不同方案并行生成多个技能,您可以选择最佳结果":"按不同方案并行优化当前技能,您可以选择最佳结果"})]})}),c.jsxs("div",{className:"skill-generation__groups",children:[b.map((ce,Me)=>c.jsxs("article",{className:"skill-generation__group",children:[c.jsxs("header",{children:[c.jsxs("strong",{children:["方案 ",Me+1]}),b.length>1?c.jsx("button",{type:"button",onClick:()=>S(Ye=>Ye.filter(dt=>dt.id!==ce.id)),children:"移除"}):null]}),c.jsx(kN,{label:"模型",required:!0,value:ce.model,options:(u==null?void 0:u.models.map(Ye=>({value:Ye.id,label:Ye.label})))||[],onChange:Ye=>ge(ce.id,{model:Ye}),allowCustom:!0,placeholder:"选择或输入模型 ID",error:gV(ce.model.trim())}),c.jsx(kN,{label:"风格",required:!0,value:ce.style,options:dJe,onChange:Ye=>ge(ce.id,{style:Ye})}),ce.style==="custom"?c.jsxs("label",{children:[c.jsx("span",{children:"自定义风格"}),c.jsx("textarea",{value:ce.customStyle,onChange:Ye=>ge(ce.id,{customStyle:Ye.target.value}),placeholder:"描述表达方式、严谨程度或输出偏好"})]}):null]},ce.id)),u&&b.lengthS(ce=>[...ce,hV(ce.length,u)]),children:"添加配置"}):null]}),f?c.jsx("div",{className:"skill-inline-error",children:c.jsx(eo,{error:f})}):null,u&&!u.enabled?c.jsx("div",{className:"skill-inline-notice",children:"管理员未配置"}):null,c.jsx("div",{className:"skill-generation__setup-actions",children:c.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!le,onClick:()=>void Ce(),children:"生成"})})]})]})}function u3({title:e,children:t,onClose:n,className:i=""}){const r=O.useRef(null);return O.useEffect(()=>{var a;(a=r.current)==null||a.focus();const s=o=>o.key==="Escape"&&n();return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]),c.jsx("div",{className:"skill-dialog-backdrop",onMouseDown:n,children:c.jsxs("section",{className:`skill-dialog${i?` ${i}`:""}`,role:"dialog","aria-modal":"true","aria-label":e,onMouseDown:s=>s.stopPropagation(),children:[c.jsxs("header",{children:[c.jsx("h2",{children:e}),c.jsx("button",{ref:r,type:"button",onClick:n,"aria-label":"关闭",children:"关闭"})]}),t]})})}function bJe({region:e,onClose:t,onCreated:n}){const[i,r]=O.useState(""),[s,a]=O.useState(""),[o,l]=O.useState(!1),[u,d]=O.useState(null),f=async()=>{if(i.trim()){l(!0),d(null);try{n(await IRe({name:i.trim(),description:s.trim()||void 0,region:e}))}catch(h){d(ss(h,"创建 Skill 空间失败"))}finally{l(!1)}}};return c.jsxs(u3,{title:"新建 Skill 空间",onClose:t,children:[c.jsxs("div",{className:"skill-dialog__body",children:[c.jsxs("label",{children:[c.jsx("span",{children:"名称"}),c.jsx("input",{autoFocus:!0,value:i,maxLength:128,onChange:h=>r(h.target.value)})]}),c.jsxs("label",{children:[c.jsx("span",{children:"描述(可选)"}),c.jsx("textarea",{value:s,maxLength:1024,onChange:h=>a(h.target.value)})]}),u?c.jsx("div",{className:"skill-inline-error",children:c.jsx(eo,{error:u})}):null]}),c.jsxs("footer",{children:[c.jsx("button",{type:"button",className:"skill-button",onClick:t,children:"取消"}),c.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!i.trim()||o,onClick:()=>void f(),children:o?"创建中…":"创建"})]})]})}function yJe({space:e,region:t,onClose:n,onUpdated:i}){const[r,s]=O.useState(e.name),[a,o]=O.useState(e.description||""),[l,u]=O.useState(!1),[d,f]=O.useState(null),h=async()=>{if(r.trim()){u(!0),f(null);try{const p=await PRe({spaceId:e.id,name:r.trim(),description:a.trim()||void 0,region:t});i({...e,...p,skillCount:e.skillCount})}catch(p){f(ss(p,"更新 Skill 空间失败"))}finally{u(!1)}}};return c.jsxs(u3,{title:"编辑 Skill 空间",onClose:n,children:[c.jsxs("div",{className:"skill-dialog__body",children:[c.jsxs("label",{children:[c.jsx("span",{children:"名称"}),c.jsx("input",{autoFocus:!0,value:r,maxLength:128,onChange:p=>s(p.target.value)})]}),c.jsxs("label",{children:[c.jsx("span",{children:"描述(可选)"}),c.jsx("textarea",{value:a,maxLength:1024,onChange:p=>o(p.target.value)})]}),d?c.jsx("div",{className:"skill-inline-error",children:c.jsx(eo,{error:d})}):null]}),c.jsxs("footer",{children:[c.jsx("button",{type:"button",className:"skill-button",onClick:n,children:"取消"}),c.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!r.trim()||l,onClick:()=>void h(),children:l?"保存中…":"保存"})]})]})}function xJe({space:e,region:t,onClose:n,onUploaded:i}){const[r,s]=O.useState(null),[a,o]=O.useState(null),[l,u]=O.useState(!1),[d,f]=O.useState(!1),[h,p]=O.useState(null),[m,g]=O.useState(!1),y=O.useRef(0),b=O.useRef(null),S=async v=>{const E=y.current+1;if(y.current=E,s(v),o(null),p(null),u(!!v),!!v)try{const w=await LRe(v);y.current===E&&o({name:w.name,fileCount:w.files.length})}catch(w){y.current===E&&p(ss(w,"Skill ZIP 格式校验失败"))}finally{y.current===E&&u(!1)}},x=async()=>{if(!(!r||!a)){f(!0),p(null);try{await MRe({spaceId:e.id,region:t,project:e.projectName,file:r}),i()}catch(v){p(ss(v,"上传 Skill 失败"))}finally{f(!1)}}};return c.jsxs(u3,{title:`上传到 ${e.name}`,className:"skill-upload-dialog",onClose:n,children:[c.jsxs("div",{className:"skill-dialog__body",children:[c.jsx("input",{ref:b,className:"skill-upload-dialog__input",type:"file",accept:".zip,application/zip",onChange:v=>{var E;return void S(((E=v.target.files)==null?void 0:E[0])||null)}}),c.jsxs("button",{type:"button",className:`skill-upload-dropzone${m?" is-dragging":""}`,onClick:()=>{var v;return(v=b.current)==null?void 0:v.click()},onDragEnter:v=>{v.preventDefault(),g(!0)},onDragOver:v=>{v.preventDefault(),v.dataTransfer.dropEffect="copy",g(!0)},onDragLeave:v=>{v.currentTarget.contains(v.relatedTarget)||g(!1)},onDrop:v=>{var E;v.preventDefault(),g(!1),S(((E=v.dataTransfer.files)==null?void 0:E[0])||null)},children:[c.jsx("strong",{children:r?r.name:"拖拽 Skill ZIP 到这里"}),c.jsx("span",{children:r?`${r.size.toLocaleString()} 字节`:"或点击选择本地文件"})]}),c.jsx("p",{children:"ZIP 根目录需要包含 SKILL.md,也可以只包含一层包装目录。选择后仅检查格式,不会自动上传。"}),l?c.jsx("div",{className:"skill-inline-notice",children:"正在检查文件格式…"}):null,a?c.jsxs("div",{className:"skill-inline-notice",children:["格式检查通过:",a.name,",共 ",a.fileCount," 个文件"]}):null,h?c.jsx("div",{className:"skill-inline-error",children:c.jsx(eo,{error:h})}):null]}),c.jsxs("footer",{children:[c.jsx("button",{type:"button",className:"skill-button",onClick:n,children:"取消"}),c.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!r||!a||l||d,onClick:()=>void x(),children:d?"上传中…":"上传"})]})]})}const SJe=12,OV=12;function Dk({disabled:e,placement:t="top",children:n}){const i=O.useId();return c.jsxs("span",{className:`skillcenter-disabled-action${e?" is-disabled":""} is-${t}`,tabIndex:e?0:void 0,"aria-describedby":e?i:void 0,children:[n,e?c.jsx("span",{id:i,className:"skillcenter-disabled-tooltip",role:"tooltip",children:"管理员未配置 Dev Sandbox"}):null]})}const vJe={active:"可用",available:"可用",creating:"创建中",disabled:"已停用",enabled:"已启用",failed:"异常",inactive:"未启用",pending:"等待中",published:"已发布",ready:"就绪",released:"已发布",running:"运行中",success:"正常",unavailable:"不可用",unreleased:"未发布",updating:"更新中"};function iM(e){return vJe[(e||"").trim().toLowerCase()]||"未知"}function bV(e){const t=(e||"").toLowerCase();return["active","available","enabled","published","ready","released","success"].includes(t)||t==="running"?"is-positive":["creating","pending","updating"].includes(t)?"is-progress":["failed","unavailable"].includes(t)?"is-danger":"is-muted"}function yV(e){if(!e)return"";const t=e.trim(),n=Number(t),i=/^\d+(?:\.\d+)?$/.test(t)?new Date(n<1e12?n*1e3:n):new Date(t);return Number.isNaN(i.getTime())?e:new Intl.DateTimeFormat("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(i)}function xV(e){if(!e)return 0;const t=e.trim(),n=Number(t),i=/^\d+(?:\.\d+)?$/.test(t)?new Date(n<1e12?n*1e3:n):new Date(t);return Number.isNaN(i.getTime())?0:i.getTime()}function ll(e){return`${e.region||"default"}:${e.projectName||"default"}:${e.id}`}function wJe(e,t){const n=new Map(e.map(i=>[ll(i),i]));for(const i of t)n.set(ll(i),i);return[...n.values()].sort((i,r)=>xV(r.updatedAt)-xV(i.updatedAt))}function EJe(e){const t=e.replace(/\r\n/g,` `);if(!t.startsWith(`--- `))return e;const n=t.indexOf(` --- -`,4);return n>=0?t.slice(n+5).trimStart():e}function pce(e){const t=(e||"").trim();return!t||[">",">-","|","|-"].includes(t)?"暂无描述":t}function wJe(){return c.jsx("svg",{className:"icon",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:c.jsx("path",{d:"m7.5 7.5 9 9m0-9-9 9",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function SV(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),c.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function vV(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round"})})}function EJe(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"5.5",cy:"12",r:"1.4"}),c.jsx("circle",{cx:"12",cy:"12",r:"1.4"}),c.jsx("circle",{cx:"18.5",cy:"12",r:"1.4"})]})}function kJe(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function wV({direction:e}){return c.jsx("svg",{className:"icon",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,children:c.jsx("path",{d:e==="left"?"m11.7 5.5-4.2 4.5 4.2 4.5":"m8.3 5.5 4.2 4.5-4.2 4.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function mce(){return c.jsx("span",{className:"skillcenter-loading-mark","aria-hidden":!0})}function TJe({page:e,total:t,pageSize:n,onPage:i}){const r=Math.max(1,Math.ceil(t/n));return c.jsxs("footer",{className:"skillcenter-pager",children:[c.jsxs("span",{children:["共 ",t," 项"]}),c.jsxs("div",{className:"skillcenter-pager-actions",children:[c.jsx("button",{type:"button",onClick:()=>i(e-1),disabled:e<=1,"aria-label":"上一页",children:c.jsx(wV,{direction:"left"})}),c.jsxs("span",{children:[e," / ",r]}),c.jsx("button",{type:"button",onClick:()=>i(e+1),disabled:e>=r,"aria-label":"下一页",children:c.jsx(wV,{direction:"right"})})]})]})}function _Je({children:e}){return c.jsx("div",{className:"skillcenter-empty",children:e})}function IC({kind:e,title:t,description:n,error:i,action:r}){return c.jsx("div",{className:`skillcenter-page-state is-${e}`,role:e==="error"?"alert":"status",children:c.jsxs(li,{fill:"none",children:[c.jsx(li.Title,{children:t}),n?c.jsx(li.Description,{children:n}):null,i?c.jsx(eo,{error:i}):null,r?c.jsx(li.ActionRow,{children:c.jsx(Gm,{color:"secondary",size:"lg",onClick:r.onClick,children:r.label})}):null]})})}function EV({errors:e,cloudProvider:t,fullPage:n=!1,onRetry:i}){return c.jsxs("div",{className:`skillcenter-space-errors${n?" is-full-page":""}`,role:"alert",children:[c.jsxs("div",{className:"skillcenter-space-errors__content",children:[c.jsx("strong",{children:n?"无法加载技能空间":"部分技能空间加载失败"}),e.map(({region:r,error:s})=>c.jsxs("section",{children:[c.jsx("span",{children:ff(r,t)}),c.jsx(eo,{error:s})]},r))]}),c.jsx("button",{type:"button",onClick:i,children:"重新加载"})]})}function AJe({skill:e,space:t,region:n,cloudProvider:i,detail:r,files:s,loading:a,error:o,canOptimize:l,onOptimize:u,onDownload:d,onClose:f}){return O.useEffect(()=>{const h=p=>{p.key==="Escape"&&f()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[f]),c.jsx("div",{className:"skill-detail-backdrop",role:"presentation",onMouseDown:f,children:c.jsxs("section",{className:"skill-detail-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-detail-title",onMouseDown:h=>h.stopPropagation(),children:[c.jsxs("header",{className:"skill-detail-head",children:[c.jsx("div",{className:"skill-detail-heading",children:c.jsxs("div",{children:[c.jsx("h2",{id:"skill-detail-title",children:(r==null?void 0:r.name)||e.skillName}),c.jsx("p",{children:pce((r==null?void 0:r.description)||e.skillDescription)})]})}),c.jsxs("div",{className:"skill-detail-actions",children:[c.jsx("button",{type:"button",onClick:d,disabled:s.length===0,children:"下载 ZIP"}),c.jsx(Dk,{disabled:!l,placement:"bottom",children:c.jsx("button",{type:"button",onClick:u,disabled:!l,children:"优化"})}),c.jsx("button",{type:"button",className:"skill-detail-close",onClick:f,"aria-label":"关闭技能详情",children:c.jsx(wJe,{})})]})]}),c.jsxs("dl",{className:"skill-detail-meta",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"技能 ID"}),c.jsx("dd",{title:e.skillId,children:e.skillId})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"版本"}),c.jsx("dd",{children:(r==null?void 0:r.version)||e.version||"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"状态"}),c.jsx("dd",{children:iM(e.skillStatus)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"技能空间"}),c.jsx("dd",{title:t.name,children:t.name})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"地域"}),c.jsx("dd",{children:ff(n,i)})]})]}),c.jsxs("div",{className:"skill-detail-content skill-detail-content--files",children:[c.jsx("div",{className:"skill-detail-content-title",children:"完整文件"}),a?c.jsxs("div",{className:"skillcenter-loading",children:[c.jsx(mce,{}),"正在读取技能内容…"]}):o?c.jsx("div",{className:"skillcenter-error",children:c.jsx(eo,{error:o})}):s.length>0?c.jsx(dce,{files:s.map(h=>h.path.endsWith("SKILL.md")&&h.content?{...h,content:vJe(h.content)}:h)}):c.jsx(_Je,{children:"该技能暂无 SKILL.md 内容"})]})]})})}function NJe({space:e,canUseSandbox:t,onUpload:n,onSandbox:i,onClose:r}){return O.useEffect(()=>{const s=a=>{a.key==="Escape"&&r()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[r]),c.jsx("div",{className:"skill-dialog-backdrop",role:"presentation",onMouseDown:r,children:c.jsxs("section",{className:"skill-dialog skill-add-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-add-dialog-title",onMouseDown:s=>s.stopPropagation(),children:[c.jsxs("header",{children:[c.jsxs("div",{children:[c.jsx("h2",{id:"skill-add-dialog-title",children:"添加技能"}),c.jsx("p",{title:e.name,children:e.name})]}),c.jsx("button",{type:"button",onClick:r,children:"取消"})]}),c.jsxs("div",{className:"skill-add-dialog__options",children:[c.jsxs("button",{type:"button",onClick:n,children:[c.jsx("strong",{children:"本地上传"}),c.jsx("span",{children:"选择 ZIP 文件,校验通过后上传到技能空间"})]}),c.jsx(Dk,{disabled:!t,placement:"inside",children:c.jsxs("button",{type:"button",disabled:!t,onClick:i,children:[c.jsx("strong",{children:"自动创建"}),c.jsx("span",{children:"选择模型和风格,通过对话生成技能"})]})})]})]})})}function CJe({cloudProvider:e="volcengine",initialWorkspace:t=null,onInitialWorkspaceConsumed:n}){const i=O.useMemo(()=>_T(e).map(pe=>pe.value),[e]),[r,s]=O.useState([]),[a,o]=O.useState({}),[l,u]=O.useState(!1),[d,f]=O.useState(""),[h,p]=O.useState((t==null?void 0:t.space)??null),[m,g]=O.useState([]),[y,b]=O.useState(1),[S,x]=O.useState(0),[v,E]=O.useState(!1),[w,k]=O.useState(null),[_,C]=O.useState(""),[A,R]=O.useState(null),[j,Q]=O.useState(null),[L,D]=O.useState([]),[N,M]=O.useState(!1),[B,$]=O.useState(null),[I,G]=O.useState(null),[X,U]=O.useState(!1),[Y,ae]=O.useState(null),[fe,ke]=O.useState(null),[K,ie]=O.useState(null),[le,ge]=O.useState(0),[Ee,Ce]=O.useState(0),[_e,he]=O.useState(""),[te,Te]=O.useState(""),[me,Be]=O.useState(""),[je,Ue]=O.useState(null),[st,ct]=O.useState(t),Tt=O.useRef(0),at=O.useRef(0),q=O.useRef(!1),oe=O.useRef(null),de=O.useRef(null),Ie=O.useRef(null),ce=O.useRef(null),Me=O.useDeferredValue(d),Ye=O.useDeferredValue(_);O.useEffect(()=>{t&&(n==null||n())},[t,n]);const dt=O.useMemo(()=>{const pe=Me.trim().toLocaleLowerCase();return pe?r.filter(Qe=>`${Qe.name} ${Qe.description||""} ${Qe.projectName||""}`.toLocaleLowerCase().includes(pe)):r},[Me,r]),Gt=O.useMemo(()=>{const pe=Ye.trim().toLocaleLowerCase();return pe?m.filter(Qe=>`${Qe.skillName} ${Qe.skillDescription||""}`.toLocaleLowerCase().includes(pe)):m},[Ye,m]),Ct=(h==null?void 0:h.region)||Ui(e),Dt=O.useMemo(()=>i.flatMap(pe=>{var yt;const Qe=(yt=a[pe])==null?void 0:yt.error;return Qe?[{region:pe,error:Qe}]:[]}),[a,i]),vt=i.some(pe=>{const Qe=a[pe];return!!(Qe&&!Qe.done&&!Qe.error)}),Wt=Dt.length===i.length;O.useEffect(()=>{const pe=new AbortController;return ZT(pe.signal).then(G).catch(()=>G({enabled:!1,reason:"管理员未配置",operations:["create","optimize"],models:[],styles:{}})),()=>pe.abort()},[]),O.useEffect(()=>{if(!me)return;const pe=yt=>{var mn;(mn=ce.current)!=null&&mn.contains(yt.target)||Be("")},Qe=yt=>{yt.key==="Escape"&&Be("")};return window.addEventListener("pointerdown",pe),window.addEventListener("keydown",Qe),()=>{window.removeEventListener("pointerdown",pe),window.removeEventListener("keydown",Qe)}},[me]);const gt=O.useCallback(async(pe,Qe)=>{var zn;if(q.current||pe.length===0)return;q.current=!0,u(!0),Qe&&((zn=oe.current)==null||zn.abort(),s([]),o(Object.fromEntries(pe.map(({region:xe})=>[xe,{nextPage:1,loadedCount:0,done:!1,error:null}]))));const yt=new AbortController;oe.current=yt;const mn=++at.current,wn=await Promise.allSettled(pe.map(async({region:xe,page:Ge})=>({region:xe,page:Ge,result:await NRe({region:xe,page:Ge,pageSize:yJe,signal:yt.signal})})));if(at.current!==mn)return;const Jt=wn.map((xe,Ge)=>{const Nt=pe[Ge];return xe.status==="rejected"?{request:Nt,error:ss(xe.reason,"读取技能空间失败,请稍后重试"),items:[],totalCount:0}:{request:Nt,error:null,items:(xe.value.result.items||[]).map(Kt=>({...Kt,region:Kt.region||xe.value.region})),totalCount:xe.value.result.totalCount||0}}),ui=Jt.flatMap(xe=>xe.items);o(xe=>{const Ge={...xe};return Jt.forEach(({request:Nt,error:Kt,items:sn,totalCount:Fn})=>{const xi=Ge[Nt.region]||{nextPage:Nt.page,loadedCount:0,done:!1,error:null};if(Kt){Ge[Nt.region]={...xi,error:Kt};return}const di=xi.loadedCount+sn.length;Ge[Nt.region]={nextPage:Nt.page+1,loadedCount:di,done:sn.length===0||di>=Fn,error:null}}),Ge}),s(xe=>SJe(Qe?[]:xe,ui)),p(xe=>xe&&(ui.find(Ge=>ll(Ge)===ll(xe))||xe)),q.current=!1,u(!1)},[]),ft=O.useCallback(()=>{if(q.current)return;const pe=i.flatMap(Qe=>{const yt=a[Qe];return yt&&!yt.done&&!yt.error?[{region:Qe,page:yt.nextPage}]:[]});gt(pe,!1)},[gt,a,i]);O.useEffect(()=>{Ae(),p(null),g([]),b(1)},[e]),O.useEffect(()=>(gt(i.map(pe=>({region:pe,page:1})),!0),()=>{var pe;at.current+=1,(pe=oe.current)==null||pe.abort(),q.current=!1}),[gt,i,le]),O.useEffect(()=>{const pe=Ie.current,Qe=de.current;if(!pe||!Qe||!vt||l)return;const yt=new IntersectionObserver(([mn])=>{mn.isIntersecting&&ft()},{root:Qe,rootMargin:"240px 0px",threshold:.01});return yt.observe(pe),()=>yt.disconnect()},[vt,ft,l]);const Rt=()=>{const pe=de.current;!pe||!vt||l||pe.scrollHeight-pe.scrollTop-pe.clientHeight<=240&&ft()};O.useEffect(()=>{if(!h){g([]),x(0);return}let pe=!0;return E(!0),k(null),$Re(h.id,{region:Ct,page:y,pageSize:OV,project:h.projectName}).then(Qe=>{pe&&(g(Qe.items||[]),x(Qe.totalCount||0))}).catch(Qe=>{pe&&(g([]),x(0),k(ss(Qe,"读取技能失败,请稍后重试")))}).finally(()=>{pe&&E(!1)}),()=>{pe=!1}},[Ct,h,y,Ee]);const rn=pe=>{Ae(),p(pe),b(1),C("")},ln=()=>{Ae(),p(null),g([]),x(0),b(1),C(""),Ue(null)},Ae=()=>{Tt.current+=1,R(null),Q(null),D([]),$(null),M(!1)},qe=async pe=>{if(!h)return;const Qe=Tt.current+1;Tt.current=Qe,R(pe),Q(null),$(null),M(!0);try{const[yt,mn]=await Promise.all([QRe(h.id,pe.skillId,pe.version,Ct,h.projectName),LRe({spaceId:h.id,skillId:pe.skillId,version:pe.version,region:Ct})]);Tt.current===Qe&&(Q(yt),D(mn))}catch(yt){Tt.current===Qe&&$(ss(yt,"读取技能详情失败,请稍后重试"))}finally{Tt.current===Qe&&M(!1)}},$e=pe=>{if(h)return{kind:"skill-center",skillId:pe.skillId,version:pe.version,region:Ct,projectName:h.projectName,skillSpaceId:h.id,skillSpaceName:h.name,name:pe.skillName,description:pe.skillDescription}},pn=pe=>{const Qe=$e(pe);!Qe||!(I!=null&&I.enabled)||(Ae(),ct({operation:"optimize",source:Qe}))},bn=async pe=>{if(!(!h||!window.confirm(`确定删除整个 Skill“${pe.skillName}”吗?此操作会影响所有引用它的空间。`))){he(pe.skillId),Ue(null);try{await MRe({spaceId:h.id,skillId:pe.skillId,region:Ct}),Ce(Qe=>Qe+1),ge(Qe=>Qe+1)}catch(Qe){Ue(ss(Qe,"删除 Skill 失败"))}finally{he("")}}},It=async pe=>{if(!window.confirm(`确定删除 Skill 空间“${pe.name}”吗?请先确认空间中的技能已删除。`))return;const Qe=ll(pe);Te(Qe),Ue(null);try{await IRe({spaceId:pe.id,region:pe.region||Ui(e)}),h&&ll(h)===Qe&&ln(),ge(yt=>yt+1)}catch(yt){Ue(ss(yt,"删除 Skill 空间失败"))}finally{Te("")}};return st&&(h||st.selectPublishSpace)?c.jsx(mJe,{operation:st.operation,cloudProvider:e,space:h??void 0,availableSpaces:r,spacesLoading:l,initialIntent:st.initialIntent,source:st.source,onBack:()=>ct(null),onPublished:()=>{Ce(pe=>pe+1),ge(pe=>pe+1)}}):c.jsxs("section",{className:`skillcenter${h?" is-space":" my-agents-page"}`,children:[h?c.jsxs(c.Fragment,{children:[c.jsxs("header",{className:"skillcenter-page-header",children:[c.jsxs("div",{className:"skillcenter-page-heading skillcenter-page-heading--back",children:[c.jsx("button",{type:"button",className:"skillcenter-back",onClick:ln,"aria-label":"返回技能空间",children:c.jsx(kJe,{})}),c.jsxs("div",{children:[c.jsx("h1",{title:h.name,children:h.name}),c.jsx("p",{children:h.description||"管理空间中的技能并创建新的版本"})]})]}),c.jsxs("label",{className:"skillcenter-search",children:[c.jsx(SV,{}),c.jsx("input",{type:"search","aria-label":"搜索技能",value:_,onChange:pe=>C(pe.target.value),placeholder:"搜索技能"})]})]}),c.jsxs("div",{className:"skillcenter-toolbar",children:[c.jsxs("div",{className:"skillcenter-detail-facts",children:[c.jsxs("div",{children:[c.jsx("span",{children:"技能数量"}),c.jsx("strong",{children:S})]}),c.jsxs("div",{children:[c.jsx("span",{children:"更新时间"}),c.jsx("strong",{children:h.updatedAt?yV(h.updatedAt):"—"})]})]}),c.jsxs("div",{className:"skillcenter-toolbar-actions",children:[c.jsx("button",{type:"button",className:"skillcenter-secondary-action",onClick:()=>ie(h),children:"本地上传"}),c.jsx(Dk,{disabled:!(I!=null&&I.enabled),children:c.jsxs("button",{type:"button",className:"skillcenter-primary-action",disabled:!(I!=null&&I.enabled),onClick:()=>ct({operation:"create"}),children:[c.jsx(vV,{}),c.jsx("span",{children:"创建技能"})]})})]})]}),je?c.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:c.jsx(eo,{error:je})}):null,c.jsxs("section",{className:"skillcenter-results","aria-label":`${h.name}中的技能`,children:[v&&m.length===0?c.jsxs("div",{className:"skillcenter-loading",children:[c.jsx(mce,{}),"正在加载技能"]}):w&&m.length===0?c.jsx(IC,{kind:"error",title:"无法加载技能",error:w,action:{label:"重新加载",onClick:()=>Ce(pe=>pe+1)}}):Gt.length===0?c.jsx(IC,{kind:"empty",title:_.trim()?"没有匹配的技能":"暂无技能",description:_.trim()?"请尝试搜索其他名称":"本地上传 Skill,或自动创建",action:_.trim()?void 0:{label:"本地上传",onClick:()=>ie(h)}}):c.jsx("div",{className:"skillcenter-table-wrap",children:c.jsxs("table",{className:"skillcenter-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{scope:"col",children:"技能"}),c.jsx("th",{scope:"col",children:"状态"}),c.jsx("th",{scope:"col",className:"skillcenter-table__actions-heading",children:"操作"})]})}),c.jsx("tbody",{children:Gt.map(pe=>c.jsxs("tr",{children:[c.jsx("td",{className:"skillcenter-table__skill",children:c.jsxs("button",{type:"button",onClick:()=>void qe(pe),children:[c.jsxs("span",{className:"skillcenter-table__title-row",children:[c.jsx("strong",{title:pe.skillName,children:pe.skillName}),pe.version?c.jsx("span",{className:"skillcenter-table__version-badge",children:pe.version}):null]}),c.jsx("span",{className:"skillcenter-table__description",children:pce(pe.skillDescription)})]})}),c.jsx("td",{children:c.jsx("span",{className:`skillcenter-status ${bV(pe.skillStatus)}`,children:iM(pe.skillStatus)})}),c.jsx("td",{children:c.jsxs("div",{className:"skillcenter-table__actions",children:[c.jsx("button",{type:"button",onClick:()=>void qe(pe),children:"查看"}),c.jsx(Dk,{disabled:!(I!=null&&I.enabled),children:c.jsx("button",{type:"button",disabled:!(I!=null&&I.enabled),onClick:()=>pn(pe),children:"优化"})}),c.jsx("button",{type:"button",className:"is-danger",disabled:_e===pe.skillId,onClick:()=>void bn(pe),children:_e===pe.skillId?"删除中…":"删除"})]})})]},`${pe.skillId}:${pe.version}`))})]})}),!_.trim()&&!v&&!w&&S>0?c.jsx(TJe,{page:y,total:S,pageSize:OV,onPage:b}):null]})]}):c.jsxs(c.Fragment,{children:[c.jsxs("header",{className:"my-agents-header",children:[c.jsxs("div",{className:"my-agents-heading",children:[c.jsx("h1",{children:"技能"}),c.jsx("p",{children:"管理您的 Skill 空间,创建、查看和优化技能"})]}),c.jsxs("label",{className:"my-agent-search",children:[c.jsx(SV,{}),c.jsx("input",{type:"search","aria-label":"搜索技能空间",value:d,onChange:pe=>f(pe.target.value),placeholder:"搜索技能空间"})]})]}),c.jsx("div",{className:"my-agent-type-bar skillcenter-list-toolbar",children:c.jsxs("button",{type:"button",className:"my-agent-create-primary",onClick:()=>U(!0),children:[c.jsx(vV,{}),c.jsx("span",{children:"新建空间"})]})}),je?c.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:c.jsx(eo,{error:je})}):null,c.jsxs("section",{className:"my-agent-results",ref:de,"aria-label":"技能空间列表",onScroll:Rt,children:[Dt.length>0&&!Wt?c.jsx(EV,{errors:Dt,cloudProvider:e,onRetry:()=>ge(pe=>pe+1)}):null,l&&r.length===0?c.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),c.jsx("span",{children:"正在加载技能空间"})]}):Wt&&r.length===0?c.jsx(EV,{errors:Dt,cloudProvider:e,fullPage:!0,onRetry:()=>ge(pe=>pe+1)}):dt.length===0?c.jsx(IC,{kind:"empty",title:d.trim()?"没有匹配的技能空间":"暂无技能空间",description:d.trim()?"请尝试搜索其他名称":"新建一个空间,开始管理和创建技能",action:d.trim()?void 0:{label:"新建空间",onClick:()=>U(!0)}}):c.jsx(c.Fragment,{children:c.jsx("div",{className:"my-agent-grid",children:dt.map(pe=>{const Qe=ll(pe);return c.jsxs("article",{className:"my-agent-card skillcenter-space-card",children:[c.jsxs("div",{className:"my-agent-card-content",children:[c.jsxs("div",{className:"my-agent-card-title",children:[c.jsx("div",{className:"my-agent-card-title-copy",children:c.jsx("h3",{title:pe.name,children:pe.name})}),c.jsx("span",{className:`skillcenter-status ${bV(pe.status)}`,children:iM(pe.status)})]}),c.jsx("p",{className:"my-agent-description",children:pe.description||"暂无描述"}),c.jsxs("dl",{className:"my-agent-meta",children:[c.jsxs("div",{className:"my-agent-created-at",children:[c.jsx("dt",{children:"技能数量"}),c.jsx("dd",{children:pe.skillCount??0})]}),c.jsxs("div",{className:"my-agent-region",children:[c.jsx("dt",{children:"更新时间"}),c.jsx("dd",{children:pe.updatedAt?yV(pe.updatedAt):"—"})]})]})]}),c.jsxs("footer",{className:"my-agent-actions skillcenter-card-actions",children:[c.jsx("button",{type:"button",className:"my-agent-details",onClick:()=>ke(pe),children:"添加技能"}),c.jsx("button",{type:"button",className:"my-agent-use",onClick:()=>rn(pe),children:"查看详情"}),c.jsxs("div",{className:"skillcenter-card-menu",ref:me===Qe?ce:void 0,children:[c.jsx("button",{type:"button",className:"skillcenter-card-more","aria-label":`更多空间操作:${pe.name}`,"aria-haspopup":"menu","aria-expanded":me===Qe,onClick:yt=>{yt.stopPropagation(),Be(mn=>mn===Qe?"":Qe)},children:c.jsx(EJe,{})}),me===Qe?c.jsxs("div",{className:"skillcenter-card-menu__popover",role:"menu","aria-label":`${pe.name}空间操作`,onPointerDown:yt=>yt.stopPropagation(),children:[c.jsx("button",{type:"button",onClick:()=>{Be(""),ae(pe)},role:"menuitem",children:"编辑空间"}),c.jsx("button",{type:"button",className:"is-danger",disabled:te===Qe,onClick:()=>{Be(""),It(pe)},role:"menuitem",children:"删除空间"})]}):null]})]})]},Qe)})})}),!Wt&&r.length>0?c.jsx("div",{className:"my-agent-load-more",ref:Ie,"aria-live":"polite",children:l?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),c.jsx("span",{children:"正在加载更多技能空间"})]}):vt?c.jsx("span",{children:"继续下滑加载更多"}):Dt.length>0?c.jsx("span",{children:"部分技能空间加载失败"}):c.jsx("span",{children:"已加载全部技能空间"})}):null]})]}),A&&h&&c.jsx(AJe,{skill:A,space:h,region:Ct,cloudProvider:e,detail:j,files:L,loading:N,error:B,canOptimize:(I==null?void 0:I.enabled)===!0,onOptimize:()=>pn(A),onDownload:()=>void DRe({spaceId:h.id,skillId:A.skillId,version:A.version,region:Ct,fallbackName:A.skillName}).catch(pe=>$(ss(pe,"下载 Skill 失败"))),onClose:Ae}),X?c.jsx(gJe,{region:Ui(e),onClose:()=>U(!1),onCreated:pe=>{U(!1),ge(Qe=>Qe+1),p({...pe,region:pe.region||Ui(e)})}}):null,Y?c.jsx(OJe,{space:Y,region:Y.region||Ui(e),onClose:()=>ae(null),onUpdated:pe=>{const Qe={...pe,region:pe.region||Y.region||Ui(e)};ae(null),p(yt=>yt&&ll(yt)===ll(Qe)?Qe:yt),s(yt=>yt.map(mn=>ll(mn)===ll(Qe)?Qe:mn)),ge(yt=>yt+1)}}):null,fe?c.jsx(NJe,{space:fe,canUseSandbox:(I==null?void 0:I.enabled)===!0,onClose:()=>ke(null),onUpload:()=>{ie(fe),ke(null)},onSandbox:()=>{const pe=fe;ke(null),rn(pe),ct({operation:"create"})}}):null,K?c.jsx(bJe,{space:K,region:K.region||Ui(e),onClose:()=>ie(null),onUploaded:()=>{ie(null),Ce(pe=>pe+1),ge(pe=>pe+1)}}):null]})}const gce="veadk_agentkit_connections",RJe=3e3,kV=6e4;function fl(){try{const e=localStorage.getItem(gce);return(e?JSON.parse(e):[]).filter(n=>!n.runtimeId||!!n.region)}catch{return[]}}function D_(e){try{localStorage.setItem(gce,JSON.stringify(e))}catch{}}function xl(e,t){return`agentkit:${e}:${t}`}function Oce(e){try{return new URL(e).host}catch{return e}}function L0(e){vZ();for(const t of e)if(!(t.runtimeId&&!t.region))for(const n of t.apps)SZ(xl(t.id,n),t.runtimeId?{app:n,runtimeId:t.runtimeId,region:t.region}:{app:n,base:t.base,apiKey:t.apiKey})}function bce(e,t,n,i,r,s){const a={id:`rt_${e}`,name:t||e,runtimeId:e,region:n,apps:i,appLabels:r,currentVersion:s},o=fl(),l=o.findIndex(u=>u.runtimeId===e);return l===-1?o.push(a):o[l]=a,D_(o),L0(o),a}async function IJe(e,t,n,i,r){let s=null,a=n||"cn-beijing",o=null;for(const f of Cf(n))try{const h=await ID(e,f,{retryProbe:!0});if(h&&h.length>0){s=h,a=f;break}}catch(h){if(h instanceof g0)throw $k(e),h;if(h instanceof na&&h.unsupported){o=h;continue}throw h}if(!s||s.length===0)throw $k(e),o||new na("该 Runtime 暂不支持连接,请确认服务已正常运行。",!0,!0);const l=(r==null?void 0:r.trim())||s[0],u=Object.fromEntries(s.map(f=>[f,f===s[0]?l:f])),d=bce(e,t,a,s,u,i);return xl(d.id,s[0])}function PJe(e){return new Promise(t=>window.setTimeout(t,e))}async function Iw(e,t,n,i,r={}){const s=Date.now();for(;;)try{return await IJe(e,t,n,i,r.agentName)}catch(a){const o=Date.now()-s;if(!r.waitForReady||!(a instanceof na)||!a.retryable||o>=kV)throw a;const l=Math.min(RJe,kV-o);await PJe(l)}}async function yce(e,t,n,i){const r=t.trim().replace(/\/+$/,""),s=await NT(r,n.trim()),a={id:Date.now().toString(36),name:e.trim()||Oce(r),base:r,apiKey:n.trim(),apps:s,appLabels:i&&s.length>0?{[s[0]]:i}:void 0},o=[...fl().filter(l=>l.base!==r),a];return D_(o),L0(o),a}function jJe(e){const t=fl().filter(n=>n.id!==e);return D_(t),L0(t),t}function $k(e){const t=fl().filter(n=>n.runtimeId!==e);return D_(t),L0(t),t}function xce(e,t){const n=e.map(r=>({id:r,label:r,app:r,remote:!1})),i=t.flatMap(r=>r.apps.map(s=>{var o;const a=((o=r.appLabels)==null?void 0:o[s])??s;return{id:xl(r.id,s),label:a,app:s,remote:!0,host:r.runtimeId?r.name:Oce(r.base??""),runtimeId:r.runtimeId,region:r.region,currentVersion:r.currentVersion}}));return[...n,...i]}const TV=Object.freeze(Object.defineProperty({__proto__:null,addConnection:yce,addRuntimeConnection:bce,buildAgentEntries:xce,connectRuntime:Iw,loadConnections:fl,registerConnections:L0,remoteAppId:xl,removeConnection:jJe,removeRuntimeConnection:$k},Symbol.toStringTag,{value:"Module"}));function MJe({onAdded:e,onCancel:t}){const[n,i]=O.useState(""),[r,s]=O.useState(""),[a,o]=O.useState(""),[l,u]=O.useState(!1),[d,f]=O.useState(""),h=n.trim().length>0&&r.trim().length>0&&!l;async function p(){if(h){u(!0),f("");try{const m=await yce(a,n,r,a);if(m.apps.length===0){f("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。"),u(!1);return}e(xl(m.id,m.apps[0]))}catch(m){f(`连接失败:${String(m)}。请检查 URL、API Key,以及该网关是否允许跨域。`),u(!1)}}}return c.jsx("div",{className:"addagent",children:c.jsxs("div",{className:"addagent-card",children:[c.jsx("h2",{className:"addagent-title",children:"添加 AgentKit 智能体"}),c.jsx("p",{className:"addagent-sub",children:"填入 AgentKit 部署的访问地址与 API Key,将通过 ADK 协议连接,连接成功后其 Agent 会出现在左上角的下拉中。"}),c.jsxs("label",{className:"addagent-field",children:[c.jsx("span",{className:"addagent-label",children:"访问地址 URL"}),c.jsx("input",{className:"addagent-input",value:n,onChange:m=>i(m.target.value),placeholder:"https://xxxxx.apigateway-cn-beijing.volceapi.com",autoFocus:!0})]}),c.jsxs("label",{className:"addagent-field",children:[c.jsx("span",{className:"addagent-label",children:"API Key"}),c.jsx("input",{className:"addagent-input",type:"password",value:r,onChange:m=>s(m.target.value),placeholder:"以 Authorization: Bearer 方式连接"})]}),c.jsxs("label",{className:"addagent-field",children:[c.jsx("span",{className:"addagent-label",children:"显示名称(可选)"}),c.jsx("input",{className:"addagent-input",value:a,onChange:m=>o(m.target.value),placeholder:"默认取 URL 的主机名"})]}),d&&c.jsx("div",{className:"addagent-error",children:d}),c.jsxs("div",{className:"addagent-actions",children:[c.jsx("button",{className:"addagent-btn addagent-btn--ghost",onClick:t,disabled:l,children:"取消"}),c.jsxs("button",{className:"addagent-btn addagent-btn--primary",onClick:p,disabled:!h,children:[l?c.jsx(qn,{className:"icon spin"}):null,l?"连接中…":"连接并添加"]})]})]})})}function LJe(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M12 4.2 21 19H3L12 4.2Z"}),c.jsx("path",{d:"M12 9.4v4.2"}),c.jsx("path",{d:"M12 16.8h.01"})]})}function DJe(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"m7 7 10 10"}),c.jsx("path",{d:"m17 7-10 10"})]})}function $_({title:e,description:t,confirmLabel:n,cancelLabel:i="取消",closeLabel:r="关闭确认框",variant:s="warning",busy:a=!1,onCancel:o,onConfirm:l}){const u=O.useId(),d=O.useId(),f=O.useRef(null),h=O.useRef(a),p=O.useRef(o);return O.useEffect(()=>{h.current=a,p.current=o},[a,o]),O.useEffect(()=>{var b;const m=document.body.style.overflow,g=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(b=f.current)==null||b.focus();const y=S=>{S.key==="Escape"&&!h.current&&p.current()};return window.addEventListener("keydown",y),()=>{document.body.style.overflow=m,window.removeEventListener("keydown",y),g!=null&&g.isConnected&&g.focus()}},[]),ar.createPortal(c.jsx("div",{className:"studio-confirm-backdrop",onMouseDown:m=>{m.target===m.currentTarget&&!a&&o()},children:c.jsxs("section",{className:`studio-confirm-dialog studio-confirm-dialog--${s}`,role:"alertdialog","aria-modal":"true","aria-labelledby":u,"aria-describedby":d,"aria-busy":a||void 0,children:[c.jsxs("header",{className:"studio-confirm-head",children:[c.jsxs("div",{className:"studio-confirm-title-wrap",children:[c.jsx("span",{className:"studio-confirm-title-icon","aria-hidden":"true",children:c.jsx(LJe,{})}),c.jsx("h2",{id:u,children:e})]}),c.jsx("button",{type:"button",className:"studio-confirm-close",onClick:o,disabled:a,"aria-label":r,children:c.jsx(DJe,{})})]}),c.jsx("div",{className:"studio-confirm-body",children:c.jsx("p",{id:d,children:t})}),c.jsxs("footer",{className:"studio-confirm-actions",children:[c.jsx("button",{ref:f,type:"button",onClick:o,disabled:a,children:i}),c.jsx("button",{type:"button",className:"studio-confirm-primary",onClick:l,disabled:a,children:n})]})]})}),document.body)}const $Je=[{id:"case-1",itemKey:"case-1",kind:"good",input:"总结本周客户反馈,并按优先级归类。",output:"覆盖主要问题,给出清晰的优先级与下一步动作。",referenceOutput:"覆盖主要问题,给出清晰的优先级与下一步动作。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T09:12:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"总结",source:"auto",score:.92,reason:"任务完整覆盖了用户目标,输出结构清晰,并给出了可执行的下一步动作。"},{id:"case-2",itemKey:"case-2",kind:"good",input:"查询最新公开资料并附上来源。",output:"调用搜索工具,结论与引用一一对应。",referenceOutput:"调用搜索工具,结论与引用一一对应。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T08:47:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"工具调用",source:"user"},{id:"case-3",itemKey:"case-3",kind:"bad",input:"在信息不足时直接给出确定结论。",output:"应明确说明未知,并主动询问缺失信息。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T07:35:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"幻觉",source:"auto",score:.28,reason:"信息不足时仍给出了确定结论,缺少必要的澄清步骤与不确定性说明。"},{id:"case-4",itemKey:"case-4",kind:"bad",input:"连续重复调用相同工具获取同一结果。",output:"复用已有结果,避免无意义的重复调用。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T06:58:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"效率",source:"user"}],QJe=[{id:"eval-regression",name:"核心能力回归",agentIds:[],caseSet:"核心回归集",evaluator:"综合质量评估器",metrics:["回答质量","工具调用"],concurrency:"4",history:[{id:"run-1",createdAt:"今天 10:32",score:88,status:"completed"},{id:"run-2",createdAt:"昨天 16:08",score:84,status:"completed"}]},{id:"eval-safety",name:"安全与幻觉检查",agentIds:[],caseSet:"安全边界集",evaluator:"事实一致性评估器",metrics:["事实准确性","拒答合理性"],concurrency:"2",history:[{id:"run-3",createdAt:"7 月 25 日 14:20",score:91,status:"completed"}]}],_V=[{id:"basic",label:"基本信息"},{id:"usage",label:"用量统计"},{id:"evaluations",label:"评测集"},{id:"optimizations",label:"优化项"},{id:"integrations",label:"接入方法"}],BJe=20,UJe=new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1});function zJe(e){const t=Date.parse(e);return Number.isNaN(t)?"暂未提供":UJe.format(t)}const PO=[{id:"api-server",label:"API Server"},{id:"a2a",label:"A2A"}];function PC(e,t){return e?`${e.replace(/\/+$/,"")}${t}`:""}function FJe(e,t){const n=e.trim();if(!n||!t)return n;try{const i=new URL(n),r=i.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(!["localhost","127.0.0.1","::1"].includes(r))return n;const s=new URL(t);return i.protocol=s.protocol,i.hostname=s.hostname,i.port=s.port,i.toString()}catch{return n}}function AV(e){return e==="key_auth"?"API Key":e==="custom_jwt"?"OAuth / JWT":e==="none"?"无需鉴权":"暂无"}function rM(e){return JSON.stringify(e)}function Sce(e){return e==="key_auth"?`API_KEY = "" +`,4);return n>=0?t.slice(n+5).trimStart():e}function gce(e){const t=(e||"").trim();return!t||[">",">-","|","|-"].includes(t)?"暂无描述":t}function kJe(){return c.jsx("svg",{className:"icon",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:c.jsx("path",{d:"m7.5 7.5 9 9m0-9-9 9",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function SV(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),c.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function vV(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round"})})}function TJe(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"5.5",cy:"12",r:"1.4"}),c.jsx("circle",{cx:"12",cy:"12",r:"1.4"}),c.jsx("circle",{cx:"18.5",cy:"12",r:"1.4"})]})}function _Je(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function wV({direction:e}){return c.jsx("svg",{className:"icon",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,children:c.jsx("path",{d:e==="left"?"m11.7 5.5-4.2 4.5 4.2 4.5":"m8.3 5.5 4.2 4.5-4.2 4.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function Oce(){return c.jsx("span",{className:"skillcenter-loading-mark","aria-hidden":!0})}function AJe({page:e,total:t,pageSize:n,onPage:i}){const r=Math.max(1,Math.ceil(t/n));return c.jsxs("footer",{className:"skillcenter-pager",children:[c.jsxs("span",{children:["共 ",t," 项"]}),c.jsxs("div",{className:"skillcenter-pager-actions",children:[c.jsx("button",{type:"button",onClick:()=>i(e-1),disabled:e<=1,"aria-label":"上一页",children:c.jsx(wV,{direction:"left"})}),c.jsxs("span",{children:[e," / ",r]}),c.jsx("button",{type:"button",onClick:()=>i(e+1),disabled:e>=r,"aria-label":"下一页",children:c.jsx(wV,{direction:"right"})})]})]})}function NJe({children:e}){return c.jsx("div",{className:"skillcenter-empty",children:e})}function IC({kind:e,title:t,description:n,error:i,action:r}){return c.jsx("div",{className:`skillcenter-page-state is-${e}`,role:e==="error"?"alert":"status",children:c.jsxs(li,{fill:"none",children:[c.jsx(li.Title,{children:t}),n?c.jsx(li.Description,{children:n}):null,i?c.jsx(eo,{error:i}):null,r?c.jsx(li.ActionRow,{children:c.jsx(Wm,{color:"secondary",size:"lg",onClick:r.onClick,children:r.label})}):null]})})}function EV({errors:e,cloudProvider:t,fullPage:n=!1,onRetry:i}){return c.jsxs("div",{className:`skillcenter-space-errors${n?" is-full-page":""}`,role:"alert",children:[c.jsxs("div",{className:"skillcenter-space-errors__content",children:[c.jsx("strong",{children:n?"无法加载技能空间":"部分技能空间加载失败"}),e.map(({region:r,error:s})=>c.jsxs("section",{children:[c.jsx("span",{children:ff(r,t)}),c.jsx(eo,{error:s})]},r))]}),c.jsx("button",{type:"button",onClick:i,children:"重新加载"})]})}function CJe({skill:e,space:t,region:n,cloudProvider:i,detail:r,files:s,loading:a,error:o,canOptimize:l,onOptimize:u,onDownload:d,onClose:f}){return O.useEffect(()=>{const h=p=>{p.key==="Escape"&&f()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[f]),c.jsx("div",{className:"skill-detail-backdrop",role:"presentation",onMouseDown:f,children:c.jsxs("section",{className:"skill-detail-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-detail-title",onMouseDown:h=>h.stopPropagation(),children:[c.jsxs("header",{className:"skill-detail-head",children:[c.jsx("div",{className:"skill-detail-heading",children:c.jsxs("div",{children:[c.jsx("h2",{id:"skill-detail-title",children:(r==null?void 0:r.name)||e.skillName}),c.jsx("p",{children:gce((r==null?void 0:r.description)||e.skillDescription)})]})}),c.jsxs("div",{className:"skill-detail-actions",children:[c.jsx("button",{type:"button",onClick:d,disabled:s.length===0,children:"下载 ZIP"}),c.jsx(Dk,{disabled:!l,placement:"bottom",children:c.jsx("button",{type:"button",onClick:u,disabled:!l,children:"优化"})}),c.jsx("button",{type:"button",className:"skill-detail-close",onClick:f,"aria-label":"关闭技能详情",children:c.jsx(kJe,{})})]})]}),c.jsxs("dl",{className:"skill-detail-meta",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"技能 ID"}),c.jsx("dd",{title:e.skillId,children:e.skillId})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"版本"}),c.jsx("dd",{children:(r==null?void 0:r.version)||e.version||"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"状态"}),c.jsx("dd",{children:iM(e.skillStatus)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"技能空间"}),c.jsx("dd",{title:t.name,children:t.name})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"地域"}),c.jsx("dd",{children:ff(n,i)})]})]}),c.jsxs("div",{className:"skill-detail-content skill-detail-content--files",children:[c.jsx("div",{className:"skill-detail-content-title",children:"完整文件"}),a?c.jsxs("div",{className:"skillcenter-loading",children:[c.jsx(Oce,{}),"正在读取技能内容…"]}):o?c.jsx("div",{className:"skillcenter-error",children:c.jsx(eo,{error:o})}):s.length>0?c.jsx(hce,{files:s.map(h=>h.path.endsWith("SKILL.md")&&h.content?{...h,content:EJe(h.content)}:h)}):c.jsx(NJe,{children:"该技能暂无 SKILL.md 内容"})]})]})})}function RJe({space:e,canUseSandbox:t,onUpload:n,onSandbox:i,onClose:r}){return O.useEffect(()=>{const s=a=>{a.key==="Escape"&&r()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[r]),c.jsx("div",{className:"skill-dialog-backdrop",role:"presentation",onMouseDown:r,children:c.jsxs("section",{className:"skill-dialog skill-add-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-add-dialog-title",onMouseDown:s=>s.stopPropagation(),children:[c.jsxs("header",{children:[c.jsxs("div",{children:[c.jsx("h2",{id:"skill-add-dialog-title",children:"添加技能"}),c.jsx("p",{title:e.name,children:e.name})]}),c.jsx("button",{type:"button",onClick:r,children:"取消"})]}),c.jsxs("div",{className:"skill-add-dialog__options",children:[c.jsxs("button",{type:"button",onClick:n,children:[c.jsx("strong",{children:"本地上传"}),c.jsx("span",{children:"选择 ZIP 文件,校验通过后上传到技能空间"})]}),c.jsx(Dk,{disabled:!t,placement:"inside",children:c.jsxs("button",{type:"button",disabled:!t,onClick:i,children:[c.jsx("strong",{children:"自动创建"}),c.jsx("span",{children:"选择模型和风格,通过对话生成技能"})]})})]})]})})}function IJe({cloudProvider:e="volcengine",initialWorkspace:t=null,onInitialWorkspaceConsumed:n}){const i=O.useMemo(()=>_T(e).map(pe=>pe.value),[e]),[r,s]=O.useState([]),[a,o]=O.useState({}),[l,u]=O.useState(!1),[d,f]=O.useState(""),[h,p]=O.useState((t==null?void 0:t.space)??null),[m,g]=O.useState([]),[y,b]=O.useState(1),[S,x]=O.useState(0),[v,E]=O.useState(!1),[w,k]=O.useState(null),[_,C]=O.useState(""),[A,R]=O.useState(null),[j,Q]=O.useState(null),[L,D]=O.useState([]),[N,M]=O.useState(!1),[B,$]=O.useState(null),[I,G]=O.useState(null),[X,U]=O.useState(!1),[Y,ae]=O.useState(null),[fe,ke]=O.useState(null),[K,ie]=O.useState(null),[le,ge]=O.useState(0),[Ee,Ce]=O.useState(0),[_e,he]=O.useState(""),[te,Te]=O.useState(""),[me,Be]=O.useState(""),[je,Ue]=O.useState(null),[st,ct]=O.useState(t),Tt=O.useRef(0),at=O.useRef(0),q=O.useRef(!1),oe=O.useRef(null),de=O.useRef(null),Ie=O.useRef(null),ce=O.useRef(null),Me=O.useDeferredValue(d),Ye=O.useDeferredValue(_);O.useEffect(()=>{t&&(n==null||n())},[t,n]);const dt=O.useMemo(()=>{const pe=Me.trim().toLocaleLowerCase();return pe?r.filter(Qe=>`${Qe.name} ${Qe.description||""} ${Qe.projectName||""}`.toLocaleLowerCase().includes(pe)):r},[Me,r]),Gt=O.useMemo(()=>{const pe=Ye.trim().toLocaleLowerCase();return pe?m.filter(Qe=>`${Qe.skillName} ${Qe.skillDescription||""}`.toLocaleLowerCase().includes(pe)):m},[Ye,m]),Ct=(h==null?void 0:h.region)||Ui(e),Dt=O.useMemo(()=>i.flatMap(pe=>{var yt;const Qe=(yt=a[pe])==null?void 0:yt.error;return Qe?[{region:pe,error:Qe}]:[]}),[a,i]),vt=i.some(pe=>{const Qe=a[pe];return!!(Qe&&!Qe.done&&!Qe.error)}),Wt=Dt.length===i.length;O.useEffect(()=>{const pe=new AbortController;return ZT(pe.signal).then(G).catch(()=>G({enabled:!1,reason:"管理员未配置",operations:["create","optimize"],models:[],styles:{}})),()=>pe.abort()},[]),O.useEffect(()=>{if(!me)return;const pe=yt=>{var mn;(mn=ce.current)!=null&&mn.contains(yt.target)||Be("")},Qe=yt=>{yt.key==="Escape"&&Be("")};return window.addEventListener("pointerdown",pe),window.addEventListener("keydown",Qe),()=>{window.removeEventListener("pointerdown",pe),window.removeEventListener("keydown",Qe)}},[me]);const gt=O.useCallback(async(pe,Qe)=>{var Fn;if(q.current||pe.length===0)return;q.current=!0,u(!0),Qe&&((Fn=oe.current)==null||Fn.abort(),s([]),o(Object.fromEntries(pe.map(({region:xe})=>[xe,{nextPage:1,loadedCount:0,done:!1,error:null}]))));const yt=new AbortController;oe.current=yt;const mn=++at.current,wn=await Promise.allSettled(pe.map(async({region:xe,page:Ge})=>({region:xe,page:Ge,result:await RRe({region:xe,page:Ge,pageSize:SJe,signal:yt.signal})})));if(at.current!==mn)return;const Jt=wn.map((xe,Ge)=>{const Nt=pe[Ge];return xe.status==="rejected"?{request:Nt,error:ss(xe.reason,"读取技能空间失败,请稍后重试"),items:[],totalCount:0}:{request:Nt,error:null,items:(xe.value.result.items||[]).map(Kt=>({...Kt,region:Kt.region||xe.value.region})),totalCount:xe.value.result.totalCount||0}}),ui=Jt.flatMap(xe=>xe.items);o(xe=>{const Ge={...xe};return Jt.forEach(({request:Nt,error:Kt,items:sn,totalCount:Vn})=>{const xi=Ge[Nt.region]||{nextPage:Nt.page,loadedCount:0,done:!1,error:null};if(Kt){Ge[Nt.region]={...xi,error:Kt};return}const di=xi.loadedCount+sn.length;Ge[Nt.region]={nextPage:Nt.page+1,loadedCount:di,done:sn.length===0||di>=Vn,error:null}}),Ge}),s(xe=>wJe(Qe?[]:xe,ui)),p(xe=>xe&&(ui.find(Ge=>ll(Ge)===ll(xe))||xe)),q.current=!1,u(!1)},[]),ft=O.useCallback(()=>{if(q.current)return;const pe=i.flatMap(Qe=>{const yt=a[Qe];return yt&&!yt.done&&!yt.error?[{region:Qe,page:yt.nextPage}]:[]});gt(pe,!1)},[gt,a,i]);O.useEffect(()=>{Ae(),p(null),g([]),b(1)},[e]),O.useEffect(()=>(gt(i.map(pe=>({region:pe,page:1})),!0),()=>{var pe;at.current+=1,(pe=oe.current)==null||pe.abort(),q.current=!1}),[gt,i,le]),O.useEffect(()=>{const pe=Ie.current,Qe=de.current;if(!pe||!Qe||!vt||l)return;const yt=new IntersectionObserver(([mn])=>{mn.isIntersecting&&ft()},{root:Qe,rootMargin:"240px 0px",threshold:.01});return yt.observe(pe),()=>yt.disconnect()},[vt,ft,l]);const Rt=()=>{const pe=de.current;!pe||!vt||l||pe.scrollHeight-pe.scrollTop-pe.clientHeight<=240&&ft()};O.useEffect(()=>{if(!h){g([]),x(0);return}let pe=!0;return E(!0),k(null),BRe(h.id,{region:Ct,page:y,pageSize:OV,project:h.projectName}).then(Qe=>{pe&&(g(Qe.items||[]),x(Qe.totalCount||0))}).catch(Qe=>{pe&&(g([]),x(0),k(ss(Qe,"读取技能失败,请稍后重试")))}).finally(()=>{pe&&E(!1)}),()=>{pe=!1}},[Ct,h,y,Ee]);const rn=pe=>{Ae(),p(pe),b(1),C("")},ln=()=>{Ae(),p(null),g([]),x(0),b(1),C(""),Ue(null)},Ae=()=>{Tt.current+=1,R(null),Q(null),D([]),$(null),M(!1)},qe=async pe=>{if(!h)return;const Qe=Tt.current+1;Tt.current=Qe,R(pe),Q(null),$(null),M(!0);try{const[yt,mn]=await Promise.all([URe(h.id,pe.skillId,pe.version,Ct,h.projectName),$Re({spaceId:h.id,skillId:pe.skillId,version:pe.version,region:Ct})]);Tt.current===Qe&&(Q(yt),D(mn))}catch(yt){Tt.current===Qe&&$(ss(yt,"读取技能详情失败,请稍后重试"))}finally{Tt.current===Qe&&M(!1)}},$e=pe=>{if(h)return{kind:"skill-center",skillId:pe.skillId,version:pe.version,region:Ct,projectName:h.projectName,skillSpaceId:h.id,skillSpaceName:h.name,name:pe.skillName,description:pe.skillDescription}},pn=pe=>{const Qe=$e(pe);!Qe||!(I!=null&&I.enabled)||(Ae(),ct({operation:"optimize",source:Qe}))},bn=async pe=>{if(!(!h||!window.confirm(`确定删除整个 Skill“${pe.skillName}”吗?此操作会影响所有引用它的空间。`))){he(pe.skillId),Ue(null);try{await DRe({spaceId:h.id,skillId:pe.skillId,region:Ct}),Ce(Qe=>Qe+1),ge(Qe=>Qe+1)}catch(Qe){Ue(ss(Qe,"删除 Skill 失败"))}finally{he("")}}},It=async pe=>{if(!window.confirm(`确定删除 Skill 空间“${pe.name}”吗?请先确认空间中的技能已删除。`))return;const Qe=ll(pe);Te(Qe),Ue(null);try{await jRe({spaceId:pe.id,region:pe.region||Ui(e)}),h&&ll(h)===Qe&&ln(),ge(yt=>yt+1)}catch(yt){Ue(ss(yt,"删除 Skill 空间失败"))}finally{Te("")}};return st&&(h||st.selectPublishSpace)?c.jsx(OJe,{operation:st.operation,cloudProvider:e,space:h??void 0,availableSpaces:r,spacesLoading:l,initialIntent:st.initialIntent,source:st.source,onBack:()=>ct(null),onPublished:()=>{Ce(pe=>pe+1),ge(pe=>pe+1)}}):c.jsxs("section",{className:`skillcenter${h?" is-space":" my-agents-page"}`,children:[h?c.jsxs(c.Fragment,{children:[c.jsxs("header",{className:"skillcenter-page-header",children:[c.jsxs("div",{className:"skillcenter-page-heading skillcenter-page-heading--back",children:[c.jsx("button",{type:"button",className:"skillcenter-back",onClick:ln,"aria-label":"返回技能空间",children:c.jsx(_Je,{})}),c.jsxs("div",{children:[c.jsx("h1",{title:h.name,children:h.name}),c.jsx("p",{children:h.description||"管理空间中的技能并创建新的版本"})]})]}),c.jsxs("label",{className:"skillcenter-search",children:[c.jsx(SV,{}),c.jsx("input",{type:"search","aria-label":"搜索技能",value:_,onChange:pe=>C(pe.target.value),placeholder:"搜索技能"})]})]}),c.jsxs("div",{className:"skillcenter-toolbar",children:[c.jsxs("div",{className:"skillcenter-detail-facts",children:[c.jsxs("div",{children:[c.jsx("span",{children:"技能数量"}),c.jsx("strong",{children:S})]}),c.jsxs("div",{children:[c.jsx("span",{children:"更新时间"}),c.jsx("strong",{children:h.updatedAt?yV(h.updatedAt):"—"})]})]}),c.jsxs("div",{className:"skillcenter-toolbar-actions",children:[c.jsx("button",{type:"button",className:"skillcenter-secondary-action",onClick:()=>ie(h),children:"本地上传"}),c.jsx(Dk,{disabled:!(I!=null&&I.enabled),children:c.jsxs("button",{type:"button",className:"skillcenter-primary-action",disabled:!(I!=null&&I.enabled),onClick:()=>ct({operation:"create"}),children:[c.jsx(vV,{}),c.jsx("span",{children:"创建技能"})]})})]})]}),je?c.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:c.jsx(eo,{error:je})}):null,c.jsxs("section",{className:"skillcenter-results","aria-label":`${h.name}中的技能`,children:[v&&m.length===0?c.jsxs("div",{className:"skillcenter-loading",children:[c.jsx(Oce,{}),"正在加载技能"]}):w&&m.length===0?c.jsx(IC,{kind:"error",title:"无法加载技能",error:w,action:{label:"重新加载",onClick:()=>Ce(pe=>pe+1)}}):Gt.length===0?c.jsx(IC,{kind:"empty",title:_.trim()?"没有匹配的技能":"暂无技能",description:_.trim()?"请尝试搜索其他名称":"本地上传 Skill,或自动创建",action:_.trim()?void 0:{label:"本地上传",onClick:()=>ie(h)}}):c.jsx("div",{className:"skillcenter-table-wrap",children:c.jsxs("table",{className:"skillcenter-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{scope:"col",children:"技能"}),c.jsx("th",{scope:"col",children:"状态"}),c.jsx("th",{scope:"col",className:"skillcenter-table__actions-heading",children:"操作"})]})}),c.jsx("tbody",{children:Gt.map(pe=>c.jsxs("tr",{children:[c.jsx("td",{className:"skillcenter-table__skill",children:c.jsxs("button",{type:"button",onClick:()=>void qe(pe),children:[c.jsxs("span",{className:"skillcenter-table__title-row",children:[c.jsx("strong",{title:pe.skillName,children:pe.skillName}),pe.version?c.jsx("span",{className:"skillcenter-table__version-badge",children:pe.version}):null]}),c.jsx("span",{className:"skillcenter-table__description",children:gce(pe.skillDescription)})]})}),c.jsx("td",{children:c.jsx("span",{className:`skillcenter-status ${bV(pe.skillStatus)}`,children:iM(pe.skillStatus)})}),c.jsx("td",{children:c.jsxs("div",{className:"skillcenter-table__actions",children:[c.jsx("button",{type:"button",onClick:()=>void qe(pe),children:"查看"}),c.jsx(Dk,{disabled:!(I!=null&&I.enabled),children:c.jsx("button",{type:"button",disabled:!(I!=null&&I.enabled),onClick:()=>pn(pe),children:"优化"})}),c.jsx("button",{type:"button",className:"is-danger",disabled:_e===pe.skillId,onClick:()=>void bn(pe),children:_e===pe.skillId?"删除中…":"删除"})]})})]},`${pe.skillId}:${pe.version}`))})]})}),!_.trim()&&!v&&!w&&S>0?c.jsx(AJe,{page:y,total:S,pageSize:OV,onPage:b}):null]})]}):c.jsxs(c.Fragment,{children:[c.jsxs("header",{className:"my-agents-header",children:[c.jsxs("div",{className:"my-agents-heading",children:[c.jsx("h1",{children:"技能"}),c.jsx("p",{children:"管理您的 Skill 空间,创建、查看和优化技能"})]}),c.jsxs("label",{className:"my-agent-search",children:[c.jsx(SV,{}),c.jsx("input",{type:"search","aria-label":"搜索技能空间",value:d,onChange:pe=>f(pe.target.value),placeholder:"搜索技能空间"})]})]}),c.jsx("div",{className:"my-agent-type-bar skillcenter-list-toolbar",children:c.jsxs("button",{type:"button",className:"my-agent-create-primary",onClick:()=>U(!0),children:[c.jsx(vV,{}),c.jsx("span",{children:"新建空间"})]})}),je?c.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:c.jsx(eo,{error:je})}):null,c.jsxs("section",{className:"my-agent-results",ref:de,"aria-label":"技能空间列表",onScroll:Rt,children:[Dt.length>0&&!Wt?c.jsx(EV,{errors:Dt,cloudProvider:e,onRetry:()=>ge(pe=>pe+1)}):null,l&&r.length===0?c.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),c.jsx("span",{children:"正在加载技能空间"})]}):Wt&&r.length===0?c.jsx(EV,{errors:Dt,cloudProvider:e,fullPage:!0,onRetry:()=>ge(pe=>pe+1)}):dt.length===0?c.jsx(IC,{kind:"empty",title:d.trim()?"没有匹配的技能空间":"暂无技能空间",description:d.trim()?"请尝试搜索其他名称":"新建一个空间,开始管理和创建技能",action:d.trim()?void 0:{label:"新建空间",onClick:()=>U(!0)}}):c.jsx(c.Fragment,{children:c.jsx("div",{className:"my-agent-grid",children:dt.map(pe=>{const Qe=ll(pe);return c.jsxs("article",{className:"my-agent-card skillcenter-space-card",children:[c.jsxs("div",{className:"my-agent-card-content",children:[c.jsxs("div",{className:"my-agent-card-title",children:[c.jsx("div",{className:"my-agent-card-title-copy",children:c.jsx("h3",{title:pe.name,children:pe.name})}),c.jsx("span",{className:`skillcenter-status ${bV(pe.status)}`,children:iM(pe.status)})]}),c.jsx("p",{className:"my-agent-description",children:pe.description||"暂无描述"}),c.jsxs("dl",{className:"my-agent-meta",children:[c.jsxs("div",{className:"my-agent-created-at",children:[c.jsx("dt",{children:"技能数量"}),c.jsx("dd",{children:pe.skillCount??0})]}),c.jsxs("div",{className:"my-agent-region",children:[c.jsx("dt",{children:"更新时间"}),c.jsx("dd",{children:pe.updatedAt?yV(pe.updatedAt):"—"})]})]})]}),c.jsxs("footer",{className:"my-agent-actions skillcenter-card-actions",children:[c.jsx("button",{type:"button",className:"my-agent-details",onClick:()=>ke(pe),children:"添加技能"}),c.jsx("button",{type:"button",className:"my-agent-use",onClick:()=>rn(pe),children:"查看详情"}),c.jsxs("div",{className:"skillcenter-card-menu",ref:me===Qe?ce:void 0,children:[c.jsx("button",{type:"button",className:"skillcenter-card-more","aria-label":`更多空间操作:${pe.name}`,"aria-haspopup":"menu","aria-expanded":me===Qe,onClick:yt=>{yt.stopPropagation(),Be(mn=>mn===Qe?"":Qe)},children:c.jsx(TJe,{})}),me===Qe?c.jsxs("div",{className:"skillcenter-card-menu__popover",role:"menu","aria-label":`${pe.name}空间操作`,onPointerDown:yt=>yt.stopPropagation(),children:[c.jsx("button",{type:"button",onClick:()=>{Be(""),ae(pe)},role:"menuitem",children:"编辑空间"}),c.jsx("button",{type:"button",className:"is-danger",disabled:te===Qe,onClick:()=>{Be(""),It(pe)},role:"menuitem",children:"删除空间"})]}):null]})]})]},Qe)})})}),!Wt&&r.length>0?c.jsx("div",{className:"my-agent-load-more",ref:Ie,"aria-live":"polite",children:l?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),c.jsx("span",{children:"正在加载更多技能空间"})]}):vt?c.jsx("span",{children:"继续下滑加载更多"}):Dt.length>0?c.jsx("span",{children:"部分技能空间加载失败"}):c.jsx("span",{children:"已加载全部技能空间"})}):null]})]}),A&&h&&c.jsx(CJe,{skill:A,space:h,region:Ct,cloudProvider:e,detail:j,files:L,loading:N,error:B,canOptimize:(I==null?void 0:I.enabled)===!0,onOptimize:()=>pn(A),onDownload:()=>void QRe({spaceId:h.id,skillId:A.skillId,version:A.version,region:Ct,fallbackName:A.skillName}).catch(pe=>$(ss(pe,"下载 Skill 失败"))),onClose:Ae}),X?c.jsx(bJe,{region:Ui(e),onClose:()=>U(!1),onCreated:pe=>{U(!1),ge(Qe=>Qe+1),p({...pe,region:pe.region||Ui(e)})}}):null,Y?c.jsx(yJe,{space:Y,region:Y.region||Ui(e),onClose:()=>ae(null),onUpdated:pe=>{const Qe={...pe,region:pe.region||Y.region||Ui(e)};ae(null),p(yt=>yt&&ll(yt)===ll(Qe)?Qe:yt),s(yt=>yt.map(mn=>ll(mn)===ll(Qe)?Qe:mn)),ge(yt=>yt+1)}}):null,fe?c.jsx(RJe,{space:fe,canUseSandbox:(I==null?void 0:I.enabled)===!0,onClose:()=>ke(null),onUpload:()=>{ie(fe),ke(null)},onSandbox:()=>{const pe=fe;ke(null),rn(pe),ct({operation:"create"})}}):null,K?c.jsx(xJe,{space:K,region:K.region||Ui(e),onClose:()=>ie(null),onUploaded:()=>{ie(null),Ce(pe=>pe+1),ge(pe=>pe+1)}}):null]})}const bce="veadk_agentkit_connections",PJe=3e3,kV=6e4;function fl(){try{const e=localStorage.getItem(bce);return(e?JSON.parse(e):[]).filter(n=>!n.runtimeId||!!n.region)}catch{return[]}}function D_(e){try{localStorage.setItem(bce,JSON.stringify(e))}catch{}}function xl(e,t){return`agentkit:${e}:${t}`}function yce(e){try{return new URL(e).host}catch{return e}}function D0(e){EZ();for(const t of e)if(!(t.runtimeId&&!t.region))for(const n of t.apps)wZ(xl(t.id,n),t.runtimeId?{app:n,runtimeId:t.runtimeId,region:t.region}:{app:n,base:t.base,apiKey:t.apiKey})}function xce(e,t,n,i,r,s){const a={id:`rt_${e}`,name:t||e,runtimeId:e,region:n,apps:i,appLabels:r,currentVersion:s},o=fl(),l=o.findIndex(u=>u.runtimeId===e);return l===-1?o.push(a):o[l]=a,D_(o),D0(o),a}async function jJe(e,t,n,i,r){let s=null,a=n||"cn-beijing",o=null;for(const f of Cf(n))try{const h=await ID(e,f,{retryProbe:!0});if(h&&h.length>0){s=h,a=f;break}}catch(h){if(h instanceof O0)throw $k(e),h;if(h instanceof na&&h.unsupported){o=h;continue}throw h}if(!s||s.length===0)throw $k(e),o||new na("该 Runtime 暂不支持连接,请确认服务已正常运行。",!0,!0);const l=(r==null?void 0:r.trim())||s[0],u=Object.fromEntries(s.map(f=>[f,f===s[0]?l:f])),d=xce(e,t,a,s,u,i);return xl(d.id,s[0])}function MJe(e){return new Promise(t=>window.setTimeout(t,e))}async function Iw(e,t,n,i,r={}){const s=Date.now();for(;;)try{return await jJe(e,t,n,i,r.agentName)}catch(a){const o=Date.now()-s;if(!r.waitForReady||!(a instanceof na)||!a.retryable||o>=kV)throw a;const l=Math.min(PJe,kV-o);await MJe(l)}}async function Sce(e,t,n,i){const r=t.trim().replace(/\/+$/,""),s=await NT(r,n.trim()),a={id:Date.now().toString(36),name:e.trim()||yce(r),base:r,apiKey:n.trim(),apps:s,appLabels:i&&s.length>0?{[s[0]]:i}:void 0},o=[...fl().filter(l=>l.base!==r),a];return D_(o),D0(o),a}function LJe(e){const t=fl().filter(n=>n.id!==e);return D_(t),D0(t),t}function $k(e){const t=fl().filter(n=>n.runtimeId!==e);return D_(t),D0(t),t}function vce(e,t){const n=e.map(r=>({id:r,label:r,app:r,remote:!1})),i=t.flatMap(r=>r.apps.map(s=>{var o;const a=((o=r.appLabels)==null?void 0:o[s])??s;return{id:xl(r.id,s),label:a,app:s,remote:!0,host:r.runtimeId?r.name:yce(r.base??""),runtimeId:r.runtimeId,region:r.region,currentVersion:r.currentVersion}}));return[...n,...i]}const TV=Object.freeze(Object.defineProperty({__proto__:null,addConnection:Sce,addRuntimeConnection:xce,buildAgentEntries:vce,connectRuntime:Iw,loadConnections:fl,registerConnections:D0,remoteAppId:xl,removeConnection:LJe,removeRuntimeConnection:$k},Symbol.toStringTag,{value:"Module"}));function DJe({onAdded:e,onCancel:t}){const[n,i]=O.useState(""),[r,s]=O.useState(""),[a,o]=O.useState(""),[l,u]=O.useState(!1),[d,f]=O.useState(""),h=n.trim().length>0&&r.trim().length>0&&!l;async function p(){if(h){u(!0),f("");try{const m=await Sce(a,n,r,a);if(m.apps.length===0){f("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。"),u(!1);return}e(xl(m.id,m.apps[0]))}catch(m){f(`连接失败:${String(m)}。请检查 URL、API Key,以及该网关是否允许跨域。`),u(!1)}}}return c.jsx("div",{className:"addagent",children:c.jsxs("div",{className:"addagent-card",children:[c.jsx("h2",{className:"addagent-title",children:"添加 AgentKit 智能体"}),c.jsx("p",{className:"addagent-sub",children:"填入 AgentKit 部署的访问地址与 API Key,将通过 ADK 协议连接,连接成功后其 Agent 会出现在左上角的下拉中。"}),c.jsxs("label",{className:"addagent-field",children:[c.jsx("span",{className:"addagent-label",children:"访问地址 URL"}),c.jsx("input",{className:"addagent-input",value:n,onChange:m=>i(m.target.value),placeholder:"https://xxxxx.apigateway-cn-beijing.volceapi.com",autoFocus:!0})]}),c.jsxs("label",{className:"addagent-field",children:[c.jsx("span",{className:"addagent-label",children:"API Key"}),c.jsx("input",{className:"addagent-input",type:"password",value:r,onChange:m=>s(m.target.value),placeholder:"以 Authorization: Bearer 方式连接"})]}),c.jsxs("label",{className:"addagent-field",children:[c.jsx("span",{className:"addagent-label",children:"显示名称(可选)"}),c.jsx("input",{className:"addagent-input",value:a,onChange:m=>o(m.target.value),placeholder:"默认取 URL 的主机名"})]}),d&&c.jsx("div",{className:"addagent-error",children:d}),c.jsxs("div",{className:"addagent-actions",children:[c.jsx("button",{className:"addagent-btn addagent-btn--ghost",onClick:t,disabled:l,children:"取消"}),c.jsxs("button",{className:"addagent-btn addagent-btn--primary",onClick:p,disabled:!h,children:[l?c.jsx(qn,{className:"icon spin"}):null,l?"连接中…":"连接并添加"]})]})]})})}function $Je(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M12 4.2 21 19H3L12 4.2Z"}),c.jsx("path",{d:"M12 9.4v4.2"}),c.jsx("path",{d:"M12 16.8h.01"})]})}function QJe(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"m7 7 10 10"}),c.jsx("path",{d:"m17 7-10 10"})]})}function $_({title:e,description:t,confirmLabel:n,cancelLabel:i="取消",closeLabel:r="关闭确认框",variant:s="warning",busy:a=!1,onCancel:o,onConfirm:l}){const u=O.useId(),d=O.useId(),f=O.useRef(null),h=O.useRef(a),p=O.useRef(o);return O.useEffect(()=>{h.current=a,p.current=o},[a,o]),O.useEffect(()=>{var b;const m=document.body.style.overflow,g=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(b=f.current)==null||b.focus();const y=S=>{S.key==="Escape"&&!h.current&&p.current()};return window.addEventListener("keydown",y),()=>{document.body.style.overflow=m,window.removeEventListener("keydown",y),g!=null&&g.isConnected&&g.focus()}},[]),ar.createPortal(c.jsx("div",{className:"studio-confirm-backdrop",onMouseDown:m=>{m.target===m.currentTarget&&!a&&o()},children:c.jsxs("section",{className:`studio-confirm-dialog studio-confirm-dialog--${s}`,role:"alertdialog","aria-modal":"true","aria-labelledby":u,"aria-describedby":d,"aria-busy":a||void 0,children:[c.jsxs("header",{className:"studio-confirm-head",children:[c.jsxs("div",{className:"studio-confirm-title-wrap",children:[c.jsx("span",{className:"studio-confirm-title-icon","aria-hidden":"true",children:c.jsx($Je,{})}),c.jsx("h2",{id:u,children:e})]}),c.jsx("button",{type:"button",className:"studio-confirm-close",onClick:o,disabled:a,"aria-label":r,children:c.jsx(QJe,{})})]}),c.jsx("div",{className:"studio-confirm-body",children:c.jsx("p",{id:d,children:t})}),c.jsxs("footer",{className:"studio-confirm-actions",children:[c.jsx("button",{ref:f,type:"button",onClick:o,disabled:a,children:i}),c.jsx("button",{type:"button",className:"studio-confirm-primary",onClick:l,disabled:a,children:n})]})]})}),document.body)}const BJe=[{id:"case-1",itemKey:"case-1",kind:"good",input:"总结本周客户反馈,并按优先级归类。",output:"覆盖主要问题,给出清晰的优先级与下一步动作。",referenceOutput:"覆盖主要问题,给出清晰的优先级与下一步动作。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T09:12:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"总结",source:"auto",score:.92,reason:"任务完整覆盖了用户目标,输出结构清晰,并给出了可执行的下一步动作。"},{id:"case-2",itemKey:"case-2",kind:"good",input:"查询最新公开资料并附上来源。",output:"调用搜索工具,结论与引用一一对应。",referenceOutput:"调用搜索工具,结论与引用一一对应。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T08:47:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"工具调用",source:"user"},{id:"case-3",itemKey:"case-3",kind:"bad",input:"在信息不足时直接给出确定结论。",output:"应明确说明未知,并主动询问缺失信息。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T07:35:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"幻觉",source:"auto",score:.28,reason:"信息不足时仍给出了确定结论,缺少必要的澄清步骤与不确定性说明。"},{id:"case-4",itemKey:"case-4",kind:"bad",input:"连续重复调用相同工具获取同一结果。",output:"复用已有结果,避免无意义的重复调用。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T06:58:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"效率",source:"user"}],UJe=[{id:"eval-regression",name:"核心能力回归",agentIds:[],caseSet:"核心回归集",evaluator:"综合质量评估器",metrics:["回答质量","工具调用"],concurrency:"4",history:[{id:"run-1",createdAt:"今天 10:32",score:88,status:"completed"},{id:"run-2",createdAt:"昨天 16:08",score:84,status:"completed"}]},{id:"eval-safety",name:"安全与幻觉检查",agentIds:[],caseSet:"安全边界集",evaluator:"事实一致性评估器",metrics:["事实准确性","拒答合理性"],concurrency:"2",history:[{id:"run-3",createdAt:"7 月 25 日 14:20",score:91,status:"completed"}]}],_V=[{id:"basic",label:"基本信息"},{id:"usage",label:"用量统计"},{id:"evaluations",label:"评测集"},{id:"optimizations",label:"优化项"},{id:"integrations",label:"接入方法"}],zJe=20,FJe=new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1});function VJe(e){const t=Date.parse(e);return Number.isNaN(t)?"暂未提供":FJe.format(t)}const jO=[{id:"api-server",label:"API Server"},{id:"a2a",label:"A2A"}];function PC(e,t){return e?`${e.replace(/\/+$/,"")}${t}`:""}function XJe(e,t){const n=e.trim();if(!n||!t)return n;try{const i=new URL(n),r=i.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(!["localhost","127.0.0.1","::1"].includes(r))return n;const s=new URL(t);return i.protocol=s.protocol,i.hostname=s.hostname,i.port=s.port,i.toString()}catch{return n}}function AV(e){return e==="key_auth"?"API Key":e==="custom_jwt"?"OAuth / JWT":e==="none"?"无需鉴权":"暂无"}function rM(e){return JSON.stringify(e)}function wce(e){return e==="key_auth"?`API_KEY = "" HEADERS = {"Authorization": f"Bearer {API_KEY}"}`:e==="custom_jwt"?`ACCESS_TOKEN = "" HEADERS = {"Authorization": f"Bearer {ACCESS_TOKEN}"}`:e==="none"?"HEADERS = {}":`AUTH_TOKEN = "" -HEADERS = {"Authorization": f"Bearer {AUTH_TOKEN}"}`}function VJe(e,t,n){const i=e.replace(/\/+$/,"");return`\`\`\`python +HEADERS = {"Authorization": f"Bearer {AUTH_TOKEN}"}`}function qJe(e,t,n){const i=e.replace(/\/+$/,"");return`\`\`\`python import uuid import requests @@ -676,7 +676,7 @@ BASE_URL = ${rM(i)} APP_NAME = ${rM(t)} USER_ID = "demo-user" SESSION_ID = str(uuid.uuid4()) -${Sce(n)} +${wce(n)} session_response = requests.post( f"{BASE_URL}/apps/{APP_NAME}/users/{USER_ID}/sessions/{SESSION_ID}", @@ -706,13 +706,13 @@ with requests.post( for line in response.iter_lines(): if line: print(line.decode("utf-8")) -\`\`\``}function XJe(e,t){return`\`\`\`python +\`\`\``}function HJe(e,t){return`\`\`\`python import uuid import requests AGENT_URL = ${rM(e)} -${Sce(t)} +${wce(t)} response = requests.post( AGENT_URL, @@ -733,11 +733,11 @@ response = requests.post( ) response.raise_for_status() print(response.json()) -\`\`\``}function qJe({visible:e}){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M2.8 12s3.3-5.4 9.2-5.4 9.2 5.4 9.2 5.4-3.3 5.4-9.2 5.4S2.8 12 2.8 12Z"}),c.jsx("circle",{cx:"12",cy:"12",r:"2.4"}),!e&&c.jsx("path",{d:"m4.2 4.2 15.6 15.6"})]})}function NV({available:e,authType:t,value:n,visible:i,loading:r,error:s,onToggle:a}){return e?t==="none"?"无需 API Key":t==="custom_jwt"?"使用 OAuth / JWT":t!=="key_auth"?"暂无":c.jsxs("span",{className:"aw-integration-secret",children:[c.jsx("span",{className:"aw-integration-secret-value","aria-live":"polite",children:i&&n?n:"****"}),c.jsx("button",{type:"button",className:"aw-integration-secret-toggle","aria-label":i?"隐藏 API Key":"显示 API Key",title:i?"隐藏 API Key":"显示 API Key",disabled:r,onClick:a,children:r?c.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}):c.jsx(qJe,{visible:i})}),s&&c.jsx("span",{className:"aw-integration-secret-error",role:"alert",children:s})]}):"暂无"}function CV({protocol:e,title:t,available:n,fields:i,example:r}){return c.jsxs("section",{className:`aw-integration-panel${n&&r?" has-example":""}`,id:`integration-${e}-panel`,role:"tabpanel","aria-labelledby":`integration-${e}-tab`,children:[c.jsx("header",{children:c.jsx("h3",{children:t})}),c.jsx("dl",{children:i.map(s=>c.jsxs("div",{children:[c.jsx("dt",{children:s.label}),c.jsx("dd",{children:s.value||"暂无"})]},s.label))}),n&&r&&c.jsxs("section",{className:"aw-integration-example",children:[c.jsx("h4",{children:"Python 示例"}),c.jsx(i1,{text:r,className:"aw-integration-example-code",allowRawHtml:!1})]})]})}function vce(e){const t=e.tools??[],n=hp.filter(r=>r.toolNames.some(s=>t.includes(s))),i=new Set(n.flatMap(r=>r.toolNames));return{...Bo(),modelSource:void 0,name:e.name,description:e.description,instruction:e.instruction||Bo().instruction,agentType:e.type,modelName:e.model,tools:t.filter(r=>!i.has(r)),builtinTools:n.map(r=>r.id),skills:(e.skills??[]).map(r=>r.name),subAgents:(e.children??[]).map(vce)}}function HJe(e,t){var n;return e!=null&&e.draft?e.draft:e!=null&&e.graph?vce(e.graph):{...Bo(),modelSource:void 0,name:(e==null?void 0:e.name)||t,description:(e==null?void 0:e.description)||"暂无描述",agentType:(e==null?void 0:e.type)??"llm",modelName:e==null?void 0:e.model,tools:(e==null?void 0:e.tools)??[],skills:((n=e==null?void 0:e.skills)==null?void 0:n.map(i=>i.name))??[]}}function wce(e){return e?1+e.children.reduce((t,n)=>t+wce(n),0):1}function Ece(e){return 1+e.subAgents.reduce((t,n)=>t+Ece(n),0)}function sM(e){if(!e)return 0;const t=Number(e);if(Number.isFinite(t))return t<1e12?t*1e3:t;const n=Date.parse(e);return Number.isFinite(n)?n:0}function YJe(e){const t=sM(e);return t?new Intl.DateTimeFormat("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(t)):"时间未知"}function GJe(e){return typeof e.score!="number"||!Number.isFinite(e.score)?"—":`${Math.round(e.score*100)} 分`}function WJe(e){return e==="high"?"高":e==="medium"?"中":"低"}const ZJe={agent_structure:"Agent 结构",prompt:"提示词",tool:"工具",knowledge:"知识库",memory:"记忆",workflow:"工作流",other:"其他"};function KJe(e){var t;return e.module==="other"?((t=e.customModule)==null?void 0:t.trim())||"其他":ZJe[e.module]}function JJe(e,t){return e.find(n=>n.kind===t)}function RV(e){return e.items.map(t=>({...t,tag:t.kind==="good"?"Good case":"Bad case"})).sort((t,n)=>sM(n.createdAt)-sM(t.createdAt))}function eet(e){const t=n=>[n.name,n.description,n.agentType??"llm",n.modelName??"",n.tools??[],n.builtinTools??[],(n.customTools??[]).map(i=>i.name),(n.mcpTools??[]).map(i=>i.name),n.skills??[],(n.selectedSkills??[]).map(i=>i.name),(n.subAgents??[]).map(t)];return JSON.stringify(t(e))}const ab=[{phase:"prepare",label:"准备部署",description:"校验配置并创建部署任务"},{phase:"build",label:"构建镜像",description:"生成运行环境与智能体代码"},{phase:"deploy",label:"部署服务",description:"创建并启动 AgentKit Runtime"},{phase:"publish",label:"发布服务",description:"等待服务就绪并生成访问地址"},{phase:"complete",label:"部署完成",description:"智能体已可以正常使用"}],tet={phase:"evaluation",label:"创建评测集",description:"自动创建 Good Case 和 Bad Case 评测集"};function net(e){return{phase:"update",label:"更新实例配置",description:`将 Runtime 实例数调整为 ${e.min}~${e.max}`}}const iet=ab.findIndex(e=>e.phase==="build");function kce(e){const t=e.instanceRange?[...ab.slice(0,-1),net(e.instanceRange),ab[ab.length-1]]:ab;return e.createEvaluationSets?[...t.slice(0,-1),tet,t[t.length-1]]:t}function Tce(e){const t=kce(e);if(e.status==="success")return t.length-1;const n=e.phase??{准备部署:"prepare",构建镜像:"build",部署:"deploy",发布:"publish",创建评测集:"evaluation",部署完成:"complete"}[e.label],i=t.findIndex(r=>r.phase===n);return i<0?0:i}function ret(e){if(!e)return"";try{return new Intl.DateTimeFormat("zh-CN",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(new Date(e))}catch{return""}}function set({task:e}){const t=e.buildLog,n=O.useRef(null),i=(t==null?void 0:t.status)!=="complete"&&(e.status==="running"||e.status==="error")&&Tce(e)===iet,[r,s]=O.useState(i),[a,o]=O.useState(!1),l=!!(t!=null&&t.text||t!=null&&t.error),u=(t==null?void 0:t.text)||(t==null?void 0:t.error)||"",d=u.split(` +\`\`\``}function YJe({visible:e}){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M2.8 12s3.3-5.4 9.2-5.4 9.2 5.4 9.2 5.4-3.3 5.4-9.2 5.4S2.8 12 2.8 12Z"}),c.jsx("circle",{cx:"12",cy:"12",r:"2.4"}),!e&&c.jsx("path",{d:"m4.2 4.2 15.6 15.6"})]})}function NV({available:e,authType:t,value:n,visible:i,loading:r,error:s,onToggle:a}){return e?t==="none"?"无需 API Key":t==="custom_jwt"?"使用 OAuth / JWT":t!=="key_auth"?"暂无":c.jsxs("span",{className:"aw-integration-secret",children:[c.jsx("span",{className:"aw-integration-secret-value","aria-live":"polite",children:i&&n?n:"****"}),c.jsx("button",{type:"button",className:"aw-integration-secret-toggle","aria-label":i?"隐藏 API Key":"显示 API Key",title:i?"隐藏 API Key":"显示 API Key",disabled:r,onClick:a,children:r?c.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}):c.jsx(YJe,{visible:i})}),s&&c.jsx("span",{className:"aw-integration-secret-error",role:"alert",children:s})]}):"暂无"}function CV({protocol:e,title:t,available:n,fields:i,example:r}){return c.jsxs("section",{className:`aw-integration-panel${n&&r?" has-example":""}`,id:`integration-${e}-panel`,role:"tabpanel","aria-labelledby":`integration-${e}-tab`,children:[c.jsx("header",{children:c.jsx("h3",{children:t})}),c.jsx("dl",{children:i.map(s=>c.jsxs("div",{children:[c.jsx("dt",{children:s.label}),c.jsx("dd",{children:s.value||"暂无"})]},s.label))}),n&&r&&c.jsxs("section",{className:"aw-integration-example",children:[c.jsx("h4",{children:"Python 示例"}),c.jsx(i1,{text:r,className:"aw-integration-example-code",allowRawHtml:!1})]})]})}function Ece(e){const t=e.tools??[],n=hp.filter(r=>r.toolNames.some(s=>t.includes(s))),i=new Set(n.flatMap(r=>r.toolNames));return{...Bo(),modelSource:void 0,name:e.name,description:e.description,instruction:e.instruction||Bo().instruction,agentType:e.type,modelName:e.model,tools:t.filter(r=>!i.has(r)),builtinTools:n.map(r=>r.id),skills:(e.skills??[]).map(r=>r.name),subAgents:(e.children??[]).map(Ece)}}function GJe(e,t){var n;return e!=null&&e.draft?e.draft:e!=null&&e.graph?Ece(e.graph):{...Bo(),modelSource:void 0,name:(e==null?void 0:e.name)||t,description:(e==null?void 0:e.description)||"暂无描述",agentType:(e==null?void 0:e.type)??"llm",modelName:e==null?void 0:e.model,tools:(e==null?void 0:e.tools)??[],skills:((n=e==null?void 0:e.skills)==null?void 0:n.map(i=>i.name))??[]}}function kce(e){return e?1+e.children.reduce((t,n)=>t+kce(n),0):1}function Tce(e){return 1+e.subAgents.reduce((t,n)=>t+Tce(n),0)}function sM(e){if(!e)return 0;const t=Number(e);if(Number.isFinite(t))return t<1e12?t*1e3:t;const n=Date.parse(e);return Number.isFinite(n)?n:0}function WJe(e){const t=sM(e);return t?new Intl.DateTimeFormat("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(t)):"时间未知"}function ZJe(e){return typeof e.score!="number"||!Number.isFinite(e.score)?"—":`${Math.round(e.score*100)} 分`}function KJe(e){return e==="high"?"高":e==="medium"?"中":"低"}const JJe={agent_structure:"Agent 结构",prompt:"提示词",tool:"工具",knowledge:"知识库",memory:"记忆",workflow:"工作流",other:"其他"};function eet(e){var t;return e.module==="other"?((t=e.customModule)==null?void 0:t.trim())||"其他":JJe[e.module]}function tet(e,t){return e.find(n=>n.kind===t)}function RV(e){return e.items.map(t=>({...t,tag:t.kind==="good"?"Good case":"Bad case"})).sort((t,n)=>sM(n.createdAt)-sM(t.createdAt))}function net(e){const t=n=>[n.name,n.description,n.agentType??"llm",n.modelName??"",n.tools??[],n.builtinTools??[],(n.customTools??[]).map(i=>i.name),(n.mcpTools??[]).map(i=>i.name),n.skills??[],(n.selectedSkills??[]).map(i=>i.name),(n.subAgents??[]).map(t)];return JSON.stringify(t(e))}const ab=[{phase:"prepare",label:"准备部署",description:"校验配置并创建部署任务"},{phase:"build",label:"构建镜像",description:"生成运行环境与智能体代码"},{phase:"deploy",label:"部署服务",description:"创建并启动 AgentKit Runtime"},{phase:"publish",label:"发布服务",description:"等待服务就绪并生成访问地址"},{phase:"complete",label:"部署完成",description:"智能体已可以正常使用"}],iet={phase:"evaluation",label:"创建评测集",description:"自动创建 Good Case 和 Bad Case 评测集"};function ret(e){return{phase:"update",label:"更新实例配置",description:`将 Runtime 实例数调整为 ${e.min}~${e.max}`}}const set=ab.findIndex(e=>e.phase==="build");function _ce(e){const t=e.instanceRange?[...ab.slice(0,-1),ret(e.instanceRange),ab[ab.length-1]]:ab;return e.createEvaluationSets?[...t.slice(0,-1),iet,t[t.length-1]]:t}function Ace(e){const t=_ce(e);if(e.status==="success")return t.length-1;const n=e.phase??{准备部署:"prepare",构建镜像:"build",部署:"deploy",发布:"publish",创建评测集:"evaluation",部署完成:"complete"}[e.label],i=t.findIndex(r=>r.phase===n);return i<0?0:i}function aet(e){if(!e)return"";try{return new Intl.DateTimeFormat("zh-CN",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(new Date(e))}catch{return""}}function oet({task:e}){const t=e.buildLog,n=O.useRef(null),i=(t==null?void 0:t.status)!=="complete"&&(e.status==="running"||e.status==="error")&&Ace(e)===set,[r,s]=O.useState(i),[a,o]=O.useState(!1),l=!!(t!=null&&t.text||t!=null&&t.error),u=(t==null?void 0:t.text)||(t==null?void 0:t.error)||"",d=u.split(` `),f=r?u:d.slice(-36).join(` -`),h=(t==null?void 0:t.pendingMessage)||"正在等待构建日志…";if(O.useEffect(()=>{t&&s(i)},[e.id,t==null?void 0:t.status,i]),O.useEffect(()=>{if(!r||!l)return;const S=n.current;S&&(S.scrollTop=S.scrollHeight)},[r,l,f]),!t||!t.text&&t.status!=="error"&&!t.pendingMessage)return null;const p=ret(t.updatedAt),m=t.status==="complete"?"已同步":t.status==="error"?"读取失败":"同步中",g=t.omittedEarly?"已省略早期日志":t.snapshotTruncated?"仅显示最近的构建日志":t.truncated?"已省略部分日志":"",y=[m,t.lineCount?`${t.lineCount} 行`:"",g,p].filter(Boolean).join(" · ");async function b(){try{await navigator.clipboard.writeText(u),o(!0),window.setTimeout(()=>o(!1),1500)}catch{o(!1)}}return c.jsxs("section",{className:`aw-deploy-log is-${t.status}${r?"":" is-collapsed"}`,"aria-label":"构建日志",children:[c.jsxs("header",{children:[c.jsxs("div",{children:[c.jsx("strong",{children:"构建日志"}),c.jsx("span",{children:y})]}),c.jsxs("div",{className:"aw-deploy-log-actions",children:[l&&c.jsx("button",{type:"button",onClick:()=>s(S=>!S),children:r?"收起":"展开"}),l&&c.jsxs("button",{type:"button",onClick:()=>void b(),"aria-label":a?"已复制构建日志":"复制构建日志",title:a?"已复制":"复制构建日志",children:[a?c.jsx(kc,{"aria-hidden":!0}):c.jsx(wT,{"aria-hidden":!0}),c.jsx("span",{children:a?"已复制":"复制"})]})]})]}),r&&(l?c.jsx("pre",{ref:n,children:f}):c.jsx("div",{className:"aw-deploy-log-empty",children:h}))]})}function aet({task:e,onReturnToEdit:t}){const n=kce(e),i=Tce(e),r=e.status==="success"?100:Math.max(6,Math.min(100,e.pct??6)),s=e.status==="running"?"正在部署":e.status==="success"?"部署完成":e.status==="error"?"部署失败":"部署已取消";return c.jsxs("section",{className:`aw-deploy-progress-card is-${e.status}`,"aria-live":"polite",children:[c.jsxs("div",{className:"aw-deploy-progress-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"aw-deploy-progress-icon","aria-hidden":!0,children:e.status==="running"?c.jsx(qn,{className:"spin"}):e.status==="success"?c.jsx(Vxe,{}):e.status==="error"?c.jsx(cZ,{}):c.jsx(RB,{})}),c.jsxs("div",{children:[c.jsx("h3",{children:s}),c.jsx("p",{children:e.runtimeName})]})]}),c.jsx("strong",{children:e.status==="running"?`${Math.round(r)}%`:e.label})]}),c.jsx("div",{className:"aw-deploy-progress-track",role:"progressbar","aria-label":"部署进度","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(r),children:c.jsx("span",{style:{width:`${r}%`}})}),c.jsx("ol",{className:"aw-deploy-steps",children:n.map((a,o)=>{const l=e.status==="success"||onew Set),[It,pe]=O.useState(()=>new Set),[Qe,yt]=O.useState(!1),[mn,wn]=O.useState(""),[Jt,ui]=O.useState(null),[zn,xe]=O.useState([]),[Ge,Nt]=O.useState([]),[Kt,sn]=O.useState(!1),[Fn,xi]=O.useState(""),[di,Hn]=O.useState(""),[En,Zn]=O.useState(0),[Si,Zt]=O.useState([]),[Yn,mr]=O.useState(!1),[er,gn]=O.useState(""),[Li,kn]=O.useState(0),[fn,Di]=O.useState(null),[Ft,vi]=O.useState(1),[Kn,$i]=O.useState(!1),[Vt,Ai]=O.useState(""),[ms,Fs]=O.useState(0),[Kr,gr]=O.useState(!1),[Ur,or]=O.useState(()=>new Set),[Qi,Jr]=O.useState(!1),[zr,tr]=O.useState(""),[Fr,Vs]=O.useState(""),[Zu,po]=O.useState(()=>new Set),mo=O.useRef(!1),Ni=O.useRef(""),Ic=O.useRef(null),He=O.useRef(0),gs=O.useRef(0),Ma=O.useRef(0),[Or,Xs]=O.useState(QJe),[Ku,jl]=O.useState("");O.useEffect(()=>{e.length!==0&&Xs(V=>V.map((ue,Se)=>Se===0&&ue.agentIds.length===0?{...ue,agentIds:e.slice(0,2).map(Le=>Le.id)}:ue))},[e]);const Nr=O.useMemo(()=>{const V=new Map;for(const ue of e)ue.runtimeId&&V.set(ue.runtimeId,ue);return V},[e]),go=O.useMemo(()=>{var ue;const V=new Map;for(const Se of t){const Le=(ue=Se.deploymentTarget)==null?void 0:ue.runtimeId;if(!Le||!Nr.has(Le))continue;const et=V.get(Le);(!et||Se.updatedAt>et.updatedAt)&&V.set(Le,Se)}return V},[Nr,t]),As=O.useMemo(()=>{const V=new Map;for(const ue of f){if(!ue.runtimeId)continue;const Se=V.get(ue.runtimeId);(!Se||ue.startedAt>Se.startedAt)&&V.set(ue.runtimeId,ue)}return V},[f]),Yo=O.useMemo(()=>{const V=Me.trim().toLowerCase();return V?e.filter(ue=>{const Se=ue.runtimeId?go.get(ue.runtimeId):void 0,Le=ue.runtimeId?As.get(ue.runtimeId):void 0;return[ue.label,ue.app,ue.host??"",(Se==null?void 0:Se.draft.name)??"",(Se==null?void 0:Se.draft.description)??"",(Le==null?void 0:Le.runtimeName)??""].join(" ").toLowerCase().includes(V)}):e},[e,As,Me,go]),es=O.useMemo(()=>{const V=Me.trim().toLowerCase();return t.filter(ue=>{var Le;const Se=(Le=ue.deploymentTarget)==null?void 0:Le.runtimeId;return Se&&Nr.has(Se)?!1:V?`${ue.draft.name} ${ue.draft.description}`.toLowerCase().includes(V):!0})},[Nr,t,Me]),Ml=O.useMemo(()=>t.filter(V=>{var Se;const ue=(Se=V.deploymentTarget)==null?void 0:Se.runtimeId;return!ue||!Nr.has(ue)}).length,[Nr,t]),Go=O.useMemo(()=>{const V=Me.trim().toLowerCase();return V?Or.filter(ue=>ue.name.toLowerCase().includes(V)):Or},[Or,Me]),re=e.find(V=>V.id===M),ne=t.find(V=>V.id===$),Pe=h?f.find(V=>V.id===h):void 0,Ve=re!=null&&re.runtimeId?go.get(re.runtimeId):void 0,pt=b?oe:M&&r===M?i:null,Fe=(pt==null?void 0:pt.appName)||(re==null?void 0:re.runtimeApp)||(re==null?void 0:re.app)||"",Pt=l&&(re!=null&&re.runtimeId)?_V:_V.filter(V=>V.id!=="usage"),In=JSON.stringify([(re==null?void 0:re.runtimeId)??"",(re==null?void 0:re.region)??"cn-beijing",Fe,Ft]),At=(fn==null?void 0:fn.requestKey)===In?fn.value:null,Dn=`${(re==null?void 0:re.region)??"cn-beijing"}:${(re==null?void 0:re.runtimeId)??""}`,Z=(Ce==null?void 0:Ce.requestKey)===Dn?Ce.value:"",ve=(U==null?void 0:U.requestKey)===Dn?U:null,Ze=!!((Y0=ve==null?void 0:ve.apiApps)!=null&&Y0.length),Ot=!!(ve!=null&&ve.a2a),Ci=((Ll=ve==null?void 0:ve.apiApps)==null?void 0:Ll[0])??Fe,Jn=(G==null?void 0:G.endpoint)??"",Bt=FJe(((Tn=ve==null?void 0:ve.a2a)==null?void 0:Tn.endpoint)??"",Jn),$t=JSON.stringify([(re==null?void 0:re.runtimeId)??"",(re==null?void 0:re.region)??"",Fe]),an=(Ue==null?void 0:Ue.requestKey)===$t?Ue.value:null;O.useEffect(()=>{const V=He.current+1;He.current=V,st(null),q("");const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"";if(!o||!ue||!Se){Tt(!1);return}const Le=new AbortController;return Tt(!0),mK({runtimeId:ue,region:Se,appName:Fe,signal:Le.signal}).then(et=>{var jt,hi;if(V===He.current){if(et.runtime.runtimeId!==ue||et.runtime.region!==Se||Fe&&((jt=et.agent)==null?void 0:jt.appName)!==Fe||et.canUpdate&&!((hi=et.agent)!=null&&hi.appName)){q("Runtime 更新能力响应与当前选择不匹配。");return}st({requestKey:$t,value:et})}}).catch(et=>{V!==He.current||Le.signal.aborted||q(et instanceof Error?et.message:"检查 Runtime 更新能力失败。")}).finally(()=>{V===He.current&&!Le.signal.aborted&&Tt(!1)}),()=>Le.abort()},[o,re==null?void 0:re.region,re==null?void 0:re.runtimeId,Fe,$t]);const $n=O.useMemo(()=>{const V=new Map(e.map((Se,Le)=>[Se.id,Le])),ue=new Map(n.map((Se,Le)=>[Se,Le]));return[...Yo].sort((Se,Le)=>{const et=Se.runtimeId?As.get(Se.runtimeId):void 0,jt=Le.runtimeId?As.get(Le.runtimeId):void 0,hi=(et==null?void 0:et.status)==="running"?et.startedAt:0,Qf=(jt==null?void 0:jt.status)==="running"?jt.startedAt:0;if(hi!==Qf)return Qf-hi;const Ut=ue.get(Se.id),Ko=ue.get(Le.id);return Ut!=null&&Ko!=null?Ut-Ko:Ut!=null?-1:Ko!=null?1:(V.get(Se.id)??0)-(V.get(Le.id)??0)})},[n,e,Yo,As]),Ns=(re==null?void 0:re.label)||(pt==null?void 0:pt.name)||(ne==null?void 0:ne.draft.name)||(Pe==null?void 0:Pe.agentName)||((G0=Pe==null?void 0:Pe.agentDraft)==null?void 0:G0.name)||"未选择智能体",it=Or.find(V=>V.id===Ku),ua=$n.filter(V=>V.canDelete===!0),nr=$n.filter(V=>pn.has(V.id)&&V.canDelete===!0),Vr=es.filter(V=>It.has(V.id)),Vn=ua.length+es.length,qs=nr.length+Vr.length,ts=O.useMemo(()=>(Pe==null?void 0:Pe.agentDraft)??(ne==null?void 0:ne.draft)??(Ve==null?void 0:Ve.draft)??HJe(pt,Fe||(re==null?void 0:re.label)||"agent"),[pt,Fe,re==null?void 0:re.label,Ve==null?void 0:Ve.draft,ne==null?void 0:ne.draft,Pe==null?void 0:Pe.agentDraft]),Wo=ne?a?"":"当前账号没有新建 Agent 的权限。":o?re!=null&&re.runtimeId?re.region?ct?"正在检查 Runtime 更新能力…":at||(an?an.canUpdate?(W0=an.agent)!=null&&W0.appName?"":"Runtime 更新能力响应缺少智能体信息。":an.reason||"当前 Runtime 不支持原地更新。":"尚未完成 Runtime 更新能力检查。"):"Runtime 缺少地域信息,无法更新。":"仅支持更新已部署的云端智能体。":"当前账号没有管理 Agent 的权限。",V0="aw-update-disabled-reason",Pc=an!=null&&an.agent?{runtimeId:an.runtime.runtimeId,name:an.runtime.name,region:an.runtime.region,appName:an.agent.appName,currentVersion:an.runtime.currentVersion}:Ve==null?void 0:Ve.deploymentTarget,E1=O.useMemo(()=>{if(pt)return pt.tools;const V=(ts.builtinTools??[]).map(ue=>{var Se;return((Se=hp.find(Le=>Le.id===ue))==null?void 0:Se.label)??ue});return Array.from(new Set([...ts.tools,...V,...(ts.customTools??[]).map(ue=>ue.name),...(ts.mcpTools??[]).map(ue=>ue.name)].filter(Boolean)))},[ts,pt]),jc=O.useMemo(()=>pt?pt.skillsPreviewSupported?pt.skills.map(V=>V.name):null:Array.from(new Set([...(ts.selectedSkills??[]).map(V=>V.name),...ts.skills].filter(Boolean))),[ts,pt]),fi=O.useMemo(()=>{if(Pe)return Pe;if(ne)return f.filter(V=>{var ue,Se;return((ue=V.agentDraft)==null?void 0:ue.name)===ne.draft.name||V.agentName===ne.draft.name||!!((Se=ne.deploymentTarget)!=null&&Se.runtimeId)&&V.runtimeId===ne.deploymentTarget.runtimeId}).sort((V,ue)=>ue.startedAt-V.startedAt)[0];if(re)return f.filter(V=>!!re.runtimeId&&V.runtimeId===re.runtimeId||V.agentName===re.label).sort((V,ue)=>ue.startedAt-V.startedAt)[0]},[f,re,ne,Pe]),Pn=!!(h&&fi&&fi.id===h),cA=!!(fi&&(fi.status!=="success"||Pn)),k1=(fi==null?void 0:fi.status)==="running",T1=fi!=null&&fi.draftId?t.find(V=>V.id===fi.draftId)??(fi.agentDraft?{id:fi.draftId,draft:fi.agentDraft,updatedAt:fi.startedAt}:void 0):void 0,_1=O.useMemo(()=>eet(ts),[ts]),$f=(re==null?void 0:re.currentVersion)??(G==null?void 0:G.currentVersion)??null,xp=$f??(Pe==null?void 0:Pe.startedAt)??"unknown",uA=pt?`runtime:${(re==null?void 0:re.runtimeId)??pt.name}:v${xp}:${_1}`:`draft:${(Pe==null?void 0:Pe.id)??(ne==null?void 0:ne.id)??(re==null?void 0:re.id)??Ns}:${_1}`;O.useEffect(()=>{D==="usage"&&!l&&N("basic")},[l,D]),O.useEffect(()=>{if(!h)return;const V=f.find(Se=>Se.id===h),ue=V!=null&&V.runtimeId?Nr.get(V.runtimeId):void 0;if(ue){I(""),B(ue.id),N("basic");return}B(""),I(""),N("basic")},[Nr,f,h]),O.useEffect(()=>{if(!p){Ni.current="";return}const V=`${p}:${m}:${g}:${l}`;Ni.current!==V&&e.some(ue=>ue.id===p)&&(Ni.current=V,I(""),B(p),N(m==="usage"&&!l?"basic":m),m==="evaluations"&&(Gt(g),Dt("")))},[e,l,p,m,g]),O.useEffect(()=>{for(const V of $n.slice(0,8)){if(!V.runtimeId)continue;const ue=V.region??"cn-beijing";OK(V.runtimeId,ue),eK(V.runtimeId,ue,V.runtimeApp??""),AE(V.runtimeId,ue,V.runtimeApp??"").then(Se=>{const Le=Se.appName||V.app;Le&&FI({runtimeId:V.runtimeId??"",region:ue,appName:Le,pageSize:100})}).catch(()=>{})}},[$n]),O.useEffect(()=>{!(re!=null&&re.runtimeId)||!Fe||FI({runtimeId:re.runtimeId,region:re.region??"cn-beijing",appName:Fe,pageSize:100})},[Fe,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{let V=!1;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing",Le=(re==null?void 0:re.runtimeApp)??"",et=ue?JZ(ue,Se,Le):null;if(de(et),ce(!!et||!b||!ue),!(!b||!ue))return AE(ue,Se,Le,{force:!0}).then(jt=>{V||de(jt)}).catch(()=>{!V&&!et&&de(null)}).finally(()=>{V||ce(!0)}),()=>{V=!0}},[b,re==null?void 0:re.currentVersion,re==null?void 0:re.region,re==null?void 0:re.runtimeApp,re==null?void 0:re.runtimeId]),O.useEffect(()=>{let V=!1;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing";if(Zt([]),gn(""),D!=="optimizations"||!ue){mr(!1);return}if(b&&!Fe){mr(!Ie);return}return mr(!0),$Z({runtimeId:ue,region:Se,appName:Fe}).then(Le=>{V||Zt(Le.groups)}).catch(Le=>{V||gn(Le instanceof Error?Le.message:String(Le))}).finally(()=>{V||mr(!1)}),()=>{V=!0}},[Ie,b,Li,D,Fe,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{vi(1)},[re==null?void 0:re.runtimeId,Fe]),O.useEffect(()=>{const V=Ma.current+1;Ma.current=V;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing",Le=Fe;if(Ai(""),D!=="usage"||!ue){$i(!1);return}if(!Le){$i(b&&!Ie);return}const et=new AbortController;return $i(!0),dK({runtimeId:ue,region:Se,appName:Le,page:Ft,pageSize:BJe,signal:et.signal}).then(jt=>{if(V===Ma.current){if(jt.runtimeId!==ue||jt.appName!==Le||jt.page!==Ft){Ai("用量响应与当前 Agent 不匹配,请重试。");return}Di({requestKey:In,value:jt})}}).catch(jt=>{V!==Ma.current||et.signal.aborted||Ai(jt instanceof Error?jt.message:"加载 Agent 用量失败。")}).finally(()=>{V===Ma.current&&$i(!1)}),()=>{et.abort()}},[Ft,ms,In,Ie,b,D,Fe,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{gs.current+=1,_e(null),te(!1),me(!1),je(""),Ee("api-server")},[Dn,D]);function Ju(){gs.current+=1,_e(null),te(!1),me(!1),je("")}function Sp(V){V!==ge&&(Ju(),Ee(V))}async function A1(){if(he){Ju();return}const V=(re==null?void 0:re.runtimeId)??"",ue=(re==null?void 0:re.region)??"cn-beijing";if(!V)return;const Se=gs.current+1;gs.current=Se,me(!0),je("");try{const Le=await hK(V,ue);if(Se!==gs.current)return;_e({requestKey:Dn,value:Le}),te(!0)}catch(Le){if(Se!==gs.current)return;_e(null),te(!1),je(Le instanceof Error?Le.message:"读取 Runtime API Key 失败。")}finally{Se===gs.current&&me(!1)}}O.useEffect(()=>{let V=!1;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing",Le=ue?gK(ue,Se):null;if(X(Le),!!ue)return PD(ue,Se,{force:!0}).then(et=>{V||X(et)}).catch(()=>{!V&&!Le&&X(null)}),()=>{V=!0}},[re==null?void 0:re.currentVersion,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{let V=!1;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing",Le=`${Se}:${ue}`;if(K(""),D!=="integrations"||!ue){fe(!1),ue||Y(null);return}fe(!0);const et=ID(ue,Se,{retryProbe:!0}).catch(jt=>{if(jt instanceof na&&jt.unsupported)return null;throw jt});return Promise.all([et,fK(ue,Se,{retryProbe:!0})]).then(([jt,hi])=>{V||Y({requestKey:Le,apiApps:jt,a2a:hi})}).catch(jt=>{V||(Y(null),K(jt instanceof Error?jt.message:"探测集成方式失败。"))}).finally(()=>{V||fe(!1)}),()=>{V=!0}},[ie,D,re==null?void 0:re.currentVersion,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{let V=!1;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing",Le=ue&&Fe?QZ({runtimeId:ue,region:Se,appName:Fe,pageSize:100}):null;if(xe(Le?RV(Le):[]),Nt((Le==null?void 0:Le.sets)??[]),xi(""),Hn((Le==null?void 0:Le.unsupportedMessage)??""),D!=="evaluations"||!ue){sn(!1);return}if(b&&!Fe){sn(!Ie);return}return sn(!Le),CT({runtimeId:ue,region:Se,appName:Fe,pageSize:100},{force:!0}).then(et=>{V||(Nt(et.sets),xe(RV(et)),Hn(et.unsupportedMessage??""))}).catch(et=>{V||(xi(et instanceof Error?et.message:String(et)),Hn(""))}).finally(()=>{V||sn(!1)}),()=>{V=!0}},[Ie,b,En,D,Fe,pt==null?void 0:pt.appName,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{const V=new Set(zn.map(ue=>ue.id));or(ue=>{const Se=new Set([...ue].filter(Le=>V.has(Le)));return Se.size===ue.size?ue:Se}),po(ue=>{const Se=new Set([...ue].filter(Le=>V.has(Le)));return Se.size===ue.size?ue:Se}),Fr&&!V.has(Fr)&&Vs("")},[zn,Fr]),O.useEffect(()=>{gr(!1),or(new Set),po(new Set),tr(""),Vs("")},[re==null?void 0:re.runtimeId]),O.useEffect(()=>{const V=new Set($n.filter(ue=>ue.canDelete===!0).map(ue=>ue.id));bn(ue=>{const Se=new Set([...ue].filter(Le=>V.has(Le)));return Se.size===ue.size?ue:Se})},[$n]),O.useEffect(()=>{const V=new Set(es.map(ue=>ue.id));pe(ue=>{const Se=new Set([...ue].filter(Le=>V.has(Le)));return Se.size===ue.size?ue:Se})},[es]);const Mc=O.useMemo(()=>!y||!(re!=null&&re.runtimeId)||y.runtimeId!==re.runtimeId||Fe&&y.agentName&&y.agentName!==Fe?null:{...y,tag:y.kind==="good"?"Good case":"Bad case"},[y,re==null?void 0:re.runtimeId,Fe]),vp=O.useMemo(()=>re!=null&&re.runtimeId?Mc?[Mc,...zn.filter(V=>V.id!==Mc.id&&(!V.messageId||V.messageId!==Mc.messageId))]:zn:$Je,[zn,Mc,re==null?void 0:re.runtimeId]),Zo=vp.filter(V=>{if(V.kind!==dt||(V.source==="auto"?"auto":"user")!==vt)return!1;const Se=Ct.trim().toLowerCase();return Se?[V.input,V.output,V.referenceOutput,V.comment,V.tag??"",V.sessionId,V.messageId,V.userId,V.evaluationSetName].join(" ").toLowerCase().includes(Se):!0}),X0=Zo.filter(V=>Ur.has(V.id)),q0=!!(re!=null&&re.runtimeId),dA=V=>{Gt(V),Dt(""),tr("");const ue=vp.find(Se=>Se.kind===V);Vs((ue==null?void 0:ue.id)??""),window.setTimeout(()=>{var Se;(Se=Ic.current)==null||Se.scrollIntoView({behavior:"smooth",block:"start"})},0)},ed=V=>{tr(""),or(ue=>{const Se=new Set(ue);return Se.has(V.id)?Se.delete(V.id):Se.add(V.id),Se})},N1=()=>{tr(""),or(new Set(Zo.map(V=>V.id)))},td=()=>{tr(""),or(new Set),gr(!1)},wp=V=>{po(ue=>{const Se=new Set(ue);return Se.has(V)?Se.delete(V):Se.add(V),Se})},fA=V=>{Vs(V.id),tr(""),!(!V.sessionId||!V.messageId)&&(_==null||_(V))},La=async V=>{if(!(re!=null&&re.runtimeId)||!Fe||Qi||V.length===0)return;const ue=V.length===1?"确定删除这条反馈案例?原始聊天记录不会被删除。":`确定删除选中的 ${V.length} 条反馈案例?原始聊天记录不会被删除。`;if(!window.confirm(ue))return;const Se=V.map(et=>et.id),Le=new Set(Se);Jr(!0),tr("");try{await zZ({runtimeId:re.runtimeId,region:re.region??"cn-beijing",appName:Fe,itemIds:Se});const et=new Map;for(const jt of V)et.set(jt.kind,(et.get(jt.kind)??0)+1);xe(jt=>jt.filter(hi=>!Le.has(hi.id))),Nt(jt=>jt.map(hi=>({...hi,itemCount:Math.max(0,hi.itemCount-(et.get(hi.kind)??0))}))),or(jt=>new Set([...jt].filter(hi=>!Le.has(hi)))),po(jt=>new Set([...jt].filter(hi=>!Le.has(hi)))),Fr&&Le.has(Fr)&&Vs(""),V.length>1&&gr(!1),C==null||C(V)}catch(et){tr(et instanceof Error?et.message:String(et))}finally{Jr(!1)}},C1=V=>{Xs(ue=>ue.map(Se=>Se.id===V.id?V:Se))},hn=()=>{const V=new Set(e.map(Le=>Le.id)),ue=n.filter(Le=>V.has(Le)),Se=new Set(ue);return[...ue,...e.filter(Le=>!Se.has(Le.id)).map(Le=>Le.id)]},hA=(V,ue,Se)=>{if(!x||V===ue)return;const Le=hn().filter(hi=>hi!==V),et=Le.indexOf(ue),jt=et<0?Le.length:Se==="after"?et+1:et;Le.splice(jt,0,V),x(Le)},R1=(V,ue)=>{if(!gt||gt===ue)return;const Se=V.currentTarget.getBoundingClientRect();rn(ue),Ae(V.clientY>Se.top+Se.height/2?"after":"before")},I1=(V,ue)=>{if(!x)return;const Se=hn(),Le=Se.indexOf(V),et=Math.max(0,Math.min(Se.length-1,Le+ue));Le<0||Le===et||(Se.splice(Le,1),Se.splice(et,0,V),x(Se))},qi=V=>{V.canDelete===!0&&(wn(""),bn(ue=>{const Se=new Set(ue);return Se.has(V.id)?Se.delete(V.id):Se.add(V.id),Se}))},P1=V=>{wn(""),pe(ue=>{const Se=new Set(ue);return Se.has(V.id)?Se.delete(V.id):Se.add(V.id),Se})},H0=()=>{wn(""),bn(new Set(ua.map(V=>V.id))),pe(new Set(es.map(V=>V.id)))},pA=()=>{wn(""),bn(new Set),pe(new Set),$e(!1)},mA=()=>{if(qs===0||Qe)return;const V=nr.length,ue=Vr.length;wn(""),ui({kind:"selection",title:V===1&&ue===0?"删除 Agent?":V===0&&ue===1?"删除草稿?":"删除所选项目?",description:V===1&&ue===0?`"${nr[0].label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`:V===0&&ue===1?`"${Vr[0].draft.name||"未命名 Agent"}" 将从本地草稿中删除。`:`将删除选中的 ${qs} 个项目。${V>0?`${V} 个云端 Runtime 将被永久删除,此操作不可撤销。`:"草稿删除后无法恢复。"}`,confirmLabel:V===0&&ue===1?"删除草稿":"删除所选",agents:nr,drafts:Vr})},j1=async()=>{if(!(!Jt||Qe)){yt(!0),wn("");try{if(Jt.kind==="selection"){const{agents:V,drafts:ue}=Jt;if(V.length>0){if(!v)throw new Error("当前页面不支持删除已部署 Agent。");await v(V)}ue.length>0&&(E==null||E(ue)),bn(new Set),pe(new Set),$e(!1),V.some(Se=>Se.id===M)&&B(""),ue.some(Se=>Se.id===$)&&I("")}else if(Jt.kind==="agent"){if(!v)throw new Error("当前页面不支持删除已部署 Agent。");await v([Jt.agent]),M===Jt.agent.id&&B("")}else{if(!E)throw new Error("当前页面不支持删除草稿。");E([Jt.draft]),$===Jt.draft.id&&I("")}ui(null)}catch(V){wn(V instanceof Error?V.message:String(V))}finally{yt(!1)}}},gA=V=>{!v||V.canDelete!==!0||Qe||(wn(""),ui({kind:"agent",title:"删除 Agent?",description:`"${V.label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`,confirmLabel:"删除 Agent",agent:V}))},M1=V=>{if(!E||Qe)return;const ue=V.draft.name||"未命名 Agent";wn(""),ui({kind:"draft",title:"删除草稿?",description:`"${ue}" 将从本地草稿中删除。`,confirmLabel:"删除草稿",draft:V})},L1=()=>{const V=`eval-${Date.now()}`,ue={id:V,name:`新评测组 ${Or.length+1}`,agentIds:[],caseSet:"核心回归集",evaluator:"综合质量评估器",metrics:["回答质量"],concurrency:"4",history:[]};Xs(Se=>[ue,...Se]),jl(V)},OA=V=>{C1({...V,history:[{id:`run-${Date.now()}`,createdAt:"刚刚",score:86+V.history.length%7,status:"completed"},...V.history]})};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:`aw-root${b?" is-detail-only":""}`,children:[c.jsxs("nav",{className:"aw-view-tabs","aria-label":"智能体工作台",children:[c.jsx("button",{type:"button",className:Q==="library"?"is-active":"","aria-pressed":Q==="library",onClick:()=>{L("library"),Ye("")},children:"智能体库"}),c.jsx("button",{type:"button",className:Q==="evaluation"?"is-active":"","aria-pressed":Q==="evaluation",onClick:()=>{L("evaluation"),Ye("")},children:"评测"})]}),c.jsxs("div",{className:"aw-workspace-frame",children:[c.jsxs("div",{className:"aw-workspace","aria-hidden":Q==="evaluation"||void 0,ref:V=>{V==null||V.toggleAttribute("inert",Q==="evaluation")},children:[c.jsxs("aside",{className:"aw-sidebar","aria-label":Q==="library"?"智能体列表":"评测组列表",children:[c.jsxs("label",{className:"aw-search",children:[c.jsx(wE,{"aria-hidden":!0}),c.jsx("input",{value:Me,onChange:V=>Ye(V.currentTarget.value),placeholder:Q==="library"?"搜索智能体":"搜索评测组","aria-label":Q==="library"?"搜索智能体":"搜索评测组"})]}),c.jsxs("button",{type:"button",className:"aw-create-card",onClick:Q==="library"?A:L1,disabled:Q==="library"&&!a,children:[c.jsx(Ls,{"aria-hidden":!0}),c.jsx("span",{children:Q==="library"?"新建 Agent":"新建评测组"})]}),Q==="library"&&(v||E)&&c.jsx("div",{className:`aw-selection-toolbar${qe?" is-active":""}`,children:qe?c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"aw-selection-count",children:["已选 ",qs," 个"]}),c.jsx("button",{type:"button",onClick:H0,disabled:Vn===0||Qe,children:"全选"}),c.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void mA(),disabled:qs===0||Qe,children:Qe?"删除中…":"删除所选"}),c.jsx("button",{type:"button",onClick:pA,disabled:Qe,children:"取消"})]}):c.jsx("button",{type:"button",onClick:()=>{wn(""),$e(!0)},disabled:Vn===0,children:"选择"})}),Q==="library"&&mn&&c.jsx("div",{className:"aw-delete-error",role:"alert",children:mn}),c.jsx("div",{className:"aw-agent-list",children:Q==="evaluation"?Go.length===0?c.jsx("div",{className:"aw-list-empty",children:"没有匹配的评测组"}):Go.map(V=>c.jsxs("button",{type:"button",className:`aw-agent-item${V.id===Ku?" is-active":""}`,onClick:()=>jl(V.id),children:[c.jsxs("span",{className:"aw-agent-copy aw-eval-group-copy",children:[c.jsx("strong",{children:V.name}),c.jsxs("small",{children:[V.agentIds.length," 个智能体 · ",V.history.length," 次运行"]})]}),c.jsx(_b,{"aria-hidden":!0})]},V.id)):u&&$n.length===0&&es.length===0?c.jsx("div",{className:"aw-list-empty",children:"正在读取云端智能体…"}):d&&$n.length===0&&es.length===0?c.jsxs("div",{className:"aw-list-empty aw-list-error",children:[c.jsx("span",{children:d}),S&&c.jsx("button",{type:"button",onClick:S,children:"重试"})]}):$n.length===0&&es.length===0?c.jsx("div",{className:"aw-list-empty",children:"没有匹配的智能体"}):c.jsxs(c.Fragment,{children:[es.map(V=>{const ue=f.filter(Le=>{var et,jt;return((et=Le.agentDraft)==null?void 0:et.name)===V.draft.name||Le.agentName===V.draft.name||!!((jt=V.deploymentTarget)!=null&&jt.runtimeId)&&Le.runtimeId===V.deploymentTarget.runtimeId}).sort((Le,et)=>et.startedAt-Le.startedAt)[0],Se=It.has(V.id);return c.jsxs("button",{type:"button",className:["aw-agent-item",qe?"is-selecting":"",Se?"is-selected-for-delete":"",V.id===$?"is-active":""].filter(Boolean).join(" "),"aria-pressed":qe?Se:void 0,onClick:()=>{if(qe){P1(V);return}B(""),I(V.id),N("basic")},children:[qe&&c.jsx("span",{className:`aw-select-marker${Se?" is-checked":""}`,"aria-hidden":"true"}),c.jsxs("span",{className:"aw-agent-copy",children:[c.jsxs("span",{className:"aw-agent-name-row",children:[c.jsx("strong",{children:V.draft.name||"未命名 Agent"}),c.jsx("span",{className:`aw-draft-badge${(ue==null?void 0:ue.status)==="running"?" is-deploying":""}`,children:(ue==null?void 0:ue.status)==="running"?"部署中":"草稿"})]}),c.jsx("small",{children:V.deploymentTarget?"待更新":"尚未发布"})]}),c.jsx(_b,{"aria-hidden":!0})]},V.id)}),$n.map(V=>{const ue=V.runtimeId?As.get(V.runtimeId):void 0,Se=V.runtimeId?go.get(V.runtimeId):void 0,Le=pn.has(V.id),et=V.canDelete===!0,jt=(ue==null?void 0:ue.status)==="running"?{label:"部署中",className:" is-deploying"}:(ue==null?void 0:ue.status)==="error"?{label:"失败",className:" is-error"}:(ue==null?void 0:ue.status)==="cancelled"?{label:"已取消",className:" is-muted"}:Se?{label:"待更新",className:""}:null,hi=(ue==null?void 0:ue.status)==="running"?"正在更新部署":Se?"待更新":V.remote?V.host||"远程智能体":"本地智能体",Qf=["aw-agent-item","aw-agent-item--sortable",V.id===M?"is-active":"",qe?"is-selecting":"",Le?"is-selected-for-delete":"",qe&&!et?"is-selection-disabled":"",V.id===gt?"is-dragging":"",V.id===Rt&&V.id!==gt?`is-drop-target is-drop-${ln}`:""].filter(Boolean).join(" ");return c.jsxs("button",{type:"button",draggable:!!x&&!qe,className:Qf,"aria-pressed":qe?Le:void 0,"aria-keyshortcuts":x?"Alt+ArrowUp Alt+ArrowDown":void 0,onDragStart:Ut=>{x&&(mo.current=!0,ft(V.id),Ut.dataTransfer.effectAllowed="move",Ut.dataTransfer.setData("text/plain",V.id))},onDragEnter:Ut=>{R1(Ut,V.id)},onDragOver:Ut=>{!gt||gt===V.id||(Ut.preventDefault(),Ut.dataTransfer.dropEffect="move",R1(Ut,V.id))},onDragLeave:Ut=>{const Ko=Ut.relatedTarget;Ko instanceof Node&&Ut.currentTarget.contains(Ko)||Rt===V.id&&rn("")},onDrop:Ut=>{Ut.preventDefault();const Ko=Ut.dataTransfer.getData("text/plain")||gt;hA(Ko,V.id,ln),ft(""),rn(""),Ae("before")},onDragEnd:()=>{ft(""),rn(""),Ae("before"),window.setTimeout(()=>{mo.current=!1},0)},onKeyDown:Ut=>{Ut.altKey&&(Ut.key==="ArrowUp"?(Ut.preventDefault(),I1(V.id,-1)):Ut.key==="ArrowDown"&&(Ut.preventDefault(),I1(V.id,1)))},onClick:Ut=>{if(qe){Ut.preventDefault(),qi(V);return}if(mo.current){Ut.preventDefault(),mo.current=!1;return}I(""),B(V.id),N("basic"),w(V.id)},children:[qe&&c.jsx("span",{className:`aw-select-marker${Le?" is-checked":""}`,"aria-hidden":"true"}),c.jsxs("span",{className:"aw-agent-copy",children:[c.jsxs("span",{className:"aw-agent-name-row",children:[c.jsx("strong",{children:V.label}),V.currentVersion!=null&&c.jsxs("span",{className:"aw-version-badge",children:["v",V.currentVersion]}),jt&&c.jsx("span",{className:`aw-draft-badge${jt.className}`,children:jt.label})]}),c.jsx("small",{children:hi})]}),c.jsx(_b,{"aria-hidden":!0})]},V.id)})]})}),c.jsxs("div",{className:"aw-list-count",children:["共 ",Q==="library"?e.length+Ml:Or.length," 个"]})]}),Q==="evaluation"&&it?c.jsx(fet,{group:it,agents:e,cases:vp,onChange:C1,onRun:OA}):Q==="evaluation"?c.jsx("main",{className:"aw-main aw-empty-selection",children:c.jsx("p",{children:"未选择评测组"})}):!re&&!ne&&!Pe?c.jsx("main",{className:"aw-main aw-empty-selection",children:c.jsx("p",{children:"未选择智能体"})}):c.jsxs("main",{className:`aw-main${k1?" is-deploying":""}`,children:[re&&!pt&&s&&c.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:c.jsxs("div",{className:"aw-detail-loading-card",children:[c.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),c.jsxs("span",{children:[c.jsx("strong",{children:"正在加载智能体"}),c.jsx("small",{children:"正在读取配置与运行信息…"})]})]})}),D==="integrations"&&ae&&c.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:c.jsxs("div",{className:"aw-detail-loading-card",children:[c.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),c.jsxs("span",{children:[c.jsx("strong",{children:"正在探测接入方式"}),c.jsx("small",{children:"正在确认 API Server 与 A2A…"})]})]})}),c.jsxs("div",{className:"aw-agent-head",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"aw-agent-title-row",children:[c.jsx("h2",{children:Ns}),$f!=null&&c.jsxs("span",{children:["v",$f]}),ne&&c.jsx("span",{children:"草稿"}),Ve&&c.jsx("span",{children:"待更新"}),!re&&!ne&&Pe&&c.jsx("span",{children:Pe.label})]}),c.jsx("p",{children:ts.description||(s||b&&!Ie?"正在读取智能体信息…":"暂无描述")})]}),(ne||Ve||(re==null?void 0:re.canDelete))&&c.jsxs("div",{className:"aw-head-actions",children:[(ne||Ve)&&c.jsxs("button",{type:"button",className:"aw-head-delete aw-head-delete--draft",onClick:()=>{const V=ne??Ve;V&&M1(V)},disabled:Qe,"aria-label":"删除草稿",title:"删除草稿",children:[c.jsx(df,{"aria-hidden":!0}),c.jsx("span",{children:"删除草稿"})]}),(re==null?void 0:re.canDelete)&&c.jsxs("button",{type:"button",className:"aw-head-delete",onClick:()=>void gA(re),disabled:Qe,"aria-label":"删除 Agent",title:"删除 Agent",children:[c.jsx(df,{"aria-hidden":!0}),c.jsx("span",{children:Qe?"删除中…":"删除 Agent"})]})]})]}),fi&&cA&&c.jsx("div",{className:`aw-detail-deployment${k1?" is-running":""}`,children:c.jsx(aet,{task:fi,onReturnToEdit:T1&&j?()=>j(T1):void 0})}),c.jsx("nav",{className:"aw-agent-tabs","aria-label":"智能体详情",role:"tablist",children:Pt.map(V=>c.jsx("button",{type:"button",id:`agent-${V.id}-tab`,className:D===V.id?"is-active":"",role:"tab","aria-selected":D===V.id,"aria-controls":`agent-${V.id}-panel`,tabIndex:D===V.id?0:-1,onClick:()=>N(V.id),onKeyDown:ue=>{var jt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(ue.key))return;ue.preventDefault();const Se=Pt.findIndex(hi=>hi.id===V.id),Le=ue.key==="Home"?0:ue.key==="End"?Pt.length-1:(Se+(ue.key==="ArrowRight"?1:-1)+Pt.length)%Pt.length,et=Pt[Le];N(et.id),(jt=document.getElementById(`agent-${et.id}-tab`))==null||jt.focus()},children:V.label},V.id))}),c.jsxs("div",{className:"aw-content",id:`agent-${D}-panel`,role:"tabpanel","aria-labelledby":`agent-${D}-tab`,children:[D==="basic"&&c.jsxs("div",{className:"aw-basic-stack",children:[c.jsxs("section",{className:"aw-deployment-panel aw-settings-card",children:[c.jsx("div",{className:"aw-section-head",children:c.jsxs("div",{children:[c.jsx("h3",{children:"部署配置"}),c.jsx("p",{children:"配置目标环境与网络访问方式。"})]})}),c.jsxs("dl",{className:"aw-readonly-config",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"运行状态"}),c.jsxs("dd",{className:(G==null?void 0:G.status.toLowerCase())==="ready"?"is-ready":void 0,children:[(G==null?void 0:G.status.toLowerCase())==="ready"&&c.jsx("span",{className:"aw-status-dot"}),(G==null?void 0:G.status)||"读取中…"]})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"部署区域"}),c.jsx("dd",{children:(G==null?void 0:G.region)||(re==null?void 0:re.region)||(fi==null?void 0:fi.region)||"暂未提供"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"网络访问"}),c.jsx("dd",{children:G!=null&&G.networkTypes.length?G.networkTypes.join(" / "):"暂未提供"})]})]})]}),c.jsxs("section",{className:"aw-canvas-card",children:[c.jsx("div",{className:"aw-card-head",children:c.jsx("strong",{children:"执行流程"})}),c.jsx("div",{className:"aw-canvas",children:c.jsx(My,{draft:ts,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},uA)})]}),c.jsxs("section",{className:"aw-details-card",children:[c.jsx("div",{className:"aw-card-head",children:c.jsx("strong",{children:"详细信息"})}),c.jsxs("dl",{className:"aw-facts",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"模型"}),c.jsx("dd",{children:(pt==null?void 0:pt.model)||ts.modelName||"暂未提供"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"智能体数量"}),c.jsx("dd",{children:pt!=null&&pt.graph?wce(pt.graph):Ece(ts)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"工具"}),c.jsx("dd",{className:"aw-fact-badges",children:E1.length?E1.map(V=>c.jsx("span",{children:V},V)):"暂无"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"技能"}),c.jsx("dd",{className:"aw-fact-badges",children:jc===null?"暂不支持预览":jc.length?jc.map(V=>c.jsx("span",{children:V},V)):"暂无"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"当前版本"}),c.jsx("dd",{children:$f!=null?`v${$f}`:"暂未提供"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"状态"}),c.jsx("dd",{children:ne?"草稿":(fi==null?void 0:fi.status)==="error"?"部署失败":(fi==null?void 0:fi.status)==="cancelled"?"已取消":Ve?"待更新":c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"aw-status-dot"}),"可用"]})})]})]})]})]}),D==="usage"&&(re==null?void 0:re.runtimeId)&&c.jsxs("section",{className:"aw-usage","aria-busy":Kn,children:[c.jsx("div",{className:"aw-usage-intro",children:c.jsx("h3",{children:"使用概览"})}),Kn&&!At&&c.jsx("div",{className:"aw-usage-state",role:"status","aria-live":"polite",children:c.jsx(hs,{as:"span",children:"正在加载用量统计"})}),Vt&&c.jsxs("div",{className:"aw-usage-state is-error",role:"alert",children:[c.jsx("span",{children:Vt}),c.jsx("button",{type:"button",onClick:()=>Fs(V=>V+1),children:"重试"})]}),!Kn&&!Vt&&!At&&!Fe&&c.jsx("div",{className:"aw-usage-state",children:"当前 Runtime 未返回可用的 Agent 应用名称,暂时无法读取用量。"}),At&&c.jsxs(c.Fragment,{children:[c.jsxs("dl",{className:"aw-usage-summary","aria-label":"Agent 用量摘要",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"总调用次数"}),c.jsx("dd",{children:At.totalInvocations.toLocaleString("zh-CN")})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"使用用户数"}),c.jsx("dd",{children:At.totalUsers.toLocaleString("zh-CN")})]})]}),c.jsxs("div",{className:"aw-usage-users-head",children:[c.jsx("h3",{children:"用户明细"}),Kn&&c.jsx(hs,{as:"span",role:"status","aria-live":"polite",children:"正在刷新"})]}),At.users.length===0?c.jsx("div",{className:"aw-usage-state",children:"暂无使用记录。用户成功调用后将在这里显示。"}):c.jsx("div",{className:"aw-usage-table-wrap",children:c.jsxs("table",{className:"aw-usage-table",children:[c.jsx("caption",{children:"当前 Agent 的使用用户列表"}),c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{scope:"col",children:"用户"}),c.jsx("th",{scope:"col",children:"调用次数"}),c.jsx("th",{scope:"col",children:"最近使用"})]})}),c.jsx("tbody",{children:At.users.map(V=>c.jsxs("tr",{children:[c.jsxs("td",{children:[c.jsx("strong",{children:V.displayName||V.userId||"未知用户"}),V.displayName&&V.userId&&c.jsx("small",{title:V.userId,children:V.userId})]}),c.jsx("td",{children:V.invocationCount.toLocaleString("zh-CN")}),c.jsx("td",{children:c.jsx("time",{dateTime:V.lastUsedAt,children:zJe(V.lastUsedAt)})})]},V.userId))})]})}),At.totalPages>1&&c.jsxs("nav",{className:"aw-usage-pagination","aria-label":"用量用户列表分页",children:[c.jsx("button",{type:"button",disabled:Kn||At.page<=1,onClick:()=>vi(V=>Math.max(1,V-1)),children:"上一页"}),c.jsxs("span",{"aria-live":"polite",children:["第 ",At.page," / ",At.totalPages," 页"]}),c.jsx("button",{type:"button",disabled:Kn||At.page>=At.totalPages,onClick:()=>vi(V=>V+1),children:"下一页"})]})]})]}),D==="integrations"&&c.jsxs("div",{className:"aw-integration-stack",children:[c.jsxs("div",{className:"aw-integration-intro",children:[c.jsx("h3",{children:"接入方式"}),c.jsx("p",{children:"仅展示当前 Runtime 可确认的公开协议与地址。"})]}),ke&&c.jsxs("div",{className:"aw-integration-error",role:"alert",children:[c.jsx("span",{children:ke}),c.jsx("button",{type:"button",onClick:()=>le(V=>V+1),children:"重试"})]}),!ke&&c.jsxs("div",{className:"aw-integration-body",children:[c.jsxs("div",{className:`aw-integration-protocol-tabs${ge==="a2a"?" is-a2a":""}`,role:"tablist","aria-label":"接入协议",children:[c.jsx("span",{className:"aw-integration-protocol-slider","aria-hidden":"true"}),PO.map((V,ue)=>c.jsx("button",{type:"button",id:`integration-${V.id}-tab`,role:"tab","aria-selected":ge===V.id,"aria-controls":`integration-${V.id}-panel`,tabIndex:ge===V.id?0:-1,onClick:()=>Sp(V.id),onKeyDown:Se=>{var jt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(Se.key))return;Se.preventDefault();const Le=Se.key==="Home"?0:Se.key==="End"?PO.length-1:(ue+(Se.key==="ArrowRight"?1:-1)+PO.length)%PO.length,et=PO[Le];Sp(et.id),(jt=document.getElementById(`integration-${et.id}-tab`))==null||jt.focus()},children:V.label},V.id))]}),ge==="api-server"?c.jsx(CV,{protocol:"api-server",title:"API Server",available:Ze,fields:[{label:"Agent",value:Ze?((D1=ve==null?void 0:ve.apiApps)==null?void 0:D1.join("、"))??"":""},{label:"发现接口",value:Ze?PC(Jn,"/list-apps"):""},{label:"调用接口",value:Ze?PC(Jn,"/run_sse"):""},{label:"鉴权方式",value:Ze?AV(G==null?void 0:G.authType):""},{label:"API Key",value:c.jsx(NV,{available:Ze,authType:G==null?void 0:G.authType,value:Z,visible:he&&!!Z,loading:Te,error:Be,onToggle:()=>void A1()})}],example:Ze?VJe(Jn,Ci,G==null?void 0:G.authType):""}):c.jsx(CV,{protocol:"a2a",title:"A2A",available:Ot,fields:[{label:"Agent",value:((Ep=ve==null?void 0:ve.a2a)==null?void 0:Ep.name)??""},{label:"Agent Card",value:Ot?PC(Jn,"/.well-known/agent-card.json"):""},{label:"调用地址",value:Bt},{label:"鉴权方式",value:Ot?AV(G==null?void 0:G.authType):""},{label:"API Key",value:c.jsx(NV,{available:Ot,authType:G==null?void 0:G.authType,value:Z,visible:he&&!!Z,loading:Te,error:Be,onToggle:()=>void A1()})}],example:Ot?XJe(Bt,G==null?void 0:G.authType):""})]})]}),D==="evaluations"&&c.jsxs("section",{className:"aw-cases",children:[(re==null?void 0:re.runtimeId)&&c.jsx("div",{className:"aw-case-summary",children:["good","bad"].map(V=>{const ue=JJe(Ge,V),Se=vp.filter(et=>et.kind===V).length,Le=Mc?Se:(ue==null?void 0:ue.itemCount)??Se;return c.jsxs("button",{type:"button",onClick:()=>dA(V),children:[c.jsx("strong",{children:Le}),c.jsx("span",{children:V==="good"?"Good cases":"Bad cases"})]},V)})}),c.jsxs("div",{className:"aw-case-filter-bar",children:[c.jsxs("div",{className:"aw-case-filter-stack",children:[c.jsx("div",{className:"aw-case-filters","aria-label":"案例结果筛选",children:["good","bad"].map(V=>c.jsx("button",{type:"button",className:dt===V?"is-active":"","aria-pressed":dt===V,onClick:()=>Gt(V),children:V==="good"?"Good case":"Bad case"},V))}),c.jsx("div",{className:"aw-case-source-filters","aria-label":"回流方式筛选",children:["auto","user"].map(V=>c.jsx("button",{type:"button",className:vt===V?"is-active":"","aria-pressed":vt===V,onClick:()=>Wt(V),children:V==="auto"?"自动回流":"手动回流"},V))})]}),c.jsxs("label",{className:"aw-case-search",children:[c.jsx(wE,{"aria-hidden":!0}),c.jsx("input",{type:"search",value:Ct,onChange:V=>Dt(V.currentTarget.value),placeholder:"搜索用户输入、期望行为或标签","aria-label":"搜索评测案例"})]})]}),q0&&c.jsx("div",{className:`aw-case-toolbar${Kr?" is-active":""}`,children:Kr?c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"aw-selection-count",children:["已选 ",X0.length," 条"]}),c.jsx("button",{type:"button",onClick:N1,disabled:Zo.length===0||Qi,children:"全选当前"}),c.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void La(X0),disabled:X0.length===0||Qi,children:Qi?"删除中…":"删除所选"}),c.jsx("button",{type:"button",onClick:td,disabled:Qi,children:"取消"})]}):c.jsx("button",{type:"button",onClick:()=>{tr(""),gr(!0)},disabled:Zo.length===0||Qi,children:"选择案例"})}),zr&&c.jsx("div",{className:"aw-delete-error",role:"alert",children:zr}),c.jsx("div",{ref:Ic,children:c.jsx(det,{cases:Zo,loading:Kt&&Zo.length===0,error:Fn,notice:di,runtimeBacked:!!(re!=null&&re.runtimeId),selectionMode:Kr,selectedCaseIds:Ur,focusedCaseId:Fr,expandedCaseIds:Zu,deleting:Qi,canDelete:q0,onOpenCase:fA,onToggleCase:ed,onToggleExpanded:wp,onDeleteCase:V=>void La([V]),onRetry:()=>Zn(V=>V+1)})})]}),D==="optimizations"&&c.jsxs("section",{className:"aw-optimizations",children:[c.jsxs("div",{className:"aw-optimization-intro",children:[c.jsx("h3",{children:"优化项"}),c.jsx("p",{children:"根据评测结果汇总需要优先处理的改进建议。"})]}),Yn?c.jsxs("div",{className:"aw-optimization-state",role:"status",children:[c.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),c.jsx("span",{children:"正在读取优化项"})]}):er?c.jsxs("div",{className:"aw-optimization-state is-error",role:"alert",children:[c.jsx("span",{children:er}),c.jsx("button",{type:"button",onClick:()=>kn(V=>V+1),children:"重试"})]}):Si.length>0?c.jsx(cet,{groups:Si}):c.jsx("div",{className:"aw-optimization-state",children:"暂无优化项,自动评测完成后会在这里生成建议。"})]})]}),D==="basic"&&(re||ne)&&c.jsxs("div",{className:"aw-basic-actions",children:[re&&c.jsxs("button",{type:"button",className:"aw-talk studio-update-action",onClick:()=>k==null?void 0:k(re),children:[c.jsx(s1e,{"aria-hidden":!0}),c.jsx("span",{children:"去对话"})]}),c.jsxs("span",{className:`aw-update-wrap${Wo?" is-disabled":""}`,tabIndex:Wo?0:void 0,"aria-describedby":Wo?V0:void 0,children:[c.jsx("button",{type:"button",className:"aw-update studio-update-action",disabled:!!Wo,"aria-busy":ct||void 0,"aria-describedby":Wo?V0:void 0,onClick:()=>{var V;return ne?j==null?void 0:j(ne):Ve?j==null?void 0:j({...Ve,deploymentTarget:Pc}):an?R(((V=an.agent)==null?void 0:V.draft)??ts,an):void 0},children:ct?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"loading-gap-spinner aw-update-spinner","aria-hidden":"true"}),c.jsx("span",{children:"检测中"})]}):ne||Ve?"继续编辑":"更新"}),Wo&&c.jsx("span",{id:V0,className:"aw-update-disabled-reason",role:"tooltip",children:Wo})]})]})]})]}),Q==="evaluation"&&c.jsx("div",{className:"aw-evaluation-glass",role:"status",children:c.jsx("span",{children:"敬请期待"})})]})]}),Jt&&c.jsx($_,{variant:"danger",title:Jt.title,description:Jt.description,confirmLabel:Qe?"删除中...":Jt.confirmLabel,closeLabel:"关闭删除确认",busy:Qe,onCancel:()=>ui(null),onConfirm:()=>void j1()})]})}function cet({groups:e}){return c.jsx("div",{className:"aw-optimization-table-wrap",children:c.jsxs("table",{className:"aw-optimization-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{scope:"col",children:"修复优先级"}),c.jsx("th",{scope:"col",children:"建议优化模块"}),c.jsx("th",{scope:"col",children:"优化建议和理由"})]})}),c.jsx("tbody",{children:e.map(t=>c.jsxs("tr",{children:[c.jsx("td",{children:c.jsx("span",{className:`aw-priority is-${t.priority}`,children:WJe(t.priority)})}),c.jsx("td",{children:c.jsx("span",{className:"aw-optimization-module",children:KJe(t)})}),c.jsx("td",{children:c.jsx("ul",{className:"aw-optimization-list",children:t.items.map(n=>c.jsxs("li",{children:[c.jsx("strong",{children:n.suggestion}),c.jsx("p",{children:n.reason})]},`${n.suggestion}:${n.reason}`))})})]},`${t.priority}:${t.module}:${t.customModule??""}`))})]})})}function uet(){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M4.5 7h15"}),c.jsx("path",{d:"M9 7V4.8h6V7"}),c.jsx("path",{d:"m6.5 7 .8 12h9.4l.8-12"}),c.jsx("path",{d:"M10 10.5v5M14 10.5v5"})]})}function det({cases:e,loading:t=!1,error:n="",notice:i="",runtimeBacked:r=!1,selectionMode:s=!1,selectedCaseIds:a,focusedCaseId:o="",expandedCaseIds:l,deleting:u=!1,canDelete:d=!1,onOpenCase:f,onToggleCase:h,onToggleExpanded:p,onDeleteCase:m,onRetry:g}){return c.jsxs("div",{className:"aw-case-table",children:[c.jsxs("div",{className:"aw-case-row aw-case-row-head",children:[c.jsx("span",{children:"用户输入"}),c.jsx("span",{children:"Agent 输出"}),c.jsx("span",{children:"评分"}),c.jsx("span",{children:"评分理由"}),c.jsx("span",{className:"aw-case-action-head",children:"操作"})]}),t?c.jsx("div",{className:"aw-case-empty",children:"正在读取 AgentKit 评测集…"}):n?c.jsxs("div",{className:"aw-case-empty aw-case-error",children:[c.jsx("span",{children:n}),g&&c.jsx("button",{type:"button",onClick:g,children:"重试"})]}):i?c.jsx("div",{className:"aw-case-empty",children:i}):e.length===0?c.jsx("div",{className:"aw-case-empty",children:r?"暂无用户反馈案例":"没有匹配的案例"}):e.map(y=>{var _,C;const b=y.id.startsWith("local:"),S=(a==null?void 0:a.has(y.id))??!1,x=(l==null?void 0:l.has(y.id))??!1,E=y.output.length+y.referenceOutput.length>220||(((_=y.reason)==null?void 0:_.length)??0)>120,w=d&&!b,k=!!(y.comment&&y.comment.trim()!==((C=y.reason)==null?void 0:C.trim()));return c.jsxs("div",{className:["aw-case-row",o===y.id?"is-focused":"",s?"is-selecting":"",S?"is-selected-for-delete":""].filter(Boolean).join(" "),role:"row",tabIndex:0,"aria-selected":s?S:void 0,onClick:()=>{if(s){w&&(h==null||h(y));return}f==null||f(y)},onKeyDown:A=>{A.target===A.currentTarget&&(A.key!=="Enter"&&A.key!==" "||(A.preventDefault(),s?w&&(h==null||h(y)):f==null||f(y)))},children:[c.jsxs("div",{className:"aw-case-text aw-case-cell","data-label":"用户输入",children:[c.jsxs("span",{className:"aw-case-title-line",children:[s&&w&&c.jsx("span",{className:`aw-select-marker${S?" is-checked":""}`,"aria-hidden":"true"}),c.jsx("strong",{title:y.input,children:y.input||"无用户输入"})]}),k&&c.jsxs("small",{title:y.comment,children:["备注:",y.comment]}),c.jsx("small",{className:"aw-case-time",children:YJe(y.createdAt)}),(y.userId||y.sessionId)&&c.jsx("small",{title:[y.userId,y.sessionId].filter(Boolean).join(" · "),children:[y.userId,y.sessionId].filter(Boolean).join(" · ")})]}),c.jsxs("div",{className:`aw-case-output aw-case-cell${x?" is-expanded":""}`,"data-label":"Agent 输出",children:[c.jsx("p",{className:"aw-case-output-preview",title:y.output,children:y.output||"无可见回复"}),y.referenceOutput&&c.jsxs("small",{className:"aw-case-output-preview",title:y.referenceOutput,children:["Reference: ",y.referenceOutput]}),E&&c.jsx("button",{type:"button",className:"aw-case-expand",onClick:A=>{A.stopPropagation(),p==null||p(y.id)},children:x?"收起":"展开"})]}),c.jsx("div",{className:"aw-case-score aw-case-cell","data-label":"评分",children:GJe(y)}),c.jsx("div",{className:`aw-case-reason aw-case-cell${x?" is-expanded":""}`,"data-label":"评分理由",children:c.jsx("p",{title:y.reason||void 0,children:y.reason||"—"})}),c.jsx("div",{className:"aw-case-actions aw-case-cell","data-label":"操作",children:w&&c.jsx("button",{type:"button",className:"aw-case-delete",onClick:A=>{A.stopPropagation(),m==null||m(y)},disabled:u,title:"删除反馈案例","aria-label":"删除反馈案例",children:c.jsx(uet,{})})})]},y.id)})]})}function fet({group:e,agents:t,cases:n,onChange:i,onRun:r}){const[s,a]=O.useState("config"),o=e.agentIds.map(f=>t.find(h=>h.id===f)).filter(f=>!!f),l=["回答质量","事实准确性","工具调用","响应效率"];O.useEffect(()=>a("config"),[e.id]);const u=f=>{i({...e,agentIds:e.agentIds.includes(f)?e.agentIds.filter(h=>h!==f):[...e.agentIds,f]})},d=f=>{i({...e,metrics:e.metrics.includes(f)?e.metrics.filter(h=>h!==f):[...e.metrics,f]})};return c.jsxs("main",{className:"aw-main",children:[c.jsxs("div",{className:"aw-eval-head",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"aw-agent-title-row",children:[c.jsx("h2",{children:e.name}),c.jsx("span",{children:"评测组"})]}),c.jsxs("p",{children:[o.length," 个参评智能体 · ",e.caseSet," · ",e.history.length," 次运行"]})]}),c.jsxs("button",{type:"button",className:"aw-run",onClick:()=>r(e),disabled:!0,children:[c.jsx(Jxe,{"aria-hidden":!0}),"开始评测"]})]}),c.jsxs("nav",{className:"aw-agent-tabs","aria-label":"评测组详情",children:[c.jsx("button",{type:"button",className:s==="config"?"is-active":"","aria-pressed":s==="config",onClick:()=>a("config"),disabled:!0,children:"评测配置"}),c.jsx("button",{type:"button",className:s==="history"?"is-active":"","aria-pressed":s==="history",onClick:()=>a("history"),disabled:!0,children:"历史结果"})]}),c.jsx("div",{className:"aw-content",children:s==="config"?c.jsxs("div",{className:"aw-eval-setup",children:[c.jsxs("section",{className:"aw-eval-block",children:[c.jsxs("div",{className:"aw-card-head",children:[c.jsx("strong",{children:"参评智能体"}),c.jsxs("span",{children:["已选择 ",o.length," 个"]})]}),c.jsx("div",{className:"aw-eval-agent-grid",children:t.map(f=>c.jsxs("label",{children:[c.jsx("input",{type:"checkbox",checked:e.agentIds.includes(f.id),onChange:()=>u(f.id)}),c.jsxs("span",{children:[c.jsx("strong",{children:f.label}),c.jsx("small",{children:f.remote?"远程":"本地"})]})]},f.id))})]}),c.jsxs("div",{className:"aw-eval-setting-grid",children:[c.jsxs("section",{className:"aw-eval-block",children:[c.jsx("div",{className:"aw-card-head",children:c.jsx("strong",{children:"评测资源"})}),c.jsxs("div",{className:"aw-eval-fields",children:[c.jsxs("label",{children:[c.jsx("span",{children:"评测集"}),c.jsxs("select",{value:e.caseSet,onChange:f=>i({...e,caseSet:f.currentTarget.value}),children:[c.jsx("option",{children:"核心回归集"}),c.jsx("option",{children:"安全边界集"}),c.jsx("option",{children:"工具调用集"})]}),c.jsxs("small",{children:[n.length," 条案例"]})]}),c.jsxs("label",{children:[c.jsx("span",{children:"评估器"}),c.jsxs("select",{value:e.evaluator,onChange:f=>i({...e,evaluator:f.currentTarget.value}),children:[c.jsx("option",{children:"综合质量评估器"}),c.jsx("option",{children:"事实一致性评估器"}),c.jsx("option",{children:"工具调用评估器"})]})]}),c.jsxs("label",{children:[c.jsx("span",{children:"并发数"}),c.jsxs("select",{value:e.concurrency,onChange:f=>i({...e,concurrency:f.currentTarget.value}),children:[c.jsx("option",{value:"2",children:"2"}),c.jsx("option",{value:"4",children:"4"}),c.jsx("option",{value:"8",children:"8"})]})]})]})]}),c.jsxs("section",{className:"aw-eval-block",children:[c.jsxs("div",{className:"aw-card-head",children:[c.jsx("strong",{children:"评测指标"}),c.jsxs("span",{children:["已选择 ",e.metrics.length," 项"]})]}),c.jsx("div",{className:"aw-metric-list",children:l.map(f=>c.jsxs("label",{children:[c.jsx("input",{type:"checkbox",checked:e.metrics.includes(f),onChange:()=>d(f)}),c.jsx("span",{children:f})]},f))})]})]})]}):c.jsxs("section",{className:"aw-eval-history",children:[c.jsx("div",{className:"aw-section-head",children:c.jsxs("div",{children:[c.jsx("h3",{children:"历史结果"}),c.jsx("p",{children:"查看该评测组历次运行的总体表现。"})]})}),e.history.length===0?c.jsxs("div",{className:"aw-results-empty",children:[c.jsx("strong",{children:"暂无历史结果"}),c.jsx("span",{children:"完成首次评测后,结果会出现在这里。"})]}):c.jsx("div",{className:"aw-history-list",children:e.history.map((f,h)=>c.jsxs("button",{type:"button",children:[c.jsxs("span",{children:[c.jsxs("strong",{children:["评测运行 #",e.history.length-h]}),c.jsxs("small",{children:[f.createdAt," · ",o.length," 个智能体"]})]}),c.jsxs("span",{className:"aw-history-score",children:[c.jsx("strong",{children:f.score}),c.jsx("small",{children:"综合得分"})]}),c.jsxs("span",{className:"aw-complete",children:[c.jsx(kc,{}),"已完成"]}),c.jsx(_b,{"aria-hidden":!0})]},f.id))})]})})]})}const ga="/web/sandbox/sessions",IV=3e4,jC=33e4,het=6e4,pet=6e5,bv=15e3,Jc=6e4,met=33e4,PV=40;function Q_(e){switch(e.trim().toLowerCase()){case"ready":return"就绪";case"wakeable":return"可唤醒";case"creating":return"创建中";case"starting":case"initializing":return"启动中";case"pending":return"等待中";case"running":return"运行中";case"failed":case"error":return"异常";case"stopped":return"已停止";case"expired":return"已过期";case"deleting":return"删除中";case"deleted":return"已删除";default:return"未知状态"}}function br(e){const t=m0(e);return t.has("Accept")||t.set("Accept","application/json"),t}async function yr(e,t){const n=await e.text().catch(()=>"");let i={};try{i=JSON.parse(n)}catch{const l=`${t}(HTTP ${e.status})`;return new Error(n?`${l}:${n}`:l)}const r=i.detail,s=r&&typeof r=="object"&&"message"in r?r.message:r??i.error??i.message,a=typeof s=="string"?s:s==null?"":JSON.stringify(s),o=`${t}(HTTP ${e.status})`;return new Error(a?`${o}:${a}`:o)}function Hf(e,t="codex"){if(!e.sessionId||!e.status)throw new Error("AgentKit 沙箱返回了无效的 Session 信息。");return{resourceType:"session",id:e.sessionId,toolName:t,userSessionId:e.userSessionId??"",displayName:e.displayName??"",status:e.status,createdAt:e.createdAt??"",expireAt:e.expireAt??"",persistent:e.persistent!==!1,toolType:e.toolType??"",createdBy:e.createdBy??"",threadId:e.threadId??"",cwd:e.cwd??"",workspaceLocked:e.workspaceLocked===!0,busy:e.busy===!0,...typeof e.model=="string"?{model:e.model}:{},permissions:B_(e.permissions)}}function jV(e,t="codex"){if(!e.snapshotId||!e.status)throw new Error("AgentKit 沙箱返回了无效的 Snapshot 信息。");return{resourceType:"snapshot",id:e.snapshotId,snapshotId:e.snapshotId,sourceSessionId:e.sessionId??"",toolName:t,userSessionId:e.userSessionId??"",displayName:e.displayName??"",status:e.status,snapshotStatus:e.snapshotStatus??"Unknown",reason:e.reason??"",createdAt:e.createdAt??"",createdBy:e.createdBy??""}}const jO={approvalPolicy:"on-request",approvalsReviewer:"user",sandboxMode:"workspace-write",networkAccess:!1};function B_(e){if(!e||typeof e!="object")return{...jO};const t=e,n=t.approvalPolicy,i=t.approvalsReviewer,r=t.sandboxMode;return{approvalPolicy:n==="untrusted"||n==="on-request"||n==="never"?n:jO.approvalPolicy,approvalsReviewer:i==="user"||i==="auto_review"?i:jO.approvalsReviewer,sandboxMode:r==="read-only"||r==="workspace-write"||r==="danger-full-access"?r:jO.sandboxMode,networkAccess:typeof t.networkAccess=="boolean"?t.networkAccess:jO.networkAccess}}function MV(e){if(!e||typeof e!="object")throw new Error("Sandbox 返回了无效设置。");const t=e;return{threadId:typeof t.threadId=="string"?t.threadId:"",cwd:typeof t.cwd=="string"?t.cwd:"",...typeof t.model=="string"?{model:t.model}:{},workspaceLocked:t.workspaceLocked===!0,busy:t.busy===!0,permissions:B_(t.permissions)}}function vo(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function get(e){const t=vo(e);if(!(!t||typeof t.id!="string"||!t.id))return{id:t.id,displayName:typeof t.displayName=="string"?t.displayName:t.id,description:typeof t.description=="string"?t.description:"",isDefault:t.isDefault===!0}}function Oet(e){const t=vo(e);if(!(!t||typeof t.id!="string"||!t.id||typeof t.name!="string"||!t.name))return{id:t.id,name:t.name,description:typeof t.description=="string"?t.description:""}}function _ce(e){const t=vo(e);if(!(!t||typeof t.id!="string"||!t.id))return{id:t.id,...typeof t.name=="string"&&t.name?{name:t.name}:{},preview:typeof t.preview=="string"?t.preview:"",cwd:typeof t.cwd=="string"?t.cwd:"",modelProvider:typeof t.modelProvider=="string"?t.modelProvider:"",createdAt:typeof t.createdAt=="number"&&Number.isFinite(t.createdAt)?t.createdAt:0,updatedAt:typeof t.updatedAt=="number"&&Number.isFinite(t.updatedAt)?t.updatedAt:0,status:typeof t.status=="string"?t.status:"unknown"}}function MO(e){const t=vo(e),n=_ce(t==null?void 0:t.thread);if(!t||!n||typeof t.threadId!="string"||!Array.isArray(t.messages))throw new Error("Sandbox 返回了无效 Thread 快照。");const i=t.messages.flatMap(r=>{const s=vo(r);if(!s||typeof s.id!="string"||s.role!=="user"&&s.role!=="assistant"||typeof s.content!="string"||typeof s.timestamp!="number")return[];const a=Array.isArray(s.skillNames)?s.skillNames.filter(o=>typeof o=="string"&&!!o):[];return[{id:s.id,role:s.role,content:s.content,timestamp:s.timestamp,...a.length?{skillNames:a}:{}}]});return{thread:n,threadId:t.threadId,messages:i,...typeof t.model=="string"?{model:t.model}:{},...typeof t.cwd=="string"?{cwd:t.cwd}:{},workspaceLocked:t.workspaceLocked===!0,permissions:B_(t.permissions)}}function aM(e){if(!e||typeof e!="object")return;const t=e;if(![t.totalTokens,t.inputTokens,t.cachedInputTokens,t.outputTokens,t.reasoningOutputTokens].some(i=>typeof i!="number"||!Number.isFinite(i)||i<0))return{totalTokens:Math.trunc(t.totalTokens),inputTokens:Math.trunc(t.inputTokens),cachedInputTokens:Math.trunc(t.cachedInputTokens),outputTokens:Math.trunc(t.outputTokens),reasoningOutputTokens:Math.trunc(t.reasoningOutputTokens)}}function bet(e){const t=aM(e.usage);if(!t||typeof e.turnId!="string")return;const n=aM(e.threadTotal),i=e.modelContextWindow;return{turnId:e.turnId,usage:t,...n?{threadTotal:n}:{},...typeof i=="number"&&Number.isFinite(i)&&i>=0?{modelContextWindow:Math.trunc(i)}:{}}}function yet(e){return typeof e.id!="string"||e.kind!=="command"&&e.kind!=="file"||typeof e.method!="string"?null:{id:e.id,kind:e.kind,method:e.method,...typeof e.reason=="string"?{reason:e.reason}:{},...typeof e.command=="string"?{command:e.command}:{},...typeof e.cwd=="string"?{cwd:e.cwd}:{},...typeof e.grantRoot=="string"?{grantRoot:e.grantRoot}:{},...e.changes!==void 0?{changes:e.changes}:{},...typeof e.threadId=="string"?{threadId:e.threadId}:{},...typeof e.turnId=="string"?{turnId:e.turnId}:{},...typeof e.itemId=="string"?{itemId:e.itemId}:{}}}async function xet(e,t={}){if(!e.body)throw new Error("沙箱对话服务未返回内容。");const n=e.body.getReader(),i=new TextDecoder;let r="",s="";const a=[],o=new Map;let l;function u(){var p;(p=t.onBlocks)==null||p.call(t,a.map(m=>({...m})))}function d(p){s+=p;const m=a[a.length-1];(m==null?void 0:m.kind)==="text"?m.text+=p:a.push({kind:"text",text:p}),u()}function f(p){if(typeof p.id!="string"||p.kind!=="thinking"&&p.kind!=="tool"||p.status!=="running"&&p.status!=="done")return;const m=p.status==="done";let g;if(p.kind==="thinking"){if(typeof p.text!="string"||!p.text)return;g={kind:"thinking",text:p.text,done:m}}else{if(typeof p.name!="string"||!p.name)return;g={kind:"tool",name:p.name,args:p.args,response:p.response,done:m}}const y=o.get(p.id);y===void 0?(o.set(p.id,a.length),a.push(g)):a[y]=g,u()}function h(p){var b,S,x;let m="message";const g=[];for(const v of p.split(/\r?\n/))v.startsWith("event:")&&(m=v.slice(6).trim()),v.startsWith("data:")&&g.push(v.slice(5).trimStart());if(g.length===0)return;let y;try{y=JSON.parse(g.join(` -`))}catch{throw new Error("沙箱对话服务返回了无法解析的响应。")}if(m==="error")throw new Error(typeof y.message=="string"&&y.message?y.message:"沙箱对话失败,请稍后重试。");if(m==="activity"&&f(y),m==="approval"){const v=yet(y);v&&((b=t.onApproval)==null||b.call(t,v))}if(m==="usage"){const v=bet(y);v&&(l=v,(S=t.onUsage)==null||S.call(t,v))}m==="approval_resolved"&&typeof y.approvalId=="string"&&((x=t.onApprovalResolved)==null||x.call(t,y.approvalId)),m==="delta"&&typeof y.text=="string"&&d(y.text),m==="done"&&!s&&typeof y.text=="string"&&d(y.text)}for(;;){const{done:p,value:m}=await n.read();r+=i.decode(m,{stream:!p});const g=r.split(/\r?\n\r?\n/);if(r=g.pop()??"",g.forEach(h),p)break}if(r.trim()&&h(r),a.length===0)throw new Error("沙箱未返回有效回复,请重试。");return{text:s,blocks:a,...l?{usage:l}:{}}}async function il(e,t,{method:n="GET",body:i,options:r={},fallback:s}){if(!e)throw new Error("缺少要操作的 AgentKit Session。");const a=await fetch(Xn(`${ga}/${encodeURIComponent(e)}/${t}`),{method:n,headers:br(i===void 0?void 0:{"Content-Type":"application/json"}),...i===void 0?{}:{body:JSON.stringify(i)},signal:Gn(r.signal,Jc)});if(!a.ok)throw await yr(a,s);return a.json()}const An={async listSessions(e={}){const t=await fetch(Xn(ga),{method:"GET",headers:br(),signal:Gn(e.signal,IV)});if(!t.ok)throw await yr(t,"无法读取 Codex 智能体,请稍后重试。");const n=await t.json();if(!Array.isArray(n.sessions))throw new Error("AgentKit 沙箱返回了无效的 Session 列表。");if(n.snapshots!==void 0&&!Array.isArray(n.snapshots))throw new Error("AgentKit 沙箱返回了无效的 Snapshot 列表。");return[...n.sessions.map(i=>Hf(i)),...(n.snapshots??[]).map(i=>jV(i))]},async startSession(e={}){var n;const t=await fetch(Xn(ga),{method:"POST",headers:br({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((n=e.displayName)==null?void 0:n.trim())??"",persistent:e.persistent??!0}),signal:Gn(e.signal,jC)});if(!t.ok)throw await yr(t,"无法启动 AgentKit 沙箱,请稍后重试。");return Hf(await t.json())},async listAgentSessions(e,t={}){const n=await fetch(Xn(`/web/${e}/sessions`),{method:"GET",headers:br(),signal:Gn(t.signal,IV)});if(!n.ok)throw await yr(n,`无法读取 ${e} 智能体,请稍后重试。`);const i=await n.json();if(!Array.isArray(i.sessions))throw new Error(`AgentKit 返回了无效的 ${e} Session 列表。`);if(i.snapshots!==void 0&&!Array.isArray(i.snapshots))throw new Error(`AgentKit 返回了无效的 ${e} Snapshot 列表。`);return[...i.sessions.map(r=>Hf(r,e)),...(i.snapshots??[]).map(r=>jV(r,e))]},async startAgentSession(e,t={}){var i;const n=await fetch(Xn(`/web/${e}/sessions`),{method:"POST",headers:br({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((i=t.displayName)==null?void 0:i.trim())??"",persistent:t.persistent??!0}),signal:Gn(t.signal,jC)});if(!n.ok)throw await yr(n,`无法创建 ${e} 智能体,请稍后重试。`);return Hf(await n.json(),e)},async openAgentSession(e,t,n={}){if(!t)throw new Error("缺少要打开的 AgentKit Session。");const i=await fetch(Xn(`/web/${e}/sessions/${encodeURIComponent(t)}/open`),{method:"POST",headers:br(),signal:Gn(n.signal,Jc)});if(!i.ok)throw await yr(i,`无法打开 ${e} 智能体。`);const r=await i.json();if(typeof r.webuiUrl!="string"||!r.webuiUrl.startsWith("/"))throw new Error(`${e} 智能体返回了无效的主页面地址。`);return{session:Hf(r,e),kind:e,webuiUrl:Xn(r.webuiUrl)}},async launchAgentTerminal(e,t,n={}){if(!t)throw new Error("缺少要打开 Terminal 的 AgentKit Session。");const i=await fetch(Xn(`/web/${e}/sessions/${encodeURIComponent(t)}/terminal`),{method:"POST",headers:br(),signal:Gn(n.signal,Jc)});if(!i.ok)throw await yr(i,`无法打开 ${e} Terminal。`);const r=await i.json();return{url:Ace(r.url,`${e} Terminal`),...typeof r.shellSessionId=="string"?{shellSessionId:r.shellSessionId}:{}}},async deleteAgentSession(e,t,n={}){if(!t)return;const i=await fetch(Xn(`/web/${e}/sessions/${encodeURIComponent(t)}`),{method:"DELETE",headers:br(),signal:Gn(n.signal,bv)});if(!i.ok&&i.status!==404)throw await yr(i,`无法删除 ${e} 智能体。`)},async resumeSnapshot(e,t,n={}){if(!t)throw new Error("缺少要唤醒的 AgentKit Snapshot。");const i=e==="codex"?"/web/sandbox":`/web/${e}`,r=await fetch(Xn(`${i}/snapshots/${encodeURIComponent(t)}/resume`),{method:"POST",headers:br(),signal:Gn(n.signal,jC)});if(!r.ok)throw await yr(r,"无法从快照唤醒智能体,请稍后重试。");return Hf(await r.json(),e)},async deleteSnapshot(e,t,n={}){if(!t)return;const i=e==="codex"?"/web/sandbox":`/web/${e}`,r=await fetch(Xn(`${i}/snapshots/${encodeURIComponent(t)}`),{method:"DELETE",headers:br(),signal:Gn(n.signal,bv)});if(!r.ok&&r.status!==404)throw await yr(r,"无法删除智能体快照。")},async connectSession(e,t={}){if(!e)throw new Error("缺少要连接的 AgentKit Session。");const n=await fetch(Xn(`${ga}/${encodeURIComponent(e)}/connect`),{method:"POST",headers:br({"Content-Type":"application/json"}),signal:Gn(t.signal,het)});if(!n.ok)throw await yr(n,"无法连接 Codex 智能体,请稍后重试。");const i=Hf(await n.json());if(i.status.toLowerCase()!=="ready")throw new Error(`AgentKit Session 尚未就绪,当前状态:${i.status}。`);return i},async sendMessage(e,t={}){var i;if(!e.sessionId||!e.text.trim())throw new Error("内置智能体会话缺少有效的消息内容。");const n=await fetch(Xn(`${ga}/${encodeURIComponent(e.sessionId)}/messages`),{method:"POST",headers:br({Accept:"text/event-stream","Content-Type":"application/json"}),body:JSON.stringify({message:e.text,...(i=e.skillIds)!=null&&i.length?{skillIds:e.skillIds}:{}}),signal:Gn(t.signal,pet)});if(!n.ok)throw await yr(n,"沙箱对话失败,请稍后重试。");return xet(n,t)},async getStatus(e,t={}){const n=await il(e,"status",{options:t,fallback:"无法读取 Codex 状态。"}),i=MV(n),r=vo(n),s=aM(r==null?void 0:r.threadTotal),a=r==null?void 0:r.modelContextWindow;return{...i,...s?{threadTotal:s}:{},...typeof a=="number"&&Number.isFinite(a)&&a>=0?{modelContextWindow:Math.trunc(a)}:{}}},async listModels(e,t={}){const n=vo(await il(e,"models",{options:t,fallback:"无法读取 Codex 模型列表。"}));if(!Array.isArray(n==null?void 0:n.models))throw new Error("Sandbox 返回了无效模型列表。");return n.models.flatMap(i=>{const r=get(i);return r?[r]:[]})},async setModel(e,t,n={}){const i=vo(await il(e,"model",{method:"PUT",body:{model:t},options:n,fallback:"无法切换 Codex 模型。"}));if(typeof(i==null?void 0:i.model)!="string"||!i.model)throw new Error("Sandbox 返回了无效模型。");return i.model},async listSkills(e,t=!1,n={}){const r=vo(await il(e,`skills${t?"?force_reload=true":""}`,{options:n,fallback:"无法读取 Codex Skills。"}));if(!Array.isArray(r==null?void 0:r.skills))throw new Error("Sandbox 返回了无效 Skill 列表。");return r.skills.flatMap(s=>{const a=Oet(s);return a?[a]:[]})},async listThreads(e,t={},n={}){const i=new URLSearchParams;t.cursor&&i.set("cursor",t.cursor),t.search&&i.set("search",t.search),t.archived&&i.set("archived","true");const r=i.size?`?${i}`:"",s=vo(await il(e,`threads${r}`,{options:n,fallback:"无法读取 Codex Thread 列表。"}));if(!Array.isArray(s==null?void 0:s.threads))throw new Error("Sandbox 返回了无效 Thread 列表。");return{threads:s.threads.flatMap(a=>{const o=_ce(a);return o?[o]:[]}),...typeof s.nextCursor=="string"?{nextCursor:s.nextCursor}:{}}},async newThread(e,t={}){return MO(await il(e,"threads/new",{method:"POST",options:t,fallback:"无法创建新的 Codex Thread。"}))},async resumeThread(e,t,n={}){return MO(await il(e,"threads/resume",{method:"POST",body:{threadId:t},options:n,fallback:"无法恢复 Codex Thread。"}))},async forkThread(e,t={}){return MO(await il(e,"threads/fork",{method:"POST",options:t,fallback:"无法分叉 Codex Thread。"}))},async archiveThread(e,t,n={}){const i=vo(await il(e,"threads/archive",{method:"POST",body:{threadId:t},options:n,fallback:"无法归档 Codex Thread。"}));if((i==null?void 0:i.archived)!==!0)throw new Error("Sandbox 返回了无效归档结果。");return{archived:!0,...i.thread?{snapshot:MO(i)}:{}}},async deleteThread(e,t,n={}){const i=vo(await il(e,"threads/delete",{method:"POST",body:{threadId:t},options:n,fallback:"无法删除 Codex Thread。"}));if((i==null?void 0:i.deleted)!==!0)throw new Error("Sandbox 返回了无效删除结果。");return{deleted:!0,...i.thread?{snapshot:MO(i)}:{}}},async compactThread(e,t={}){await il(e,"threads/compact",{method:"POST",options:t,fallback:"无法压缩 Codex Thread。"})},async getSettings(e,t={}){const n=await fetch(Xn(`${ga}/${encodeURIComponent(e)}/settings`),{method:"GET",headers:br(),signal:Gn(t.signal,Jc)});if(!n.ok)throw await yr(n,"无法读取 Codex 权限与工作空间。");return MV(await n.json())},async updatePermissions(e,t,n={}){const i=await fetch(Xn(`${ga}/${encodeURIComponent(e)}/permissions`),{method:"PUT",headers:br({"Content-Type":"application/json"}),body:JSON.stringify(t),signal:Gn(n.signal,Jc)});if(!i.ok)throw await yr(i,"无法更新 Codex 权限。");const r=await i.json();return B_(r.permissions)},async updateWorkspace(e,t,n={}){const i=await fetch(Xn(`${ga}/${encodeURIComponent(e)}/workspace`),{method:"PUT",headers:br({"Content-Type":"application/json"}),body:JSON.stringify({cwd:t}),signal:Gn(n.signal,Jc)});if(!i.ok)throw await yr(i,"无法更新 Codex 工作空间。");const r=await i.json();if(typeof r.cwd!="string"||!r.cwd)throw new Error("Sandbox 返回了无效工作目录。");return r.cwd},async listDirectories(e,t,n={}){const i=new URLSearchParams({path:t}),r=await fetch(Xn(`${ga}/${encodeURIComponent(e)}/directories?${i}`),{method:"GET",headers:br(),signal:Gn(n.signal,Jc)});if(!r.ok)throw await yr(r,"无法读取 Sandbox 目录。");const s=await r.json();if(typeof s.path!="string"||!Array.isArray(s.directories)||s.directories.some(a=>!a||typeof a.name!="string"||typeof a.path!="string"))throw new Error("Sandbox 返回了无效目录列表。");return{path:s.path,...typeof s.parent=="string"?{parent:s.parent}:{},directories:s.directories}},async resolveApproval(e,t,n,i={}){const r=await fetch(Xn(`${ga}/${encodeURIComponent(e)}/approvals/${encodeURIComponent(t)}`),{method:"POST",headers:br({"Content-Type":"application/json"}),body:JSON.stringify({decision:n}),signal:Gn(i.signal,Jc)});if(!r.ok)throw await yr(r,"无法提交 Codex 审批决定。")},async launchTerminal(e,t={}){return LV(e,"terminal",t)},async launchBrowser(e,t={}){return LV(e,"browser",t)},async uploadFile(e,t,n={}){const i=new FormData;i.set("file",t,t.name);const r=await fetch(Xn(`${ga}/${encodeURIComponent(e)}/files`),{method:"POST",headers:br(),body:i,signal:Gn(n.signal,met)});if(!r.ok)throw await yr(r,"无法上传文件到 Sandbox。");const s=await r.json();if(typeof s.id!="string"||typeof s.path!="string"||typeof s.name!="string"||typeof s.mimeType!="string"||typeof s.sizeBytes!="number")throw new Error("Sandbox 返回了无效上传结果。");return s},async closeSession(e,t={}){if(!e)return;const n=await fetch(Xn(`${ga}/${encodeURIComponent(e)}/disconnect`),{method:"POST",headers:br(),signal:Gn(t.signal,bv)});if(!n.ok&&n.status!==404)throw await yr(n,"无法断开 Codex 智能体连接。")},async deleteSession(e,t={}){if(!e)return;const n=await fetch(Xn(`${ga}/${encodeURIComponent(e)}`),{method:"DELETE",headers:br(),signal:Gn(t.signal,bv)});if(!n.ok&&n.status!==404)throw await yr(n,"无法删除 Codex 智能体。")}};async function LV(e,t,n){const i=await fetch(Xn(`${ga}/${encodeURIComponent(e)}/${t}`),{method:"POST",headers:br(),signal:Gn(n.signal,Jc)});if(!i.ok)throw await yr(i,t==="terminal"?"无法打开 Sandbox Terminal。":"无法打开 Sandbox Browser。");const r=await i.json();return{url:Ace(r.url,"Sandbox 工具"),...typeof r.shellSessionId=="string"?{shellSessionId:r.shellSessionId}:{}}}function Ace(e,t){if(typeof e!="string")throw new Error(`${t} 返回了无效地址。`);if(e.startsWith("/"))return Xn(e);let n;try{n=new URL(e)}catch{throw new Error(`${t} 返回了无效地址。`)}const i=n.protocol==="http:"&&window.location.protocol==="http:";if(n.protocol!=="https:"&&!i)throw new Error(`${t} 返回了不安全的地址。`);return n.toString()}function Lm(e,t,n){const i=e instanceof Error?`${e.name}: ${e.message}`:String(e||"未知错误");return[`${t}失败`,`详细信息:${i}`,n?`请求:${n}`:""].filter(Boolean).join(` -`)}function vet(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M8.4 18.4H7.2a4.2 4.2 0 0 1-.65-8.35A5.7 5.7 0 0 1 17.3 8.2a4.6 4.6 0 0 1-.4 9.2h-3.2"}),c.jsx("path",{d:"m7.8 12.3 2 2-2 2M12.2 16.3h3.2"})]})}function wet(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M18.9 6.25A8.4 8.4 0 1 0 19.6 16"}),c.jsx("path",{d:"M19 6.2c.1 2.1-.65 3.75-2.25 4.95-1.2.9-2.75 1.25-4.2.9"}),c.jsx("circle",{cx:"10.6",cy:"12.8",r:"2.45"}),c.jsx("path",{d:"m5.25 18.6 3.65-3.9M14.8 17.9c1.9-.45 3.55-1.65 4.65-3.35"})]})}function Eet(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M6.2 20c.55-2.15.75-4.1.75-6.7V9.8A5.35 5.35 0 0 1 12.35 4c3.35 0 5.65 2.35 5.65 5.65v4.6c0 2.35.35 4.25 1.15 5.75"}),c.jsx("path",{d:"M8.05 10.2c1.35-.6 2.2-1.65 2.55-3.15.45 1.55 1.35 2.55 2.7 3.05.1-1 .4-1.95.85-2.75.45 1.25 1.2 2.2 2.15 2.75"}),c.jsx("path",{d:"M9.3 12.65h.01M14.9 12.65h.01M10.8 15.55c.8.5 1.65.5 2.45 0"}),c.jsx("path",{d:"M8.45 19.85c.95-.85 1.45-1.95 1.5-3.25M15.1 16.65c.05 1.2.55 2.3 1.55 3.2"})]})}function Ox({kind:e,...t}){return e==="codex"?c.jsx(vet,{...t}):e==="openclaw"?c.jsx(wet,{...t}):c.jsx(Eet,{...t})}const MC=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],ket=24,Tet=3e4,Dm=new Map,cg=new Map,_et=new Set;function yv(e){if(!e){Dm.clear(),cg.clear();return}const t=new Set(e);if(t.size!==0){for(const[n,i]of cg)i.page.runtimes.some(r=>t.has(r.runtimeId))&&cg.delete(n);Dm.clear()}}function Aet(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),c.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function LC(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"M8 3.25v9.5M3.25 8h9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function Net({type:e}){return e==="general"?c.jsx(hf,{}):c.jsx(Ox,{kind:e})}function d3(e){if(!e)return"—";const t=new Date(e);return Number.isNaN(t.getTime())?e.slice(0,10):new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(t).replace(/\//g,"-")}function Cet(e,t=Date.now()){const n=Date.parse(e);if(!Number.isFinite(n)||n-t<6e4)return"即将清空";const i=Math.ceil((n-t)/6e4),r=Math.floor(i/60),s=i%60;return`${r} 小时 ${s} 分钟`}function DV(e){var t;return{id:e.runtimeId,name:e.name,description:((t=e.description)==null?void 0:t.trim())||"暂无描述",createdAt:d3(e.createdAt??""),specificationLabel:"创建人",specification:e.author||"—",isMine:e.isMine,runtime:{runtimeId:e.runtimeId,region:e.region,currentVersion:e.currentVersion,canDelete:e.canDelete}}}function Ret(e){return{id:e.id,name:e.displayName||`${e.toolName} 智能体`,description:Q_(e.status),createdAt:d3(e.createdAt),specificationLabel:"创建人",specification:e.createdBy||"—",sandbox:e}}function Iet(e){var t;return{id:e.id,name:e.draft.name||"未命名 Agent",description:((t=e.draft.description)==null?void 0:t.trim())||"暂无描述",createdAt:d3(new Date(e.updatedAt).toISOString()),specificationLabel:"存储位置",specification:"当前浏览器",draft:e}}async function Pet(e,t,n){const i=`${e}:all:${t}`,r=cg.get(i);if(r&&r.expiresAt>Date.now())return n(r.page.runtimes.map(DV)),r.page.nextToken;r&&cg.delete(i);let s=Dm.get(i);s||(s=IT({scope:e,region:"all",pageSize:ket,nextToken:t}),Dm.set(i,s),s.then(()=>Dm.delete(i),()=>Dm.delete(i)));const a=await s;return cg.set(i,{page:a,expiresAt:Date.now()+Tet}),n(a.runtimes.map(DV)),a.nextToken}function jet({agent:e,cloudProvider:t,onUse:n,onViewDetails:i,connecting:r,connected:s,showOwnership:a,deploymentTask:o,nowMs:l,onViewDeploymentTask:u,onEditDraft:d,onDeleteDraft:f}){var y,b,S,x;const h=(y=e.sandbox)==null?void 0:y.status.toLowerCase(),p=((b=e.sandbox)==null?void 0:b.resourceType)==="snapshot",m=!!(e.runtime||h==="ready"||h==="wakeable"),g=((S=e.sandbox)==null?void 0:S.resourceType)==="snapshot"?e.sandbox.sourceSessionId||e.sandbox.snapshotId:(x=e.sandbox)==null?void 0:x.id;return c.jsxs("article",{className:"my-agent-card",children:[c.jsxs("div",{className:"my-agent-card-content",children:[c.jsxs("div",{className:"my-agent-card-title",children:[c.jsxs("div",{className:"my-agent-card-title-copy",children:[c.jsx("h3",{children:e.name}),e.sandbox?c.jsx("span",{className:"my-agent-session-id",title:g,children:g}):null]}),e.draft?c.jsx("span",{className:"my-agent-draft-badge",children:o?"部署中":"草稿"}):e.sandbox?c.jsx("span",{className:"my-agent-status-label","data-ready":e.sandbox.status.toLowerCase()==="ready"||void 0,"data-wakeable":p||void 0,children:e.description}):e.runtime?c.jsxs("div",{className:"my-agent-card-badges",children:[o?c.jsx("span",{className:"my-agent-deploying-badge",children:"部署中"}):null,c.jsx("span",{className:"my-agent-region-badge",children:ff(e.runtime.region,t)}),a&&e.isMine?c.jsx("span",{className:"runtime-owner-badge",children:"我创建的"}):null]}):null]}),e.sandbox?null:c.jsx("p",{className:"my-agent-description",children:e.description}),c.jsxs("dl",{className:"my-agent-meta",children:[c.jsxs("div",{className:"my-agent-created-at",children:[c.jsx("dt",{children:e.draft?"更新时间":"创建时间"}),c.jsx("dd",{children:e.createdAt})]}),c.jsxs("div",{className:"my-agent-region",children:[c.jsx("dt",{children:e.specificationLabel}),c.jsx("dd",{children:e.specification})]}),e.sandbox?c.jsxs("div",{className:`my-agent-expiry${e.sandbox.resourceType==="session"&&e.sandbox.persistent?"":" is-expiring"}`,children:[c.jsx("dt",{children:"剩余时间"}),c.jsx("dd",{children:e.sandbox.resourceType==="snapshot"?"可唤醒":e.sandbox.persistent?"永不过期":Cet(e.sandbox.expireAt,l)})]}):null]})]}),c.jsx("footer",{className:"my-agent-actions",children:e.draft?c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"my-agent-details","aria-label":o?`查看 ${e.name} 部署进度`:`编辑草稿 ${e.name}`,onClick:()=>o?u==null?void 0:u(o):d==null?void 0:d(e.draft),children:o?"查看进度":"编辑"}),c.jsx("button",{type:"button",className:"my-agent-delete","aria-label":`删除草稿 ${e.name}`,onClick:()=>f==null?void 0:f(e.draft),children:"删除"})]}):c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"my-agent-details",disabled:!m,"aria-label":o?`查看 ${e.name} 部署进度`:`查看 ${e.name} 详情`,onClick:()=>o?u==null?void 0:u(o):i==null?void 0:i(e),children:o?"查看进度":"查看详情"}),c.jsx("button",{type:"button",className:`my-agent-use${s?" is-connected":""}`,disabled:!m||r||s,"aria-busy":r||void 0,"aria-label":s?`${e.name} 已连接`:p?`唤醒 ${e.name}`:`使用 ${e.name}`,onClick:()=>void(n==null?void 0:n(e)),children:r?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"my-agent-use-spinner","aria-hidden":"true"}),c.jsx("span",{children:p?"唤醒中":"连接中"})]}):s?"已连接":p?"唤醒":"使用"})]})})]})}function Met({cloudProvider:e,canCreate:t,runtimeScope:n,onCreateAgent:i,onUseAgent:r,onViewAgentDetails:s,onCreateSandboxAgent:a,onUseSandboxAgent:o,onViewSandboxAgentDetails:l,sandboxRefreshKey:u=0,connectedRuntimeId:d="",hiddenRuntimeIds:f=_et,drafts:h=[],deploymentTasks:p=[],draftDeploymentTaskIds:m={},onViewDeploymentTask:g,onEditDraft:y,onDeleteDraft:b}){const S=O.useRef(null),x=O.useRef(null),v=O.useRef(0),E=O.useRef(0),w=O.useRef(null),[k,_]=O.useState("general"),[C,A]=O.useState(""),[R,j]=O.useState([]),[Q,L]=O.useState(""),[D,N]=O.useState(!0),[M,B]=O.useState(""),[$,I]=O.useState([]),[G,X]=O.useState(!1),[U,Y]=O.useState(""),[ae,fe]=O.useState(""),[ke,K]=O.useState(null),[ie,le]=O.useState(()=>Date.now()),ge=$.some(q=>{var oe;return((oe=q.sandbox)==null?void 0:oe.resourceType)==="session"&&q.sandbox.persistent===!1});O.useEffect(()=>{if(!ge)return;le(Date.now());const q=window.setInterval(()=>le(Date.now()),6e4);return()=>window.clearInterval(q)},[ge]);const Ee=O.useMemo(()=>h.map(Iet),[h]),Ce=O.useMemo(()=>{const q=new Map,oe=new Map;for(const de of p){if(de.status!=="running"||(q.set(de.id,de),!de.runtimeId))continue;const Ie=oe.get(de.runtimeId);(!Ie||de.startedAt>Ie.startedAt)&&oe.set(de.runtimeId,de)}return{byId:q,byRuntimeId:oe}},[p]),_e=O.useCallback(q=>{var de;if(q.draft){const Ie=m[q.draft.id];return Ie?Ce.byId.get(Ie):void 0}const oe=(de=q.runtime)==null?void 0:de.runtimeId;return oe?Ce.byRuntimeId.get(oe):void 0},[Ce,m]),he=O.useCallback((q,oe)=>{const de=++v.current;return N(!0),B(""),Pet(n,q,Ie=>{v.current===de&&j(ce=>oe?Ie:[...ce,...Ie])}).then(Ie=>{v.current===de&&L(Ie)}).catch(Ie=>{v.current===de&&B(Lm(Ie,"加载通用智能体","GET /web/runtimes"))}).finally(()=>{v.current===de&&N(!1)})},[n]);O.useEffect(()=>{if(k==="general")return j([]),L(""),he("",!0),()=>{v.current+=1}},[k,he]);const te=O.useCallback(async q=>{var Ie,ce;(Ie=w.current)==null||Ie.abort();const oe=new AbortController;w.current=oe;const de=++E.current;X(!0),Y(""),I([]);try{const Me=q==="codex"?await An.listSessions({signal:oe.signal}):await An.listAgentSessions(q,{signal:oe.signal});if(E.current!==de)return;I(Me.map(Ret))}catch(Me){if((Me==null?void 0:Me.name)==="AbortError"||E.current!==de)return;Y(Lm(Me,`加载 ${((ce=MC.find(Ye=>Ye.id===q))==null?void 0:ce.label)??q}`,`GET /web/${q==="codex"?"sandbox":q}/sessions`))}finally{w.current===oe&&(w.current=null),E.current===de&&X(!1)}},[]);function Te(q){var oe;q!==k&&(q==="general"?(v.current+=1,j([]),L(""),B(""),N(!0)):((oe=w.current)==null||oe.abort(),w.current=null,E.current+=1,I([]),Y(""),X(!0)),_(q))}O.useEffect(()=>{var q;if(k==="general"){(q=w.current)==null||q.abort(),w.current=null,E.current+=1;return}return te(k),()=>{var oe;(oe=w.current)==null||oe.abort(),w.current=null,E.current+=1}},[k,te,u]),O.useEffect(()=>{const q=x.current,oe=S.current;if(!q||!oe||k!=="general"||!Q||D)return;const de=new IntersectionObserver(([Ie])=>{Ie.isIntersecting&&he(Q,!1)},{root:oe,rootMargin:"240px 0px",threshold:.01});return de.observe(q),()=>de.disconnect()},[k,he,D,Q]);const me=O.useCallback(async q=>{if(!ae){fe(q.id);try{await new Promise(oe=>requestAnimationFrame(()=>oe())),q.sandbox?await o(q.sandbox):await r(q)}finally{fe("")}}},[ae,r,o]),Be=O.useMemo(()=>{const q=C.trim().toLocaleLowerCase(),oe=k==="general"?[...Ee,...R]:$,de=q?oe.filter(Me=>Me.name.toLocaleLowerCase().includes(q)):oe;if(k!=="general")return de;const Ie=f.size>0?de.filter(Me=>!Me.runtime||!f.has(Me.runtime.runtimeId)):de,ce=Ie.findIndex(Me=>{var Ye;return((Ye=Me.runtime)==null?void 0:Ye.runtimeId)===d});return ce<=0?Ie:[Ie[ce],...Ie.slice(0,ce),...Ie.slice(ce+1)]},[k,d,Ee,f,C,R,$]),je=MC.find(q=>q.id===k),Ue=(je==null?void 0:je.label)??"智能体",st=k==="general"?D&&R.length===0&&Ee.length===0:G&&$.length===0,ct=!st&&Be.length===0,Tt=t?k==="general"?()=>i(Ui(e)):()=>a(k):void 0,at=t?void 0:"当前账号没有创建智能体权限";return c.jsxs("div",{className:"my-agents-page",children:[c.jsxs("header",{className:"my-agents-header",children:[c.jsxs("div",{className:"my-agents-heading",children:[c.jsx("div",{className:"my-agents-title-row",children:c.jsx("h1",{children:"智能体"})}),c.jsx("p",{children:n==="all"?"在此处浏览所有智能体":"在此处浏览您的所有智能体"})]}),c.jsxs("label",{className:"my-agent-search",children:[c.jsx(Aet,{}),c.jsx("input",{type:"search","aria-label":"搜索智能体",value:C,onChange:q=>A(q.target.value),placeholder:"搜索所有类型智能体名称"})]})]}),c.jsxs("div",{className:"my-agent-type-bar",children:[c.jsx("nav",{className:"my-agent-type-pills","aria-label":"智能体类型",children:MC.map(q=>c.jsx("button",{type:"button",className:`my-agent-type-pill${k===q.id?" is-active":""}`,"aria-pressed":k===q.id,onClick:()=>Te(q.id),children:q.label},q.id))}),c.jsxs("button",{type:"button",className:"my-agent-create-primary",disabled:!Tt,title:at,onClick:()=>Tt==null?void 0:Tt(),children:[c.jsx(LC,{}),c.jsx("span",{children:"创建智能体"})]})]}),c.jsxs("section",{className:"my-agent-results",ref:S,"aria-label":`${Ue}列表`,children:[st?c.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),c.jsx("span",{children:"正在加载智能体"})]}):(k==="general"?M:U)&&Be.length===0?c.jsxs("div",{className:"my-agent-empty",role:"alert",children:[c.jsx("p",{children:k==="general"?M:U}),c.jsx("button",{type:"button",onClick:()=>{k==="general"?he("",!0):te(k)},children:"重新加载"})]}):ct?C.trim()?c.jsx("div",{className:"my-agent-empty-message",children:c.jsxs(li,{fill:"none",children:[c.jsx(li.Icon,{children:c.jsx(Mxe,{})}),c.jsx(li.Title,{children:"没有匹配的智能体"}),c.jsx(li.Description,{children:"请尝试搜索其他名称"})]})}):k!=="general"?c.jsx("div",{className:"my-agent-empty-message",children:c.jsxs(li,{fill:"none",children:[c.jsx(li.Icon,{children:c.jsx(Net,{type:k})}),c.jsxs(li.Title,{className:"my-agent-sandbox-empty-title",children:["暂无 ",Ue]}),t?c.jsx(li.ActionRow,{children:c.jsxs(Gm,{color:"primary",size:"lg",onClick:()=>a(k),children:[c.jsx(LC,{}),"创建智能体"]})}):null]})}):c.jsx("div",{className:"my-agent-empty-message",children:c.jsxs(li,{fill:"none",children:[c.jsx(li.Icon,{children:c.jsx(hf,{})}),c.jsx(li.Title,{children:"暂无通用智能体"}),c.jsx(li.Description,{children:"创建一个通用智能体,开始构建和对话"}),t?c.jsx(li.ActionRow,{children:c.jsxs(Gm,{color:"primary",size:"lg",onClick:()=>i(Ui(e)),children:[c.jsx(LC,{}),"创建智能体"]})}):null]})}):c.jsxs(c.Fragment,{children:[k==="general"&&M?c.jsxs("div",{className:"my-agent-inline-error",role:"alert",children:[c.jsx("span",{children:M}),c.jsx("button",{type:"button",onClick:()=>void he("",!0),children:"重新加载"})]}):null,c.jsx("div",{className:"my-agent-grid",children:Be.map(q=>{var oe;return c.jsx(jet,{agent:q,cloudProvider:e,deploymentTask:_e(q),nowMs:ie,onViewDeploymentTask:g,onUse:me,onViewDetails:de=>{de.sandbox?l(de.sandbox):s(de)},connecting:q.id===ae,connected:((oe=q.runtime)==null?void 0:oe.runtimeId)===d,showOwnership:n==="all",onEditDraft:y,onDeleteDraft:K},q.id)})})]}),k==="general"&&!M&&!st&&(Be.length>0||!!Q)&&c.jsx("div",{className:"my-agent-load-more",ref:x,"aria-live":"polite",children:D?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),c.jsx("span",{children:"正在加载更多智能体"})]}):Q?c.jsx("span",{children:"继续下滑加载更多"}):c.jsx("span",{children:"已加载全部智能体"})})]}),ke?c.jsx($_,{title:"删除草稿?",description:`删除后将无法恢复“${ke.draft.name||"未命名 Agent"}”。`,confirmLabel:"删除草稿",variant:"danger",onCancel:()=>K(null),onConfirm:()=>{b==null||b(ke),K(null)}}):null]})}function Let(e){return e==="127.0.0.1"}const Det={id:"coding-agents",kind:"coding-agent",category:"development",icon:"coding-agents",name:"配置 Coding Agents",badge:"本地",badgeTone:"success",description:"将 VeADK 和 AgentKit 内置 Skills 全局配置到 Trae、Claude Code 或 Codex。"},$et={id:"feishu",kind:"feishu",category:"channels",icon:"feishu",name:"飞书机器人",badge:"Beta",description:"创建飞书机器人,并将消息直接接入 AgentKit Runtime。"},Qet="https://api.github.com",Bet=/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/,$V=/^[A-Za-z0-9][A-Za-z0-9._/-]{0,199}$/,Uet=/^[A-Za-z0-9._/-]+$/;function zet(e,t,n){return e===401||e===403?"GitHub Token 无效或没有仓库写入权限":e===404?"仓库、分支或文件不存在,或 Token 无权访问":e===422?"GitHub 拒绝了提交,请检查分支和文件状态":String((t==null?void 0:t.message)||"").split(n).join("***").trim().slice(0,240)||`GitHub 请求失败(HTTP ${e})`}async function Yf(e,t){const n={Accept:"application/vnd.github+json",Authorization:`Bearer ${t.token}`,"X-GitHub-Api-Version":"2022-11-28"};t.body&&(n["Content-Type"]="application/json");let i;try{i=await fetch(`${Qet}${e}`,{method:t.method||"GET",headers:n,body:t.body?JSON.stringify(t.body):void 0,signal:t.signal})}catch(s){throw t.signal.aborted?s:new Error("连接 GitHub 失败,请检查网络后重试")}const r=await i.json().catch(()=>null);if(!t.expected.includes(i.status))throw new Error(zet(i.status,r,t.token));return{status:i.status,payload:r}}function DC(e){return e.split("/").map(encodeURIComponent).join("/")}function Fet(e){const t=new TextEncoder().encode(e);let n="";const i=32768;for(let r=0;r({...h,path:f3(h.path,"")})),s=AbortSignal.any([t,AbortSignal.timeout(6e4)]),a=`/repos/${n}`;await Yf(`${a}`,{token:e.token,expected:[200],signal:s});const l=(f=(await Yf(`${a}/git/ref/heads/${DC(i)}`,{token:e.token,expected:[200],signal:s})).payload.object)==null?void 0:f.sha;if(!l)throw new Error("目标分支缺少有效 Git SHA");const u=Vet(e.branchPrefix);await Yf(`${a}/git/refs`,{token:e.token,expected:[201],signal:s,method:"POST",body:{ref:`refs/heads/${u}`,sha:l}});let d=!0;try{for(const p of r){const m=DC(p.path),g=await Yf(`${a}/contents/${m}?ref=${encodeURIComponent(i)}`,{token:e.token,expected:[200,404],signal:s});if(p.mustBeNew&&g.status===200)throw new Error(`目标仓库中已存在 ${p.path},未覆盖现有文件`);if(g.status===200&&!g.payload.sha)throw new Error(`目标路径 ${p.path} 不是可更新的文件`);await Yf(`${a}/contents/${m}`,{token:e.token,expected:[200,201],signal:s,method:"PUT",body:{message:p.commitMessage,content:Fet(p.content),branch:u,...g.payload.sha?{sha:g.payload.sha}:{}}})}const h=await Yf(`${a}/pulls`,{token:e.token,expected:[201],signal:s,method:"POST",body:{title:e.title,head:u,base:i,body:e.description}});if(!h.payload.number||!h.payload.html_url)throw new Error("GitHub 未返回有效的 Pull Request");return d=!1,{number:h.payload.number,url:h.payload.html_url,branch:u}}finally{d&&await Yf(`${a}/git/refs/heads/${DC(u)}`,{token:e.token,expected:[204],signal:AbortSignal.timeout(15e3),method:"DELETE"}).catch(()=>{})}}const p3={name:"repository",label:"GitHub Repo",placeholder:"owner/repository",help:"支持 owner/repository 或完整 github.com URL",required:!0},m3={name:"baseBranch",label:"目标分支",placeholder:"main",help:"留空时使用 main,PR 将以此分支为 base",required:!1},Cce={name:"runtimeName",label:"Runtime 名称",placeholder:"support-agent",help:"用于 AgentKit 发布配置",required:!0},Rce={name:"runtimeId",label:"Runtime ID",placeholder:"rt-xxxxxxxx",help:"持续更新的目标 AgentKit Runtime",required:!0};function g3(e={}){return{repository:"",baseBranch:"main",projectPath:".",runtimeName:"",runtimeId:"",sandboxToolId:"",modelName:"",modelBaseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3",region:"cn-beijing",token:"",...e}}function O3(e){return{repository:e.repository.trim(),baseBranch:e.baseBranch.trim()||"main",region:e.region,token:e.token.trim()}}const Xet=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/,qet=/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/;function Het(e){if(!Xet.test(e.sandboxToolId))throw new Error("Sandbox Tool ID 格式不正确");if(!qet.test(e.modelName))throw new Error("模型名称格式不正确");let t;try{t=new URL(e.modelBaseUrl)}catch{throw new Error("模型 API 地址必须是安全的 HTTPS URL")}if(t.protocol!=="https:"||!t.hostname||t.username||t.password||t.search||t.hash)throw new Error("模型 API 地址必须是安全的 HTTPS URL")}function Yet(e){Het(e);const t=String.raw`name: PR Automated Review +`),h=(t==null?void 0:t.pendingMessage)||"正在等待构建日志…";if(O.useEffect(()=>{t&&s(i)},[e.id,t==null?void 0:t.status,i]),O.useEffect(()=>{if(!r||!l)return;const S=n.current;S&&(S.scrollTop=S.scrollHeight)},[r,l,f]),!t||!t.text&&t.status!=="error"&&!t.pendingMessage)return null;const p=aet(t.updatedAt),m=t.status==="complete"?"已同步":t.status==="error"?"读取失败":"同步中",g=t.omittedEarly?"已省略早期日志":t.snapshotTruncated?"仅显示最近的构建日志":t.truncated?"已省略部分日志":"",y=[m,t.lineCount?`${t.lineCount} 行`:"",g,p].filter(Boolean).join(" · ");async function b(){try{await navigator.clipboard.writeText(u),o(!0),window.setTimeout(()=>o(!1),1500)}catch{o(!1)}}return c.jsxs("section",{className:`aw-deploy-log is-${t.status}${r?"":" is-collapsed"}`,"aria-label":"构建日志",children:[c.jsxs("header",{children:[c.jsxs("div",{children:[c.jsx("strong",{children:"构建日志"}),c.jsx("span",{children:y})]}),c.jsxs("div",{className:"aw-deploy-log-actions",children:[l&&c.jsx("button",{type:"button",onClick:()=>s(S=>!S),children:r?"收起":"展开"}),l&&c.jsxs("button",{type:"button",onClick:()=>void b(),"aria-label":a?"已复制构建日志":"复制构建日志",title:a?"已复制":"复制构建日志",children:[a?c.jsx(kc,{"aria-hidden":!0}):c.jsx(wT,{"aria-hidden":!0}),c.jsx("span",{children:a?"已复制":"复制"})]})]})]}),r&&(l?c.jsx("pre",{ref:n,children:f}):c.jsx("div",{className:"aw-deploy-log-empty",children:h}))]})}function cet({task:e,onReturnToEdit:t}){const n=_ce(e),i=Ace(e),r=e.status==="success"?100:Math.max(6,Math.min(100,e.pct??6)),s=e.status==="running"?"正在部署":e.status==="success"?"部署完成":e.status==="error"?"部署失败":"部署已取消";return c.jsxs("section",{className:`aw-deploy-progress-card is-${e.status}`,"aria-live":"polite",children:[c.jsxs("div",{className:"aw-deploy-progress-head",children:[c.jsxs("div",{children:[c.jsx("span",{className:"aw-deploy-progress-icon","aria-hidden":!0,children:e.status==="running"?c.jsx(qn,{className:"spin"}):e.status==="success"?c.jsx(qxe,{}):e.status==="error"?c.jsx(dZ,{}):c.jsx(RB,{})}),c.jsxs("div",{children:[c.jsx("h3",{children:s}),c.jsx("p",{children:e.runtimeName})]})]}),c.jsx("strong",{children:e.status==="running"?`${Math.round(r)}%`:e.label})]}),c.jsx("div",{className:"aw-deploy-progress-track",role:"progressbar","aria-label":"部署进度","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(r),children:c.jsx("span",{style:{width:`${r}%`}})}),c.jsx("ol",{className:"aw-deploy-steps",children:n.map((a,o)=>{const l=e.status==="success"||onew Set),[It,pe]=O.useState(()=>new Set),[Qe,yt]=O.useState(!1),[mn,wn]=O.useState(""),[Jt,ui]=O.useState(null),[Fn,xe]=O.useState([]),[Ge,Nt]=O.useState([]),[Kt,sn]=O.useState(!1),[Vn,xi]=O.useState(""),[di,Hn]=O.useState(""),[En,Zn]=O.useState(0),[Si,Zt]=O.useState([]),[Yn,mr]=O.useState(!1),[er,gn]=O.useState(""),[Li,kn]=O.useState(0),[fn,Di]=O.useState(null),[Ft,vi]=O.useState(1),[Kn,$i]=O.useState(!1),[Vt,Ai]=O.useState(""),[ms,Fs]=O.useState(0),[Kr,gr]=O.useState(!1),[Ur,or]=O.useState(()=>new Set),[Qi,Jr]=O.useState(!1),[zr,tr]=O.useState(""),[Fr,Vs]=O.useState(""),[Zu,po]=O.useState(()=>new Set),mo=O.useRef(!1),Ni=O.useRef(""),Pc=O.useRef(null),He=O.useRef(0),gs=O.useRef(0),La=O.useRef(0),[Or,Xs]=O.useState(UJe),[Ku,jl]=O.useState("");O.useEffect(()=>{e.length!==0&&Xs(V=>V.map((ue,Se)=>Se===0&&ue.agentIds.length===0?{...ue,agentIds:e.slice(0,2).map(Le=>Le.id)}:ue))},[e]);const Nr=O.useMemo(()=>{const V=new Map;for(const ue of e)ue.runtimeId&&V.set(ue.runtimeId,ue);return V},[e]),go=O.useMemo(()=>{var ue;const V=new Map;for(const Se of t){const Le=(ue=Se.deploymentTarget)==null?void 0:ue.runtimeId;if(!Le||!Nr.has(Le))continue;const et=V.get(Le);(!et||Se.updatedAt>et.updatedAt)&&V.set(Le,Se)}return V},[Nr,t]),As=O.useMemo(()=>{const V=new Map;for(const ue of f){if(!ue.runtimeId)continue;const Se=V.get(ue.runtimeId);(!Se||ue.startedAt>Se.startedAt)&&V.set(ue.runtimeId,ue)}return V},[f]),Yo=O.useMemo(()=>{const V=Me.trim().toLowerCase();return V?e.filter(ue=>{const Se=ue.runtimeId?go.get(ue.runtimeId):void 0,Le=ue.runtimeId?As.get(ue.runtimeId):void 0;return[ue.label,ue.app,ue.host??"",(Se==null?void 0:Se.draft.name)??"",(Se==null?void 0:Se.draft.description)??"",(Le==null?void 0:Le.runtimeName)??""].join(" ").toLowerCase().includes(V)}):e},[e,As,Me,go]),es=O.useMemo(()=>{const V=Me.trim().toLowerCase();return t.filter(ue=>{var Le;const Se=(Le=ue.deploymentTarget)==null?void 0:Le.runtimeId;return Se&&Nr.has(Se)?!1:V?`${ue.draft.name} ${ue.draft.description}`.toLowerCase().includes(V):!0})},[Nr,t,Me]),Ml=O.useMemo(()=>t.filter(V=>{var Se;const ue=(Se=V.deploymentTarget)==null?void 0:Se.runtimeId;return!ue||!Nr.has(ue)}).length,[Nr,t]),Go=O.useMemo(()=>{const V=Me.trim().toLowerCase();return V?Or.filter(ue=>ue.name.toLowerCase().includes(V)):Or},[Or,Me]),re=e.find(V=>V.id===M),ne=t.find(V=>V.id===$),Pe=h?f.find(V=>V.id===h):void 0,Ve=re!=null&&re.runtimeId?go.get(re.runtimeId):void 0,pt=b?oe:M&&r===M?i:null,Fe=(pt==null?void 0:pt.appName)||(re==null?void 0:re.runtimeApp)||(re==null?void 0:re.app)||"",Pt=l&&(re!=null&&re.runtimeId)?_V:_V.filter(V=>V.id!=="usage"),In=JSON.stringify([(re==null?void 0:re.runtimeId)??"",(re==null?void 0:re.region)??"cn-beijing",Fe,Ft]),At=(fn==null?void 0:fn.requestKey)===In?fn.value:null,Dn=`${(re==null?void 0:re.region)??"cn-beijing"}:${(re==null?void 0:re.runtimeId)??""}`,Z=(Ce==null?void 0:Ce.requestKey)===Dn?Ce.value:"",ve=(U==null?void 0:U.requestKey)===Dn?U:null,Ze=!!((G0=ve==null?void 0:ve.apiApps)!=null&&G0.length),Ot=!!(ve!=null&&ve.a2a),Ci=((Ll=ve==null?void 0:ve.apiApps)==null?void 0:Ll[0])??Fe,Jn=(G==null?void 0:G.endpoint)??"",Bt=XJe(((Tn=ve==null?void 0:ve.a2a)==null?void 0:Tn.endpoint)??"",Jn),$t=JSON.stringify([(re==null?void 0:re.runtimeId)??"",(re==null?void 0:re.region)??"",Fe]),an=(Ue==null?void 0:Ue.requestKey)===$t?Ue.value:null;O.useEffect(()=>{const V=He.current+1;He.current=V,st(null),q("");const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"";if(!o||!ue||!Se){Tt(!1);return}const Le=new AbortController;return Tt(!0),OK({runtimeId:ue,region:Se,appName:Fe,signal:Le.signal}).then(et=>{var jt,hi;if(V===He.current){if(et.runtime.runtimeId!==ue||et.runtime.region!==Se||Fe&&((jt=et.agent)==null?void 0:jt.appName)!==Fe||et.canUpdate&&!((hi=et.agent)!=null&&hi.appName)){q("Runtime 更新能力响应与当前选择不匹配。");return}st({requestKey:$t,value:et})}}).catch(et=>{V!==He.current||Le.signal.aborted||q(et instanceof Error?et.message:"检查 Runtime 更新能力失败。")}).finally(()=>{V===He.current&&!Le.signal.aborted&&Tt(!1)}),()=>Le.abort()},[o,re==null?void 0:re.region,re==null?void 0:re.runtimeId,Fe,$t]);const $n=O.useMemo(()=>{const V=new Map(e.map((Se,Le)=>[Se.id,Le])),ue=new Map(n.map((Se,Le)=>[Se,Le]));return[...Yo].sort((Se,Le)=>{const et=Se.runtimeId?As.get(Se.runtimeId):void 0,jt=Le.runtimeId?As.get(Le.runtimeId):void 0,hi=(et==null?void 0:et.status)==="running"?et.startedAt:0,Qf=(jt==null?void 0:jt.status)==="running"?jt.startedAt:0;if(hi!==Qf)return Qf-hi;const Ut=ue.get(Se.id),Ko=ue.get(Le.id);return Ut!=null&&Ko!=null?Ut-Ko:Ut!=null?-1:Ko!=null?1:(V.get(Se.id)??0)-(V.get(Le.id)??0)})},[n,e,Yo,As]),Ns=(re==null?void 0:re.label)||(pt==null?void 0:pt.name)||(ne==null?void 0:ne.draft.name)||(Pe==null?void 0:Pe.agentName)||((W0=Pe==null?void 0:Pe.agentDraft)==null?void 0:W0.name)||"未选择智能体",it=Or.find(V=>V.id===Ku),ua=$n.filter(V=>V.canDelete===!0),nr=$n.filter(V=>pn.has(V.id)&&V.canDelete===!0),Vr=es.filter(V=>It.has(V.id)),Qn=ua.length+es.length,qs=nr.length+Vr.length,ts=O.useMemo(()=>(Pe==null?void 0:Pe.agentDraft)??(ne==null?void 0:ne.draft)??(Ve==null?void 0:Ve.draft)??GJe(pt,Fe||(re==null?void 0:re.label)||"agent"),[pt,Fe,re==null?void 0:re.label,Ve==null?void 0:Ve.draft,ne==null?void 0:ne.draft,Pe==null?void 0:Pe.agentDraft]),Wo=ne?a?"":"当前账号没有新建 Agent 的权限。":o?re!=null&&re.runtimeId?re.region?ct?"正在检查 Runtime 更新能力…":at||(an?an.canUpdate?(Z0=an.agent)!=null&&Z0.appName?"":"Runtime 更新能力响应缺少智能体信息。":an.reason||"当前 Runtime 不支持原地更新。":"尚未完成 Runtime 更新能力检查。"):"Runtime 缺少地域信息,无法更新。":"仅支持更新已部署的云端智能体。":"当前账号没有管理 Agent 的权限。",X0="aw-update-disabled-reason",jc=an!=null&&an.agent?{runtimeId:an.runtime.runtimeId,name:an.runtime.name,region:an.runtime.region,appName:an.agent.appName,currentVersion:an.runtime.currentVersion}:Ve==null?void 0:Ve.deploymentTarget,E1=O.useMemo(()=>{if(pt)return pt.tools;const V=(ts.builtinTools??[]).map(ue=>{var Se;return((Se=hp.find(Le=>Le.id===ue))==null?void 0:Se.label)??ue});return Array.from(new Set([...ts.tools,...V,...(ts.customTools??[]).map(ue=>ue.name),...(ts.mcpTools??[]).map(ue=>ue.name)].filter(Boolean)))},[ts,pt]),Mc=O.useMemo(()=>pt?pt.skillsPreviewSupported?pt.skills.map(V=>V.name):null:Array.from(new Set([...(ts.selectedSkills??[]).map(V=>V.name),...ts.skills].filter(Boolean))),[ts,pt]),fi=O.useMemo(()=>{if(Pe)return Pe;if(ne)return f.filter(V=>{var ue,Se;return((ue=V.agentDraft)==null?void 0:ue.name)===ne.draft.name||V.agentName===ne.draft.name||!!((Se=ne.deploymentTarget)!=null&&Se.runtimeId)&&V.runtimeId===ne.deploymentTarget.runtimeId}).sort((V,ue)=>ue.startedAt-V.startedAt)[0];if(re)return f.filter(V=>!!re.runtimeId&&V.runtimeId===re.runtimeId||V.agentName===re.label).sort((V,ue)=>ue.startedAt-V.startedAt)[0]},[f,re,ne,Pe]),Pn=!!(h&&fi&&fi.id===h),cA=!!(fi&&(fi.status!=="success"||Pn)),k1=(fi==null?void 0:fi.status)==="running",T1=fi!=null&&fi.draftId?t.find(V=>V.id===fi.draftId)??(fi.agentDraft?{id:fi.draftId,draft:fi.agentDraft,updatedAt:fi.startedAt}:void 0):void 0,_1=O.useMemo(()=>net(ts),[ts]),$f=(re==null?void 0:re.currentVersion)??(G==null?void 0:G.currentVersion)??null,xp=$f??(Pe==null?void 0:Pe.startedAt)??"unknown",uA=pt?`runtime:${(re==null?void 0:re.runtimeId)??pt.name}:v${xp}:${_1}`:`draft:${(Pe==null?void 0:Pe.id)??(ne==null?void 0:ne.id)??(re==null?void 0:re.id)??Ns}:${_1}`;O.useEffect(()=>{D==="usage"&&!l&&N("basic")},[l,D]),O.useEffect(()=>{if(!h)return;const V=f.find(Se=>Se.id===h),ue=V!=null&&V.runtimeId?Nr.get(V.runtimeId):void 0;if(ue){I(""),B(ue.id),N("basic");return}B(""),I(""),N("basic")},[Nr,f,h]),O.useEffect(()=>{if(!p){Ni.current="";return}const V=`${p}:${m}:${g}:${l}`;Ni.current!==V&&e.some(ue=>ue.id===p)&&(Ni.current=V,I(""),B(p),N(m==="usage"&&!l?"basic":m),m==="evaluations"&&(Gt(g),Dt("")))},[e,l,p,m,g]),O.useEffect(()=>{for(const V of $n.slice(0,8)){if(!V.runtimeId)continue;const ue=V.region??"cn-beijing";yK(V.runtimeId,ue),nK(V.runtimeId,ue,V.runtimeApp??""),AE(V.runtimeId,ue,V.runtimeApp??"").then(Se=>{const Le=Se.appName||V.app;Le&&FI({runtimeId:V.runtimeId??"",region:ue,appName:Le,pageSize:100})}).catch(()=>{})}},[$n]),O.useEffect(()=>{!(re!=null&&re.runtimeId)||!Fe||FI({runtimeId:re.runtimeId,region:re.region??"cn-beijing",appName:Fe,pageSize:100})},[Fe,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{let V=!1;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing",Le=(re==null?void 0:re.runtimeApp)??"",et=ue?tK(ue,Se,Le):null;if(de(et),ce(!!et||!b||!ue),!(!b||!ue))return AE(ue,Se,Le,{force:!0}).then(jt=>{V||de(jt)}).catch(()=>{!V&&!et&&de(null)}).finally(()=>{V||ce(!0)}),()=>{V=!0}},[b,re==null?void 0:re.currentVersion,re==null?void 0:re.region,re==null?void 0:re.runtimeApp,re==null?void 0:re.runtimeId]),O.useEffect(()=>{let V=!1;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing";if(Zt([]),gn(""),D!=="optimizations"||!ue){mr(!1);return}if(b&&!Fe){mr(!Ie);return}return mr(!0),BZ({runtimeId:ue,region:Se,appName:Fe}).then(Le=>{V||Zt(Le.groups)}).catch(Le=>{V||gn(Le instanceof Error?Le.message:String(Le))}).finally(()=>{V||mr(!1)}),()=>{V=!0}},[Ie,b,Li,D,Fe,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{vi(1)},[re==null?void 0:re.runtimeId,Fe]),O.useEffect(()=>{const V=La.current+1;La.current=V;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing",Le=Fe;if(Ai(""),D!=="usage"||!ue){$i(!1);return}if(!Le){$i(b&&!Ie);return}const et=new AbortController;return $i(!0),hK({runtimeId:ue,region:Se,appName:Le,page:Ft,pageSize:zJe,signal:et.signal}).then(jt=>{if(V===La.current){if(jt.runtimeId!==ue||jt.appName!==Le||jt.page!==Ft){Ai("用量响应与当前 Agent 不匹配,请重试。");return}Di({requestKey:In,value:jt})}}).catch(jt=>{V!==La.current||et.signal.aborted||Ai(jt instanceof Error?jt.message:"加载 Agent 用量失败。")}).finally(()=>{V===La.current&&$i(!1)}),()=>{et.abort()}},[Ft,ms,In,Ie,b,D,Fe,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{gs.current+=1,_e(null),te(!1),me(!1),je(""),Ee("api-server")},[Dn,D]);function Ju(){gs.current+=1,_e(null),te(!1),me(!1),je("")}function Sp(V){V!==ge&&(Ju(),Ee(V))}async function A1(){if(he){Ju();return}const V=(re==null?void 0:re.runtimeId)??"",ue=(re==null?void 0:re.region)??"cn-beijing";if(!V)return;const Se=gs.current+1;gs.current=Se,me(!0),je("");try{const Le=await mK(V,ue);if(Se!==gs.current)return;_e({requestKey:Dn,value:Le}),te(!0)}catch(Le){if(Se!==gs.current)return;_e(null),te(!1),je(Le instanceof Error?Le.message:"读取 Runtime API Key 失败。")}finally{Se===gs.current&&me(!1)}}O.useEffect(()=>{let V=!1;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing",Le=ue?bK(ue,Se):null;if(X(Le),!!ue)return PD(ue,Se,{force:!0}).then(et=>{V||X(et)}).catch(()=>{!V&&!Le&&X(null)}),()=>{V=!0}},[re==null?void 0:re.currentVersion,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{let V=!1;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing",Le=`${Se}:${ue}`;if(K(""),D!=="integrations"||!ue){fe(!1),ue||Y(null);return}fe(!0);const et=ID(ue,Se,{retryProbe:!0}).catch(jt=>{if(jt instanceof na&&jt.unsupported)return null;throw jt});return Promise.all([et,pK(ue,Se,{retryProbe:!0})]).then(([jt,hi])=>{V||Y({requestKey:Le,apiApps:jt,a2a:hi})}).catch(jt=>{V||(Y(null),K(jt instanceof Error?jt.message:"探测集成方式失败。"))}).finally(()=>{V||fe(!1)}),()=>{V=!0}},[ie,D,re==null?void 0:re.currentVersion,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{let V=!1;const ue=(re==null?void 0:re.runtimeId)??"",Se=(re==null?void 0:re.region)??"cn-beijing",Le=ue&&Fe?UZ({runtimeId:ue,region:Se,appName:Fe,pageSize:100}):null;if(xe(Le?RV(Le):[]),Nt((Le==null?void 0:Le.sets)??[]),xi(""),Hn((Le==null?void 0:Le.unsupportedMessage)??""),D!=="evaluations"||!ue){sn(!1);return}if(b&&!Fe){sn(!Ie);return}return sn(!Le),CT({runtimeId:ue,region:Se,appName:Fe,pageSize:100},{force:!0}).then(et=>{V||(Nt(et.sets),xe(RV(et)),Hn(et.unsupportedMessage??""))}).catch(et=>{V||(xi(et instanceof Error?et.message:String(et)),Hn(""))}).finally(()=>{V||sn(!1)}),()=>{V=!0}},[Ie,b,En,D,Fe,pt==null?void 0:pt.appName,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),O.useEffect(()=>{const V=new Set(Fn.map(ue=>ue.id));or(ue=>{const Se=new Set([...ue].filter(Le=>V.has(Le)));return Se.size===ue.size?ue:Se}),po(ue=>{const Se=new Set([...ue].filter(Le=>V.has(Le)));return Se.size===ue.size?ue:Se}),Fr&&!V.has(Fr)&&Vs("")},[Fn,Fr]),O.useEffect(()=>{gr(!1),or(new Set),po(new Set),tr(""),Vs("")},[re==null?void 0:re.runtimeId]),O.useEffect(()=>{const V=new Set($n.filter(ue=>ue.canDelete===!0).map(ue=>ue.id));bn(ue=>{const Se=new Set([...ue].filter(Le=>V.has(Le)));return Se.size===ue.size?ue:Se})},[$n]),O.useEffect(()=>{const V=new Set(es.map(ue=>ue.id));pe(ue=>{const Se=new Set([...ue].filter(Le=>V.has(Le)));return Se.size===ue.size?ue:Se})},[es]);const Lc=O.useMemo(()=>!y||!(re!=null&&re.runtimeId)||y.runtimeId!==re.runtimeId||Fe&&y.agentName&&y.agentName!==Fe?null:{...y,tag:y.kind==="good"?"Good case":"Bad case"},[y,re==null?void 0:re.runtimeId,Fe]),vp=O.useMemo(()=>re!=null&&re.runtimeId?Lc?[Lc,...Fn.filter(V=>V.id!==Lc.id&&(!V.messageId||V.messageId!==Lc.messageId))]:Fn:BJe,[Fn,Lc,re==null?void 0:re.runtimeId]),Zo=vp.filter(V=>{if(V.kind!==dt||(V.source==="auto"?"auto":"user")!==vt)return!1;const Se=Ct.trim().toLowerCase();return Se?[V.input,V.output,V.referenceOutput,V.comment,V.tag??"",V.sessionId,V.messageId,V.userId,V.evaluationSetName].join(" ").toLowerCase().includes(Se):!0}),q0=Zo.filter(V=>Ur.has(V.id)),H0=!!(re!=null&&re.runtimeId),dA=V=>{Gt(V),Dt(""),tr("");const ue=vp.find(Se=>Se.kind===V);Vs((ue==null?void 0:ue.id)??""),window.setTimeout(()=>{var Se;(Se=Pc.current)==null||Se.scrollIntoView({behavior:"smooth",block:"start"})},0)},ed=V=>{tr(""),or(ue=>{const Se=new Set(ue);return Se.has(V.id)?Se.delete(V.id):Se.add(V.id),Se})},N1=()=>{tr(""),or(new Set(Zo.map(V=>V.id)))},td=()=>{tr(""),or(new Set),gr(!1)},wp=V=>{po(ue=>{const Se=new Set(ue);return Se.has(V)?Se.delete(V):Se.add(V),Se})},fA=V=>{Vs(V.id),tr(""),!(!V.sessionId||!V.messageId)&&(_==null||_(V))},Da=async V=>{if(!(re!=null&&re.runtimeId)||!Fe||Qi||V.length===0)return;const ue=V.length===1?"确定删除这条反馈案例?原始聊天记录不会被删除。":`确定删除选中的 ${V.length} 条反馈案例?原始聊天记录不会被删除。`;if(!window.confirm(ue))return;const Se=V.map(et=>et.id),Le=new Set(Se);Jr(!0),tr("");try{await VZ({runtimeId:re.runtimeId,region:re.region??"cn-beijing",appName:Fe,itemIds:Se});const et=new Map;for(const jt of V)et.set(jt.kind,(et.get(jt.kind)??0)+1);xe(jt=>jt.filter(hi=>!Le.has(hi.id))),Nt(jt=>jt.map(hi=>({...hi,itemCount:Math.max(0,hi.itemCount-(et.get(hi.kind)??0))}))),or(jt=>new Set([...jt].filter(hi=>!Le.has(hi)))),po(jt=>new Set([...jt].filter(hi=>!Le.has(hi)))),Fr&&Le.has(Fr)&&Vs(""),V.length>1&&gr(!1),C==null||C(V)}catch(et){tr(et instanceof Error?et.message:String(et))}finally{Jr(!1)}},C1=V=>{Xs(ue=>ue.map(Se=>Se.id===V.id?V:Se))},hn=()=>{const V=new Set(e.map(Le=>Le.id)),ue=n.filter(Le=>V.has(Le)),Se=new Set(ue);return[...ue,...e.filter(Le=>!Se.has(Le.id)).map(Le=>Le.id)]},hA=(V,ue,Se)=>{if(!x||V===ue)return;const Le=hn().filter(hi=>hi!==V),et=Le.indexOf(ue),jt=et<0?Le.length:Se==="after"?et+1:et;Le.splice(jt,0,V),x(Le)},R1=(V,ue)=>{if(!gt||gt===ue)return;const Se=V.currentTarget.getBoundingClientRect();rn(ue),Ae(V.clientY>Se.top+Se.height/2?"after":"before")},I1=(V,ue)=>{if(!x)return;const Se=hn(),Le=Se.indexOf(V),et=Math.max(0,Math.min(Se.length-1,Le+ue));Le<0||Le===et||(Se.splice(Le,1),Se.splice(et,0,V),x(Se))},qi=V=>{V.canDelete===!0&&(wn(""),bn(ue=>{const Se=new Set(ue);return Se.has(V.id)?Se.delete(V.id):Se.add(V.id),Se}))},P1=V=>{wn(""),pe(ue=>{const Se=new Set(ue);return Se.has(V.id)?Se.delete(V.id):Se.add(V.id),Se})},Y0=()=>{wn(""),bn(new Set(ua.map(V=>V.id))),pe(new Set(es.map(V=>V.id)))},pA=()=>{wn(""),bn(new Set),pe(new Set),$e(!1)},mA=()=>{if(qs===0||Qe)return;const V=nr.length,ue=Vr.length;wn(""),ui({kind:"selection",title:V===1&&ue===0?"删除 Agent?":V===0&&ue===1?"删除草稿?":"删除所选项目?",description:V===1&&ue===0?`"${nr[0].label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`:V===0&&ue===1?`"${Vr[0].draft.name||"未命名 Agent"}" 将从本地草稿中删除。`:`将删除选中的 ${qs} 个项目。${V>0?`${V} 个云端 Runtime 将被永久删除,此操作不可撤销。`:"草稿删除后无法恢复。"}`,confirmLabel:V===0&&ue===1?"删除草稿":"删除所选",agents:nr,drafts:Vr})},j1=async()=>{if(!(!Jt||Qe)){yt(!0),wn("");try{if(Jt.kind==="selection"){const{agents:V,drafts:ue}=Jt;if(V.length>0){if(!v)throw new Error("当前页面不支持删除已部署 Agent。");await v(V)}ue.length>0&&(E==null||E(ue)),bn(new Set),pe(new Set),$e(!1),V.some(Se=>Se.id===M)&&B(""),ue.some(Se=>Se.id===$)&&I("")}else if(Jt.kind==="agent"){if(!v)throw new Error("当前页面不支持删除已部署 Agent。");await v([Jt.agent]),M===Jt.agent.id&&B("")}else{if(!E)throw new Error("当前页面不支持删除草稿。");E([Jt.draft]),$===Jt.draft.id&&I("")}ui(null)}catch(V){wn(V instanceof Error?V.message:String(V))}finally{yt(!1)}}},gA=V=>{!v||V.canDelete!==!0||Qe||(wn(""),ui({kind:"agent",title:"删除 Agent?",description:`"${V.label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`,confirmLabel:"删除 Agent",agent:V}))},M1=V=>{if(!E||Qe)return;const ue=V.draft.name||"未命名 Agent";wn(""),ui({kind:"draft",title:"删除草稿?",description:`"${ue}" 将从本地草稿中删除。`,confirmLabel:"删除草稿",draft:V})},L1=()=>{const V=`eval-${Date.now()}`,ue={id:V,name:`新评测组 ${Or.length+1}`,agentIds:[],caseSet:"核心回归集",evaluator:"综合质量评估器",metrics:["回答质量"],concurrency:"4",history:[]};Xs(Se=>[ue,...Se]),jl(V)},OA=V=>{C1({...V,history:[{id:`run-${Date.now()}`,createdAt:"刚刚",score:86+V.history.length%7,status:"completed"},...V.history]})};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:`aw-root${b?" is-detail-only":""}`,children:[c.jsxs("nav",{className:"aw-view-tabs","aria-label":"智能体工作台",children:[c.jsx("button",{type:"button",className:Q==="library"?"is-active":"","aria-pressed":Q==="library",onClick:()=>{L("library"),Ye("")},children:"智能体库"}),c.jsx("button",{type:"button",className:Q==="evaluation"?"is-active":"","aria-pressed":Q==="evaluation",onClick:()=>{L("evaluation"),Ye("")},children:"评测"})]}),c.jsxs("div",{className:"aw-workspace-frame",children:[c.jsxs("div",{className:"aw-workspace","aria-hidden":Q==="evaluation"||void 0,ref:V=>{V==null||V.toggleAttribute("inert",Q==="evaluation")},children:[c.jsxs("aside",{className:"aw-sidebar","aria-label":Q==="library"?"智能体列表":"评测组列表",children:[c.jsxs("label",{className:"aw-search",children:[c.jsx(wE,{"aria-hidden":!0}),c.jsx("input",{value:Me,onChange:V=>Ye(V.currentTarget.value),placeholder:Q==="library"?"搜索智能体":"搜索评测组","aria-label":Q==="library"?"搜索智能体":"搜索评测组"})]}),c.jsxs("button",{type:"button",className:"aw-create-card",onClick:Q==="library"?A:L1,disabled:Q==="library"&&!a,children:[c.jsx(Ls,{"aria-hidden":!0}),c.jsx("span",{children:Q==="library"?"新建 Agent":"新建评测组"})]}),Q==="library"&&(v||E)&&c.jsx("div",{className:`aw-selection-toolbar${qe?" is-active":""}`,children:qe?c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"aw-selection-count",children:["已选 ",qs," 个"]}),c.jsx("button",{type:"button",onClick:Y0,disabled:Qn===0||Qe,children:"全选"}),c.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void mA(),disabled:qs===0||Qe,children:Qe?"删除中…":"删除所选"}),c.jsx("button",{type:"button",onClick:pA,disabled:Qe,children:"取消"})]}):c.jsx("button",{type:"button",onClick:()=>{wn(""),$e(!0)},disabled:Qn===0,children:"选择"})}),Q==="library"&&mn&&c.jsx("div",{className:"aw-delete-error",role:"alert",children:mn}),c.jsx("div",{className:"aw-agent-list",children:Q==="evaluation"?Go.length===0?c.jsx("div",{className:"aw-list-empty",children:"没有匹配的评测组"}):Go.map(V=>c.jsxs("button",{type:"button",className:`aw-agent-item${V.id===Ku?" is-active":""}`,onClick:()=>jl(V.id),children:[c.jsxs("span",{className:"aw-agent-copy aw-eval-group-copy",children:[c.jsx("strong",{children:V.name}),c.jsxs("small",{children:[V.agentIds.length," 个智能体 · ",V.history.length," 次运行"]})]}),c.jsx(_b,{"aria-hidden":!0})]},V.id)):u&&$n.length===0&&es.length===0?c.jsx("div",{className:"aw-list-empty",children:"正在读取云端智能体…"}):d&&$n.length===0&&es.length===0?c.jsxs("div",{className:"aw-list-empty aw-list-error",children:[c.jsx("span",{children:d}),S&&c.jsx("button",{type:"button",onClick:S,children:"重试"})]}):$n.length===0&&es.length===0?c.jsx("div",{className:"aw-list-empty",children:"没有匹配的智能体"}):c.jsxs(c.Fragment,{children:[es.map(V=>{const ue=f.filter(Le=>{var et,jt;return((et=Le.agentDraft)==null?void 0:et.name)===V.draft.name||Le.agentName===V.draft.name||!!((jt=V.deploymentTarget)!=null&&jt.runtimeId)&&Le.runtimeId===V.deploymentTarget.runtimeId}).sort((Le,et)=>et.startedAt-Le.startedAt)[0],Se=It.has(V.id);return c.jsxs("button",{type:"button",className:["aw-agent-item",qe?"is-selecting":"",Se?"is-selected-for-delete":"",V.id===$?"is-active":""].filter(Boolean).join(" "),"aria-pressed":qe?Se:void 0,onClick:()=>{if(qe){P1(V);return}B(""),I(V.id),N("basic")},children:[qe&&c.jsx("span",{className:`aw-select-marker${Se?" is-checked":""}`,"aria-hidden":"true"}),c.jsxs("span",{className:"aw-agent-copy",children:[c.jsxs("span",{className:"aw-agent-name-row",children:[c.jsx("strong",{children:V.draft.name||"未命名 Agent"}),c.jsx("span",{className:`aw-draft-badge${(ue==null?void 0:ue.status)==="running"?" is-deploying":""}`,children:(ue==null?void 0:ue.status)==="running"?"部署中":"草稿"})]}),c.jsx("small",{children:V.deploymentTarget?"待更新":"尚未发布"})]}),c.jsx(_b,{"aria-hidden":!0})]},V.id)}),$n.map(V=>{const ue=V.runtimeId?As.get(V.runtimeId):void 0,Se=V.runtimeId?go.get(V.runtimeId):void 0,Le=pn.has(V.id),et=V.canDelete===!0,jt=(ue==null?void 0:ue.status)==="running"?{label:"部署中",className:" is-deploying"}:(ue==null?void 0:ue.status)==="error"?{label:"失败",className:" is-error"}:(ue==null?void 0:ue.status)==="cancelled"?{label:"已取消",className:" is-muted"}:Se?{label:"待更新",className:""}:null,hi=(ue==null?void 0:ue.status)==="running"?"正在更新部署":Se?"待更新":V.remote?V.host||"远程智能体":"本地智能体",Qf=["aw-agent-item","aw-agent-item--sortable",V.id===M?"is-active":"",qe?"is-selecting":"",Le?"is-selected-for-delete":"",qe&&!et?"is-selection-disabled":"",V.id===gt?"is-dragging":"",V.id===Rt&&V.id!==gt?`is-drop-target is-drop-${ln}`:""].filter(Boolean).join(" ");return c.jsxs("button",{type:"button",draggable:!!x&&!qe,className:Qf,"aria-pressed":qe?Le:void 0,"aria-keyshortcuts":x?"Alt+ArrowUp Alt+ArrowDown":void 0,onDragStart:Ut=>{x&&(mo.current=!0,ft(V.id),Ut.dataTransfer.effectAllowed="move",Ut.dataTransfer.setData("text/plain",V.id))},onDragEnter:Ut=>{R1(Ut,V.id)},onDragOver:Ut=>{!gt||gt===V.id||(Ut.preventDefault(),Ut.dataTransfer.dropEffect="move",R1(Ut,V.id))},onDragLeave:Ut=>{const Ko=Ut.relatedTarget;Ko instanceof Node&&Ut.currentTarget.contains(Ko)||Rt===V.id&&rn("")},onDrop:Ut=>{Ut.preventDefault();const Ko=Ut.dataTransfer.getData("text/plain")||gt;hA(Ko,V.id,ln),ft(""),rn(""),Ae("before")},onDragEnd:()=>{ft(""),rn(""),Ae("before"),window.setTimeout(()=>{mo.current=!1},0)},onKeyDown:Ut=>{Ut.altKey&&(Ut.key==="ArrowUp"?(Ut.preventDefault(),I1(V.id,-1)):Ut.key==="ArrowDown"&&(Ut.preventDefault(),I1(V.id,1)))},onClick:Ut=>{if(qe){Ut.preventDefault(),qi(V);return}if(mo.current){Ut.preventDefault(),mo.current=!1;return}I(""),B(V.id),N("basic"),w(V.id)},children:[qe&&c.jsx("span",{className:`aw-select-marker${Le?" is-checked":""}`,"aria-hidden":"true"}),c.jsxs("span",{className:"aw-agent-copy",children:[c.jsxs("span",{className:"aw-agent-name-row",children:[c.jsx("strong",{children:V.label}),V.currentVersion!=null&&c.jsxs("span",{className:"aw-version-badge",children:["v",V.currentVersion]}),jt&&c.jsx("span",{className:`aw-draft-badge${jt.className}`,children:jt.label})]}),c.jsx("small",{children:hi})]}),c.jsx(_b,{"aria-hidden":!0})]},V.id)})]})}),c.jsxs("div",{className:"aw-list-count",children:["共 ",Q==="library"?e.length+Ml:Or.length," 个"]})]}),Q==="evaluation"&&it?c.jsx(pet,{group:it,agents:e,cases:vp,onChange:C1,onRun:OA}):Q==="evaluation"?c.jsx("main",{className:"aw-main aw-empty-selection",children:c.jsx("p",{children:"未选择评测组"})}):!re&&!ne&&!Pe?c.jsx("main",{className:"aw-main aw-empty-selection",children:c.jsx("p",{children:"未选择智能体"})}):c.jsxs("main",{className:`aw-main${k1?" is-deploying":""}`,children:[re&&!pt&&s&&c.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:c.jsxs("div",{className:"aw-detail-loading-card",children:[c.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),c.jsxs("span",{children:[c.jsx("strong",{children:"正在加载智能体"}),c.jsx("small",{children:"正在读取配置与运行信息…"})]})]})}),D==="integrations"&&ae&&c.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:c.jsxs("div",{className:"aw-detail-loading-card",children:[c.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),c.jsxs("span",{children:[c.jsx("strong",{children:"正在探测接入方式"}),c.jsx("small",{children:"正在确认 API Server 与 A2A…"})]})]})}),c.jsxs("div",{className:"aw-agent-head",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"aw-agent-title-row",children:[c.jsx("h2",{children:Ns}),$f!=null&&c.jsxs("span",{children:["v",$f]}),ne&&c.jsx("span",{children:"草稿"}),Ve&&c.jsx("span",{children:"待更新"}),!re&&!ne&&Pe&&c.jsx("span",{children:Pe.label})]}),c.jsx("p",{children:ts.description||(s||b&&!Ie?"正在读取智能体信息…":"暂无描述")})]}),(ne||Ve||(re==null?void 0:re.canDelete))&&c.jsxs("div",{className:"aw-head-actions",children:[(ne||Ve)&&c.jsxs("button",{type:"button",className:"aw-head-delete aw-head-delete--draft",onClick:()=>{const V=ne??Ve;V&&M1(V)},disabled:Qe,"aria-label":"删除草稿",title:"删除草稿",children:[c.jsx(df,{"aria-hidden":!0}),c.jsx("span",{children:"删除草稿"})]}),(re==null?void 0:re.canDelete)&&c.jsxs("button",{type:"button",className:"aw-head-delete",onClick:()=>void gA(re),disabled:Qe,"aria-label":"删除 Agent",title:"删除 Agent",children:[c.jsx(df,{"aria-hidden":!0}),c.jsx("span",{children:Qe?"删除中…":"删除 Agent"})]})]})]}),fi&&cA&&c.jsx("div",{className:`aw-detail-deployment${k1?" is-running":""}`,children:c.jsx(cet,{task:fi,onReturnToEdit:T1&&j?()=>j(T1):void 0})}),c.jsx("nav",{className:"aw-agent-tabs","aria-label":"智能体详情",role:"tablist",children:Pt.map(V=>c.jsx("button",{type:"button",id:`agent-${V.id}-tab`,className:D===V.id?"is-active":"",role:"tab","aria-selected":D===V.id,"aria-controls":`agent-${V.id}-panel`,tabIndex:D===V.id?0:-1,onClick:()=>N(V.id),onKeyDown:ue=>{var jt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(ue.key))return;ue.preventDefault();const Se=Pt.findIndex(hi=>hi.id===V.id),Le=ue.key==="Home"?0:ue.key==="End"?Pt.length-1:(Se+(ue.key==="ArrowRight"?1:-1)+Pt.length)%Pt.length,et=Pt[Le];N(et.id),(jt=document.getElementById(`agent-${et.id}-tab`))==null||jt.focus()},children:V.label},V.id))}),c.jsxs("div",{className:"aw-content",id:`agent-${D}-panel`,role:"tabpanel","aria-labelledby":`agent-${D}-tab`,children:[D==="basic"&&c.jsxs("div",{className:"aw-basic-stack",children:[c.jsxs("section",{className:"aw-deployment-panel aw-settings-card",children:[c.jsx("div",{className:"aw-section-head",children:c.jsxs("div",{children:[c.jsx("h3",{children:"部署配置"}),c.jsx("p",{children:"配置目标环境与网络访问方式。"})]})}),c.jsxs("dl",{className:"aw-readonly-config",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"运行状态"}),c.jsxs("dd",{className:(G==null?void 0:G.status.toLowerCase())==="ready"?"is-ready":void 0,children:[(G==null?void 0:G.status.toLowerCase())==="ready"&&c.jsx("span",{className:"aw-status-dot"}),(G==null?void 0:G.status)||"读取中…"]})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"部署区域"}),c.jsx("dd",{children:(G==null?void 0:G.region)||(re==null?void 0:re.region)||(fi==null?void 0:fi.region)||"暂未提供"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"网络访问"}),c.jsx("dd",{children:G!=null&&G.networkTypes.length?G.networkTypes.join(" / "):"暂未提供"})]})]})]}),c.jsxs("section",{className:"aw-canvas-card",children:[c.jsx("div",{className:"aw-card-head",children:c.jsx("strong",{children:"执行流程"})}),c.jsx("div",{className:"aw-canvas",children:c.jsx(My,{draft:ts,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},uA)})]}),c.jsxs("section",{className:"aw-details-card",children:[c.jsx("div",{className:"aw-card-head",children:c.jsx("strong",{children:"详细信息"})}),c.jsxs("dl",{className:"aw-facts",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"模型"}),c.jsx("dd",{children:(pt==null?void 0:pt.model)||ts.modelName||"暂未提供"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"智能体数量"}),c.jsx("dd",{children:pt!=null&&pt.graph?kce(pt.graph):Tce(ts)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"工具"}),c.jsx("dd",{className:"aw-fact-badges",children:E1.length?E1.map(V=>c.jsx("span",{children:V},V)):"暂无"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"技能"}),c.jsx("dd",{className:"aw-fact-badges",children:Mc===null?"暂不支持预览":Mc.length?Mc.map(V=>c.jsx("span",{children:V},V)):"暂无"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"当前版本"}),c.jsx("dd",{children:$f!=null?`v${$f}`:"暂未提供"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"状态"}),c.jsx("dd",{children:ne?"草稿":(fi==null?void 0:fi.status)==="error"?"部署失败":(fi==null?void 0:fi.status)==="cancelled"?"已取消":Ve?"待更新":c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"aw-status-dot"}),"可用"]})})]})]})]})]}),D==="usage"&&(re==null?void 0:re.runtimeId)&&c.jsxs("section",{className:"aw-usage","aria-busy":Kn,children:[c.jsx("div",{className:"aw-usage-intro",children:c.jsx("h3",{children:"使用概览"})}),Kn&&!At&&c.jsx("div",{className:"aw-usage-state",role:"status","aria-live":"polite",children:c.jsx(hs,{as:"span",children:"正在加载用量统计"})}),Vt&&c.jsxs("div",{className:"aw-usage-state is-error",role:"alert",children:[c.jsx("span",{children:Vt}),c.jsx("button",{type:"button",onClick:()=>Fs(V=>V+1),children:"重试"})]}),!Kn&&!Vt&&!At&&!Fe&&c.jsx("div",{className:"aw-usage-state",children:"当前 Runtime 未返回可用的 Agent 应用名称,暂时无法读取用量。"}),At&&c.jsxs(c.Fragment,{children:[c.jsxs("dl",{className:"aw-usage-summary","aria-label":"Agent 用量摘要",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"总调用次数"}),c.jsx("dd",{children:At.totalInvocations.toLocaleString("zh-CN")})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"使用用户数"}),c.jsx("dd",{children:At.totalUsers.toLocaleString("zh-CN")})]})]}),c.jsxs("div",{className:"aw-usage-users-head",children:[c.jsx("h3",{children:"用户明细"}),Kn&&c.jsx(hs,{as:"span",role:"status","aria-live":"polite",children:"正在刷新"})]}),At.users.length===0?c.jsx("div",{className:"aw-usage-state",children:"暂无使用记录。用户成功调用后将在这里显示。"}):c.jsx("div",{className:"aw-usage-table-wrap",children:c.jsxs("table",{className:"aw-usage-table",children:[c.jsx("caption",{children:"当前 Agent 的使用用户列表"}),c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{scope:"col",children:"用户"}),c.jsx("th",{scope:"col",children:"调用次数"}),c.jsx("th",{scope:"col",children:"最近使用"})]})}),c.jsx("tbody",{children:At.users.map(V=>c.jsxs("tr",{children:[c.jsxs("td",{children:[c.jsx("strong",{children:V.displayName||V.userId||"未知用户"}),V.displayName&&V.userId&&c.jsx("small",{title:V.userId,children:V.userId})]}),c.jsx("td",{children:V.invocationCount.toLocaleString("zh-CN")}),c.jsx("td",{children:c.jsx("time",{dateTime:V.lastUsedAt,children:VJe(V.lastUsedAt)})})]},V.userId))})]})}),At.totalPages>1&&c.jsxs("nav",{className:"aw-usage-pagination","aria-label":"用量用户列表分页",children:[c.jsx("button",{type:"button",disabled:Kn||At.page<=1,onClick:()=>vi(V=>Math.max(1,V-1)),children:"上一页"}),c.jsxs("span",{"aria-live":"polite",children:["第 ",At.page," / ",At.totalPages," 页"]}),c.jsx("button",{type:"button",disabled:Kn||At.page>=At.totalPages,onClick:()=>vi(V=>V+1),children:"下一页"})]})]})]}),D==="integrations"&&c.jsxs("div",{className:"aw-integration-stack",children:[c.jsxs("div",{className:"aw-integration-intro",children:[c.jsx("h3",{children:"接入方式"}),c.jsx("p",{children:"仅展示当前 Runtime 可确认的公开协议与地址。"})]}),ke&&c.jsxs("div",{className:"aw-integration-error",role:"alert",children:[c.jsx("span",{children:ke}),c.jsx("button",{type:"button",onClick:()=>le(V=>V+1),children:"重试"})]}),!ke&&c.jsxs("div",{className:"aw-integration-body",children:[c.jsxs("div",{className:`aw-integration-protocol-tabs${ge==="a2a"?" is-a2a":""}`,role:"tablist","aria-label":"接入协议",children:[c.jsx("span",{className:"aw-integration-protocol-slider","aria-hidden":"true"}),jO.map((V,ue)=>c.jsx("button",{type:"button",id:`integration-${V.id}-tab`,role:"tab","aria-selected":ge===V.id,"aria-controls":`integration-${V.id}-panel`,tabIndex:ge===V.id?0:-1,onClick:()=>Sp(V.id),onKeyDown:Se=>{var jt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(Se.key))return;Se.preventDefault();const Le=Se.key==="Home"?0:Se.key==="End"?jO.length-1:(ue+(Se.key==="ArrowRight"?1:-1)+jO.length)%jO.length,et=jO[Le];Sp(et.id),(jt=document.getElementById(`integration-${et.id}-tab`))==null||jt.focus()},children:V.label},V.id))]}),ge==="api-server"?c.jsx(CV,{protocol:"api-server",title:"API Server",available:Ze,fields:[{label:"Agent",value:Ze?((D1=ve==null?void 0:ve.apiApps)==null?void 0:D1.join("、"))??"":""},{label:"发现接口",value:Ze?PC(Jn,"/list-apps"):""},{label:"调用接口",value:Ze?PC(Jn,"/run_sse"):""},{label:"鉴权方式",value:Ze?AV(G==null?void 0:G.authType):""},{label:"API Key",value:c.jsx(NV,{available:Ze,authType:G==null?void 0:G.authType,value:Z,visible:he&&!!Z,loading:Te,error:Be,onToggle:()=>void A1()})}],example:Ze?qJe(Jn,Ci,G==null?void 0:G.authType):""}):c.jsx(CV,{protocol:"a2a",title:"A2A",available:Ot,fields:[{label:"Agent",value:((Ep=ve==null?void 0:ve.a2a)==null?void 0:Ep.name)??""},{label:"Agent Card",value:Ot?PC(Jn,"/.well-known/agent-card.json"):""},{label:"调用地址",value:Bt},{label:"鉴权方式",value:Ot?AV(G==null?void 0:G.authType):""},{label:"API Key",value:c.jsx(NV,{available:Ot,authType:G==null?void 0:G.authType,value:Z,visible:he&&!!Z,loading:Te,error:Be,onToggle:()=>void A1()})}],example:Ot?HJe(Bt,G==null?void 0:G.authType):""})]})]}),D==="evaluations"&&c.jsxs("section",{className:"aw-cases",children:[(re==null?void 0:re.runtimeId)&&c.jsx("div",{className:"aw-case-summary",children:["good","bad"].map(V=>{const ue=tet(Ge,V),Se=vp.filter(et=>et.kind===V).length,Le=Lc?Se:(ue==null?void 0:ue.itemCount)??Se;return c.jsxs("button",{type:"button",onClick:()=>dA(V),children:[c.jsx("strong",{children:Le}),c.jsx("span",{children:V==="good"?"Good cases":"Bad cases"})]},V)})}),c.jsxs("div",{className:"aw-case-filter-bar",children:[c.jsxs("div",{className:"aw-case-filter-stack",children:[c.jsx("div",{className:"aw-case-filters","aria-label":"案例结果筛选",children:["good","bad"].map(V=>c.jsx("button",{type:"button",className:dt===V?"is-active":"","aria-pressed":dt===V,onClick:()=>Gt(V),children:V==="good"?"Good case":"Bad case"},V))}),c.jsx("div",{className:"aw-case-source-filters","aria-label":"回流方式筛选",children:["auto","user"].map(V=>c.jsx("button",{type:"button",className:vt===V?"is-active":"","aria-pressed":vt===V,onClick:()=>Wt(V),children:V==="auto"?"自动回流":"手动回流"},V))})]}),c.jsxs("label",{className:"aw-case-search",children:[c.jsx(wE,{"aria-hidden":!0}),c.jsx("input",{type:"search",value:Ct,onChange:V=>Dt(V.currentTarget.value),placeholder:"搜索用户输入、期望行为或标签","aria-label":"搜索评测案例"})]})]}),H0&&c.jsx("div",{className:`aw-case-toolbar${Kr?" is-active":""}`,children:Kr?c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"aw-selection-count",children:["已选 ",q0.length," 条"]}),c.jsx("button",{type:"button",onClick:N1,disabled:Zo.length===0||Qi,children:"全选当前"}),c.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void Da(q0),disabled:q0.length===0||Qi,children:Qi?"删除中…":"删除所选"}),c.jsx("button",{type:"button",onClick:td,disabled:Qi,children:"取消"})]}):c.jsx("button",{type:"button",onClick:()=>{tr(""),gr(!0)},disabled:Zo.length===0||Qi,children:"选择案例"})}),zr&&c.jsx("div",{className:"aw-delete-error",role:"alert",children:zr}),c.jsx("div",{ref:Pc,children:c.jsx(het,{cases:Zo,loading:Kt&&Zo.length===0,error:Vn,notice:di,runtimeBacked:!!(re!=null&&re.runtimeId),selectionMode:Kr,selectedCaseIds:Ur,focusedCaseId:Fr,expandedCaseIds:Zu,deleting:Qi,canDelete:H0,onOpenCase:fA,onToggleCase:ed,onToggleExpanded:wp,onDeleteCase:V=>void Da([V]),onRetry:()=>Zn(V=>V+1)})})]}),D==="optimizations"&&c.jsxs("section",{className:"aw-optimizations",children:[c.jsxs("div",{className:"aw-optimization-intro",children:[c.jsx("h3",{children:"优化项"}),c.jsx("p",{children:"根据评测结果汇总需要优先处理的改进建议。"})]}),Yn?c.jsxs("div",{className:"aw-optimization-state",role:"status",children:[c.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),c.jsx("span",{children:"正在读取优化项"})]}):er?c.jsxs("div",{className:"aw-optimization-state is-error",role:"alert",children:[c.jsx("span",{children:er}),c.jsx("button",{type:"button",onClick:()=>kn(V=>V+1),children:"重试"})]}):Si.length>0?c.jsx(det,{groups:Si}):c.jsx("div",{className:"aw-optimization-state",children:"暂无优化项,自动评测完成后会在这里生成建议。"})]})]}),D==="basic"&&(re||ne)&&c.jsxs("div",{className:"aw-basic-actions",children:[re&&c.jsxs("button",{type:"button",className:"aw-talk studio-update-action",onClick:()=>k==null?void 0:k(re),children:[c.jsx(o1e,{"aria-hidden":!0}),c.jsx("span",{children:"去对话"})]}),c.jsxs("span",{className:`aw-update-wrap${Wo?" is-disabled":""}`,tabIndex:Wo?0:void 0,"aria-describedby":Wo?X0:void 0,children:[c.jsx("button",{type:"button",className:"aw-update studio-update-action",disabled:!!Wo,"aria-busy":ct||void 0,"aria-describedby":Wo?X0:void 0,onClick:()=>{var V;return ne?j==null?void 0:j(ne):Ve?j==null?void 0:j({...Ve,deploymentTarget:jc}):an?R(((V=an.agent)==null?void 0:V.draft)??ts,an):void 0},children:ct?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"loading-gap-spinner aw-update-spinner","aria-hidden":"true"}),c.jsx("span",{children:"检测中"})]}):ne||Ve?"继续编辑":"更新"}),Wo&&c.jsx("span",{id:X0,className:"aw-update-disabled-reason",role:"tooltip",children:Wo})]})]})]})]}),Q==="evaluation"&&c.jsx("div",{className:"aw-evaluation-glass",role:"status",children:c.jsx("span",{children:"敬请期待"})})]})]}),Jt&&c.jsx($_,{variant:"danger",title:Jt.title,description:Jt.description,confirmLabel:Qe?"删除中...":Jt.confirmLabel,closeLabel:"关闭删除确认",busy:Qe,onCancel:()=>ui(null),onConfirm:()=>void j1()})]})}function det({groups:e}){return c.jsx("div",{className:"aw-optimization-table-wrap",children:c.jsxs("table",{className:"aw-optimization-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{scope:"col",children:"修复优先级"}),c.jsx("th",{scope:"col",children:"建议优化模块"}),c.jsx("th",{scope:"col",children:"优化建议和理由"})]})}),c.jsx("tbody",{children:e.map(t=>c.jsxs("tr",{children:[c.jsx("td",{children:c.jsx("span",{className:`aw-priority is-${t.priority}`,children:KJe(t.priority)})}),c.jsx("td",{children:c.jsx("span",{className:"aw-optimization-module",children:eet(t)})}),c.jsx("td",{children:c.jsx("ul",{className:"aw-optimization-list",children:t.items.map(n=>c.jsxs("li",{children:[c.jsx("strong",{children:n.suggestion}),c.jsx("p",{children:n.reason})]},`${n.suggestion}:${n.reason}`))})})]},`${t.priority}:${t.module}:${t.customModule??""}`))})]})})}function fet(){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M4.5 7h15"}),c.jsx("path",{d:"M9 7V4.8h6V7"}),c.jsx("path",{d:"m6.5 7 .8 12h9.4l.8-12"}),c.jsx("path",{d:"M10 10.5v5M14 10.5v5"})]})}function het({cases:e,loading:t=!1,error:n="",notice:i="",runtimeBacked:r=!1,selectionMode:s=!1,selectedCaseIds:a,focusedCaseId:o="",expandedCaseIds:l,deleting:u=!1,canDelete:d=!1,onOpenCase:f,onToggleCase:h,onToggleExpanded:p,onDeleteCase:m,onRetry:g}){return c.jsxs("div",{className:"aw-case-table",children:[c.jsxs("div",{className:"aw-case-row aw-case-row-head",children:[c.jsx("span",{children:"用户输入"}),c.jsx("span",{children:"Agent 输出"}),c.jsx("span",{children:"评分"}),c.jsx("span",{children:"评分理由"}),c.jsx("span",{className:"aw-case-action-head",children:"操作"})]}),t?c.jsx("div",{className:"aw-case-empty",children:"正在读取 AgentKit 评测集…"}):n?c.jsxs("div",{className:"aw-case-empty aw-case-error",children:[c.jsx("span",{children:n}),g&&c.jsx("button",{type:"button",onClick:g,children:"重试"})]}):i?c.jsx("div",{className:"aw-case-empty",children:i}):e.length===0?c.jsx("div",{className:"aw-case-empty",children:r?"暂无用户反馈案例":"没有匹配的案例"}):e.map(y=>{var _,C;const b=y.id.startsWith("local:"),S=(a==null?void 0:a.has(y.id))??!1,x=(l==null?void 0:l.has(y.id))??!1,E=y.output.length+y.referenceOutput.length>220||(((_=y.reason)==null?void 0:_.length)??0)>120,w=d&&!b,k=!!(y.comment&&y.comment.trim()!==((C=y.reason)==null?void 0:C.trim()));return c.jsxs("div",{className:["aw-case-row",o===y.id?"is-focused":"",s?"is-selecting":"",S?"is-selected-for-delete":""].filter(Boolean).join(" "),role:"row",tabIndex:0,"aria-selected":s?S:void 0,onClick:()=>{if(s){w&&(h==null||h(y));return}f==null||f(y)},onKeyDown:A=>{A.target===A.currentTarget&&(A.key!=="Enter"&&A.key!==" "||(A.preventDefault(),s?w&&(h==null||h(y)):f==null||f(y)))},children:[c.jsxs("div",{className:"aw-case-text aw-case-cell","data-label":"用户输入",children:[c.jsxs("span",{className:"aw-case-title-line",children:[s&&w&&c.jsx("span",{className:`aw-select-marker${S?" is-checked":""}`,"aria-hidden":"true"}),c.jsx("strong",{title:y.input,children:y.input||"无用户输入"})]}),k&&c.jsxs("small",{title:y.comment,children:["备注:",y.comment]}),c.jsx("small",{className:"aw-case-time",children:WJe(y.createdAt)}),(y.userId||y.sessionId)&&c.jsx("small",{title:[y.userId,y.sessionId].filter(Boolean).join(" · "),children:[y.userId,y.sessionId].filter(Boolean).join(" · ")})]}),c.jsxs("div",{className:`aw-case-output aw-case-cell${x?" is-expanded":""}`,"data-label":"Agent 输出",children:[c.jsx("p",{className:"aw-case-output-preview",title:y.output,children:y.output||"无可见回复"}),y.referenceOutput&&c.jsxs("small",{className:"aw-case-output-preview",title:y.referenceOutput,children:["Reference: ",y.referenceOutput]}),E&&c.jsx("button",{type:"button",className:"aw-case-expand",onClick:A=>{A.stopPropagation(),p==null||p(y.id)},children:x?"收起":"展开"})]}),c.jsx("div",{className:"aw-case-score aw-case-cell","data-label":"评分",children:ZJe(y)}),c.jsx("div",{className:`aw-case-reason aw-case-cell${x?" is-expanded":""}`,"data-label":"评分理由",children:c.jsx("p",{title:y.reason||void 0,children:y.reason||"—"})}),c.jsx("div",{className:"aw-case-actions aw-case-cell","data-label":"操作",children:w&&c.jsx("button",{type:"button",className:"aw-case-delete",onClick:A=>{A.stopPropagation(),m==null||m(y)},disabled:u,title:"删除反馈案例","aria-label":"删除反馈案例",children:c.jsx(fet,{})})})]},y.id)})]})}function pet({group:e,agents:t,cases:n,onChange:i,onRun:r}){const[s,a]=O.useState("config"),o=e.agentIds.map(f=>t.find(h=>h.id===f)).filter(f=>!!f),l=["回答质量","事实准确性","工具调用","响应效率"];O.useEffect(()=>a("config"),[e.id]);const u=f=>{i({...e,agentIds:e.agentIds.includes(f)?e.agentIds.filter(h=>h!==f):[...e.agentIds,f]})},d=f=>{i({...e,metrics:e.metrics.includes(f)?e.metrics.filter(h=>h!==f):[...e.metrics,f]})};return c.jsxs("main",{className:"aw-main",children:[c.jsxs("div",{className:"aw-eval-head",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"aw-agent-title-row",children:[c.jsx("h2",{children:e.name}),c.jsx("span",{children:"评测组"})]}),c.jsxs("p",{children:[o.length," 个参评智能体 · ",e.caseSet," · ",e.history.length," 次运行"]})]}),c.jsxs("button",{type:"button",className:"aw-run",onClick:()=>r(e),disabled:!0,children:[c.jsx(t1e,{"aria-hidden":!0}),"开始评测"]})]}),c.jsxs("nav",{className:"aw-agent-tabs","aria-label":"评测组详情",children:[c.jsx("button",{type:"button",className:s==="config"?"is-active":"","aria-pressed":s==="config",onClick:()=>a("config"),disabled:!0,children:"评测配置"}),c.jsx("button",{type:"button",className:s==="history"?"is-active":"","aria-pressed":s==="history",onClick:()=>a("history"),disabled:!0,children:"历史结果"})]}),c.jsx("div",{className:"aw-content",children:s==="config"?c.jsxs("div",{className:"aw-eval-setup",children:[c.jsxs("section",{className:"aw-eval-block",children:[c.jsxs("div",{className:"aw-card-head",children:[c.jsx("strong",{children:"参评智能体"}),c.jsxs("span",{children:["已选择 ",o.length," 个"]})]}),c.jsx("div",{className:"aw-eval-agent-grid",children:t.map(f=>c.jsxs("label",{children:[c.jsx("input",{type:"checkbox",checked:e.agentIds.includes(f.id),onChange:()=>u(f.id)}),c.jsxs("span",{children:[c.jsx("strong",{children:f.label}),c.jsx("small",{children:f.remote?"远程":"本地"})]})]},f.id))})]}),c.jsxs("div",{className:"aw-eval-setting-grid",children:[c.jsxs("section",{className:"aw-eval-block",children:[c.jsx("div",{className:"aw-card-head",children:c.jsx("strong",{children:"评测资源"})}),c.jsxs("div",{className:"aw-eval-fields",children:[c.jsxs("label",{children:[c.jsx("span",{children:"评测集"}),c.jsxs("select",{value:e.caseSet,onChange:f=>i({...e,caseSet:f.currentTarget.value}),children:[c.jsx("option",{children:"核心回归集"}),c.jsx("option",{children:"安全边界集"}),c.jsx("option",{children:"工具调用集"})]}),c.jsxs("small",{children:[n.length," 条案例"]})]}),c.jsxs("label",{children:[c.jsx("span",{children:"评估器"}),c.jsxs("select",{value:e.evaluator,onChange:f=>i({...e,evaluator:f.currentTarget.value}),children:[c.jsx("option",{children:"综合质量评估器"}),c.jsx("option",{children:"事实一致性评估器"}),c.jsx("option",{children:"工具调用评估器"})]})]}),c.jsxs("label",{children:[c.jsx("span",{children:"并发数"}),c.jsxs("select",{value:e.concurrency,onChange:f=>i({...e,concurrency:f.currentTarget.value}),children:[c.jsx("option",{value:"2",children:"2"}),c.jsx("option",{value:"4",children:"4"}),c.jsx("option",{value:"8",children:"8"})]})]})]})]}),c.jsxs("section",{className:"aw-eval-block",children:[c.jsxs("div",{className:"aw-card-head",children:[c.jsx("strong",{children:"评测指标"}),c.jsxs("span",{children:["已选择 ",e.metrics.length," 项"]})]}),c.jsx("div",{className:"aw-metric-list",children:l.map(f=>c.jsxs("label",{children:[c.jsx("input",{type:"checkbox",checked:e.metrics.includes(f),onChange:()=>d(f)}),c.jsx("span",{children:f})]},f))})]})]})]}):c.jsxs("section",{className:"aw-eval-history",children:[c.jsx("div",{className:"aw-section-head",children:c.jsxs("div",{children:[c.jsx("h3",{children:"历史结果"}),c.jsx("p",{children:"查看该评测组历次运行的总体表现。"})]})}),e.history.length===0?c.jsxs("div",{className:"aw-results-empty",children:[c.jsx("strong",{children:"暂无历史结果"}),c.jsx("span",{children:"完成首次评测后,结果会出现在这里。"})]}):c.jsx("div",{className:"aw-history-list",children:e.history.map((f,h)=>c.jsxs("button",{type:"button",children:[c.jsxs("span",{children:[c.jsxs("strong",{children:["评测运行 #",e.history.length-h]}),c.jsxs("small",{children:[f.createdAt," · ",o.length," 个智能体"]})]}),c.jsxs("span",{className:"aw-history-score",children:[c.jsx("strong",{children:f.score}),c.jsx("small",{children:"综合得分"})]}),c.jsxs("span",{className:"aw-complete",children:[c.jsx(kc,{}),"已完成"]}),c.jsx(_b,{"aria-hidden":!0})]},f.id))})]})})]})}const Oa="/web/sandbox/sessions",IV=3e4,jC=33e4,met=6e4,get=6e5,bv=15e3,eu=6e4,Oet=33e4,PV=40;function Q_(e){switch(e.trim().toLowerCase()){case"ready":return"就绪";case"wakeable":return"可唤醒";case"creating":return"创建中";case"starting":case"initializing":return"启动中";case"pending":return"等待中";case"running":return"运行中";case"failed":case"error":return"异常";case"stopped":return"已停止";case"expired":return"已过期";case"deleting":return"删除中";case"deleted":return"已删除";default:return"未知状态"}}function br(e){const t=g0(e);return t.has("Accept")||t.set("Accept","application/json"),t}async function yr(e,t){const n=await e.text().catch(()=>"");let i={};try{i=JSON.parse(n)}catch{const l=`${t}(HTTP ${e.status})`;return new Error(n?`${l}:${n}`:l)}const r=i.detail,s=r&&typeof r=="object"&&"message"in r?r.message:r??i.error??i.message,a=typeof s=="string"?s:s==null?"":JSON.stringify(s),o=`${t}(HTTP ${e.status})`;return new Error(a?`${o}:${a}`:o)}function Hf(e,t="codex"){if(!e.sessionId||!e.status)throw new Error("AgentKit 沙箱返回了无效的 Session 信息。");return{resourceType:"session",id:e.sessionId,toolName:t,userSessionId:e.userSessionId??"",displayName:e.displayName??"",status:e.status,createdAt:e.createdAt??"",expireAt:e.expireAt??"",persistent:e.persistent!==!1,toolType:e.toolType??"",createdBy:e.createdBy??"",threadId:e.threadId??"",cwd:e.cwd??"",workspaceLocked:e.workspaceLocked===!0,busy:e.busy===!0,...typeof e.model=="string"?{model:e.model}:{},permissions:B_(e.permissions)}}function jV(e,t="codex"){if(!e.snapshotId||!e.status)throw new Error("AgentKit 沙箱返回了无效的 Snapshot 信息。");return{resourceType:"snapshot",id:e.snapshotId,snapshotId:e.snapshotId,sourceSessionId:e.sessionId??"",toolName:t,userSessionId:e.userSessionId??"",displayName:e.displayName??"",status:e.status,snapshotStatus:e.snapshotStatus??"Unknown",reason:e.reason??"",createdAt:e.createdAt??"",createdBy:e.createdBy??""}}const MO={approvalPolicy:"on-request",approvalsReviewer:"user",sandboxMode:"workspace-write",networkAccess:!1};function B_(e){if(!e||typeof e!="object")return{...MO};const t=e,n=t.approvalPolicy,i=t.approvalsReviewer,r=t.sandboxMode;return{approvalPolicy:n==="untrusted"||n==="on-request"||n==="never"?n:MO.approvalPolicy,approvalsReviewer:i==="user"||i==="auto_review"?i:MO.approvalsReviewer,sandboxMode:r==="read-only"||r==="workspace-write"||r==="danger-full-access"?r:MO.sandboxMode,networkAccess:typeof t.networkAccess=="boolean"?t.networkAccess:MO.networkAccess}}function MV(e){if(!e||typeof e!="object")throw new Error("Sandbox 返回了无效设置。");const t=e;return{threadId:typeof t.threadId=="string"?t.threadId:"",cwd:typeof t.cwd=="string"?t.cwd:"",...typeof t.model=="string"?{model:t.model}:{},workspaceLocked:t.workspaceLocked===!0,busy:t.busy===!0,permissions:B_(t.permissions)}}function vo(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function bet(e){const t=vo(e);if(!(!t||typeof t.id!="string"||!t.id))return{id:t.id,displayName:typeof t.displayName=="string"?t.displayName:t.id,description:typeof t.description=="string"?t.description:"",isDefault:t.isDefault===!0}}function yet(e){const t=vo(e);if(!(!t||typeof t.id!="string"||!t.id||typeof t.name!="string"||!t.name))return{id:t.id,name:t.name,description:typeof t.description=="string"?t.description:""}}function Nce(e){const t=vo(e);if(!(!t||typeof t.id!="string"||!t.id))return{id:t.id,...typeof t.name=="string"&&t.name?{name:t.name}:{},preview:typeof t.preview=="string"?t.preview:"",cwd:typeof t.cwd=="string"?t.cwd:"",modelProvider:typeof t.modelProvider=="string"?t.modelProvider:"",createdAt:typeof t.createdAt=="number"&&Number.isFinite(t.createdAt)?t.createdAt:0,updatedAt:typeof t.updatedAt=="number"&&Number.isFinite(t.updatedAt)?t.updatedAt:0,status:typeof t.status=="string"?t.status:"unknown"}}function LO(e){const t=vo(e),n=Nce(t==null?void 0:t.thread);if(!t||!n||typeof t.threadId!="string"||!Array.isArray(t.messages))throw new Error("Sandbox 返回了无效 Thread 快照。");const i=t.messages.flatMap(r=>{const s=vo(r);if(!s||typeof s.id!="string"||s.role!=="user"&&s.role!=="assistant"||typeof s.content!="string"||typeof s.timestamp!="number")return[];const a=Array.isArray(s.skillNames)?s.skillNames.filter(o=>typeof o=="string"&&!!o):[];return[{id:s.id,role:s.role,content:s.content,timestamp:s.timestamp,...a.length?{skillNames:a}:{}}]});return{thread:n,threadId:t.threadId,messages:i,...typeof t.model=="string"?{model:t.model}:{},...typeof t.cwd=="string"?{cwd:t.cwd}:{},workspaceLocked:t.workspaceLocked===!0,permissions:B_(t.permissions)}}function aM(e){if(!e||typeof e!="object")return;const t=e;if(![t.totalTokens,t.inputTokens,t.cachedInputTokens,t.outputTokens,t.reasoningOutputTokens].some(i=>typeof i!="number"||!Number.isFinite(i)||i<0))return{totalTokens:Math.trunc(t.totalTokens),inputTokens:Math.trunc(t.inputTokens),cachedInputTokens:Math.trunc(t.cachedInputTokens),outputTokens:Math.trunc(t.outputTokens),reasoningOutputTokens:Math.trunc(t.reasoningOutputTokens)}}function xet(e){const t=aM(e.usage);if(!t||typeof e.turnId!="string")return;const n=aM(e.threadTotal),i=e.modelContextWindow;return{turnId:e.turnId,usage:t,...n?{threadTotal:n}:{},...typeof i=="number"&&Number.isFinite(i)&&i>=0?{modelContextWindow:Math.trunc(i)}:{}}}function vet(e){return typeof e.id!="string"||e.kind!=="command"&&e.kind!=="file"||typeof e.method!="string"?null:{id:e.id,kind:e.kind,method:e.method,...typeof e.reason=="string"?{reason:e.reason}:{},...typeof e.command=="string"?{command:e.command}:{},...typeof e.cwd=="string"?{cwd:e.cwd}:{},...typeof e.grantRoot=="string"?{grantRoot:e.grantRoot}:{},...e.changes!==void 0?{changes:e.changes}:{},...typeof e.threadId=="string"?{threadId:e.threadId}:{},...typeof e.turnId=="string"?{turnId:e.turnId}:{},...typeof e.itemId=="string"?{itemId:e.itemId}:{}}}async function wet(e,t={}){if(!e.body)throw new Error("沙箱对话服务未返回内容。");const n=e.body.getReader(),i=new TextDecoder;let r="",s="";const a=[],o=new Map;let l;function u(){var p;(p=t.onBlocks)==null||p.call(t,a.map(m=>({...m})))}function d(p){s+=p;const m=a[a.length-1];(m==null?void 0:m.kind)==="text"?m.text+=p:a.push({kind:"text",text:p}),u()}function f(p){if(typeof p.id!="string"||p.kind!=="thinking"&&p.kind!=="tool"||p.status!=="running"&&p.status!=="done")return;const m=p.status==="done";let g;if(p.kind==="thinking"){if(typeof p.text!="string"||!p.text)return;g={kind:"thinking",text:p.text,done:m}}else{if(typeof p.name!="string"||!p.name)return;g={kind:"tool",name:p.name,args:p.args,response:p.response,done:m}}const y=o.get(p.id);y===void 0?(o.set(p.id,a.length),a.push(g)):a[y]=g,u()}function h(p){var b,S,x;let m="message";const g=[];for(const v of p.split(/\r?\n/))v.startsWith("event:")&&(m=v.slice(6).trim()),v.startsWith("data:")&&g.push(v.slice(5).trimStart());if(g.length===0)return;let y;try{y=JSON.parse(g.join(` +`))}catch{throw new Error("沙箱对话服务返回了无法解析的响应。")}if(m==="error")throw new Error(typeof y.message=="string"&&y.message?y.message:"沙箱对话失败,请稍后重试。");if(m==="activity"&&f(y),m==="approval"){const v=vet(y);v&&((b=t.onApproval)==null||b.call(t,v))}if(m==="usage"){const v=xet(y);v&&(l=v,(S=t.onUsage)==null||S.call(t,v))}m==="approval_resolved"&&typeof y.approvalId=="string"&&((x=t.onApprovalResolved)==null||x.call(t,y.approvalId)),m==="delta"&&typeof y.text=="string"&&d(y.text),m==="done"&&!s&&typeof y.text=="string"&&d(y.text)}for(;;){const{done:p,value:m}=await n.read();r+=i.decode(m,{stream:!p});const g=r.split(/\r?\n\r?\n/);if(r=g.pop()??"",g.forEach(h),p)break}if(r.trim()&&h(r),a.length===0)throw new Error("沙箱未返回有效回复,请重试。");return{text:s,blocks:a,...l?{usage:l}:{}}}async function il(e,t,{method:n="GET",body:i,options:r={},fallback:s}){if(!e)throw new Error("缺少要操作的 AgentKit Session。");const a=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}/${t}`),{method:n,headers:br(i===void 0?void 0:{"Content-Type":"application/json"}),...i===void 0?{}:{body:JSON.stringify(i)},signal:Gn(r.signal,eu)});if(!a.ok)throw await yr(a,s);return a.json()}const An={async listSessions(e={}){const t=await fetch(Xn(Oa),{method:"GET",headers:br(),signal:Gn(e.signal,IV)});if(!t.ok)throw await yr(t,"无法读取 Codex 智能体,请稍后重试。");const n=await t.json();if(!Array.isArray(n.sessions))throw new Error("AgentKit 沙箱返回了无效的 Session 列表。");if(n.snapshots!==void 0&&!Array.isArray(n.snapshots))throw new Error("AgentKit 沙箱返回了无效的 Snapshot 列表。");return[...n.sessions.map(i=>Hf(i)),...(n.snapshots??[]).map(i=>jV(i))]},async startSession(e={}){var n;const t=await fetch(Xn(Oa),{method:"POST",headers:br({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((n=e.displayName)==null?void 0:n.trim())??"",persistent:e.persistent??!0}),signal:Gn(e.signal,jC)});if(!t.ok)throw await yr(t,"无法启动 AgentKit 沙箱,请稍后重试。");return Hf(await t.json())},async listAgentSessions(e,t={}){const n=await fetch(Xn(`/web/${e}/sessions`),{method:"GET",headers:br(),signal:Gn(t.signal,IV)});if(!n.ok)throw await yr(n,`无法读取 ${e} 智能体,请稍后重试。`);const i=await n.json();if(!Array.isArray(i.sessions))throw new Error(`AgentKit 返回了无效的 ${e} Session 列表。`);if(i.snapshots!==void 0&&!Array.isArray(i.snapshots))throw new Error(`AgentKit 返回了无效的 ${e} Snapshot 列表。`);return[...i.sessions.map(r=>Hf(r,e)),...(i.snapshots??[]).map(r=>jV(r,e))]},async startAgentSession(e,t={}){var i;const n=await fetch(Xn(`/web/${e}/sessions`),{method:"POST",headers:br({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((i=t.displayName)==null?void 0:i.trim())??"",persistent:t.persistent??!0}),signal:Gn(t.signal,jC)});if(!n.ok)throw await yr(n,`无法创建 ${e} 智能体,请稍后重试。`);return Hf(await n.json(),e)},async openAgentSession(e,t,n={}){if(!t)throw new Error("缺少要打开的 AgentKit Session。");const i=await fetch(Xn(`/web/${e}/sessions/${encodeURIComponent(t)}/open`),{method:"POST",headers:br(),signal:Gn(n.signal,eu)});if(!i.ok)throw await yr(i,`无法打开 ${e} 智能体。`);const r=await i.json();if(typeof r.webuiUrl!="string"||!r.webuiUrl.startsWith("/"))throw new Error(`${e} 智能体返回了无效的主页面地址。`);return{session:Hf(r,e),kind:e,webuiUrl:Xn(r.webuiUrl)}},async launchAgentTerminal(e,t,n={}){if(!t)throw new Error("缺少要打开 Terminal 的 AgentKit Session。");const i=await fetch(Xn(`/web/${e}/sessions/${encodeURIComponent(t)}/terminal`),{method:"POST",headers:br(),signal:Gn(n.signal,eu)});if(!i.ok)throw await yr(i,`无法打开 ${e} Terminal。`);const r=await i.json();return{url:Cce(r.url,`${e} Terminal`),...typeof r.shellSessionId=="string"?{shellSessionId:r.shellSessionId}:{}}},async deleteAgentSession(e,t,n={}){if(!t)return;const i=await fetch(Xn(`/web/${e}/sessions/${encodeURIComponent(t)}`),{method:"DELETE",headers:br(),signal:Gn(n.signal,bv)});if(!i.ok&&i.status!==404)throw await yr(i,`无法删除 ${e} 智能体。`)},async resumeSnapshot(e,t,n={}){if(!t)throw new Error("缺少要唤醒的 AgentKit Snapshot。");const i=e==="codex"?"/web/sandbox":`/web/${e}`,r=await fetch(Xn(`${i}/snapshots/${encodeURIComponent(t)}/resume`),{method:"POST",headers:br(),signal:Gn(n.signal,jC)});if(!r.ok)throw await yr(r,"无法从快照唤醒智能体,请稍后重试。");return Hf(await r.json(),e)},async deleteSnapshot(e,t,n={}){if(!t)return;const i=e==="codex"?"/web/sandbox":`/web/${e}`,r=await fetch(Xn(`${i}/snapshots/${encodeURIComponent(t)}`),{method:"DELETE",headers:br(),signal:Gn(n.signal,bv)});if(!r.ok&&r.status!==404)throw await yr(r,"无法删除智能体快照。")},async connectSession(e,t={}){if(!e)throw new Error("缺少要连接的 AgentKit Session。");const n=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}/connect`),{method:"POST",headers:br({"Content-Type":"application/json"}),signal:Gn(t.signal,met)});if(!n.ok)throw await yr(n,"无法连接 Codex 智能体,请稍后重试。");const i=Hf(await n.json());if(i.status.toLowerCase()!=="ready")throw new Error(`AgentKit Session 尚未就绪,当前状态:${i.status}。`);return i},async sendMessage(e,t={}){var i;if(!e.sessionId||!e.text.trim())throw new Error("内置智能体会话缺少有效的消息内容。");const n=await fetch(Xn(`${Oa}/${encodeURIComponent(e.sessionId)}/messages`),{method:"POST",headers:br({Accept:"text/event-stream","Content-Type":"application/json"}),body:JSON.stringify({message:e.text,...(i=e.skillIds)!=null&&i.length?{skillIds:e.skillIds}:{}}),signal:Gn(t.signal,get)});if(!n.ok)throw await yr(n,"沙箱对话失败,请稍后重试。");return wet(n,t)},async getStatus(e,t={}){const n=await il(e,"status",{options:t,fallback:"无法读取 Codex 状态。"}),i=MV(n),r=vo(n),s=aM(r==null?void 0:r.threadTotal),a=r==null?void 0:r.modelContextWindow;return{...i,...s?{threadTotal:s}:{},...typeof a=="number"&&Number.isFinite(a)&&a>=0?{modelContextWindow:Math.trunc(a)}:{}}},async listModels(e,t={}){const n=vo(await il(e,"models",{options:t,fallback:"无法读取 Codex 模型列表。"}));if(!Array.isArray(n==null?void 0:n.models))throw new Error("Sandbox 返回了无效模型列表。");return n.models.flatMap(i=>{const r=bet(i);return r?[r]:[]})},async setModel(e,t,n={}){const i=vo(await il(e,"model",{method:"PUT",body:{model:t},options:n,fallback:"无法切换 Codex 模型。"}));if(typeof(i==null?void 0:i.model)!="string"||!i.model)throw new Error("Sandbox 返回了无效模型。");return i.model},async listSkills(e,t=!1,n={}){const r=vo(await il(e,`skills${t?"?force_reload=true":""}`,{options:n,fallback:"无法读取 Codex Skills。"}));if(!Array.isArray(r==null?void 0:r.skills))throw new Error("Sandbox 返回了无效 Skill 列表。");return r.skills.flatMap(s=>{const a=yet(s);return a?[a]:[]})},async listThreads(e,t={},n={}){const i=new URLSearchParams;t.cursor&&i.set("cursor",t.cursor),t.search&&i.set("search",t.search),t.archived&&i.set("archived","true");const r=i.size?`?${i}`:"",s=vo(await il(e,`threads${r}`,{options:n,fallback:"无法读取 Codex Thread 列表。"}));if(!Array.isArray(s==null?void 0:s.threads))throw new Error("Sandbox 返回了无效 Thread 列表。");return{threads:s.threads.flatMap(a=>{const o=Nce(a);return o?[o]:[]}),...typeof s.nextCursor=="string"?{nextCursor:s.nextCursor}:{}}},async newThread(e,t={}){return LO(await il(e,"threads/new",{method:"POST",options:t,fallback:"无法创建新的 Codex Thread。"}))},async resumeThread(e,t,n={}){return LO(await il(e,"threads/resume",{method:"POST",body:{threadId:t},options:n,fallback:"无法恢复 Codex Thread。"}))},async forkThread(e,t={}){return LO(await il(e,"threads/fork",{method:"POST",options:t,fallback:"无法分叉 Codex Thread。"}))},async archiveThread(e,t,n={}){const i=vo(await il(e,"threads/archive",{method:"POST",body:{threadId:t},options:n,fallback:"无法归档 Codex Thread。"}));if((i==null?void 0:i.archived)!==!0)throw new Error("Sandbox 返回了无效归档结果。");return{archived:!0,...i.thread?{snapshot:LO(i)}:{}}},async deleteThread(e,t,n={}){const i=vo(await il(e,"threads/delete",{method:"POST",body:{threadId:t},options:n,fallback:"无法删除 Codex Thread。"}));if((i==null?void 0:i.deleted)!==!0)throw new Error("Sandbox 返回了无效删除结果。");return{deleted:!0,...i.thread?{snapshot:LO(i)}:{}}},async compactThread(e,t={}){await il(e,"threads/compact",{method:"POST",options:t,fallback:"无法压缩 Codex Thread。"})},async getSettings(e,t={}){const n=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}/settings`),{method:"GET",headers:br(),signal:Gn(t.signal,eu)});if(!n.ok)throw await yr(n,"无法读取 Codex 权限与工作空间。");return MV(await n.json())},async updatePermissions(e,t,n={}){const i=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}/permissions`),{method:"PUT",headers:br({"Content-Type":"application/json"}),body:JSON.stringify(t),signal:Gn(n.signal,eu)});if(!i.ok)throw await yr(i,"无法更新 Codex 权限。");const r=await i.json();return B_(r.permissions)},async updateWorkspace(e,t,n={}){const i=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}/workspace`),{method:"PUT",headers:br({"Content-Type":"application/json"}),body:JSON.stringify({cwd:t}),signal:Gn(n.signal,eu)});if(!i.ok)throw await yr(i,"无法更新 Codex 工作空间。");const r=await i.json();if(typeof r.cwd!="string"||!r.cwd)throw new Error("Sandbox 返回了无效工作目录。");return r.cwd},async listDirectories(e,t,n={}){const i=new URLSearchParams({path:t}),r=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}/directories?${i}`),{method:"GET",headers:br(),signal:Gn(n.signal,eu)});if(!r.ok)throw await yr(r,"无法读取 Sandbox 目录。");const s=await r.json();if(typeof s.path!="string"||!Array.isArray(s.directories)||s.directories.some(a=>!a||typeof a.name!="string"||typeof a.path!="string"))throw new Error("Sandbox 返回了无效目录列表。");return{path:s.path,...typeof s.parent=="string"?{parent:s.parent}:{},directories:s.directories}},async resolveApproval(e,t,n,i={}){const r=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}/approvals/${encodeURIComponent(t)}`),{method:"POST",headers:br({"Content-Type":"application/json"}),body:JSON.stringify({decision:n}),signal:Gn(i.signal,eu)});if(!r.ok)throw await yr(r,"无法提交 Codex 审批决定。")},async launchTerminal(e,t={}){return LV(e,"terminal",t)},async launchBrowser(e,t={}){return LV(e,"browser",t)},async uploadFile(e,t,n={}){const i=new FormData;i.set("file",t,t.name);const r=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}/files`),{method:"POST",headers:br(),body:i,signal:Gn(n.signal,Oet)});if(!r.ok)throw await yr(r,"无法上传文件到 Sandbox。");const s=await r.json();if(typeof s.id!="string"||typeof s.path!="string"||typeof s.name!="string"||typeof s.mimeType!="string"||typeof s.sizeBytes!="number")throw new Error("Sandbox 返回了无效上传结果。");return s},async closeSession(e,t={}){if(!e)return;const n=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}/disconnect`),{method:"POST",headers:br(),signal:Gn(t.signal,bv)});if(!n.ok&&n.status!==404)throw await yr(n,"无法断开 Codex 智能体连接。")},async deleteSession(e,t={}){if(!e)return;const n=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}`),{method:"DELETE",headers:br(),signal:Gn(t.signal,bv)});if(!n.ok&&n.status!==404)throw await yr(n,"无法删除 Codex 智能体。")}};async function LV(e,t,n){const i=await fetch(Xn(`${Oa}/${encodeURIComponent(e)}/${t}`),{method:"POST",headers:br(),signal:Gn(n.signal,eu)});if(!i.ok)throw await yr(i,t==="terminal"?"无法打开 Sandbox Terminal。":"无法打开 Sandbox Browser。");const r=await i.json();return{url:Cce(r.url,"Sandbox 工具"),...typeof r.shellSessionId=="string"?{shellSessionId:r.shellSessionId}:{}}}function Cce(e,t){if(typeof e!="string")throw new Error(`${t} 返回了无效地址。`);if(e.startsWith("/"))return Xn(e);let n;try{n=new URL(e)}catch{throw new Error(`${t} 返回了无效地址。`)}const i=n.protocol==="http:"&&window.location.protocol==="http:";if(n.protocol!=="https:"&&!i)throw new Error(`${t} 返回了不安全的地址。`);return n.toString()}function Dm(e,t,n){const i=e instanceof Error?`${e.name}: ${e.message}`:String(e||"未知错误");return[`${t}失败`,`详细信息:${i}`,n?`请求:${n}`:""].filter(Boolean).join(` +`)}function Eet(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M8.4 18.4H7.2a4.2 4.2 0 0 1-.65-8.35A5.7 5.7 0 0 1 17.3 8.2a4.6 4.6 0 0 1-.4 9.2h-3.2"}),c.jsx("path",{d:"m7.8 12.3 2 2-2 2M12.2 16.3h3.2"})]})}function ket(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M18.9 6.25A8.4 8.4 0 1 0 19.6 16"}),c.jsx("path",{d:"M19 6.2c.1 2.1-.65 3.75-2.25 4.95-1.2.9-2.75 1.25-4.2.9"}),c.jsx("circle",{cx:"10.6",cy:"12.8",r:"2.45"}),c.jsx("path",{d:"m5.25 18.6 3.65-3.9M14.8 17.9c1.9-.45 3.55-1.65 4.65-3.35"})]})}function Tet(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M6.2 20c.55-2.15.75-4.1.75-6.7V9.8A5.35 5.35 0 0 1 12.35 4c3.35 0 5.65 2.35 5.65 5.65v4.6c0 2.35.35 4.25 1.15 5.75"}),c.jsx("path",{d:"M8.05 10.2c1.35-.6 2.2-1.65 2.55-3.15.45 1.55 1.35 2.55 2.7 3.05.1-1 .4-1.95.85-2.75.45 1.25 1.2 2.2 2.15 2.75"}),c.jsx("path",{d:"M9.3 12.65h.01M14.9 12.65h.01M10.8 15.55c.8.5 1.65.5 2.45 0"}),c.jsx("path",{d:"M8.45 19.85c.95-.85 1.45-1.95 1.5-3.25M15.1 16.65c.05 1.2.55 2.3 1.55 3.2"})]})}function Ox({kind:e,...t}){return e==="codex"?c.jsx(Eet,{...t}):e==="openclaw"?c.jsx(ket,{...t}):c.jsx(Tet,{...t})}const MC=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],_et=24,Aet=3e4,$m=new Map,ug=new Map,Net=new Set;function yv(e){if(!e){$m.clear(),ug.clear();return}const t=new Set(e);if(t.size!==0){for(const[n,i]of ug)i.page.runtimes.some(r=>t.has(r.runtimeId))&&ug.delete(n);$m.clear()}}function Cet(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),c.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function LC(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"M8 3.25v9.5M3.25 8h9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function Ret({type:e}){return e==="general"?c.jsx(hf,{}):c.jsx(Ox,{kind:e})}function d3(e){if(!e)return"—";const t=new Date(e);return Number.isNaN(t.getTime())?e.slice(0,10):new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(t).replace(/\//g,"-")}function Iet(e,t=Date.now()){const n=Date.parse(e);if(!Number.isFinite(n)||n-t<6e4)return"即将清空";const i=Math.ceil((n-t)/6e4),r=Math.floor(i/60),s=i%60;return`${r} 小时 ${s} 分钟`}function DV(e){var t;return{id:e.runtimeId,name:e.name,description:((t=e.description)==null?void 0:t.trim())||"暂无描述",createdAt:d3(e.createdAt??""),specificationLabel:"创建人",specification:e.author||"—",isMine:e.isMine,runtime:{runtimeId:e.runtimeId,region:e.region,currentVersion:e.currentVersion,canDelete:e.canDelete}}}function Pet(e){return{id:e.id,name:e.displayName||`${e.toolName} 智能体`,description:Q_(e.status),createdAt:d3(e.createdAt),specificationLabel:"创建人",specification:e.createdBy||"—",sandbox:e}}function jet(e){var t;return{id:e.id,name:e.draft.name||"未命名 Agent",description:((t=e.draft.description)==null?void 0:t.trim())||"暂无描述",createdAt:d3(new Date(e.updatedAt).toISOString()),specificationLabel:"存储位置",specification:"当前浏览器",draft:e}}async function Met(e,t,n){const i=`${e}:all:${t}`,r=ug.get(i);if(r&&r.expiresAt>Date.now())return n(r.page.runtimes.map(DV)),r.page.nextToken;r&&ug.delete(i);let s=$m.get(i);s||(s=IT({scope:e,region:"all",pageSize:_et,nextToken:t}),$m.set(i,s),s.then(()=>$m.delete(i),()=>$m.delete(i)));const a=await s;return ug.set(i,{page:a,expiresAt:Date.now()+Aet}),n(a.runtimes.map(DV)),a.nextToken}function Let({agent:e,cloudProvider:t,onUse:n,onViewDetails:i,connecting:r,connected:s,showOwnership:a,deploymentTask:o,nowMs:l,onViewDeploymentTask:u,onEditDraft:d,onDeleteDraft:f}){var y,b,S,x;const h=(y=e.sandbox)==null?void 0:y.status.toLowerCase(),p=((b=e.sandbox)==null?void 0:b.resourceType)==="snapshot",m=!!(e.runtime||h==="ready"||h==="wakeable"),g=((S=e.sandbox)==null?void 0:S.resourceType)==="snapshot"?e.sandbox.sourceSessionId||e.sandbox.snapshotId:(x=e.sandbox)==null?void 0:x.id;return c.jsxs("article",{className:"my-agent-card",children:[c.jsxs("div",{className:"my-agent-card-content",children:[c.jsxs("div",{className:"my-agent-card-title",children:[c.jsxs("div",{className:"my-agent-card-title-copy",children:[c.jsx("h3",{children:e.name}),e.sandbox?c.jsx("span",{className:"my-agent-session-id",title:g,children:g}):null]}),e.draft?c.jsx("span",{className:"my-agent-draft-badge",children:o?"部署中":"草稿"}):e.sandbox?c.jsx("span",{className:"my-agent-status-label","data-ready":e.sandbox.status.toLowerCase()==="ready"||void 0,"data-wakeable":p||void 0,children:e.description}):e.runtime?c.jsxs("div",{className:"my-agent-card-badges",children:[o?c.jsx("span",{className:"my-agent-deploying-badge",children:"部署中"}):null,c.jsx("span",{className:"my-agent-region-badge",children:ff(e.runtime.region,t)}),a&&e.isMine?c.jsx("span",{className:"runtime-owner-badge",children:"我创建的"}):null]}):null]}),e.sandbox?null:c.jsx("p",{className:"my-agent-description",children:e.description}),c.jsxs("dl",{className:"my-agent-meta",children:[c.jsxs("div",{className:"my-agent-created-at",children:[c.jsx("dt",{children:e.draft?"更新时间":"创建时间"}),c.jsx("dd",{children:e.createdAt})]}),c.jsxs("div",{className:"my-agent-region",children:[c.jsx("dt",{children:e.specificationLabel}),c.jsx("dd",{children:e.specification})]}),e.sandbox?c.jsxs("div",{className:`my-agent-expiry${e.sandbox.resourceType==="session"&&e.sandbox.persistent?"":" is-expiring"}`,children:[c.jsx("dt",{children:"剩余时间"}),c.jsx("dd",{children:e.sandbox.resourceType==="snapshot"?"可唤醒":e.sandbox.persistent?"永不过期":Iet(e.sandbox.expireAt,l)})]}):null]})]}),c.jsx("footer",{className:"my-agent-actions",children:e.draft?c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"my-agent-details","aria-label":o?`查看 ${e.name} 部署进度`:`编辑草稿 ${e.name}`,onClick:()=>o?u==null?void 0:u(o):d==null?void 0:d(e.draft),children:o?"查看进度":"编辑"}),c.jsx("button",{type:"button",className:"my-agent-delete","aria-label":`删除草稿 ${e.name}`,onClick:()=>f==null?void 0:f(e.draft),children:"删除"})]}):c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"my-agent-details",disabled:!m,"aria-label":o?`查看 ${e.name} 部署进度`:`查看 ${e.name} 详情`,onClick:()=>o?u==null?void 0:u(o):i==null?void 0:i(e),children:o?"查看进度":"查看详情"}),c.jsx("button",{type:"button",className:`my-agent-use${s?" is-connected":""}`,disabled:!m||r||s,"aria-busy":r||void 0,"aria-label":s?`${e.name} 已连接`:p?`唤醒 ${e.name}`:`使用 ${e.name}`,onClick:()=>void(n==null?void 0:n(e)),children:r?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"my-agent-use-spinner","aria-hidden":"true"}),c.jsx("span",{children:p?"唤醒中":"连接中"})]}):s?"已连接":p?"唤醒":"使用"})]})})]})}function Det({cloudProvider:e,canCreate:t,runtimeScope:n,onCreateAgent:i,onUseAgent:r,onViewAgentDetails:s,onCreateSandboxAgent:a,onUseSandboxAgent:o,onViewSandboxAgentDetails:l,sandboxRefreshKey:u=0,connectedRuntimeId:d="",hiddenRuntimeIds:f=Net,drafts:h=[],deploymentTasks:p=[],draftDeploymentTaskIds:m={},onViewDeploymentTask:g,onEditDraft:y,onDeleteDraft:b}){const S=O.useRef(null),x=O.useRef(null),v=O.useRef(0),E=O.useRef(0),w=O.useRef(null),[k,_]=O.useState("general"),[C,A]=O.useState(""),[R,j]=O.useState([]),[Q,L]=O.useState(""),[D,N]=O.useState(!0),[M,B]=O.useState(""),[$,I]=O.useState([]),[G,X]=O.useState(!1),[U,Y]=O.useState(""),[ae,fe]=O.useState(""),[ke,K]=O.useState(null),[ie,le]=O.useState(()=>Date.now()),ge=$.some(q=>{var oe;return((oe=q.sandbox)==null?void 0:oe.resourceType)==="session"&&q.sandbox.persistent===!1});O.useEffect(()=>{if(!ge)return;le(Date.now());const q=window.setInterval(()=>le(Date.now()),6e4);return()=>window.clearInterval(q)},[ge]);const Ee=O.useMemo(()=>h.map(jet),[h]),Ce=O.useMemo(()=>{const q=new Map,oe=new Map;for(const de of p){if(de.status!=="running"||(q.set(de.id,de),!de.runtimeId))continue;const Ie=oe.get(de.runtimeId);(!Ie||de.startedAt>Ie.startedAt)&&oe.set(de.runtimeId,de)}return{byId:q,byRuntimeId:oe}},[p]),_e=O.useCallback(q=>{var de;if(q.draft){const Ie=m[q.draft.id];return Ie?Ce.byId.get(Ie):void 0}const oe=(de=q.runtime)==null?void 0:de.runtimeId;return oe?Ce.byRuntimeId.get(oe):void 0},[Ce,m]),he=O.useCallback((q,oe)=>{const de=++v.current;return N(!0),B(""),Met(n,q,Ie=>{v.current===de&&j(ce=>oe?Ie:[...ce,...Ie])}).then(Ie=>{v.current===de&&L(Ie)}).catch(Ie=>{v.current===de&&B(Dm(Ie,"加载通用智能体","GET /web/runtimes"))}).finally(()=>{v.current===de&&N(!1)})},[n]);O.useEffect(()=>{if(k==="general")return j([]),L(""),he("",!0),()=>{v.current+=1}},[k,he]);const te=O.useCallback(async q=>{var Ie,ce;(Ie=w.current)==null||Ie.abort();const oe=new AbortController;w.current=oe;const de=++E.current;X(!0),Y(""),I([]);try{const Me=q==="codex"?await An.listSessions({signal:oe.signal}):await An.listAgentSessions(q,{signal:oe.signal});if(E.current!==de)return;I(Me.map(Pet))}catch(Me){if((Me==null?void 0:Me.name)==="AbortError"||E.current!==de)return;Y(Dm(Me,`加载 ${((ce=MC.find(Ye=>Ye.id===q))==null?void 0:ce.label)??q}`,`GET /web/${q==="codex"?"sandbox":q}/sessions`))}finally{w.current===oe&&(w.current=null),E.current===de&&X(!1)}},[]);function Te(q){var oe;q!==k&&(q==="general"?(v.current+=1,j([]),L(""),B(""),N(!0)):((oe=w.current)==null||oe.abort(),w.current=null,E.current+=1,I([]),Y(""),X(!0)),_(q))}O.useEffect(()=>{var q;if(k==="general"){(q=w.current)==null||q.abort(),w.current=null,E.current+=1;return}return te(k),()=>{var oe;(oe=w.current)==null||oe.abort(),w.current=null,E.current+=1}},[k,te,u]),O.useEffect(()=>{const q=x.current,oe=S.current;if(!q||!oe||k!=="general"||!Q||D)return;const de=new IntersectionObserver(([Ie])=>{Ie.isIntersecting&&he(Q,!1)},{root:oe,rootMargin:"240px 0px",threshold:.01});return de.observe(q),()=>de.disconnect()},[k,he,D,Q]);const me=O.useCallback(async q=>{if(!ae){fe(q.id);try{await new Promise(oe=>requestAnimationFrame(()=>oe())),q.sandbox?await o(q.sandbox):await r(q)}finally{fe("")}}},[ae,r,o]),Be=O.useMemo(()=>{const q=C.trim().toLocaleLowerCase(),oe=k==="general"?[...Ee,...R]:$,de=q?oe.filter(Me=>Me.name.toLocaleLowerCase().includes(q)):oe;if(k!=="general")return de;const Ie=f.size>0?de.filter(Me=>!Me.runtime||!f.has(Me.runtime.runtimeId)):de,ce=Ie.findIndex(Me=>{var Ye;return((Ye=Me.runtime)==null?void 0:Ye.runtimeId)===d});return ce<=0?Ie:[Ie[ce],...Ie.slice(0,ce),...Ie.slice(ce+1)]},[k,d,Ee,f,C,R,$]),je=MC.find(q=>q.id===k),Ue=(je==null?void 0:je.label)??"智能体",st=k==="general"?D&&R.length===0&&Ee.length===0:G&&$.length===0,ct=!st&&Be.length===0,Tt=t?k==="general"?()=>i(Ui(e)):()=>a(k):void 0,at=t?void 0:"当前账号没有创建智能体权限";return c.jsxs("div",{className:"my-agents-page",children:[c.jsxs("header",{className:"my-agents-header",children:[c.jsxs("div",{className:"my-agents-heading",children:[c.jsx("div",{className:"my-agents-title-row",children:c.jsx("h1",{children:"智能体"})}),c.jsx("p",{children:n==="all"?"在此处浏览所有智能体":"在此处浏览您的所有智能体"})]}),c.jsxs("label",{className:"my-agent-search",children:[c.jsx(Cet,{}),c.jsx("input",{type:"search","aria-label":"搜索智能体",value:C,onChange:q=>A(q.target.value),placeholder:"搜索所有类型智能体名称"})]})]}),c.jsxs("div",{className:"my-agent-type-bar",children:[c.jsx("nav",{className:"my-agent-type-pills","aria-label":"智能体类型",children:MC.map(q=>c.jsx("button",{type:"button",className:`my-agent-type-pill${k===q.id?" is-active":""}`,"aria-pressed":k===q.id,onClick:()=>Te(q.id),children:q.label},q.id))}),c.jsxs("button",{type:"button",className:"my-agent-create-primary",disabled:!Tt,title:at,onClick:()=>Tt==null?void 0:Tt(),children:[c.jsx(LC,{}),c.jsx("span",{children:"创建智能体"})]})]}),c.jsxs("section",{className:"my-agent-results",ref:S,"aria-label":`${Ue}列表`,children:[st?c.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),c.jsx("span",{children:"正在加载智能体"})]}):(k==="general"?M:U)&&Be.length===0?c.jsxs("div",{className:"my-agent-empty",role:"alert",children:[c.jsx("p",{children:k==="general"?M:U}),c.jsx("button",{type:"button",onClick:()=>{k==="general"?he("",!0):te(k)},children:"重新加载"})]}):ct?C.trim()?c.jsx("div",{className:"my-agent-empty-message",children:c.jsxs(li,{fill:"none",children:[c.jsx(li.Icon,{children:c.jsx(Dxe,{})}),c.jsx(li.Title,{children:"没有匹配的智能体"}),c.jsx(li.Description,{children:"请尝试搜索其他名称"})]})}):k!=="general"?c.jsx("div",{className:"my-agent-empty-message",children:c.jsxs(li,{fill:"none",children:[c.jsx(li.Icon,{children:c.jsx(Ret,{type:k})}),c.jsxs(li.Title,{className:"my-agent-sandbox-empty-title",children:["暂无 ",Ue]}),t?c.jsx(li.ActionRow,{children:c.jsxs(Wm,{color:"primary",size:"lg",onClick:()=>a(k),children:[c.jsx(LC,{}),"创建智能体"]})}):null]})}):c.jsx("div",{className:"my-agent-empty-message",children:c.jsxs(li,{fill:"none",children:[c.jsx(li.Icon,{children:c.jsx(hf,{})}),c.jsx(li.Title,{children:"暂无通用智能体"}),c.jsx(li.Description,{children:"创建一个通用智能体,开始构建和对话"}),t?c.jsx(li.ActionRow,{children:c.jsxs(Wm,{color:"primary",size:"lg",onClick:()=>i(Ui(e)),children:[c.jsx(LC,{}),"创建智能体"]})}):null]})}):c.jsxs(c.Fragment,{children:[k==="general"&&M?c.jsxs("div",{className:"my-agent-inline-error",role:"alert",children:[c.jsx("span",{children:M}),c.jsx("button",{type:"button",onClick:()=>void he("",!0),children:"重新加载"})]}):null,c.jsx("div",{className:"my-agent-grid",children:Be.map(q=>{var oe;return c.jsx(Let,{agent:q,cloudProvider:e,deploymentTask:_e(q),nowMs:ie,onViewDeploymentTask:g,onUse:me,onViewDetails:de=>{de.sandbox?l(de.sandbox):s(de)},connecting:q.id===ae,connected:((oe=q.runtime)==null?void 0:oe.runtimeId)===d,showOwnership:n==="all",onEditDraft:y,onDeleteDraft:K},q.id)})})]}),k==="general"&&!M&&!st&&(Be.length>0||!!Q)&&c.jsx("div",{className:"my-agent-load-more",ref:x,"aria-live":"polite",children:D?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),c.jsx("span",{children:"正在加载更多智能体"})]}):Q?c.jsx("span",{children:"继续下滑加载更多"}):c.jsx("span",{children:"已加载全部智能体"})})]}),ke?c.jsx($_,{title:"删除草稿?",description:`删除后将无法恢复“${ke.draft.name||"未命名 Agent"}”。`,confirmLabel:"删除草稿",variant:"danger",onCancel:()=>K(null),onConfirm:()=>{b==null||b(ke),K(null)}}):null]})}function $et(e){return e==="127.0.0.1"}const Qet={id:"coding-agents",kind:"coding-agent",category:"development",icon:"coding-agents",name:"配置 Coding Agents",badge:"本地",badgeTone:"success",description:"将 VeADK 和 AgentKit 内置 Skills 全局配置到 Trae、Claude Code 或 Codex。"},Bet={id:"feishu",kind:"feishu",category:"channels",icon:"feishu",name:"飞书机器人",badge:"Beta",description:"创建飞书机器人,并将消息直接接入 AgentKit Runtime。"},Uet="https://api.github.com",zet=/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/,$V=/^[A-Za-z0-9][A-Za-z0-9._/-]{0,199}$/,Fet=/^[A-Za-z0-9._/-]+$/;function Vet(e,t,n){return e===401||e===403?"GitHub Token 无效或没有仓库写入权限":e===404?"仓库、分支或文件不存在,或 Token 无权访问":e===422?"GitHub 拒绝了提交,请检查分支和文件状态":String((t==null?void 0:t.message)||"").split(n).join("***").trim().slice(0,240)||`GitHub 请求失败(HTTP ${e})`}async function Yf(e,t){const n={Accept:"application/vnd.github+json",Authorization:`Bearer ${t.token}`,"X-GitHub-Api-Version":"2022-11-28"};t.body&&(n["Content-Type"]="application/json");let i;try{i=await fetch(`${Uet}${e}`,{method:t.method||"GET",headers:n,body:t.body?JSON.stringify(t.body):void 0,signal:t.signal})}catch(s){throw t.signal.aborted?s:new Error("连接 GitHub 失败,请检查网络后重试")}const r=await i.json().catch(()=>null);if(!t.expected.includes(i.status))throw new Error(Vet(i.status,r,t.token));return{status:i.status,payload:r}}function DC(e){return e.split("/").map(encodeURIComponent).join("/")}function Xet(e){const t=new TextEncoder().encode(e);let n="";const i=32768;for(let r=0;r({...h,path:f3(h.path,"")})),s=AbortSignal.any([t,AbortSignal.timeout(6e4)]),a=`/repos/${n}`;await Yf(`${a}`,{token:e.token,expected:[200],signal:s});const l=(f=(await Yf(`${a}/git/ref/heads/${DC(i)}`,{token:e.token,expected:[200],signal:s})).payload.object)==null?void 0:f.sha;if(!l)throw new Error("目标分支缺少有效 Git SHA");const u=qet(e.branchPrefix);await Yf(`${a}/git/refs`,{token:e.token,expected:[201],signal:s,method:"POST",body:{ref:`refs/heads/${u}`,sha:l}});let d=!0;try{for(const p of r){const m=DC(p.path),g=await Yf(`${a}/contents/${m}?ref=${encodeURIComponent(i)}`,{token:e.token,expected:[200,404],signal:s});if(p.mustBeNew&&g.status===200)throw new Error(`目标仓库中已存在 ${p.path},未覆盖现有文件`);if(g.status===200&&!g.payload.sha)throw new Error(`目标路径 ${p.path} 不是可更新的文件`);await Yf(`${a}/contents/${m}`,{token:e.token,expected:[200,201],signal:s,method:"PUT",body:{message:p.commitMessage,content:Xet(p.content),branch:u,...g.payload.sha?{sha:g.payload.sha}:{}}})}const h=await Yf(`${a}/pulls`,{token:e.token,expected:[201],signal:s,method:"POST",body:{title:e.title,head:u,base:i,body:e.description}});if(!h.payload.number||!h.payload.html_url)throw new Error("GitHub 未返回有效的 Pull Request");return d=!1,{number:h.payload.number,url:h.payload.html_url,branch:u}}finally{d&&await Yf(`${a}/git/refs/heads/${DC(u)}`,{token:e.token,expected:[204],signal:AbortSignal.timeout(15e3),method:"DELETE"}).catch(()=>{})}}const p3={name:"repository",label:"GitHub Repo",placeholder:"owner/repository",help:"支持 owner/repository 或完整 github.com URL",required:!0},m3={name:"baseBranch",label:"目标分支",placeholder:"main",help:"留空时使用 main,PR 将以此分支为 base",required:!1},Ice={name:"runtimeName",label:"Runtime 名称",placeholder:"support-agent",help:"用于 AgentKit 发布配置",required:!0},Pce={name:"runtimeId",label:"Runtime ID",placeholder:"rt-xxxxxxxx",help:"持续更新的目标 AgentKit Runtime",required:!0};function g3(e={}){return{repository:"",baseBranch:"main",projectPath:".",runtimeName:"",runtimeId:"",sandboxToolId:"",modelName:"",modelBaseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3",region:"cn-beijing",token:"",...e}}function O3(e){return{repository:e.repository.trim(),baseBranch:e.baseBranch.trim()||"main",region:e.region,token:e.token.trim()}}const Het=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/,Yet=/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/;function Get(e){if(!Het.test(e.sandboxToolId))throw new Error("Sandbox Tool ID 格式不正确");if(!Yet.test(e.modelName))throw new Error("模型名称格式不正确");let t;try{t=new URL(e.modelBaseUrl)}catch{throw new Error("模型 API 地址必须是安全的 HTTPS URL")}if(t.protocol!=="https:"||!t.hostname||t.username||t.password||t.search||t.hash)throw new Error("模型 API 地址必须是安全的 HTTPS URL")}function Wet(e){Get(e);const t=String.raw`name: PR Automated Review "on": pull_request: @@ -821,7 +821,7 @@ jobs: gh pr review "__GH__ github.event.pull_request.number }}" \ --comment \ --body-file review-body.md -`,n={__GH__:"${{",__REGION__:JSON.stringify(e.region),__SANDBOX_TOOL_ID__:JSON.stringify(e.sandboxToolId),__MODEL_NAME__:JSON.stringify(e.modelName),__MODEL_BASE_URL__:JSON.stringify(e.modelBaseUrl)};return Object.entries(n).reduce((i,[r,s])=>i.split(r).join(s),t)}const Get={id:"review",kind:"github",category:"development",icon:"github",name:"PR 自动评审",description:"在隔离 Sandbox 中评审代码变更,并将结果发布到 Pull Request。",title:"PR 自动评审",subtitle:"在隔离 Sandbox 中检查代码变更并把结果发布到 Pull Request",panel:"工作流仅评审同仓库的非草稿 PR;fork PR 不会读取仓库 Secrets。",submitLabel:"添加评审并提交 PR",fields:[p3,m3,{name:"sandboxToolId",label:"Sandbox Tool ID",placeholder:"tool-xxxxxxxx",help:"用于运行每次评审的 AgentKit CodeEnv",required:!0},{name:"modelName",label:"评审模型",placeholder:"doubao-seed-code-preview",help:"注入 Sandbox 的代码评审模型名称",required:!0},{name:"modelBaseUrl",label:"模型 API 地址",placeholder:"https://ark.cn-beijing.volces.com/api/coding/v3",help:"必须使用 OpenAI 兼容的 HTTPS 地址",required:!0}],initialValues:g3(),regionHelp:"必须与 Sandbox Tool 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","CODEX_MODEL_API_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=O3(e);return h3({...n,files:[{path:".github/workflows/codex-pr-review.yml",content:Yet({sandboxToolId:e.sandboxToolId.trim(),modelName:e.modelName.trim(),modelBaseUrl:e.modelBaseUrl.trim(),region:n.region}),commitMessage:"chore: configure PR automated review"}],branchPrefix:"chore/pr-automated-review",title:"chore: 配置 PR 自动评审",description:"新增 GitHub Actions 工作流,在隔离 Sandbox 中评审同仓库 PR,并将结果发布为 GitHub Review。合并前请配置工作流所需 Secrets。"},t)}},Wet=/^[A-Za-z0-9_-]+$/,Ice=4,oM=64,QV="agent-runtime";function Pce(e){const t=e.trim();if(!t)return QV;let n=t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"").slice(0,oM);return n?(n.lengthoM?"Runtime 名称长度须为 4-64 个字符":null:"Runtime 名称只能包含英文字母、数字、下划线和连字符":"Runtime 名称为必填项"}const Ket=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;function Jet(e){const t=b3(e.runtimeName);if(t)throw new Error(t);if(!Ket.test(e.runtimeId))throw new Error("Runtime ID 格式不正确")}function jce(e){Jet(e);const t=`name: Publish to AgentKit Runtime +`,n={__GH__:"${{",__REGION__:JSON.stringify(e.region),__SANDBOX_TOOL_ID__:JSON.stringify(e.sandboxToolId),__MODEL_NAME__:JSON.stringify(e.modelName),__MODEL_BASE_URL__:JSON.stringify(e.modelBaseUrl)};return Object.entries(n).reduce((i,[r,s])=>i.split(r).join(s),t)}const Zet={id:"review",kind:"github",category:"development",icon:"github",name:"PR 自动评审",description:"在隔离 Sandbox 中评审代码变更,并将结果发布到 Pull Request。",title:"PR 自动评审",subtitle:"在隔离 Sandbox 中检查代码变更并把结果发布到 Pull Request",panel:"工作流仅评审同仓库的非草稿 PR;fork PR 不会读取仓库 Secrets。",submitLabel:"添加评审并提交 PR",fields:[p3,m3,{name:"sandboxToolId",label:"Sandbox Tool ID",placeholder:"tool-xxxxxxxx",help:"用于运行每次评审的 AgentKit CodeEnv",required:!0},{name:"modelName",label:"评审模型",placeholder:"doubao-seed-code-preview",help:"注入 Sandbox 的代码评审模型名称",required:!0},{name:"modelBaseUrl",label:"模型 API 地址",placeholder:"https://ark.cn-beijing.volces.com/api/coding/v3",help:"必须使用 OpenAI 兼容的 HTTPS 地址",required:!0}],initialValues:g3(),regionHelp:"必须与 Sandbox Tool 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","CODEX_MODEL_API_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=O3(e);return h3({...n,files:[{path:".github/workflows/codex-pr-review.yml",content:Wet({sandboxToolId:e.sandboxToolId.trim(),modelName:e.modelName.trim(),modelBaseUrl:e.modelBaseUrl.trim(),region:n.region}),commitMessage:"chore: configure PR automated review"}],branchPrefix:"chore/pr-automated-review",title:"chore: 配置 PR 自动评审",description:"新增 GitHub Actions 工作流,在隔离 Sandbox 中评审同仓库 PR,并将结果发布为 GitHub Review。合并前请配置工作流所需 Secrets。"},t)}},Ket=/^[A-Za-z0-9_-]+$/,jce=4,oM=64,QV="agent-runtime";function Mce(e){const t=e.trim();if(!t)return QV;let n=t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"").slice(0,oM);return n?(n.lengthoM?"Runtime 名称长度须为 4-64 个字符":null:"Runtime 名称只能包含英文字母、数字、下划线和连字符":"Runtime 名称为必填项"}const ett=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;function ttt(e){const t=b3(e.runtimeName);if(t)throw new Error(t);if(!ett.test(e.runtimeId))throw new Error("Runtime ID 格式不正确")}function Lce(e){ttt(e);const t=`name: Publish to AgentKit Runtime on: push: @@ -917,7 +917,7 @@ jobs: if not result.success: raise SystemExit(f"AgentKit publish failed: {result.error}") PY -`,n={__BASE_BRANCH__:JSON.stringify(e.baseBranch),__PROJECT_PATH__:JSON.stringify(e.projectPath),__RUNTIME_NAME__:JSON.stringify(e.runtimeName),__RUNTIME_ID__:JSON.stringify(e.runtimeId),__REGION__:JSON.stringify(e.region),__CONCURRENCY_GROUP__:JSON.stringify(`agentkit-runtime-${e.runtimeId}`)};return Object.entries(n).reduce((i,[r,s])=>i.split(r).join(s),t)}const ett={id:"delivery",kind:"github",category:"development",icon:"github",name:"AgentKit Runtime 持续交付",description:"为您的仓库添加持续交付到 AgentKit Runtime 的自动化工作流。",title:"AgentKit Runtime 持续交付",subtitle:"用 Pull Request 把持续发布配置安全地加入代码仓库",panel:"提交后将在目标仓库创建发布分支,并发起包含 GitHub Actions 工作流的 PR。",submitLabel:"确定并提交 PR",fields:[p3,m3,{name:"projectPath",label:"Agent 项目目录",placeholder:".",help:"留空时使用仓库根目录;目录内需包含挂载完整 Studio App Server 的 app.py",required:!1},Cce,Rce],initialValues:g3(),regionHelp:"必须与目标 Runtime 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=O3(e),i=f3(e.projectPath,".");return h3({...n,files:[{path:".github/workflows/publish-agentkit.yml",content:jce({baseBranch:n.baseBranch,projectPath:i,runtimeName:e.runtimeName.trim(),runtimeId:e.runtimeId.trim(),region:n.region}),commitMessage:"feat: publish Agent to AgentKit Runtime"}],branchPrefix:"feat/agentkit-release",title:"feat: 持续发布到 AgentKit Runtime",description:"新增 GitHub Actions 工作流,在目标分支更新时持续发布到 AgentKit Runtime。合并前请配置工作流所需的 Volcengine Secrets。"},t)}};function ttt(e,t){return e==="."?t:`${e}/${t}`}function ntt(e){return`.github/workflows/publish-agentkit-${e.replace(/[^A-Za-z0-9]+/g,"-").replace(/^-|-$/g,"").toLowerCase()||"root"}.yml`}function itt(e){return Object.fromEntries(Object.entries({"app.py":`"""__PROJECT_NAME__ — a VeADK agent with the full Studio App Server.""" +`,n={__BASE_BRANCH__:JSON.stringify(e.baseBranch),__PROJECT_PATH__:JSON.stringify(e.projectPath),__RUNTIME_NAME__:JSON.stringify(e.runtimeName),__RUNTIME_ID__:JSON.stringify(e.runtimeId),__REGION__:JSON.stringify(e.region),__CONCURRENCY_GROUP__:JSON.stringify(`agentkit-runtime-${e.runtimeId}`)};return Object.entries(n).reduce((i,[r,s])=>i.split(r).join(s),t)}const ntt={id:"delivery",kind:"github",category:"development",icon:"github",name:"AgentKit Runtime 持续交付",description:"为您的仓库添加持续交付到 AgentKit Runtime 的自动化工作流。",title:"AgentKit Runtime 持续交付",subtitle:"用 Pull Request 把持续发布配置安全地加入代码仓库",panel:"提交后将在目标仓库创建发布分支,并发起包含 GitHub Actions 工作流的 PR。",submitLabel:"确定并提交 PR",fields:[p3,m3,{name:"projectPath",label:"Agent 项目目录",placeholder:".",help:"留空时使用仓库根目录;目录内需包含挂载完整 Studio App Server 的 app.py",required:!1},Ice,Pce],initialValues:g3(),regionHelp:"必须与目标 Runtime 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=O3(e),i=f3(e.projectPath,".");return h3({...n,files:[{path:".github/workflows/publish-agentkit.yml",content:Lce({baseBranch:n.baseBranch,projectPath:i,runtimeName:e.runtimeName.trim(),runtimeId:e.runtimeId.trim(),region:n.region}),commitMessage:"feat: publish Agent to AgentKit Runtime"}],branchPrefix:"feat/agentkit-release",title:"feat: 持续发布到 AgentKit Runtime",description:"新增 GitHub Actions 工作流,在目标分支更新时持续发布到 AgentKit Runtime。合并前请配置工作流所需的 Volcengine Secrets。"},t)}};function itt(e,t){return e==="."?t:`${e}/${t}`}function rtt(e){return`.github/workflows/publish-agentkit-${e.replace(/[^A-Za-z0-9]+/g,"-").replace(/^-|-$/g,"").toLowerCase()||"root"}.yml`}function stt(e){return Object.fromEntries(Object.entries({"app.py":`"""__PROJECT_NAME__ — a VeADK agent with the full Studio App Server.""" from assistant import root_agent from veadk.integrations.agentkit import create_agentkit_app, run_agentkit_app @@ -1025,12 +1025,12 @@ __pycache__/ Dockerfile .dockerignore README.md -`}).map(([n,i])=>[n,i.split("__PROJECT_NAME__").join(e)]))}const rtt={id:"template",kind:"github",category:"development",icon:"github",name:"模板项目导入",description:"在您的仓库中创建一个可持续交付到 AgentKit Runtime 的最简智能体",title:"模板项目导入",subtitle:"把可直接启动 Studio 的 basic Agent 和持续交付配置加入仓库",panel:"提交后将创建一个 PR,同时导入 basic 项目和 AgentKit Runtime 发布工作流。",submitLabel:"导入模板并提交 PR",fields:[p3,m3,{name:"projectPath",label:"Agent 项目目录",placeholder:"agentkit-basic-agent",help:"将在此目录新增 basic 项目;app.py 挂载完整 Studio App Server,并作为服务入口启动",required:!0},Cce,Rce],initialValues:g3({projectPath:"agentkit-basic-agent"}),regionHelp:"必须与目标 Runtime 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=O3(e),i=Nce(n.repository),r=f3(e.projectPath,"agentkit-basic-agent"),s=r==="."?i.split("/").slice(-1)[0]||"agentkit-basic-agent":r.split("/").slice(-1)[0]||"agentkit-basic-agent",a=Object.entries(itt(s)).map(([o,l])=>({path:ttt(r,o),content:l,commitMessage:"feat: import AgentKit basic template",mustBeNew:!0}));return a.push({path:ntt(r),content:jce({baseBranch:n.baseBranch,projectPath:r,runtimeName:e.runtimeName.trim(),runtimeId:e.runtimeId.trim(),region:n.region}),commitMessage:"feat: add AgentKit Runtime delivery",mustBeNew:!0}),h3({...n,repository:i,files:a,branchPrefix:"feat/agentkit-basic-template",title:"feat: 导入 AgentKit basic 模板",description:"导入带有 AgentKit Studio App Server 的 basic Agent 项目,并添加持续发布到 AgentKit Runtime 的工作流。合并前请配置 Volcengine Secrets。"},t)}},BV=[{id:"development",label:"研发"},{id:"channels",label:"消息渠道"}],Mce=[Det,rtt,ett,Get,$et],stt=new Map(Mce.map(e=>[e.id,e]));function att(e){const t=stt.get(e);if(!t)throw new Error(`Unknown automation: ${e}`);return t}function ott(e){const t=att(e);if(t.kind!=="github")throw new Error(`Automation is not backed by GitHub: ${e}`);return t}const y3="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cimage%20width='48'%20height='48'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAH7UlEQVRoBdVZWWwbVRQ9492Onc1xTfaWLukq9oSqLKnYBZRSNgn6AagsAgmJRfzxg4SEEDtiER8IBKKAChK0FS1tKYWW0lZQKKV0gxCVJm3ikDiO17EdzrUzSdw4jj1OpeQqNzO237vvnHfvu/e9GWVwcBBDYue1mrqE2kI1UqeSJAnmIHUzNUCNUmGiKtQy6oPUR6geqnw/FSVOUH9R36KupfaDHnBQn6MGqEnqVJcEAfZTBbNL4b+lZPI1VbwwnaSfYO8z8N+TVMd0Qj6EVdbs3eIBP29cVFkL00kk+wSEwHAamgh9bDAJSQWTITZFnF+85J1tBPyOUC9OqqnsVdTIRkVBi70Msy125uriHJ8XAXFRfzKBTQM+rO0/hc54cSQE8iyzAx/XLcEltjIU44uCQijOaHvPfxIv97TjWCzEcMo7+sZ4TGa+2V6KT2rPQ73ZptsPBZE30fVrymvxTvUCtDoqYC0ijhMk/3MkgDd62xFheOqVggjIIAbOVaujEh/ULsaNzioUsxhVAv/A34GD0YBubxZMQJupWpMNr58zHytcHth1ekICsDcRx4u+fxBK6vOCbgKyEIXEK975WOmaoZuErKv1QR8ORQd0eUE3Ac0TNSYrXvI24fZSLxwGfebiDKW3e08gln9J0oYvKoMNG6kmiRdmzMOtTi8sOsJJJfANA93oiseGbeZ7k1EHZAKCEcApu4wCxUsSz3rm4HQiim3B/wpOsBJA2yP/4cZIJYIBFcGwCjWeSKEwm4wosZtR7rKizGXJQJZRB1TuttftAprnAbOrM9rl9UHqwg+s1o+eOow/GNN5CaPOklSgdKq4us+Ji7pt6Dw1AF9vBOGImjJht5lRVWFDY7UL58/3wOt2YPEcN2xWVpPRe6EQC+y9rwINPNKsuRaYX5cXhIxGkks+Y7V+6vQRdLBi5yx1bGwicFebivj+ARgOhZGMJMFyQyWpoV2GRIa2ZXOX2bDyqnPxzEPNKC+1Zj957eDBTbz34PXAwvoMfBN+kGV8Bxf00VgQz/vaEB6nSCnRQVj2h2DZG4TyZwQWlSils3m8RDDEhk2uaqlHaYklVb3Ha42dh4B3eMzZ//eEmMc0kGL3cEU9WksqU4XvzAYKZ9n6fQCOz3thORCGkhgCf2bDMz4bjQpW39yE65Y1QO5FxiUgP+76E3hzI7D1VyBcwP5NTFcZzXjaPRMNZmvGPkfA23YMwLHRD0Mf3ZwTgaBIi8GgYMGsSjx2z3kEP9Jp5E5rOeoqQH75C3htPfDpD4CskXxFvHC5vQKPVjSwPqQfcKTAfxuA/Ws/lBAXwEhUTGjWSAL3r1qYykSju+UkIFbZDx09wPvb0iH1W9uEYw03MHAV3ltew1CqgDkyCNtWgt/cnwY/3GriG5n9hbMrccNljRmzLz0nJCCNJBsEwsCH24E3NgDr96brhfyWS2Sm3EYLVsOL0i0DsG8h+LDkqcLExHhfc9siVDDrjJ59sZJRyHKZFRKybiSkTtIjR08CrXwEdtGcXL2A4+192LOuDeatfqg6wMvsL5lbhWuWysIdO995E9BgSkh19THX7wQOtANXLgKWLQSaarUWI9dNP7bjo68OY9uef6GqhcW8ZkViX2a/nBWYQ4+RggmIBfFGnHgOcD0c7wD2HgOW0xuXk0xN5SDaOwL4cnsb1m05joPHejKK0hgEOb4Q8Muba3H1pXUwZZl96aqLgHSU2RCbEe6/9hzh875OYPdhYF5NDLt/Oohd+46gNxBjm2zzJhZyi/RyV5TggdsvRJnTOm5j3QQ0i9ra6OHj1u9+B/YdNcLXVQdDmYNPy9oZ971IcIPHjUHadVrHHFfZNphtTtx508W4eJEHsg7Gk6IJaIZlDEn3EdUEl7sBg4la2MtqkYgNIOz/F9FgF6IhX6p5mozcjgbGasw/xWCCs7IeN7U24b4VddwZj26jjTZynTQCmknxSBqIETanh7ceWEpmpIiokT7E6JFosBvxaD/iJCeNDQYzTFYnzHY3SsobmfM9eOyucjTO0KyOf510AqOHkl2kiMlSQoAlsPLAk4hHSCaIJMMqmUgfYBQeggxGK4xmOxprXHh8lYK51em+E/0/qwQyBh8iY+Q52pjlOZD8XFcFPHELcGlT3stlbBaymtOROTReBoZJ+0DjZ9pv4SFq9fL0YWqcjJl1+AwP8OSGS+amq6y4P/fyyWqvoC9lDAG7ainPEJcBs7xMBGOLbU6bGQTMJHAnDUlG2biPFZevEM4GCZl9sSsnPgG+bAHfa+l8vZJxpNSo+oPp/c4XP6bPBN0kog2qtdFz1WzIkfXmZuAKVm6JewlbvZKVgGZMilMPwW9ngdr5B3CEG7iEbCY5ffl6RgPtYDGdybS4ogW4YDbgLefTD5s2kv5rTgKaWdlKi1fau4BDJ3jM5I70NDd0J7grzfZEUMg5CM5Tmg4TiW3ZtVYxTKpcgM2iWS7+mhcBbRiZ/TBTd4jPjtSEVF3AxxdUPgkxTrUUMTcBykKUmLZwhQlYPhWBeCBV5DRjk3QtiEC2McUDsjPVCEhWEQ8Umk2y2c7nOyEwrV/ySdbdQo3nw3aKtRHM3wiBtVQu02knISJ+SQh8Q32TyqTJJ6xTXyQzyzb2LeoBWQOy5pjwcDf1YSqzNIooLex99kTCppsq4N+l+oUArylhoku9sb+O18VU8c5UEiZu7KGyrKKTmgr7/wGxhy03aZIycwAAAABJRU5ErkJggg=='%20/%3e%3c/svg%3e";function Lce(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...e,children:c.jsx("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91 .58 .11 .79-.25.79-.56v-2.02c-3.2.7-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.69-1.28-1.69-1.05-.72.08-.7.08-.7 1.16.08 1.77 1.19 1.77 1.19 1.03 1.77 2.71 1.26 3.37.96.1-.75.4-1.26.73-1.55-2.56-.29-5.25-1.28-5.25-5.7 0-1.26.45-2.29 1.19-3.1-.12-.29-.52-1.47.11-3.06 0 0 .97-.31 3.16 1.18A10.98 10.98 0 0 1 12 6.11c.98 0 1.96.13 2.87.39 2.19-1.49 3.16-1.18 3.16-1.18.63 1.59.23 2.77.11 3.06.74.81 1.19 1.84 1.19 3.1 0 4.43-2.7 5.4-5.27 5.69.42.36.78 1.06.78 2.14v3.04c0 .31.21.67.8.56A11.51 11.51 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})}function UV(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),c.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function ltt(e){return c.jsxs("svg",{viewBox:"0 0 36 36",fill:"none","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"5",width:"18",height:"18",rx:"5",fill:"currentColor",opacity:"0.1"}),c.jsx("rect",{x:"3.5",y:"5",width:"18",height:"18",rx:"5",stroke:"currentColor",strokeWidth:"1.6"}),c.jsx("path",{d:"m9.2 11.2-2.8 2.7 2.8 2.7M12.1 17.4h4.3",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("circle",{cx:"26.5",cy:"12",r:"3",fill:"hsl(var(--background))",stroke:"currentColor",strokeWidth:"1.6"}),c.jsx("circle",{cx:"27",cy:"26.5",r:"3",fill:"hsl(var(--background))",stroke:"currentColor",strokeWidth:"1.6"}),c.jsx("path",{d:"M21.5 12h2M19.3 21l5.6 3.8M27 15v8.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}function ctt({onOpen:e}){var u;const[t,n]=O.useState("development"),[i,r]=O.useState(""),s=O.useDeferredValue(i),a=O.useMemo(()=>{const d=s.trim().toLocaleLowerCase();return Mce.filter(f=>f.category===t).filter(f=>!d||`${f.name} ${f.description}`.toLocaleLowerCase().includes(d))},[t,s]),o=(u=BV.find(d=>d.id===t))==null?void 0:u.label,l=Let(window.location.hostname);return c.jsxs("div",{className:"applications-page",children:[c.jsxs("header",{className:"applications-header",children:[c.jsxs("div",{children:[c.jsx("h1",{children:"自动化"}),c.jsx("p",{children:"连接研发工具,为智能体扩展自动化工作流"})]}),c.jsxs("label",{className:"applications-search",children:[c.jsx(UV,{}),c.jsx("input",{type:"search","aria-label":"搜索自动化",value:i,onChange:d=>r(d.target.value),placeholder:"搜索自动化"})]})]}),c.jsx("nav",{className:"applications-categories","aria-label":"自动化分类",children:BV.map(d=>c.jsx("button",{type:"button",className:t===d.id?"is-active":"","aria-pressed":t===d.id,onClick:()=>n(d.id),children:d.label},d.id))}),c.jsx("section",{className:"applications-results","aria-label":`${o}自动化列表`,children:a.length?c.jsx("div",{className:"applications-grid",children:a.map(d=>{const f=d.id==="coding-agents"&&!l,h=f?"coding-agents-local-only-tooltip":void 0;return c.jsxs("div",{className:`application-card-wrap${f?" is-disabled":""}`,tabIndex:f?0:void 0,"aria-describedby":h,children:[c.jsxs("button",{type:"button",className:"application-card",onClick:()=>e(d.id),"aria-label":`打开${d.name}`,disabled:f,children:[d.icon==="feishu"?c.jsx("img",{className:"application-card-icon application-card-brand-icon",src:y3,alt:"","aria-hidden":"true"}):d.icon==="coding-agents"?c.jsx(ltt,{className:"application-card-icon"}):c.jsx(Lce,{className:"application-card-icon"}),c.jsxs("div",{className:"application-card-copy",children:[c.jsxs("div",{className:"application-card-title",children:[c.jsx("h2",{children:d.name}),d.badge?c.jsx("span",{className:`application-card-badge is-${d.badgeTone||"default"}`,children:d.badge}):null]}),c.jsx("p",{children:d.description})]})]}),f?c.jsx("span",{id:h,className:"application-card-tooltip",role:"tooltip",children:"仅本地部署可用"}):null]},d.id)})}):c.jsxs("div",{className:"applications-empty",role:"status",children:[c.jsx(UV,{}),c.jsx("h2",{children:"没有匹配的自动化"}),c.jsx("p",{children:"请尝试搜索其他名称"})]})})]})}const utt={volcengine:"https://console.volcengine.com",byteplus:"https://console.byteplus.com"};function bx(e){return e.trim()}function x3(e){return utt[e]}function dtt(e){const t=bx(e);if(!t)return null;let n=t;try{n=new URL(t.includes("://")?t:`https://${t}`).hostname}catch{return null}const i=n.match(/^(.+)\.tos-([a-z0-9-]+)\.(?:volces|bytepluses)\.com$/i);return i?{bucket:i[1],region:i[2]}:null}function ftt(e,t){const n=dtt(t);if(!n)return null;const i=new URLSearchParams({id:n.bucket,region:n.region,type:"objects"});return`${x3(e)}/tos/bucket/setting?${i.toString()}`}function htt(e,t,n){const i=bx(t),r=bx(n);return!i||!r?null:`${x3(e)}/agentkit/region:agentkit+${encodeURIComponent(i)}/builtintools/${encodeURIComponent(r)}/detail`}function ptt(e,t,n){const i=bx(t),r=bx(n);return!i||!r?null:`${x3(e)}/identity/region:identity+${encodeURIComponent(i)}/user-pools/${encodeURIComponent(r)}/info`}function $C({href:e,label:t,children:n}){return e?c.jsxs("a",{className:"system-info-resource-link",href:e,target:"_blank",rel:"noreferrer","aria-label":t,title:t,children:[c.jsx("span",{children:n}),c.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[c.jsx("path",{d:"M7.75 5.25h-2.5a1.5 1.5 0 0 0-1.5 1.5v8a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5v-2.5"}),c.jsx("path",{d:"M10.25 3.75h6v6M16 4 9 11"})]})]}):c.jsx("span",{children:n})}function mtt(e){return e instanceof Error&&e.message.includes("Volcengine credentials not found")}function gtt({version:e,localMode:t,role:n,provider:i,region:r}){const s=n==="admin",[a,o]=O.useState(""),[l,u]=O.useState([]),[d,f]=O.useState([]),[h,p]=O.useState(!0),[m,g]=O.useState(""),[y,b]=O.useState(!0),[S,x]=O.useState(""),[v,E]=O.useState(0),[w,k]=O.useState(0);return O.useEffect(()=>{if(!s){o(""),u([]),p(!1),g("");return}const _=new AbortController;return p(!0),g(""),rK(_.signal).then(C=>{o(C.storage.tosAddress),u(C.sandboxTools)}).catch(C=>{(C==null?void 0:C.name)!=="AbortError"&&g(C instanceof Error?C.message:String(C))}).finally(()=>{_.signal.aborted||p(!1)}),()=>_.abort()},[s,v]),O.useEffect(()=>{if(!s){f([]),b(!1),x("");return}const _=new AbortController;return b(!0),x(""),RD(_.signal).then(C=>{f(C.filter(A=>A.isCurrent))}).catch(C=>{if((C==null?void 0:C.name)!=="AbortError"){if(t&&mtt(C)){f([]);return}x(C instanceof Error?C.message:String(C))}}).finally(()=>{_.signal.aborted||b(!1)}),()=>_.abort()},[s,t,w]),c.jsxs("div",{className:"system-info-page",children:[c.jsxs("header",{className:"system-info-page-header",children:[c.jsx("h1",{children:"系统信息"}),c.jsx("p",{children:"查看当前 Studio 版本及关联的基础资源"})]}),c.jsxs("div",{className:"system-info-scroll",children:[c.jsxs("section",{className:"system-info-section","aria-labelledby":"studio-info-title",children:[c.jsx("h2",{id:"studio-info-title",children:"通用"}),c.jsx("dl",{className:"system-info-summary",children:c.jsxs("div",{children:[c.jsx("dt",{children:"当前版本"}),c.jsx("dd",{children:e||"—"})]})})]}),s?c.jsxs(c.Fragment,{children:[c.jsxs("section",{className:"system-info-section","aria-labelledby":"storage-info-title",children:[c.jsx("h2",{id:"storage-info-title",children:"存储"}),h?c.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:c.jsx(hs,{as:"span",children:"正在加载存储信息"})}):m?c.jsxs("div",{className:"system-info-error",role:"alert",children:[c.jsx("p",{children:m}),c.jsx("button",{type:"button",onClick:()=>E(_=>_+1),children:"重新加载"})]}):c.jsx("dl",{className:"system-info-summary",children:c.jsxs("div",{className:"system-info-resource-row",children:[c.jsx("dt",{children:"TOS 地址"}),c.jsx("dd",{className:`system-info-resource-value${a?"":" is-empty"}`,children:c.jsx($C,{href:ftt(i,a),label:"在云控制台中打开 TOS 存储桶",children:a||"未配置"})})]})})]}),c.jsxs("section",{className:"system-info-section","aria-labelledby":"sandbox-tool-title",children:[c.jsx("h2",{id:"sandbox-tool-title",children:"沙箱信息"}),h?c.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:c.jsx(hs,{as:"span",children:"正在加载沙箱信息"})}):m?c.jsxs("div",{className:"system-info-error",role:"alert",children:[c.jsx("p",{children:m}),c.jsx("button",{type:"button",onClick:()=>E(_=>_+1),children:"重新加载"})]}):c.jsx("div",{className:"system-info-tool-list",children:l.map(_=>c.jsx("dl",{className:"system-info-tool",children:c.jsxs("div",{className:"system-info-resource-row",children:[c.jsxs("dt",{className:"system-info-tool-label",children:[c.jsx("span",{children:_.label}),_.snapshot?c.jsx("span",{className:"system-info-tool-badge",children:"快照版"}):null]}),c.jsx("dd",{className:`system-info-resource-value${_.toolId?"":" is-empty"}`,children:c.jsx($C,{href:htt(i,r,_.toolId),label:`在云控制台中打开${_.label}`,children:_.toolId||"未配置"})})]})},_.kind))})]}),c.jsxs("section",{className:"system-info-section","aria-labelledby":"user-pool-title",children:[c.jsx("h2",{id:"user-pool-title",children:"用户池"}),y?c.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:c.jsx(hs,{as:"span",children:"正在加载用户池"})}):S?c.jsxs("div",{className:"system-info-error",role:"alert",children:[c.jsx("p",{children:S}),c.jsx("button",{type:"button",onClick:()=>k(_=>_+1),children:"重新加载"})]}):d.length>0?c.jsx("div",{className:"system-info-pool-list",children:d.map(_=>c.jsxs("dl",{className:"system-info-pool",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"名称"}),c.jsx("dd",{className:"system-info-resource-value",children:c.jsx($C,{href:ptt(i,_.region||r,_.uid),label:`在云控制台中打开用户池${_.name?`“${_.name}”`:""}`,children:_.name||"未命名用户池"})})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"ID"}),c.jsx("dd",{children:_.uid||"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"域名"}),c.jsx("dd",{children:_.domain||"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"区域"}),c.jsx("dd",{children:_.region||"—"})]})]},_.uid))}):c.jsx("p",{className:"system-info-empty",children:t?"本地模式未配置用户池":"当前 Studio 未配置用户池"})]})]}):null]})]})}function Ott(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m9.8 3.5-4.5 4.5 4.5 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function btt({hidden:e,...t}){return c.jsxs("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[c.jsx("path",{d:"M2.5 10s2.6-4 7.5-4 7.5 4 7.5 4-2.6 4-7.5 4-7.5-4-7.5-4Z"}),c.jsx("circle",{cx:"10",cy:"10",r:"1.8"}),e?c.jsx("path",{d:"m4 4 12 12"}):null]})}function zV(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"M6.5 4H4.8A1.8 1.8 0 0 0 3 5.8v5.4A1.8 1.8 0 0 0 4.8 13h5.4a1.8 1.8 0 0 0 1.8-1.8V9.5M9 3h4v4M12.5 3.5 7.2 8.8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function ytt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m4 6 4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function xtt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6.2",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function QC(e,t,n){const i=t.trim();if(!i)return n?"此项不能为空":"";if(e==="repository"&&!/^(?:https:\/\/github\.com\/)?[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:\.git)?$/.test(i))return"请输入 owner/repository 或完整 GitHub Repo URL";if(e==="baseBranch"&&(!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(i)||i.includes("..")))return"目标分支格式不正确";if(e==="projectPath"&&(i.startsWith("/")||i.split("/").includes("..")))return"请输入仓库内的相对目录";if(e==="runtimeName")return b3(i)??"";if(e==="runtimeId"&&!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(i))return"Runtime ID 格式不正确";if(e==="sandboxToolId"&&!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(i))return"Sandbox Tool ID 格式不正确";if(e==="modelName"&&!/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/.test(i))return"模型名称格式不正确";if(e==="modelBaseUrl")try{const r=new URL(i);if(r.protocol!=="https:"||r.username||r.password||r.search||r.hash)return"请输入不含凭据、查询参数或锚点的 HTTPS 地址"}catch{return"请输入有效的 HTTPS 地址"}return""}function Stt({automation:e,onBack:t}){const n=ott(e),[i,r]=O.useState(()=>({...n.initialValues})),[s,a]=O.useState({}),[o,l]=O.useState(""),[u,d]=O.useState(!1),[f,h]=O.useState(!1),[p,m]=O.useState(!1),[g,y]=O.useState(null),b=O.useRef(null);O.useEffect(()=>()=>{var k;return(k=b.current)==null?void 0:k.abort()},[]);const S=(k,_)=>{r(C=>({...C,[k]:_})),s[k]&&a(C=>({...C,[k]:""}))},x=k=>{var A;const _=k==="token"||((A=n.fields.find(R=>R.name===k))==null?void 0:A.required)===!0,C=QC(k,i[k],_);a(R=>({...R,[k]:C}))},v=async k=>{var R;k.preventDefault();const _={};for(const j of n.fields){const Q=QC(j.name,i[j.name],j.required);Q&&(_[j.name]=Q)}const C=QC("token",i.token,!0);if(C&&(_.token=C),a(_),Object.keys(_).length)return;(R=b.current)==null||R.abort();const A=new AbortController;b.current=A,d(!0),l(""),y(null);try{const j=await n.submit(i,A.signal);if(b.current!==A)return;y(j),r(Q=>({...Q,token:""}))}catch(j){if(A.signal.aborted||b.current!==A)return;l(j instanceof Error?j.message:String(j))}finally{b.current===A&&(b.current=null,d(!1))}},E=k=>{k.key==="Enter"&&(k.nativeEvent.isComposing||k.nativeEvent.keyCode===229)&&k.preventDefault()},w=k=>{const{name:_,label:C,placeholder:A,help:R,required:j}=k;return c.jsxs("div",{className:"github-field",children:[c.jsxs("label",{htmlFor:`github-${_}`,children:[c.jsx("span",{children:C}),c.jsx("span",{className:`github-field-requirement${j?" is-required":""}`,children:j?"必填":"可选"})]}),c.jsx("input",{id:`github-${_}`,value:i[_],onChange:Q=>S(_,Q.target.value),onBlur:()=>x(_),placeholder:A,required:j,"aria-invalid":!!s[_],"aria-describedby":`github-${_}-help${s[_]?` github-${_}-error`:""}`}),c.jsx("span",{id:`github-${_}-help`,className:"github-field-help",children:R}),s[_]?c.jsx("span",{id:`github-${_}-error`,className:"github-field-error",role:"alert",children:s[_]}):null]},_)};return c.jsxs("div",{className:"github-integration-page",children:[c.jsxs("header",{className:"github-integration-header",children:[c.jsx("button",{type:"button",className:"github-back",onClick:t,"aria-label":"返回自动化列表",children:c.jsx(Ott,{})}),c.jsx(Lce,{className:"github-integration-logo"}),c.jsxs("div",{children:[c.jsx("h1",{children:n.title}),c.jsx("p",{children:n.subtitle})]})]}),c.jsx("div",{className:"github-integration-layout",children:c.jsxs("section",{id:`github-panel-${e}`,className:"github-section-panel",children:[c.jsx("div",{className:"github-panel-heading",children:c.jsx("p",{children:n.panel})}),c.jsxs("form",{className:"github-release-form",onSubmit:v,onKeyDown:E,noValidate:!0,children:[c.jsxs("div",{className:"github-field-grid",children:[n.fields.map(w),c.jsxs("div",{className:"github-field",children:[c.jsxs("label",{id:"github-region-label",children:[c.jsx("span",{children:"地域"}),c.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),c.jsxs("div",{className:"pp-network-region github-region-picker",onKeyDown:k=>{k.key==="Escape"&&m(!1)},children:[c.jsxs("button",{type:"button",className:"pp-region-trigger","aria-labelledby":"github-region-label","aria-haspopup":"listbox","aria-expanded":p,onClick:()=>m(k=>!k),children:[c.jsx("span",{children:i.region==="cn-shanghai"?"华东 2(上海)":"华北 2(北京)"}),c.jsx(ytt,{className:`pp-region-chevron${p?" is-open":""}`})]}),p?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>m(!1)}),c.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"地域",children:[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}].map(k=>{const _=k.value===i.region;return c.jsxs("button",{type:"button",role:"option","aria-selected":_,className:`pp-region-option${_?" is-selected":""}`,onClick:()=>{S("region",k.value),m(!1)},children:[c.jsx("span",{children:k.label}),_?c.jsx(xtt,{}):null]},k.value)})})]}):null]}),c.jsx("span",{className:"github-field-help",children:n.regionHelp})]})]}),c.jsxs("div",{className:"github-field github-token-field",children:[c.jsxs("div",{className:"github-token-label-row",children:[c.jsxs("label",{htmlFor:"github-token",children:[c.jsx("span",{children:"GitHub Token"}),c.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),c.jsxs("a",{href:"https://github.com/settings/personal-access-tokens/new?name=VeADK%20Studio&description=Create%20a%20GitHub%20automation%20pull%20request&contents=write&pull_requests=write",target:"_blank",rel:"noreferrer",children:["获取 Token",c.jsx(zV,{})]})]}),c.jsxs("div",{className:"github-token-input",children:[c.jsx("input",{id:"github-token",type:f?"text":"password",value:i.token,onChange:k=>S("token",k.target.value),onBlur:()=>x("token"),autoComplete:"off",required:!0,placeholder:"需要仓库 Contents 与 Pull requests 写权限","aria-invalid":!!s.token,"aria-describedby":`github-token-help${s.token?" github-token-error":""}`}),c.jsx("button",{type:"button",onClick:()=>h(k=>!k),"aria-label":f?"隐藏 Token":"显示 Token",title:f?"隐藏 Token":"显示 Token",children:c.jsx(btt,{hidden:f})})]}),c.jsx("span",{id:"github-token-help",className:"github-field-help",children:"Token 仅用于本次提交,不会保存在浏览器或写入 PR"}),s.token?c.jsx("span",{id:"github-token-error",className:"github-field-error",role:"alert",children:s.token}):null]}),o?c.jsx("div",{className:"github-submit-message is-error",role:"alert",children:o}):null,g?c.jsxs("div",{className:"github-submit-message is-success",role:"status",children:[c.jsxs("span",{children:["PR #",g.number," 已创建"]}),c.jsxs("a",{href:g.url,target:"_blank",rel:"noreferrer",children:["在 GitHub 查看",c.jsx(zV,{})]})]}):null,c.jsxs("div",{className:"github-form-actions",children:[c.jsxs("div",{className:"github-secrets-note",children:[c.jsx("strong",{children:"合并 PR 前,请在仓库的 GitHub Actions Secrets 中配置:"}),n.secrets.map(k=>c.jsx("span",{children:k},k))]}),c.jsx("button",{type:"submit",disabled:u,children:u?"提交 PR 中…":n.submitLabel})]})]})]})})]})}const vtt=1050062,wtt="1.0",Ett="https://lf-static.applogcdn.com/obj/applog-sdk-static/log-sdk/collect/5/collect.js";class ktt{constructor(){Qa(this,"enabled",!1);Qa(this,"initialized",!1);Qa(this,"pending",[]);Qa(this,"userUniqueId","");Qa(this,"initPromise")}init(t){return this.enabled=t.enabled,this.enabled?this.initPromise?this.initPromise:(this.initPromise=Promise.resolve().then(()=>{const n=this.bootstrapCollector();n("init",{app_id:vtt,channel:"cn",disable_auto_pv:1}),this.userUniqueId&&n("config",{user_unique_id:this.userUniqueId}),n("config",{_staging_flag:t.environment==="prod"?0:1}),n("start"),this.initialized=!0;const i=this.pending;this.pending=[];for(const[r,s]of i)this.collect(r,s)}),this.initPromise):(this.pending=[],Promise.resolve())}identify(t){this.userUniqueId=t,this.initialized&&this.collect("config",{user_unique_id:t})}emit(t,n){if(this.enabled){if(this.initialized){this.collect(t,n);return}this.pending=[...this.pending.slice(-49),[t,n]]}}bootstrapCollector(){if(window.collectEvent)return window.collectEvent;window.LogAnalyticsObject="collectEvent";const t=function(){var r;(r=t.q)==null||r.push(arguments)};t.q=[],t.l=Date.now(),window.collectEvent=t;const n=document.createElement("script");return n.async=!0,n.src=Ett,n.onerror=()=>{this.enabled=!1,t.q=[],console.warn("[telemetry] TEA SDK script failed to load")},document.head.appendChild(n),t}collect(t,n){var i;(i=window.collectEvent)==null||i.call(window,t,n)}}function Ttt(e){if(typeof e!="string"&&typeof e!="number")return;const t=String(e).trim();return/^[A-Za-z0-9_.:-]{1,64}$/.test(t)?t:void 0}function qc(e,t){return t===void 0?{errorKind:e}:{errorKind:e,errorCode:t}}function ya(e,t={}){const n=e!==null&&typeof e=="object"?e:{},i=Ttt(n.code),r=typeof n.name=="string"?n.name:"";if(r==="RuntimeProbeError")return qc("runtime_probe_error",i);if(r==="AbortError")return qc("abort",i);if(r==="RuntimeAccessDeniedError"||r==="AuthError")return qc("auth",i);if(t.phase==="build")return qc("build_failed",i);if(r==="TimeoutError")return qc("timeout",i);if(r==="NetworkError"||r==="TypeError")return qc("network",i);if(r==="ValidationError")return qc("validation",i);if(r==="ServerError")return qc("server",i);const s=typeof n.status=="number"&&Number.isInteger(n.status)?n.status:void 0;if(s===void 0||s<400||s>599)return qc("unknown",i);const a=String(s);return s===401||s===403?{errorKind:"auth",errorCode:a}:s===400||s===409||s===422?{errorKind:"validation",errorCode:a}:s>=500?{errorKind:"server",errorCode:a}:{errorKind:"unknown",errorCode:a}}const _tt=["schema_version","event_id","operation_id","user_pool_id","studio_deploy_id","vefaas_application_id","vefaas_function_id","studio_region","studio_project","studio_version","environment","cloud_provider","user_role","user_source","page_instance_id"],Att={studio_session_started:["agents_source"],studio_agent_deploy:["status","agent_id","deploy_action","deploy_source","create_mode","ai_assisted","deploy_region","runtime_network_type","feishu_enabled","runtime_id","duration_ms","failed_phase","error_kind","error_code"],studio_sandbox_create:["status","sandbox_kind","sandbox_source","sandbox_id","duration_ms","error_kind","error_code"],studio_agent_debug:["status","agent_id","variant_type","debug_run_id","duration_ms","failed_phase","error_kind","error_code"],studio_agent_connect:["status","target_id","agent_kind","connect_source","runtime_region","runtime_is_mine","sandbox_status","duration_ms","error_kind","error_code"],studio_agent_message:["status","agent_id","agent_kind","message_source","session_state","session_id","duration_ms","failed_phase","error_kind","error_code"],studio_agent_source_download:["status","agent_id","deploy_action","deploy_source","create_mode","ai_assisted","duration_ms","file_count","zip_size_bytes","error_kind","error_code"]};function Ntt(e){return typeof e=="string"||typeof e=="number"&&Number.isFinite(e)}function Ctt(e,t){const n=new Set([..._tt,...Att[e]]),i={};for(const[r,s]of Object.entries(t))!n.has(r)||!Ntt(s)||(i[r]=typeof s=="string"?s.slice(0,256):s);return i}function Rtt(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}function Itt(){return typeof performance<"u"?performance.now():Date.now()}function LO(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}class Ptt{constructor(t){Qa(this,"sink");Qa(this,"createId");Qa(this,"now");Qa(this,"pageInstanceId");Qa(this,"context");Qa(this,"identity");Qa(this,"sessionStarted",!1);this.sink=t.sink,this.createId=t.createId??Rtt,this.now=t.now??Itt,this.pageInstanceId=this.createId()}setContext(t){this.context=t}identify(t){var i,r;const n=t.userUniqueId.trim();n&&(this.identity&&this.identity.userUniqueId!==n&&(this.pageInstanceId=this.createId(),this.sessionStarted=!1),this.identity={...t,userUniqueId:n},(r=(i=this.sink).identify)==null||r.call(i,n))}trackStudioSessionStarted(t){this.sessionStarted||!this.context||!this.identity||(this.sessionStarted=!0,this.emit("studio_session_started",{agents_source:t.agentsSource}))}beginAgentDeploy(t){return this.beginOperation("studio_agent_deploy",{agent_id:t.agentId,deploy_action:t.deployAction,deploy_source:t.deploySource,create_mode:t.createMode,ai_assisted:t.aiAssisted,deploy_region:t.deployRegion,runtime_network_type:t.runtimeNetworkType,feishu_enabled:t.feishuEnabled},n=>({runtime_id:n.runtimeId}),n=>({failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginSandboxCreate(t){return this.beginOperation("studio_sandbox_create",{sandbox_kind:t.sandboxKind,sandbox_source:t.sandboxSource},n=>({sandbox_id:n.sandboxId}),n=>({error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentDebug(t){return this.beginOperation("studio_agent_debug",{agent_id:t.agentId,variant_type:t.variantType},n=>({debug_run_id:n.debugRunId}),n=>({failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentConnect(t){return this.beginOperation("studio_agent_connect",{target_id:t.targetId,agent_kind:t.agentKind,connect_source:t.connectSource},n=>LO({runtime_region:n.runtimeRegion,runtime_is_mine:n.runtimeIsMine,sandbox_status:n.sandboxStatus}),n=>LO({error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentMessage(t){return this.beginOperation("studio_agent_message",LO({agent_id:t.agentId,agent_kind:t.agentKind,message_source:t.messageSource,session_state:t.sessionState,session_id:t.sessionId}),n=>({session_id:n.sessionId}),n=>LO({session_id:n.sessionId,failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentSourceDownload(t){return this.beginOperation("studio_agent_source_download",{agent_id:t.agentId,deploy_action:t.deployAction,deploy_source:t.deploySource,create_mode:t.createMode,ai_assisted:t.aiAssisted},n=>({file_count:n.fileCount,zip_size_bytes:n.zipSizeBytes}),n=>({file_count:n.fileCount,error_kind:n.errorKind,error_code:n.errorCode}))}beginOperation(t,n,i,r){const s=this.createId(),a=this.now(),o=!!(this.context&&this.identity);let l=!1;o&&this.emit(t,{...n,status:"started"},s);const u=(d,f)=>{l||(l=!0,o&&this.emit(t,{...n,...f,status:d,duration_ms:Math.max(0,this.now()-a)},s))};return{operationId:s,succeed:d=>u("succeeded",i(d)),fail:d=>u("failed",r(d))}}emit(t,n,i){if(!this.context||!this.identity)return;const r=Ctt(t,LO({schema_version:wtt,event_id:this.createId(),operation_id:i,user_pool_id:this.context.userPoolId,studio_deploy_id:this.context.studioDeployId,vefaas_application_id:this.context.applicationId,vefaas_function_id:this.context.functionId,studio_region:this.context.studioRegion,studio_project:this.context.studioProject,studio_version:this.context.studioVersion,environment:this.context.environment,cloud_provider:this.context.cloudProvider,user_role:this.identity.userRole,user_source:this.identity.userSource,page_instance_id:this.pageInstanceId,...n}));this.sink.emit(t,r)}}const Dce=new ktt,Gu=new Ptt({sink:Dce});function jtt(e){return Dce.init(e)}function Mtt(e){Gu.setContext(e)}function Ltt(e){Gu.identify(e)}function Dtt(e){Gu.trackStudioSessionStarted(e)}function $ce(e){return Gu.beginAgentDeploy(e)}function $tt(e){return Gu.beginSandboxCreate(e)}function Qtt(e){return Gu.beginAgentDebug(e)}function BC(e){return Gu.beginAgentConnect(e)}function FV(e){return Gu.beginAgentMessage(e)}function Btt(e){return Gu.beginAgentSourceDownload(e)}const Utt=/^[A-Za-z_][A-Za-z0-9_]*$/;function yx(e){return e.trim().length===0?"名称为必填项":e==="user"?"user 是 Google ADK 保留名称,请使用其他名称":Utt.test(e)?null:"名称须以英文字母或下划线开头,且只能包含英文字母、数字和下划线"}function ztt(e){const t=new Set,n=new Set,i=r=>{yx(r.name)===null&&(t.has(r.name)?n.add(r.name):t.add(r.name)),r.subAgents.forEach(i)};return i(e),n}function Ftt(e){return{...Bo(),name:e,description:"一个通过飞书接收消息并提供帮助的智能助手。",instruction:"你是一个通过飞书为用户提供帮助的智能助手。准确理解用户问题,给出简洁、可靠的回答;信息不足时先提问澄清,不要臆造事实。",deployment:{feishuEnabled:!0}}}async function Vtt(e){const t=Ftt(e.agentName),n=await jD(t);return RT(n.name,n.files,{region:e.region,projectName:"default"},{taskId:e.taskId,sessionStorage:"in-memory",minInstance:1,maxInstance:1,description:t.description,im:{feishu:{enabled:!0}},envs:[{key:"FEISHU_APP_ID",value:e.appId},{key:"FEISHU_APP_SECRET",value:e.appSecret}],onStage:e.onStage})}const rl=[{value:"cn-beijing",label:"北京"},{value:"cn-shanghai",label:"上海"}],Qce=[{phase:"prepare",label:"生成智能体"},{phase:"build",label:"构建镜像"},{phase:"deploy",label:"创建 Runtime"},{phase:"publish",label:"发布服务"}];function Xtt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m9.8 3.5-4.5 4.5 4.5 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function qtt(e){return c.jsx("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m5 7 4 4 4-4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function VV(e){return c.jsx("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m4 9.2 3.1 3.1L14 5.8",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})})}function Htt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"M6.5 4H4.8A1.8 1.8 0 0 0 3 5.8v5.4A1.8 1.8 0 0 0 4.8 13h5.4a1.8 1.8 0 0 0 1.8-1.8V9.5M9 3h4v4M12.5 3.5 7.2 8.8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function Ytt(e){if(!e||e==="upload")return 0;const t=Qce.findIndex(n=>n.phase===e);return t<0?0:t}function UC(e){switch(e){case"prepare":case"upload":case"build":case"deploy":case"publish":case"update":case"evaluation":return e;default:return"unknown"}}function Gtt({onBack:e}){var K;const[t,n]=O.useState("feishu_assistant"),[i,r]=O.useState(""),[s,a]=O.useState(""),[o,l]=O.useState(!1),[u,d]=O.useState("cn-beijing"),[f,h]=O.useState(!1),[p,m]=O.useState(""),[g,y]=O.useState(""),[b,S]=O.useState(""),[x,v]=O.useState("idle"),[E,w]=O.useState(null),[k,_]=O.useState(""),[C,A]=O.useState(null),R=O.useRef(null),j=O.useRef(null),Q=O.useRef([]),L=O.useRef(0),D=O.useRef(null),N=O.useRef(null),M=O.useRef("prepare"),B=O.useRef(!1),$=O.useRef(!0),I=["preparing","running","cancelling"].includes(x);O.useEffect(()=>($.current=!0,()=>{$.current=!1}),[]),O.useEffect(()=>{var ge;if(!f)return;(ge=Q.current[L.current])==null||ge.focus();const ie=Ee=>{Ee.target instanceof Node&&R.current&&!R.current.contains(Ee.target)&&h(!1)},le=Ee=>{var Ce;Ee.key==="Escape"&&(h(!1),(Ce=j.current)==null||Ce.focus())};return window.addEventListener("pointerdown",ie),window.addEventListener("keydown",le),()=>{window.removeEventListener("pointerdown",ie),window.removeEventListener("keydown",le)}},[f]);const G=ie=>{ie.key==="Enter"&&(ie.nativeEvent.isComposing||ie.nativeEvent.keyCode===229)&&ie.preventDefault()},X=()=>{const ie=yx(t.trim())??"",le=i.trim()?"":"请输入飞书 App ID",ge=s.trim()?"":"请输入飞书 App Secret";return m(ie),y(le),S(ge),!ie&&!le&&!ge},U=async ie=>{if(ie.preventDefault(),!X()||I)return;const le=crypto.randomUUID();D.current=le,M.current="prepare",B.current=!1,v("preparing"),w(null),_(""),A(null);const ge=$ce({agentId:String(t.trim()),deployAction:"create",deploySource:"feishu_automation",createMode:"feishu_template",aiAssisted:0,deployRegion:String(u),runtimeNetworkType:"public",feishuEnabled:1});N.current=ge;try{const Ee=await Vtt({agentName:t.trim(),appId:i.trim(),appSecret:s.trim(),region:u,taskId:le,onStage:Ce=>{M.current=Ce.phase||"deploy",!(!$.current||B.current)&&(v("running"),w(Ce))}});if(B.current){ge.fail({failedPhase:UC(M.current),errorKind:"abort"});return}if(ge.succeed({runtimeId:String(Ee.runtimeId||"")}),!$.current)return;A(Ee),a(""),l(!1),v("succeeded")}catch(Ee){if(ge.fail({failedPhase:UC(M.current),...B.current?{errorKind:"abort"}:ya(Ee,{phase:M.current})}),!$.current||B.current)return;v("failed"),_(Ee instanceof Error?Ee.message:String(Ee))}finally{D.current===le&&(D.current=null),N.current===ge&&(N.current=null)}},Y=async()=>{var le;const ie=D.current;if(!(!ie||x!=="running")&&window.confirm("取消部署将停止任务并清理已创建的 Runtime,确定继续吗?")){B.current=!0,v("cancelling"),_("");try{await sK(ie),(le=N.current)==null||le.fail({failedPhase:UC(M.current),errorKind:"abort"}),$.current&&v("cancelled")}catch(ge){if(B.current=!1,!$.current)return;v("failed"),_(ge instanceof Error?ge.message:String(ge))}}},ae=Ytt((E==null?void 0:E.phase)??null),fe=!!(t.trim()&&i.trim()&&s.trim()&&!I),ke=rl.find(ie=>ie.value===u);return c.jsxs("div",{className:"feishu-integration-page",children:[c.jsxs("header",{className:"feishu-integration-header",children:[c.jsx("button",{type:"button",className:"feishu-back",onClick:e,"aria-label":"返回自动化列表",disabled:I,children:c.jsx(Xtt,{})}),c.jsx("img",{className:"feishu-integration-logo",src:y3,alt:"","aria-hidden":"true"}),c.jsxs("div",{children:[c.jsx("h1",{children:"飞书机器人"}),c.jsx("p",{children:"创建一个由 AgentKit Runtime 驱动的飞书智能体"})]})]}),c.jsx("div",{className:"feishu-integration-layout",children:c.jsxs("section",{className:"feishu-section-panel",children:[c.jsx("p",{className:"feishu-panel-description",children:"填写已发布飞书应用的凭据,Studio 将生成 basic 智能体、创建独立 Runtime,并启用飞书消息长连接。"}),c.jsxs("form",{className:"feishu-form",onSubmit:U,onKeyDown:G,noValidate:!0,children:[c.jsxs("div",{className:"feishu-field-grid",children:[c.jsxs("div",{className:"feishu-field",children:[c.jsx("label",{htmlFor:"feishu-agent-name",children:"智能体名称"}),c.jsx("input",{id:"feishu-agent-name",value:t,maxLength:64,disabled:I,onChange:ie=>{n(ie.target.value),p&&m("")},onBlur:()=>m(yx(t.trim())??""),"aria-invalid":!!p,"aria-describedby":`feishu-agent-name-help${p?" feishu-agent-name-error":""}`}),c.jsx("span",{id:"feishu-agent-name-help",className:"feishu-field-help",children:"将作为新 Runtime 中的根智能体名称"}),p?c.jsx("span",{id:"feishu-agent-name-error",className:"feishu-field-error",role:"alert",children:p}):null]}),c.jsxs("div",{className:"feishu-field",children:[c.jsx("label",{id:"feishu-region-label",children:"部署地域"}),c.jsxs("div",{className:"feishu-region-picker",ref:R,children:[c.jsxs("button",{ref:j,type:"button",className:"feishu-region-trigger",disabled:I,"aria-haspopup":"listbox","aria-expanded":f,"aria-labelledby":"feishu-region-label feishu-region-value",onClick:()=>{L.current=rl.findIndex(ie=>ie.value===u),h(ie=>!ie)},onKeyDown:ie=>{ie.key!=="ArrowDown"&&ie.key!=="ArrowUp"||(ie.preventDefault(),L.current=ie.key==="ArrowUp"?rl.length-1:rl.findIndex(le=>le.value===u),h(!0))},children:[c.jsx("span",{id:"feishu-region-value",children:ke.label}),c.jsx(qtt,{})]}),f?c.jsx("div",{className:"feishu-region-menu",role:"listbox","aria-label":"部署地域",onKeyDown:ie=>{var Ee;const le=Q.current.findIndex(Ce=>Ce===document.activeElement);let ge=null;ie.key==="ArrowDown"?ge=(le+1)%rl.length:ie.key==="ArrowUp"?ge=(le-1+rl.length)%rl.length:ie.key==="Home"?ge=0:ie.key==="End"?ge=rl.length-1:ie.key==="Tab"&&h(!1),ge!==null&&(ie.preventDefault(),(Ee=Q.current[ge])==null||Ee.focus())},children:rl.map(ie=>c.jsx("button",{ref:le=>{const ge=rl.findIndex(Ee=>Ee.value===ie.value);Q.current[ge]=le},type:"button",role:"option","aria-selected":u===ie.value,className:`feishu-region-option${u===ie.value?" is-selected":""}`,onClick:()=>{var le;d(ie.value),h(!1),(le=j.current)==null||le.focus()},children:ie.label},ie.value))}):null]}),c.jsx("span",{className:"feishu-field-help",children:"Runtime 与构建产物将创建在该地域"})]}),c.jsxs("div",{className:"feishu-field",children:[c.jsx("label",{htmlFor:"feishu-app-id",children:"飞书 App ID"}),c.jsx("input",{id:"feishu-app-id",value:i,maxLength:128,autoComplete:"off",disabled:I,placeholder:"cli_xxxxxxxxxxxxxxxx",onChange:ie=>{r(ie.target.value),g&&y("")},onBlur:()=>y(i.trim()?"":"请输入飞书 App ID"),"aria-invalid":!!g,"aria-describedby":`feishu-app-id-help${g?" feishu-app-id-error":""}`}),c.jsx("span",{id:"feishu-app-id-help",className:"feishu-field-help",children:"来自飞书开放平台的应用凭证"}),g?c.jsx("span",{id:"feishu-app-id-error",className:"feishu-field-error",role:"alert",children:g}):null]}),c.jsxs("div",{className:"feishu-field",children:[c.jsx("label",{htmlFor:"feishu-app-secret",children:"飞书 App Secret"}),c.jsxs("div",{className:"feishu-secret-input",children:[c.jsx("input",{id:"feishu-app-secret",type:o?"text":"password",value:s,maxLength:256,autoComplete:"off",disabled:I,placeholder:"请输入 App Secret",onChange:ie=>{a(ie.target.value),b&&S("")},onBlur:()=>S(s.trim()?"":"请输入飞书 App Secret"),"aria-invalid":!!b,"aria-describedby":`feishu-app-secret-help${b?" feishu-app-secret-error":""}`}),c.jsx("button",{type:"button",disabled:I,onClick:()=>l(ie=>!ie),"aria-label":o?"隐藏 App Secret":"显示 App Secret",children:o?"隐藏":"显示"})]}),c.jsx("span",{id:"feishu-app-secret-help",className:"feishu-field-help",children:"仅写入新 Runtime 的环境变量"}),b?c.jsx("span",{id:"feishu-app-secret-error",className:"feishu-field-error",role:"alert",children:b}):null]})]}),x!=="idle"?c.jsxs("div",{className:`feishu-deployment-status is-${x}`,role:x==="failed"?"alert":"status",children:[c.jsxs("div",{className:"feishu-deployment-heading",children:[x==="preparing"?c.jsx(hs,{as:"strong",children:"正在生成 basic 智能体"}):null,x==="running"?c.jsx(hs,{as:"strong",children:(E==null?void 0:E.message)||"正在创建 Runtime"}):null,x==="cancelling"?c.jsx(hs,{as:"strong",children:"正在取消部署"}):null,x==="succeeded"?c.jsxs("strong",{children:[c.jsx(VV,{}),"飞书机器人 Runtime 已创建"]}):null,x==="cancelled"?c.jsx("strong",{children:"部署已取消"}):null,x==="failed"?c.jsx("strong",{children:"创建失败"}):null]}),x==="preparing"||x==="running"||x==="cancelling"?c.jsx("ol",{className:"feishu-deployment-steps",children:Qce.map((ie,le)=>{const ge=x==="running"&&leie.value===(C.region||u)))==null?void 0:K.label)||C.region}),C.consoleUrl?c.jsxs("a",{href:C.consoleUrl,target:"_blank",rel:"noreferrer",children:["打开 Runtime 控制台",c.jsx(Htt,{})]}):null]}):null]}):null,c.jsxs("div",{className:"feishu-form-actions",children:[c.jsxs("div",{className:"feishu-secrets-note",children:[c.jsx("strong",{children:"凭据处理"}),c.jsx("span",{children:"App Secret 仅用于本次部署,不会写入生成源码或浏览器存储。"})]}),c.jsxs("div",{className:"feishu-action-buttons",children:[x==="running"?c.jsx("button",{type:"button",className:"feishu-cancel",onClick:()=>void Y(),children:"取消部署"}):null,c.jsx("button",{type:"submit",className:"feishu-submit",disabled:!fe,children:I?"正在创建…":"创建飞书机器人 Runtime"})]})]})]})]})})]})}async function S3(e,t,n,i=Tl){var s;const r=await wZ(e,{...t,headers:{accept:"application/json",...t.headers},signal:n},i);if(!r.ok){let a="";try{a=((s=(await r.json()).detail)==null?void 0:s.trim())||""}catch{}throw new Error(a||`请求失败 (${r.status})`)}return r.json()}function Wtt(e){return S3("/web/coding-agents/capabilities",{method:"GET"},e,bD)}function Ztt(e,t){return S3(`/web/coding-agents/skills/${encodeURIComponent(e)}/preview`,{method:"GET"},t)}function Ktt(e,t){return S3("/web/coding-agents/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)},t)}const Jtt="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='16'%20height='16'%20rx='3.692'%20fill='%231A1B1D'/%3e%3cpath%20d='M13.235%205.829V4.332H2.758v5.987h1.496v1.496h8.981V5.828Zm-1.497%204.49H4.254V5.83h7.484v4.49Z'%20fill='%2332F08C'/%3e%3cpath%20d='M6.937%206.993%205.88%208.051%206.937%209.11%207.995%208.05%206.937%206.993ZM9.931%206.992%208.873%208.05%209.931%209.11%2010.99%208.05%209.93%206.992Z'%20fill='%2332F08C'/%3e%3c/svg%3e";function ent(){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m4 4 8 8m0-8-8 8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}function XV(){return c.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[c.jsx("path",{d:"M4 1.8h5l3 3V14H4z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),c.jsx("path",{d:"M9 1.8V5h3M6 8h4M6 10.5h4",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function qV(){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"M1.8 4.5h4l1.2-1.3h2.2l1.2 1.3h3.8v8H1.8z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"})})}function tnt(e){return e instanceof DOMException&&e.name==="AbortError"}function nnt(e){return e instanceof Error&&e.message?e.message:"读取 Skill 文件失败"}function int(e){return e<1024?`${e} B`:`${(e/1024).toFixed(e<10*1024?1:0)} KB`}function rnt(e){const t=e.split("/");return t[t.length-1]??e}function snt(e){const t=new Map;for(const n of e){const i=n.path.split("/"),r=i.length>1?i.slice(0,-1).join("/"):"";t.set(r,[...t.get(r)??[],n])}return Array.from(t,([n,i])=>({directory:n,files:i})).sort((n,i)=>n.directory?i.directory?n.directory.localeCompare(i.directory):1:-1)}function ant({skill:e,onClose:t}){const n=O.useRef(null),i=O.useRef(null),r=O.useId(),s=O.useId(),[a,o]=O.useState(null),[l,u]=O.useState(""),[d,f]=O.useState(!0),[h,p]=O.useState(""),[m,g]=O.useState(0);O.useEffect(()=>{i.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const S=n.current;return S&&!S.open&&S.showModal(),()=>{var x;S!=null&&S.open&&S.close(),(x=i.current)==null||x.focus()}},[]),O.useEffect(()=>{const S=new AbortController;return f(!0),p(""),o(null),u(""),Ztt(e.id,S.signal).then(x=>{if(S.signal.aborted)return;o(x);const v=x.files.find(E=>E.path==="SKILL.md")??x.files[0];u((v==null?void 0:v.path)??"")}).catch(x=>{!S.signal.aborted&&!tnt(x)&&p(nnt(x))}).finally(()=>{S.signal.aborted||f(!1)}),()=>S.abort()},[m,e.id]);const y=O.useMemo(()=>snt((a==null?void 0:a.files)??[]),[a]),b=(a==null?void 0:a.files.find(S=>S.path===l))??null;return c.jsxs("dialog",{ref:n,className:"coding-agents-preview-dialog","aria-labelledby":r,"aria-describedby":s,onCancel:S=>{S.preventDefault(),t()},onMouseDown:S=>{const x=S.currentTarget.getBoundingClientRect();(S.clientXx.right||S.clientYx.bottom)&&t()},children:[c.jsxs("header",{className:"coding-agents-preview-header",children:[c.jsx("span",{className:"coding-agents-preview-mark",children:c.jsx(qV,{})}),c.jsxs("div",{children:[c.jsx("h2",{id:r,children:e.name}),c.jsx("p",{id:s,children:"只读浏览随 Studio 提供的 Skill 文件"})]}),c.jsx("button",{type:"button",autoFocus:!0,"aria-label":"关闭文件预览",onClick:t,children:c.jsx(ent,{})})]}),d?c.jsxs("div",{className:"coding-agents-preview-state",children:[c.jsx("i",{}),"正在读取文件…"]}):h?c.jsxs("div",{className:"coding-agents-preview-state is-error",role:"alert",children:[c.jsx("span",{children:h}),c.jsx("button",{type:"button",onClick:()=>g(S=>S+1),children:"重试"})]}):c.jsxs("div",{className:"coding-agents-preview-layout",children:[c.jsxs("nav",{className:"coding-agents-preview-tree","aria-label":`${e.name} 文件`,children:[c.jsxs("div",{className:"coding-agents-preview-tree-title",children:[c.jsx("span",{children:"文件"}),c.jsx("small",{children:(a==null?void 0:a.files.length)??0})]}),c.jsx("div",{className:"coding-agents-preview-tree-scroll",children:y.map(S=>S.directory?c.jsxs("details",{open:!0,children:[c.jsxs("summary",{children:[c.jsx(qV,{}),c.jsx("span",{children:S.directory})]}),c.jsx("div",{children:S.files.map(x=>c.jsxs("button",{type:"button",className:l===x.path?"is-selected":"","aria-current":l===x.path?"true":void 0,onClick:()=>u(x.path),children:[c.jsx(XV,{}),c.jsx("span",{children:rnt(x.path)})]},x.path))})]},S.directory):S.files.map(x=>c.jsxs("button",{type:"button",className:l===x.path?"is-selected":"","aria-current":l===x.path?"true":void 0,onClick:()=>u(x.path),children:[c.jsx(XV,{}),c.jsx("span",{children:x.path})]},x.path)))})]}),c.jsx("section",{className:"coding-agents-preview-file","aria-label":"文件内容",children:b?c.jsxs(c.Fragment,{children:[c.jsxs("header",{children:[c.jsx("strong",{children:b.path}),c.jsx("span",{children:int(b.size)})]}),b.previewable&&b.content!==null?c.jsx("pre",{tabIndex:0,children:c.jsx("code",{children:b.content})}):c.jsx("div",{className:"coding-agents-preview-unavailable",children:"此文件不是可预览的 UTF-8 文本。"})]}):c.jsx("div",{className:"coding-agents-preview-unavailable",children:"没有可预览的文件。"})})]})]})}function ont(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m9.8 3.5-4.5 4.5 4.5 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function lnt(e){return c.jsxs("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"5",width:"16",height:"16",rx:"4.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"m8.5 11-2.4 2.4 2.4 2.4M11 16.5h3.8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("circle",{cx:"24.5",cy:"10.5",r:"2.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("circle",{cx:"24.5",cy:"24.5",r:"2.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M19.5 10.5H22M18.2 19l4.3 3.7M24.5 13v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function cnt(e){return c.jsx("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:c.jsxs("g",{stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",children:[c.jsx("path",{d:"M16 4.5v7M16 20.5v7"}),c.jsx("path",{d:"m9.3 6.3 3.5 6.1M19.2 19.6l3.5 6.1"}),c.jsx("path",{d:"m5.9 11.1 6.2 3.5M19.9 17.4l6.2 3.5"}),c.jsx("path",{d:"M4.7 16h7M20.3 16h7"}),c.jsx("path",{d:"m5.9 20.9 6.2-3.5M19.9 14.6l6.2-3.5"}),c.jsx("path",{d:"m9.3 25.7 3.5-6.1M19.2 12.4l3.5-6.1"})]})})}function unt(e){return c.jsxs("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M15.8 4.2c2.4 0 4.5 1.2 5.7 3.1 2.2-.3 4.5.8 5.6 2.9 1.1 2 .8 4.4-.5 6.1 1.2 1.8 1.3 4.3.1 6.2-1.2 2-3.4 3-5.6 2.6-1.3 1.8-3.5 2.9-5.8 2.7-2.2-.2-4.1-1.5-5.1-3.4-2.2.1-4.4-1-5.4-3.1-1-2-.6-4.4.8-6.1-1.1-1.9-1.1-4.3.2-6.1 1.3-1.9 3.6-2.7 5.7-2.2 1.1-1.7 2.6-2.7 4.3-2.7Z",stroke:"currentColor",strokeWidth:"1.7",strokeLinejoin:"round"}),c.jsx("path",{d:"m10.7 12.2 3.1 3.8-3.1 3.8M17.1 20h4.3",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})]})}function HV(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m3.4 8.2 3 3L12.8 5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function dnt(e){return c.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M2.8 6.3h14.4v8.3a1.6 1.6 0 0 1-1.6 1.6H4.4a1.6 1.6 0 0 1-1.6-1.6V6.3Z",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"}),c.jsx("path",{d:"M2.8 6.3V5.1a1.4 1.4 0 0 1 1.4-1.4h3.4l1.5 1.6h6.5a1.6 1.6 0 0 1 1.6 1.6",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"})]})}function fnt({agentId:e}){return e==="trae"?c.jsx("img",{src:Jtt,alt:"","aria-hidden":"true"}):e==="claude-code"?c.jsx(cnt,{}):c.jsx(unt,{})}function YV(e){return e instanceof DOMException&&e.name==="AbortError"}function GV(e,t){return e instanceof Error&&e.message?e.message:t}function hnt({onBack:e}){var A;const[t,n]=O.useState(null),[i,r]=O.useState(!0),[s,a]=O.useState(""),[o,l]=O.useState(0),[u,d]=O.useState(new Set),[f,h]=O.useState(new Set),[p,m]=O.useState(null),[g,y]=O.useState(!1),[b,S]=O.useState(null),x=O.useRef(null);O.useEffect(()=>{const R=new AbortController;return r(!0),a(""),Wtt(R.signal).then(j=>{if(R.signal.aborted)return;n(j);const Q=j.agents.filter(L=>L.available);d(L=>{const D=Q.filter(N=>L.has(N.id));return new Set((D.length?D:Q.slice(0,1)).map(N=>N.id))}),h(L=>{const D=j.skills.filter(N=>L.has(N.id));return new Set((D.length?D:j.skills).map(N=>N.id))})}).catch(j=>{!YV(j)&&!R.signal.aborted&&(n(null),a(GV(j,"检测本机客户端失败")))}).finally(()=>{R.signal.aborted||r(!1)}),()=>R.abort()},[o]),O.useEffect(()=>()=>{var R;return(R=x.current)==null?void 0:R.abort()},[]);const v=O.useMemo(()=>(t==null?void 0:t.agents.filter(R=>R.available&&u.has(R.id)))||[],[t,u]),E=O.useMemo(()=>(t==null?void 0:t.skills.filter(R=>f.has(R.id)))||[],[t,f]),w=!!(!g&&v.length&&E.length),k=(R,j)=>{!j||g||(S(null),d(Q=>{const L=new Set(Q);return L.has(R)?L.delete(R):L.add(R),L}))},_=R=>{g||(S(null),h(j=>{const Q=new Set(j);return Q.has(R)?Q.delete(R):Q.add(R),Q}))},C=async()=>{var j;if(!w)return;(j=x.current)==null||j.abort();const R=new AbortController;x.current=R,y(!0),S(null);try{const Q=await Ktt({agents:v.map(D=>D.id),skills:E.map(D=>D.id)},R.signal);if(R.signal.aborted)return;const L=Q.installations;S({tone:"success",message:`已为 ${v.length} 个客户端配置 ${E.length} 个 Skill`,details:L.map(D=>`${D.agentName} · ${D.skill} → ${D.displayPath}`)})}catch(Q){!YV(Q)&&!R.signal.aborted&&S({tone:"error",message:GV(Q,"配置失败,请检查用户目录权限后重试")})}finally{x.current===R&&(x.current=null),R.signal.aborted||y(!1)}};return c.jsxs("section",{className:"coding-agents-page",children:[c.jsxs("header",{className:"coding-agents-header",children:[c.jsx("button",{type:"button",className:"coding-agents-back",onClick:e,disabled:g,"aria-label":"返回自动化列表",children:c.jsx(ont,{})}),c.jsx(lnt,{className:"coding-agents-logo"}),c.jsxs("div",{children:[c.jsx("h1",{children:"配置 Coding Agents"}),c.jsx("p",{children:"把随 Studio 提供的 AgentKit Skills 全局安装到本地编码客户端。"})]})]}),c.jsx("div",{className:"coding-agents-scroll",children:c.jsxs("div",{className:"coding-agents-content",children:[c.jsxs("section",{className:"coding-agents-section","aria-label":"选择 Coding Agent",children:[c.jsxs("div",{className:"coding-agents-section-heading",children:[c.jsxs("div",{children:[c.jsx("span",{children:"1"}),c.jsx("h2",{children:"本机客户端"})]}),c.jsx("button",{type:"button",onClick:()=>l(R=>R+1),disabled:i||g,children:"重新检测"})]}),i?c.jsxs("div",{className:"coding-agents-inline-state",children:[c.jsx("i",{}),"正在检测本机客户端…"]}):s?c.jsxs("div",{className:"coding-agents-error-row",role:"alert",children:[c.jsx("span",{children:s}),c.jsx("button",{type:"button",onClick:()=>l(R=>R+1),children:"重试"})]}):c.jsx("div",{className:"coding-agents-agent-grid",children:t==null?void 0:t.agents.map(R=>c.jsxs("button",{type:"button",className:`coding-agents-agent ${u.has(R.id)?"is-selected":""}`,"aria-pressed":u.has(R.id),disabled:!R.available||g,onClick:()=>k(R.id,R.available),title:R.available?R.name:R.reason,children:[c.jsx("span",{className:`coding-agents-agent-mark is-${R.id}`,children:c.jsx(fnt,{agentId:R.id})}),c.jsxs("span",{className:"coding-agents-agent-copy",children:[c.jsx("strong",{children:R.name}),c.jsx("small",{children:R.available?R.version||"已检测到客户端":R.reason})]}),c.jsx("span",{className:`coding-agents-status ${R.available?"is-ready":""}`,children:R.available?"可用":"未检测到"}),c.jsx("span",{className:"coding-agents-check",children:c.jsx(HV,{})})]},R.id))})]}),c.jsxs("section",{className:"coding-agents-section","aria-label":"选择内置 Skill",children:[c.jsx("div",{className:"coding-agents-section-heading",children:c.jsxs("div",{children:[c.jsx("span",{children:"2"}),c.jsx("h2",{children:"内置 Skills"})]})}),c.jsx("div",{className:"coding-agents-skill-list",children:t==null?void 0:t.skills.map(R=>c.jsxs("div",{className:`coding-agents-skill ${f.has(R.id)?"is-selected":""}`,children:[c.jsxs("label",{children:[c.jsx("input",{type:"checkbox",checked:f.has(R.id),onChange:()=>_(R.id),disabled:g}),c.jsx("span",{className:"coding-agents-skill-check","aria-hidden":"true",children:c.jsx(HV,{})}),c.jsxs("span",{children:[c.jsx("strong",{children:R.name}),c.jsx("small",{children:R.description})]})]}),c.jsx("button",{type:"button",onClick:()=>m(R),children:"查看文件"})]},R.id))}),c.jsxs("div",{className:"coding-agents-global","aria-label":"全局安装目录",children:[c.jsxs("div",{className:"coding-agents-global-heading",children:[c.jsx(dnt,{}),c.jsxs("div",{children:[c.jsx("strong",{children:"全局安装"}),c.jsx("span",{children:"配置后可在本机其他项目中使用"})]})]}),v.length?c.jsx("dl",{children:v.map(R=>c.jsxs("div",{children:[c.jsx("dt",{children:R.name}),c.jsx("dd",{children:R.globalSkillsPath})]},R.id))}):c.jsx("p",{children:"选择客户端后显示对应安装目录。"})]})]}),b?c.jsxs("div",{className:`coding-agents-result is-${b.tone}`,role:b.tone==="error"?"alert":"status",children:[c.jsx("strong",{children:b.message}),(A=b.details)!=null&&A.length?c.jsx("ul",{children:b.details.map(R=>c.jsx("li",{children:R},R))}):null]}):null,c.jsxs("div",{className:"coding-agents-actions",children:[c.jsx("span",{children:v.length?`已选择 ${v.length} 个客户端、${E.length} 个 Skill`:"请先选择客户端"}),c.jsx("button",{type:"button",onClick:()=>void C(),disabled:!w,children:g?"正在配置…":"配置"})]})]})}),p?c.jsx(ant,{skill:p,onClose:()=>m(null)}):null]})}const pnt="/web/video",mnt=18e4;async function D0(e,t={},n=Tl){return fetch(Xn(`${pnt}${e}`),{...t,headers:m0(t.headers),signal:Gn(t.signal,n)})}async function Bce(e,t){const n=await e.text().catch(()=>"");let i="";try{const r=JSON.parse(n),s=r.detail??r.error;i=typeof s=="string"?s:""}catch{i=n.trim().slice(0,500)}return new Error(i||`${t}(HTTP ${e.status})`)}async function x1(e,t){if(!e.ok)throw await Bce(e,t);const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{const i=e.headers.get("content-type")||"Content-Type 缺失";throw new Error(`${t}:服务端返回非 JSON 响应(${i})`)}}async function gnt(e){return x1(await D0("/capabilities",{signal:e,headers:{Accept:"application/json"}}),"加载视频模型能力失败")}async function Ont(e,t,n){const i=new FormData;return i.set("file",e),i.set("role",t),x1(await D0("/assets",{method:"POST",body:i,signal:n},oa),`上传${e.name}失败`)}async function bnt(e,t){return x1(await D0("/prompts/enhance",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},mnt),"提示词优化失败")}async function ynt(e,t){return x1(await D0("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},oa),"创建视频生成任务失败")}async function xnt(e,t){return x1(await D0(`/tasks/${encodeURIComponent(e)}`,{signal:t,headers:{Accept:"application/json"}}),"查询视频生成任务失败")}async function Snt(e,t){const n=await D0(`/tasks/${encodeURIComponent(e)}/download`,{signal:t,headers:{Accept:"video/*"}},oa);if(!n.ok)throw await Bce(n,"下载生成视频失败");return n.blob()}function vnt(e){return e.startsWith("/")?Xn(e):e}function v3(e){return e.isComposing||e.keyCode===229}function wnt(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function Ent(e){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",...e,children:c.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"1.75",fill:"currentColor"})})}const sl=[{value:"agent",label:"Agent",description:"与当前选择的 Agent 对话"},{value:"temporary",label:"内置智能体",description:"使用平台提供的智能体"}],knt=[{label:"ArkClaw",kind:"openclaw"},{label:"Hermes 智能体",kind:"hermes"}];function WV({mode:e}){return e==="temporary"?c.jsxs("svg",{className:"new-chat-mode__temporary-icon",viewBox:"0 0 20 20","aria-hidden":"true",children:[c.jsx("path",{d:"m10 2.8 6.1 3.45v7.5L10 17.2l-6.1-3.45v-7.5L10 2.8Z"}),c.jsx("path",{d:"m3.9 6.25 6.1 3.5 6.1-3.5M10 9.75v7.45"})]}):c.jsx(hf,{className:"new-chat-mode__agent-icon"})}function Tnt(){return c.jsx("svg",{className:"new-chat-mode__nested-chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:c.jsx("path",{d:"m4.5 3 3 3-3 3"})})}function _nt({value:e,onChange:t,disabled:n=!1,temporaryEnabled:i}){const[r,s]=O.useState(!1),[a,o]=O.useState(!1),[l,u]=O.useState(()=>sl.findIndex(v=>v.value===e)),d=O.useRef(null),f=O.useRef(null),h=sl.find(v=>v.value===e)??sl[0],p=h.value==="temporary"?"Codex 智能体":h.label;function m(v){return v.value==="temporary"?i:!0}function g(v){return m(v)!==!0}function y(v){const E=m(v);return E===void 0?"正在检查配置":E?v.description:"管理员未配置"}O.useEffect(()=>{if(!r)return;const v=E=>{var w;(w=d.current)!=null&&w.contains(E.target)||(s(!1),o(!1))};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[r]);function b(v){let E=l;do E=(E+v+sl.length)%sl.length;while(g(sl[E]));u(E),o(sl[E].value==="temporary")}function S(v){var E;if(!g(v)){if(v.value==="temporary"){o(!0);return}t(v.value),s(!1),o(!1),(E=f.current)==null||E.focus()}}function x(){t("temporary"),s(!1),o(!1)}return c.jsxs("div",{className:"new-chat-mode",ref:d,children:[c.jsxs("button",{ref:f,type:"button",className:"new-chat-mode__trigger","aria-label":"选择新会话模式","aria-haspopup":"listbox","aria-expanded":r,disabled:n,onClick:()=>{u(sl.findIndex(v=>v.value===e)),s(v=>(v&&o(!1),!v))},onKeyDown:v=>{v.key==="ArrowDown"||v.key==="ArrowUp"?(v.preventDefault(),r?b(v.key==="ArrowDown"?1:-1):s(!0)):r&&(v.key==="Enter"||v.key===" ")?(v.preventDefault(),S(sl[l])):r&&v.key==="Escape"&&(v.preventDefault(),s(!1),o(!1))},children:[c.jsx("span",{className:"new-chat-mode__icon",children:c.jsx(WV,{mode:h.value})}),c.jsx("span",{className:"new-chat-mode__current",title:p,children:p}),c.jsx("svg",{className:"new-chat-mode__chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:c.jsx("path",{d:"m3 4.5 3 3 3-3"})})]}),r?c.jsxs("div",{className:"new-chat-mode__menus",children:[c.jsx("div",{className:"new-chat-mode__menu",role:"listbox","aria-label":"新会话模式",tabIndex:-1,onKeyDown:v=>{var E;v.key==="ArrowDown"||v.key==="ArrowUp"?(v.preventDefault(),b(v.key==="ArrowDown"?1:-1)):v.key==="Enter"?(v.preventDefault(),S(sl[l])):v.key==="Escape"&&(v.preventDefault(),s(!1),o(!1),(E=f.current)==null||E.focus())},children:sl.map((v,E)=>{const w=v.value==="temporary";return c.jsxs("button",{type:"button",role:"option","aria-selected":e===v.value,"aria-haspopup":w?"menu":void 0,"aria-expanded":w?a:void 0,"aria-disabled":g(v),disabled:g(v),className:`new-chat-mode__option${E===l?" is-active":""}`,onMouseEnter:()=>{u(E),o(v.value==="temporary")},onClick:()=>S(v),children:[c.jsx("span",{className:"new-chat-mode__option-icon",children:c.jsx(WV,{mode:v.value})}),c.jsxs("span",{className:"new-chat-mode__copy",children:[c.jsx("span",{className:"new-chat-mode__label",children:v.label}),c.jsx("span",{children:y(v)})]}),w?c.jsx(Tnt,{}):e===v.value?c.jsx("svg",{className:"new-chat-mode__check",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})}):null]},v.value)})}),a?c.jsxs("div",{className:"new-chat-mode__submenu",role:"menu","aria-label":"内置智能体",children:[c.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",onClick:x,children:[c.jsx(Ox,{kind:"codex",className:"new-chat-mode__builtin-icon"}),c.jsxs("span",{className:"new-chat-mode__copy",children:[c.jsx("span",{className:"new-chat-mode__label",children:"Codex 智能体"}),c.jsx("span",{children:"在沙箱中执行任务"})]})]}),knt.map(({label:v,kind:E})=>c.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",disabled:!0,children:[c.jsx(Ox,{kind:E,className:"new-chat-mode__builtin-icon"}),c.jsxs("span",{className:"new-chat-mode__copy",children:[c.jsx("span",{className:"new-chat-mode__label",children:v}),c.jsx("span",{children:"暂不可用"})]})]},v))]}):null]}):null]})}const Qp=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],Ant=15,Nnt=15e3,Cnt=120,Rnt=180;function ZV(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m5.75 3.75 4.25 4.25-4.25 4.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Int(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function zC({type:e,className:t="new-chat-agent-picker__type-icon"}){return e==="general"?c.jsx(hf,{className:t}):c.jsx(Ox,{kind:e,className:t})}function Pnt({selectedAgentName:e="",selectedRuntimeId:t="",runtimeScope:n,disabled:i=!1,onSelectRuntime:r,onSelectSandboxSession:s}){var he;const[a,o]=O.useState(!1),[l,u]=O.useState(null),[d,f]=O.useState(0),[h,p]=O.useState(0),[m,g]=O.useState("types"),[y,b]=O.useState(!1),[S,x]=O.useState([]),[v,E]=O.useState([]),[w,k]=O.useState(null),[_,C]=O.useState(""),[A,R]=O.useState(!1),[j,Q]=O.useState(""),[L,D]=O.useState(""),N=O.useRef(null),M=O.useRef(null),B=O.useRef(null),$=O.useRef(0),I=O.useRef(null),G=O.useRef(null),X=O.useRef(null),U=((he=Qp.find(te=>te.id===l))==null?void 0:he.label)??"智能体",Y=O.useCallback((te=!1)=>{var Te;G.current!==null&&(window.clearTimeout(G.current),G.current=null),X.current!==null&&(window.clearTimeout(X.current),X.current=null),o(!1),u(null),g("types"),b(!1),te&&((Te=M.current)==null||Te.focus())},[]),ae=O.useCallback(async(te="",Te=!1)=>{const me=++$.current;let Be;R(!0),Q("");try{const je=await Promise.race([IT({scope:n,region:"all",pageSize:Ant,nextToken:te}),new Promise((Ue,st)=>{Be=window.setTimeout(()=>{st(new Error("加载智能体超时(15 秒),请检查网络或 Runtime 服务后重试"))},Nnt)})]);if($.current!==me)return;x(Ue=>{const st=Te?je.runtimes:[...Ue,...je.runtimes];return st.filter((ct,Tt)=>st.findIndex(at=>at.runtimeId===ct.runtimeId)===Tt)}),C(je.nextToken),p(0)}catch(je){if($.current!==me)return;Q(Lm(je,"加载通用智能体","GET /web/runtimes"))}finally{window.clearTimeout(Be),$.current===me&&R(!1)}},[n]),fe=O.useCallback(async te=>{var Be,je;(Be=I.current)==null||Be.abort();const Te=new AbortController;I.current=Te;const me=++$.current;R(!0),Q(""),E([]);try{const Ue=te==="codex"?await An.listSessions({signal:Te.signal}):await An.listAgentSessions(te,{signal:Te.signal});if($.current!==me)return;E(Ue),k(te),p(0)}catch(Ue){if((Ue==null?void 0:Ue.name)==="AbortError"||$.current!==me)return;Q(Lm(Ue,`加载 ${((je=Qp.find(st=>st.id===te))==null?void 0:je.label)??te}`,`GET /web/${te==="codex"?"sandbox":te}/sessions`)),k(te)}finally{I.current===Te&&(I.current=null),$.current===me&&R(!1)}},[]);O.useEffect(()=>{!a||l!=="general"||S.length>0||A||j||ae("",!0)},[l,j,ae,A,a,S.length]),O.useEffect(()=>{!a||l===null||l==="general"||w===l||fe(l)},[l,fe,w,a]),O.useEffect(()=>{if(!a)return;const te=Te=>{var me;(me=N.current)!=null&&me.contains(Te.target)||Y()};return document.addEventListener("mousedown",te),()=>document.removeEventListener("mousedown",te)},[Y,a]),O.useEffect(()=>()=>{var te;$.current+=1,(te=I.current)==null||te.abort(),G.current!==null&&window.clearTimeout(G.current),X.current!==null&&window.clearTimeout(X.current)},[]);function ke(te,Te=!1){G.current!==null&&(window.clearTimeout(G.current),G.current=null),X.current!==null&&(window.clearTimeout(X.current),X.current=null),o(!0),u(Te?"general":null),f(0),g("types"),b(Te),te&&requestAnimationFrame(()=>{var me;return(me=B.current)==null?void 0:me.focus()})}function K(){i||a||G.current!==null||(G.current=window.setTimeout(()=>{G.current=null,ke(!1)},Cnt))}function ie(){X.current!==null&&(window.clearTimeout(X.current),X.current=null)}function le(){G.current!==null&&(window.clearTimeout(G.current),G.current=null),!(!a||X.current!==null)&&(X.current=window.setTimeout(()=>{X.current=null,Y()},Rnt))}function ge(te){var Be;const Te=(te+Qp.length)%Qp.length,me=Qp[Te].id;me!==l&&($.current+=1,(Be=I.current)==null||Be.abort(),I.current=null,R(!1),Q("")),f(Te),u(me),p(0)}async function Ee(te){if(!L){D(te.runtimeId),Q("");try{await r(te),Y(!0)}catch(Te){Q(Lm(Te,"连接通用智能体"))}finally{D("")}}}async function Ce(te){if(!L){D(te.id),Q("");try{await s(te),Y(!0)}catch(Te){Q(Lm(Te,`打开 ${U}`))}finally{D("")}}}function _e(te){if(te.key==="Escape"){te.preventDefault(),Y(!0);return}if(["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(te.key)&&b(!0),m==="types"){te.key==="ArrowDown"||te.key==="ArrowUp"?(te.preventDefault(),ge(d+(te.key==="ArrowDown"?1:-1))):(te.key==="ArrowRight"||te.key==="Enter")&&(te.preventDefault(),l===null&&ge(d),g("runtimes"));return}if(te.key==="ArrowLeft")te.preventDefault(),g("types");else if((l==="general"?S:v).length>0&&(te.key==="ArrowDown"||te.key==="ArrowUp")){te.preventDefault();const Te=te.key==="ArrowDown"?1:-1,me=l==="general"?S.length:v.length;p(Be=>(Be+Te+me)%me)}else te.key==="Enter"&&l==="general"&&S[h]?(te.preventDefault(),Ee(S[h])):te.key==="Enter"&&l!=="general"&&v[h]&&(te.preventDefault(),Ce(v[h]))}return c.jsxs("div",{className:"new-chat-agent-picker",ref:N,onPointerEnter:te=>{te.pointerType==="mouse"&&ie()},onPointerLeave:te=>{te.pointerType==="mouse"&&le()},children:[c.jsxs("button",{ref:M,type:"button",className:"new-chat-agent-picker__trigger","aria-label":"选择智能体","aria-haspopup":"menu","aria-expanded":a,disabled:i,onPointerEnter:te=>{te.pointerType==="mouse"&&K()},onClick:()=>a?Y():ke(!0),onKeyDown:te=>{te.key==="ArrowDown"||te.key==="ArrowUp"?(te.preventDefault(),a||ke(!0,!0)):te.key==="Escape"&&a&&(te.preventDefault(),Y(!0))},children:[c.jsx("span",{title:e||"选择智能体",children:e||"选择智能体"}),c.jsx(ZV,{className:"new-chat-agent-picker__trigger-chevron"})]}),a?c.jsxs("div",{ref:B,className:"new-chat-agent-picker__menus",tabIndex:-1,onKeyDown:_e,onPointerMove:te=>{te.pointerType==="mouse"&&b(!1)},children:[c.jsx("div",{className:"new-chat-agent-picker__menu",role:"menu","aria-label":"智能体类型",children:Qp.map((te,Te)=>c.jsxs("button",{type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":l===te.id,className:`new-chat-agent-picker__type${y&&m==="types"&&d===Te?" is-keyboard-active":""}`,onMouseEnter:()=>ge(Te),onClick:()=>{ge(Te),g("runtimes")},children:[c.jsx(zC,{type:te.id}),c.jsx("span",{children:te.label}),c.jsx(ZV,{className:"new-chat-agent-picker__nested-chevron"})]},te.id))}),l!==null?c.jsx("div",{className:"new-chat-agent-picker__submenu",role:"listbox","aria-label":`${U}列表`,children:l!=="general"&&A&&v.length===0?c.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):l!=="general"&&j&&v.length===0?c.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[c.jsx("span",{children:j}),c.jsx("button",{type:"button",onClick:()=>void fe(l),children:"重新加载"})]}):l!=="general"&&v.length===0?c.jsxs(li,{className:"new-chat-agent-picker__empty",fill:"none",children:[c.jsx(li.Icon,{size:"sm",children:c.jsx(zC,{type:l,className:"new-chat-agent-picker__empty-agent-icon"})}),c.jsx(li.Title,{children:c.jsxs("span",{className:"new-chat-agent-picker__empty-title",children:["暂无 ",U]})}),c.jsx(li.Description,{children:"请前往智能体页创建"})]}):l!=="general"?c.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:v.map((te,Te)=>{const me=L===te.id,Be=te.resourceType==="snapshot";return c.jsxs("button",{type:"button",role:"option","aria-selected":!1,"aria-busy":me||void 0,className:`new-chat-agent-picker__runtime${y&&m==="runtimes"&&h===Te?" is-keyboard-active":""}`,disabled:!!L,title:`${te.displayName||U} · ${te.id}`,onMouseEnter:()=>p(Te),onClick:()=>void Ce(te),children:[c.jsx(zC,{type:l,className:"new-chat-agent-picker__runtime-icon"}),c.jsx("span",{children:te.displayName||U}),c.jsx("small",{children:me?Be?"正在唤醒":"正在打开":Q_(te.status)})]},te.id)})}):A&&S.length===0?c.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):j&&S.length===0?c.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[c.jsx("span",{children:j}),c.jsx("button",{type:"button",onClick:()=>void ae("",!0),children:"重新加载"})]}):S.length===0?c.jsxs(li,{className:"new-chat-agent-picker__empty",fill:"none",children:[c.jsx(li.Icon,{size:"sm",children:c.jsx(hf,{})}),c.jsx(li.Title,{children:c.jsx("span",{className:"new-chat-agent-picker__empty-title",children:"暂无通用智能体"})}),c.jsx(li.Description,{children:"请前往智能体页创建"})]}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:S.map((te,Te)=>{const me=L===te.runtimeId,Be=te.runtimeId===t;return c.jsxs("button",{type:"button",role:"option","aria-selected":Be,"aria-busy":me||void 0,className:`new-chat-agent-picker__runtime${y&&m==="runtimes"&&h===Te?" is-keyboard-active":""}`,disabled:!!L,title:te.name,onMouseEnter:()=>p(Te),onClick:()=>void Ee(te),children:[c.jsx(hf,{className:"new-chat-agent-picker__runtime-icon"}),c.jsx("span",{children:te.name}),me?c.jsx("small",{children:"正在连接"}):Be?c.jsx(Int,{className:"new-chat-agent-picker__check"}):null]},te.runtimeId)})}),j?c.jsx("div",{className:"new-chat-agent-picker__inline-error",role:"alert",children:j}):null,_?c.jsx("button",{type:"button",className:"new-chat-agent-picker__load-more",disabled:A||!!L,onClick:()=>void ae(_),children:A?"加载中":"加载更多"}):null]})}):null]}):null]})}const jnt=120,Mnt=180;function Lnt(){return c.jsx("svg",{className:"new-chat-compact-select__chevron",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"m4.75 6.25 3.25 3.5 3.25-3.5"})})}function Dnt(){return c.jsx("svg",{className:"new-chat-compact-select__check",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5"})})}function xx({label:e,hideLabel:t=!1,value:n,options:i,onChange:r,placeholder:s,loading:a=!1,error:o="",disabled:l=!1,searchable:u=!1,onRetry:d}){const[f,h]=O.useState(!1),[p,m]=O.useState(""),[g,y]=O.useState(0),b=O.useRef(null),S=O.useRef(null),x=O.useRef(null),v=O.useRef(!1),E=O.useRef(null),w=O.useRef(null),k=i.find($=>$.value===n),_=p.trim().toLocaleLowerCase(),C=O.useMemo(()=>_?i.filter($=>`${$.label} ${$.description||""}`.toLocaleLowerCase().includes(_)):i,[_,i]),A=O.useCallback(($=!1)=>{var I;E.current!==null&&(window.clearTimeout(E.current),E.current=null),w.current!==null&&(window.clearTimeout(w.current),w.current=null),v.current=!1,h(!1),m(""),$&&((I=S.current)==null||I.focus())},[]);O.useEffect(()=>{if(!f)return;const $=I=>{var G;(G=b.current)!=null&&G.contains(I.target)||A()};return document.addEventListener("mousedown",$),()=>document.removeEventListener("mousedown",$)},[A,f]),O.useEffect(()=>{!f||!u||!v.current||(v.current=!1,requestAnimationFrame(()=>{var $;return($=x.current)==null?void 0:$.focus()}))},[f,u]),O.useEffect(()=>()=>{E.current!==null&&window.clearTimeout(E.current),w.current!==null&&window.clearTimeout(w.current)},[]);function R($){E.current!==null&&(window.clearTimeout(E.current),E.current=null),w.current!==null&&(window.clearTimeout(w.current),w.current=null),v.current=$,m(""),y(Math.max(0,i.findIndex(I=>I.value===n))),h(!0)}function j(){l||f||E.current!==null||(E.current=window.setTimeout(()=>{E.current=null,R(!1)},jnt))}function Q(){w.current!==null&&(window.clearTimeout(w.current),w.current=null)}function L(){E.current!==null&&(window.clearTimeout(E.current),E.current=null),!(!f||w.current!==null)&&(w.current=window.setTimeout(()=>{w.current=null,A()},Mnt))}function D($){const I=C[$];I&&(r(I.value),A(!0))}function N($){if($.key==="Escape"&&f){$.preventDefault(),A(!0);return}if($.key==="Home"&&f&&C.length>0){$.preventDefault(),y(0);return}if($.key==="End"&&f&&C.length>0){$.preventDefault(),y(C.length-1);return}if($.key!=="ArrowDown"&&$.key!=="ArrowUp"){f&&$.key==="Enter"&&C[g]&&($.preventDefault(),D(g));return}if($.preventDefault(),!f){R(!0);return}const I=$.key==="ArrowDown"?1:-1;y(G=>(G+I+C.length)%Math.max(1,C.length))}const M=a&&i.length===0,B=M?"加载中…":(k==null?void 0:k.label)||s;return c.jsxs("div",{className:"new-chat-compact-select",ref:b,onKeyDown:N,onPointerEnter:$=>{$.pointerType==="mouse"&&Q()},onPointerLeave:$=>{$.pointerType==="mouse"&&L()},children:[c.jsxs("button",{ref:S,type:"button",className:"new-chat-compact-select__trigger","aria-label":`${e}:${B}`,"aria-haspopup":"listbox","aria-expanded":f,disabled:l,onPointerEnter:$=>{$.pointerType==="mouse"&&j()},onClick:()=>f?A():R(!0),children:[t?null:c.jsx("span",{className:"new-chat-compact-select__label",children:e}),M?c.jsx("span",{className:"new-chat-compact-select__spinner","aria-hidden":"true"}):c.jsx("span",{className:`new-chat-compact-select__value${k?"":" is-placeholder"}`,children:B}),M?null:c.jsx(Lnt,{})]}),f?c.jsxs("div",{className:"new-chat-compact-select__menu",children:[u&&i.length>0?c.jsxs("label",{className:"new-chat-compact-select__search",children:[c.jsxs("span",{className:"sr-only",children:["搜索",e]}),c.jsx("input",{ref:x,value:p,placeholder:`搜索${e}`,onChange:$=>{m($.currentTarget.value),y(0)}})]}):null,c.jsx("div",{className:"new-chat-compact-select__list",role:"listbox","aria-label":e,children:a&&i.length===0?c.jsx("div",{className:"new-chat-compact-select__status",role:"status",children:"正在加载…"}):o?c.jsxs("div",{className:"new-chat-compact-select__status is-error",role:"alert",children:[c.jsx("span",{children:o}),d?c.jsx("button",{type:"button",onClick:d,children:"重试"}):null]}):C.length===0?c.jsx("div",{className:"new-chat-compact-select__status",children:p?"没有匹配项":"暂无可选项"}):C.map(($,I)=>c.jsxs("button",{type:"button",role:"option",tabIndex:-1,"aria-selected":$.value===n,className:`new-chat-compact-select__option${I===g?" is-active":""}`,onMouseEnter:()=>y(I),onClick:()=>D(I),children:[c.jsxs("span",{className:"new-chat-compact-select__option-copy",children:[c.jsx("strong",{children:$.label}),$.description?c.jsx("small",{children:$.description}):null]}),$.value===n?c.jsx(Dnt,{}):null]},$.value))})]}):null]})}const pd=[{value:"create",label:"技能生成"},{value:"optimize",label:"技能优化"}],$nt=120,Qnt=180;function Bnt(){return c.jsx("svg",{className:"new-chat-skill-picker__chevron",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"m4.75 6.25 3.25 3.5 3.25-3.5"})})}function Unt(){return c.jsx("svg",{className:"new-chat-skill-picker__check",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5"})})}function znt({value:e,onChange:t,disabled:n=!1}){const[i,r]=O.useState(!1),[s,a]=O.useState(()=>Math.max(0,pd.findIndex(x=>x.value===e))),o=O.useRef(null),l=O.useRef(null),u=O.useRef(null),d=O.useRef(null),f=pd.find(x=>x.value===e)??pd[0],h=O.useCallback((x=!1)=>{var v;u.current!==null&&(window.clearTimeout(u.current),u.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null),r(!1),x&&((v=l.current)==null||v.focus())},[]);O.useEffect(()=>{if(!i)return;const x=v=>{var E;(E=o.current)!=null&&E.contains(v.target)||h()};return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[h,i]),O.useEffect(()=>()=>{u.current!==null&&window.clearTimeout(u.current),d.current!==null&&window.clearTimeout(d.current)},[]);function p(){u.current!==null&&(window.clearTimeout(u.current),u.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null),a(Math.max(0,pd.findIndex(x=>x.value===e))),r(!0)}function m(){n||i||u.current!==null||(u.current=window.setTimeout(()=>{u.current=null,p()},$nt))}function g(){d.current!==null&&(window.clearTimeout(d.current),d.current=null)}function y(){u.current!==null&&(window.clearTimeout(u.current),u.current=null),!(!i||d.current!==null)&&(d.current=window.setTimeout(()=>{d.current=null,h()},Qnt))}function b(x){const v=pd[x];v&&(t(v.value),a(x),h(!0))}function S(x){if(x.key==="Escape"&&i){x.preventDefault(),h(!0);return}if(x.key!=="ArrowDown"&&x.key!=="ArrowUp"){i&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),b(s));return}if(x.preventDefault(),!i){p();return}const v=x.key==="ArrowDown"?1:-1;a(E=>(E+v+pd.length)%pd.length)}return c.jsxs("div",{className:"new-chat-skill-picker",ref:o,onPointerEnter:x=>{x.pointerType==="mouse"&&g()},onPointerLeave:x=>{x.pointerType==="mouse"&&y()},children:[c.jsxs("button",{ref:l,type:"button",className:"new-chat-skill-picker__trigger","aria-label":"选择技能定制方式","aria-haspopup":"listbox","aria-expanded":i,disabled:n,onPointerEnter:x=>{x.pointerType==="mouse"&&m()},onClick:()=>{i?h():p()},onKeyDown:S,children:[c.jsx("span",{children:f.label}),c.jsx(Bnt,{})]}),i?c.jsx("div",{className:"new-chat-skill-picker__menu",role:"listbox","aria-label":"技能定制方式",tabIndex:-1,onKeyDown:S,children:pd.map((x,v)=>c.jsxs("button",{type:"button",role:"option","aria-selected":x.value===e,className:`new-chat-skill-picker__option${v===s?" is-active":""}`,onMouseEnter:()=>a(v),onClick:()=>b(v),children:[c.jsx("span",{children:x.label}),x.value===e?c.jsx(Unt,{}):null]},x.value))}):null]})}const Fnt=120,Vnt=180;function KV(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m5.75 3.75 4.25 4.25-4.25 4.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Xnt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function FC(e){return e.name.trim()||"未命名 Skill Space"}function qnt({spaces:e,skills:t,activeSpaceId:n,selectedSpaceId:i,selectedSkillId:r,selectedSkillLabel:s,spacesLoading:a=!1,skillsLoading:o=!1,spacesError:l="",skillsError:u="",disabled:d=!1,onActivateSpace:f,onSelect:h,onRetrySpaces:p,onRetrySkills:m}){const[g,y]=O.useState(!1),[b,S]=O.useState(0),[x,v]=O.useState(0),[E,w]=O.useState("spaces"),[k,_]=O.useState(!1),[C,A]=O.useState("below"),[R,j]=O.useState(286),Q=O.useRef(null),L=O.useRef(null),D=O.useRef(null),N=O.useRef(null),M=O.useRef(null),B=e.find(le=>le.id===n)??null,$=B?FC(B):"Skill Space",I=s||"选择 Skill",G=O.useCallback((le=!1)=>{var ge;N.current!==null&&(window.clearTimeout(N.current),N.current=null),M.current!==null&&(window.clearTimeout(M.current),M.current=null),y(!1),w("spaces"),_(!1),f(""),le&&((ge=L.current)==null||ge.focus())},[f]);O.useEffect(()=>{if(!g)return;const le=ge=>{var Ee;(Ee=Q.current)!=null&&Ee.contains(ge.target)||G()};return document.addEventListener("mousedown",le),()=>document.removeEventListener("mousedown",le)},[G,g]),O.useEffect(()=>{d&&g&&G()},[G,d,g]);const X=O.useCallback(()=>{const le=L.current;if(!le)return;const ge=le.getBoundingClientRect(),Ee=12,Ce=7,_e=window.innerHeight-ge.bottom-Ce-Ee,he=ge.top-Ce-Ee,te=_e>=220||_e>=he?"below":"above",Te=te==="below"?_e:he;A(te),j(Math.max(120,Math.floor(Te)))},[]);O.useLayoutEffect(()=>{if(g)return X(),window.addEventListener("resize",X),window.addEventListener("scroll",X,!0),()=>{window.removeEventListener("resize",X),window.removeEventListener("scroll",X,!0)}},[g,X]),O.useEffect(()=>()=>{N.current!==null&&window.clearTimeout(N.current),M.current!==null&&window.clearTimeout(M.current)},[]);function U(le){if(e.length===0)return;const ge=(le+e.length)%e.length,Ee=e[ge];S(ge),v(0),Ee.id!==n&&f(Ee.id)}function Y(le,ge=!1){N.current!==null&&(window.clearTimeout(N.current),N.current=null),M.current!==null&&(window.clearTimeout(M.current),M.current=null);const Ee=e.findIndex(_e=>_e.id===i),Ce=Ee>=0?Ee:0;S(Ce),v(0),w("spaces"),_(ge),y(!0),ge&&e[Ce]?f(e[Ce].id):f(""),le&&requestAnimationFrame(()=>{var _e;return(_e=D.current)==null?void 0:_e.focus()})}function ae(){d||g||N.current!==null||(N.current=window.setTimeout(()=>{N.current=null,Y(!1)},Fnt))}function fe(){M.current!==null&&(window.clearTimeout(M.current),M.current=null)}function ke(){N.current!==null&&(window.clearTimeout(N.current),N.current=null),!(!g||M.current!==null)&&(M.current=window.setTimeout(()=>{M.current=null,G()},Vnt))}function K(le){B&&(h(B,le),G(!0))}function ie(le){if(le.key==="Escape"){le.preventDefault(),G(!0);return}if(["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(le.key)&&_(!0),E==="spaces"){le.key==="ArrowDown"||le.key==="ArrowUp"?(le.preventDefault(),U(b+(le.key==="ArrowDown"?1:-1))):(le.key==="ArrowRight"||le.key==="Enter")&&(le.preventDefault(),B||U(b),w("skills"));return}if(le.key==="ArrowLeft")le.preventDefault(),w("spaces");else if(t.length>0&&(le.key==="ArrowDown"||le.key==="ArrowUp")){le.preventDefault();const ge=le.key==="ArrowDown"?1:-1;v(Ee=>(Ee+ge+t.length)%t.length)}else le.key==="Enter"&&t[x]&&(le.preventDefault(),K(t[x]))}return c.jsxs("div",{className:"new-chat-skill-target-picker",ref:Q,onPointerEnter:le=>{le.pointerType==="mouse"&&fe()},onPointerLeave:le=>{le.pointerType==="mouse"&&ke()},children:[c.jsxs("button",{ref:L,type:"button",className:"new-chat-agent-picker__trigger new-chat-skill-target-picker__trigger","aria-label":`选择 Skill:${I}`,"aria-haspopup":"menu","aria-expanded":g,disabled:d,onPointerEnter:le=>{le.pointerType==="mouse"&&ae()},onClick:()=>g?G():Y(!0),onKeyDown:le=>{le.key==="ArrowDown"||le.key==="ArrowUp"?(le.preventDefault(),g||Y(!0,!0)):le.key==="Escape"&&g&&(le.preventDefault(),G(!0))},children:[c.jsx("span",{title:I,children:I}),c.jsx(KV,{className:"new-chat-agent-picker__trigger-chevron"})]}),g?c.jsxs("div",{ref:D,className:`new-chat-agent-picker__menus new-chat-skill-target-picker__menus is-${C}`,style:{"--new-chat-skill-menu-max-height":`${R}px`},tabIndex:-1,onKeyDown:ie,onPointerMove:le=>{le.pointerType==="mouse"&&_(!1)},children:[c.jsx("div",{className:"new-chat-agent-picker__menu",role:"menu","aria-label":"Skill Space",children:a&&e.length===0?c.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"new-chat-agent-picker__spinner new-chat-skill-target-picker__spinner","aria-hidden":"true"}),c.jsx("span",{className:"sr-only",children:"正在加载 Skill Space"})]}):l&&e.length===0?c.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[c.jsx("span",{children:l}),c.jsx("button",{type:"button",onClick:p,children:"重新加载"})]}):e.length===0?c.jsx("div",{className:"new-chat-skill-target-picker__empty",children:"暂无 Skill Space"}):e.map((le,ge)=>c.jsxs("button",{type:"button",role:"menuitem","aria-haspopup":"listbox","aria-expanded":n===le.id,className:`new-chat-agent-picker__type new-chat-skill-target-picker__space${n===le.id?" is-previewed":""}${k&&E==="spaces"&&b===ge?" is-keyboard-active":""}`,title:FC(le),onMouseEnter:()=>U(ge),onClick:()=>{U(ge),w("skills")},children:[c.jsx("span",{children:FC(le)}),c.jsx(KV,{className:"new-chat-agent-picker__nested-chevron"})]},le.id))}),B?c.jsx("div",{className:"new-chat-agent-picker__submenu new-chat-skill-target-picker__submenu",role:"listbox","aria-label":`${$} Skill 列表`,children:o&&t.length===0?c.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"new-chat-agent-picker__spinner new-chat-skill-target-picker__spinner","aria-hidden":"true"}),c.jsx("span",{className:"sr-only",children:"正在加载 Skill"})]}):u&&t.length===0?c.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[c.jsx("span",{children:u}),c.jsx("button",{type:"button",onClick:m,children:"重新加载"})]}):t.length===0?c.jsx("div",{className:"new-chat-skill-target-picker__empty",children:"暂无 Skill"}):c.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:t.map((le,ge)=>{const Ee=B.id===i&&le.skillId===r;return c.jsxs("button",{type:"button",role:"option","aria-selected":Ee,className:`new-chat-agent-picker__runtime new-chat-skill-target-picker__skill${k&&E==="skills"&&x===ge?" is-keyboard-active":""}`,title:le.skillDescription||le.skillName||le.skillId,onMouseEnter:()=>v(ge),onClick:()=>K(le),children:[c.jsx("span",{children:le.skillName||le.skillId}),le.skillDescription?c.jsx("small",{children:le.skillDescription}):null,Ee?c.jsx(Xnt,{className:"new-chat-agent-picker__check"}):null]},le.skillId)})})}):null]}):null]})}const JV={concise:"简洁实用",strict:"严谨稳健",tutorial:"教程友好",automation:"自动化优先"};function VC(e,t){return e instanceof Error&&e.message?e.message:t}function Hnt({action:e,onActionChange:t,optimizationSource:n=null,onOptimizationSourceChange:i,disabled:r=!1}){const[s,a]=O.useState(null),[o,l]=O.useState(!1),[u,d]=O.useState(""),[f,h]=O.useState(0),[p,m]=O.useState("concise"),[g,y]=O.useState(""),[b,S]=O.useState([]),[x,v]=O.useState(!1),[E,w]=O.useState(""),[k,_]=O.useState(0),[C,A]=O.useState(""),[R,j]=O.useState([]),[Q,L]=O.useState(!1),[D,N]=O.useState(""),[M,B]=O.useState(0);O.useEffect(()=>{if(e!=="create"||s)return;const X=new AbortController;return l(!0),d(""),ZT(X.signal).then(U=>{a(U),y(Y=>{var ae;return Y||((ae=U.models[0])==null?void 0:ae.id)||""}),!U.enabled&&U.reason&&d(U.reason)}).catch(U=>{X.signal.aborted||d(VC(U,"模型配置加载失败"))}).finally(()=>{X.signal.aborted||l(!1)}),()=>X.abort()},[e,s,f]),O.useEffect(()=>{if(e!=="optimize"||b.length>0)return;let X=!1;return v(!0),w(""),o$().then(U=>{X||S(U)}).catch(U=>{X||w(VC(U,"Skill Space 加载失败"))}).finally(()=>{X||v(!1)}),()=>{X=!0}},[e,b.length,k]);const $=b.find(X=>X.id===C);O.useEffect(()=>{if(e!=="optimize"||!$){j([]),N(""),L(!1);return}let X=!1;return j([]),L(!0),N(""),l$($.id,$.region).then(U=>{X||j(U)}).catch(U=>{X||N(VC(U,"Skill 加载失败"))}).finally(()=>{X||L(!1)}),()=>{X=!0}},[e,$,M]);const I=O.useMemo(()=>Object.keys(s?s.styles:JV).map(U=>({value:U,label:JV[U]||U})),[s]),G=O.useMemo(()=>(s==null?void 0:s.models.map(X=>({value:X.id,label:X.label})))||[],[s]);return c.jsxs("div",{className:`new-chat-skill-controls is-${e}`,"aria-label":"技能定制配置",children:[c.jsx(znt,{value:e,onChange:t,disabled:r}),e==="create"?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"new-chat-skill-controls__style",children:c.jsx(xx,{label:"风格",value:p,options:I,onChange:m,placeholder:"选择风格",disabled:r})}),c.jsx("div",{className:"new-chat-skill-controls__model",children:c.jsx(xx,{label:"模型",hideLabel:!0,value:g,options:G,onChange:y,placeholder:"选择模型",loading:o,error:u,disabled:r,onRetry:()=>{a(null),h(X=>X+1)}})})]}):c.jsx(qnt,{spaces:b,skills:R,activeSpaceId:C,selectedSpaceId:(n==null?void 0:n.space.id)||"",selectedSkillId:(n==null?void 0:n.skill.skillId)||"",selectedSkillLabel:(n==null?void 0:n.skill.skillName)||(n==null?void 0:n.skill.skillId)||"",spacesLoading:x,skillsLoading:Q,spacesError:E,skillsError:D,disabled:r,onActivateSpace:A,onSelect:(X,U)=>{i==null||i({space:X,skill:U})},onRetrySpaces:()=>{S([]),_(X=>X+1)},onRetrySkills:()=>{j([]),B(X=>X+1)}})]})}const eX=[{value:"auto",label:"自动识别"},{value:"text_to_video",label:"文生视频"},{value:"reference_to_video",label:"参考素材生视频"},{value:"video_editing",label:"视频编辑"},{value:"video_extension",label:"视频续写"},{value:"first_last_frame",label:"首尾帧生成"}],Ynt=[{value:"21:9",label:"21:9"},{value:"16:9",label:"16:9"},{value:"4:3",label:"4:3"},{value:"1:1",label:"1:1"},{value:"3:4",label:"3:4"},{value:"9:16",label:"9:16"}],Gnt=[{value:"480p",label:"480p"},{value:"720p",label:"720p"}],Wnt={taskMode:"auto",aspectRatio:"16:9",resolution:"720p",durationSeconds:8,referenceImage:null,referenceVideo:null,firstFrame:null,lastFrame:null};function Uce({kind:e,...t}){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:e==="image"?c.jsxs(c.Fragment,{children:[c.jsx("rect",{x:"3.5",y:"4",width:"17",height:"16",rx:"2.5"}),c.jsx("circle",{cx:"9",cy:"9.25",r:"1.5"}),c.jsx("path",{d:"m5.75 17 4.1-4.1a1.25 1.25 0 0 1 1.77 0l1.35 1.35 1.55-1.55a1.25 1.25 0 0 1 1.77 0L19 15.4"})]}):c.jsxs(c.Fragment,{children:[c.jsx("rect",{x:"3.5",y:"5",width:"12.5",height:"14",rx:"2.5"}),c.jsx("path",{d:"m16 9.5 3.1-1.75a.9.9 0 0 1 1.35.78v6.94a.9.9 0 0 1-1.35.78L16 14.5"}),c.jsx("path",{d:"m9 9.5 3.5 2.5L9 14.5Z"})]})})}function zce(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m4.5 4.5 7 7m0-7-7 7"})})}function Znt({asset:e,onChange:t,disabled:n=!1,unavailableReason:i="",kind:r,label:s}){const a=O.useId(),[o,l]=O.useState("");O.useEffect(()=>{if(!e){l("");return}const d=URL.createObjectURL(e);return l(d),()=>URL.revokeObjectURL(d)},[e]);function u(d){var h;const f=((h=d.currentTarget.files)==null?void 0:h[0])??null;f&&t(f),d.currentTarget.value=""}return c.jsxs("div",{className:`new-chat-inline-video${e?" has-preview":""}${n?" is-disabled":""}`,children:[c.jsx("input",{id:a,className:"new-chat-inline-video__input",type:"file",accept:`${r}/*`,disabled:n,required:!0,"aria-label":`上传${s}`,onChange:u}),c.jsx("label",{className:"new-chat-inline-video__tile",htmlFor:a,title:i||(e?`更换${s}:${e.name}`:`上传${s}`),children:o&&r==="image"?c.jsx("img",{src:o,alt:""}):o?c.jsx("video",{src:o,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}):c.jsxs(c.Fragment,{children:[c.jsx(Uce,{kind:r}),c.jsx("span",{children:s})]})}),e?c.jsx("button",{className:"new-chat-inline-video__remove",type:"button","aria-label":`移除${s} ${e.name}`,disabled:n,onClick:()=>t(null),children:c.jsx(zce,{})}):null]})}function Knt(){return c.jsx("span",{className:"new-chat-video-model-spinner",role:"status","aria-label":"正在加载增强模型"})}function XC({label:e,helper:t,accept:n,asset:i,onChange:r,disabled:s,kind:a}){const o=O.useId();function l(u){var f;const d=((f=u.currentTarget.files)==null?void 0:f[0])??null;d&&r(d),u.currentTarget.value=""}return c.jsxs("div",{className:`new-chat-video-asset${s?" is-disabled":""}`,children:[c.jsx("input",{id:o,className:"new-chat-video-asset__input",type:"file",accept:n,disabled:s,onChange:l}),c.jsxs("label",{className:"new-chat-video-asset__label",htmlFor:o,children:[c.jsx("span",{className:"new-chat-video-asset__icon",children:c.jsx(Uce,{kind:a})}),c.jsxs("span",{className:"new-chat-video-asset__copy",children:[c.jsxs("span",{className:"new-chat-video-asset__title",children:[e,c.jsx("small",{children:"可选"})]}),c.jsx("span",{className:`new-chat-video-asset__value${i?" is-selected":""}`,title:i==null?void 0:i.name,children:(i==null?void 0:i.name)||t})]}),c.jsx("span",{className:"new-chat-video-asset__action",children:i?"更换":"添加"})]}),i?c.jsx("button",{className:"new-chat-video-asset__remove",type:"button","aria-label":`移除${e} ${i.name}`,disabled:s,onClick:()=>r(null),children:c.jsx(zce,{})}):null]})}function Jnt({config:e,onChange:t,enhancerModel:n,assetStorageAvailable:i,assetStorageUnavailableReason:r="",modelsLoading:s=!1,modelsError:a="",disabled:o=!1}){const l=gxe();function u(m,g){t({...e,[m]:g})}const d=e.taskMode==="first_last_frame",f=e.taskMode==="video_editing",h=e.taskMode==="video_extension",p=o||!i;return c.jsxs(dr.section,{className:"new-chat-video-controls","aria-label":"视频创作配置",initial:l?!1:{opacity:0,y:-12,scaleY:.96},animate:{opacity:1,y:0,scaleY:1},exit:l?{opacity:0}:{opacity:0,y:-8,scaleY:.98},transition:{duration:l?0:.2,ease:[.22,1,.36,1]},children:[c.jsxs("div",{className:"new-chat-video-controls__parameters",children:[c.jsx("div",{className:"new-chat-video-controls__field",children:c.jsx(xx,{label:"比例",value:e.aspectRatio,options:Ynt,placeholder:"选择比例",disabled:o,onChange:m=>u("aspectRatio",m)})}),c.jsx("div",{className:"new-chat-video-controls__field",children:c.jsx(xx,{label:"清晰度",value:e.resolution,options:Gnt,placeholder:"选择清晰度",disabled:o,onChange:m=>u("resolution",m)})}),c.jsxs("label",{className:`new-chat-video-duration${o?" is-disabled":""}`,children:[c.jsxs("span",{className:"new-chat-video-duration__header",children:[c.jsx("span",{children:"时长"}),c.jsxs("output",{children:[e.durationSeconds,"s"]})]}),c.jsx("input",{type:"range",min:"4",max:"30",step:"1",value:e.durationSeconds,disabled:o,"aria-label":`视频时长:${e.durationSeconds} 秒`,onChange:m=>u("durationSeconds",Number(m.currentTarget.value))})]})]}),c.jsx("div",{className:`new-chat-video-controls__assets${d||f||h?" is-single":""}`,children:d?c.jsx(XC,{label:"尾帧",helper:"添加视频结束画面",accept:"image/*",asset:e.lastFrame,disabled:p,kind:"image",onChange:m=>u("lastFrame",m)}):c.jsxs(c.Fragment,{children:[c.jsx(XC,{label:f||h?"辅助图片":"参考图片",helper:f||h?"用于补充画面参考":"支持常见图片格式",accept:"image/*",asset:e.referenceImage,disabled:p,kind:"image",onChange:m=>u("referenceImage",m)}),f||h?null:c.jsx(XC,{label:"参考视频",helper:"支持常见视频格式",accept:"video/*",asset:e.referenceVideo,disabled:p,kind:"video",onChange:m=>u("referenceVideo",m)})]})}),!i&&r?c.jsx("p",{className:"new-chat-video-controls__storage-unavailable",role:"status",children:r}):null,c.jsx("p",{className:"new-chat-video-controls__model-hint",title:a||void 0,children:s?c.jsx(Knt,{}):n?c.jsxs(c.Fragment,{children:["使用 ",n," 模型进行意图识别和提示词增强"]}):"增强模型不可用"})]})}function eit({className:e=""}){return c.jsxs("span",{className:`${e} new-chat-workspace-tabs__skill-icon`,"aria-hidden":"true",children:[c.jsx(Kv,{className:"new-chat-workspace-tabs__skill-shape is-triangle"}),c.jsx(Kv,{className:"new-chat-workspace-tabs__skill-shape is-circle"}),c.jsx(Kv,{className:"new-chat-workspace-tabs__skill-shape is-square"})]})}const qC=[{value:"agent",label:"智能体",icon:hf},{value:"skill",label:"技能定制",icon:eit},{value:"video",label:"视频创作",icon:U$}];function tit({value:e,onChange:t,disabled:n=!1,skillCustomizationEnabled:i=!1}){const r=O.useRef([]),s=i?qC:qC.filter(l=>l.value!=="skill");function a(l){var d;const u=s[l];!u||n||(t(u.value),(d=r.current[l])==null||d.focus())}function o(l,u){let d=null;l.key==="ArrowRight"&&(d=(u+1)%s.length),l.key==="ArrowLeft"&&(d=(u-1+s.length)%s.length),l.key==="Home"&&(d=0),l.key==="End"&&(d=qC.length-1),d!==null&&(l.preventDefault(),a(d))}return c.jsx("div",{className:"new-chat-workspace-tabs",role:"tablist","aria-label":"新会话模式",children:s.map((l,u)=>{const d=l.icon,f=e===l.value;return c.jsxs("button",{ref:h=>{r.current[u]=h},id:`new-chat-workspace-tab-${l.value}`,type:"button",role:"tab","aria-controls":"new-chat-workspace-panel","aria-selected":f,tabIndex:f?0:-1,className:`new-chat-workspace-tabs__tab${f?" is-active":""}`,disabled:n,onClick:()=>t(l.value),onKeyDown:h=>o(h,u),children:[f?c.jsx(dr.span,{className:"new-chat-workspace-tabs__slider",layoutId:"new-chat-workspace-active-pill",initial:!1,transition:{layout:{duration:.24,ease:[.22,1,.36,1]}},"aria-hidden":"true"}):null,c.jsx(d,{className:"new-chat-workspace-tabs__icon"}),c.jsx("span",{className:"new-chat-workspace-tabs__label",children:l.label})]},l.value)})})}const nit={auto:"视频生成",text_to_video:"文生视频",reference_to_video:"参考素材生视频",video_editing:"视频编辑",video_extension:"视频续写",first_last_frame:"首尾帧生成"};function Fce(e){return e?nit[e]:"视频生成"}function iit({prompt:e,config:t,enhancerModel:n,generationModel:i}){return{localId:crypto.randomUUID(),remoteTaskId:"",runId:1,status:"optimizing",requestedPrompt:e,optimizedPrompt:"",requestedMode:t.taskMode,resolvedMode:null,config:{...t},enhancerModel:n,generationModel:i,assetIds:[],output:null,errorStage:null,error:""}}function tX(e,t){return t.type==="optimization_succeeded"?{...e,status:"generating",optimizedPrompt:t.optimizedPrompt,resolvedMode:t.resolvedMode,enhancerModel:t.enhancerModel,errorStage:null,error:""}:t.type==="assets_uploaded"?{...e,assetIds:t.assetIds}:t.type==="generation_started"?{...e,status:"generating",remoteTaskId:t.remoteTaskId,generationModel:t.generationModel,errorStage:null,error:""}:t.type==="generation_succeeded"?{...e,status:"success",output:t.output,errorStage:null,error:""}:t.type==="failed"?{...e,status:"error",errorStage:t.stage,error:t.error}:{...e,runId:e.runId+1,status:t.stage==="optimization"?"optimizing":"generating",remoteTaskId:"",optimizedPrompt:t.stage==="optimization"?"":e.optimizedPrompt,resolvedMode:t.stage==="optimization"?null:e.resolvedMode,output:null,errorStage:null,error:""}}function rit(e){const t=Fce(e.resolvedMode),n=e.status==="error"&&e.errorStage==="optimization",i=e.status==="error"&&e.errorStage==="generation",r=!!e.optimizedPrompt&&!n;return[{id:"optimization",label:n?"提示词优化失败":r?"提示词优化完成":"提示词优化中",status:n?"failed":r?"done":"active"},{id:"generation",label:e.status==="success"?`${t}已完成`:i?`${t}失败`:e.status==="generating"?`${t}进行中`:"等待视频生成",status:e.status==="success"?"done":i?"failed":e.status==="generating"?"active":"pending"}]}function Vce(e){return(e==null?void 0:e.status)==="optimizing"||(e==null?void 0:e.status)==="generating"}const Xce={ppt:["ppt_generate"],image:["image_generate"],video:["video_generate"]},sit={ppt:[],image:[],video:["video_task_query"]},ait=[{pattern:/(?:^|[-_.])glm[-_.]?5[-_.]?2(?:[-_.]|$)/,tokens:1024e3},{pattern:/(?:^|[-_.])deepseek[-_.]?v4(?:[-_.]|$)/,tokens:1024e3}],oit=[{pattern:/doubao[-_.]seed[-_.]evolving(?:[-_.]|$)/,tokens:1024e3},{pattern:/doubao[-_.]seed[-_.]translation(?:[-_.]|$)/,tokens:4e3},{pattern:/doubao[-_.]seed[-_.]character(?:[-_.]|$)/,tokens:128e3},{pattern:/doubao[-_.]1[-_.]?5[-_.]pro[-_.]32k[-_.]character(?:[-_.]|$)/,tokens:32e3},{pattern:/doubao[-_.]1[-_.]?5[-_.]pro[-_.]32k(?:[-_.]|$)/,tokens:128e3},{pattern:/doubao[-_.]1[-_.]?5[-_.](?:lite[-_.]32k|vision[-_.]pro[-_.]32k)(?:[-_.]|$)/,tokens:32e3},{pattern:/doubao[-_.]seed[-_.]2[-_.][01](?:[-_.]|$)/,tokens:256e3},{pattern:/doubao[-_.]seed[-_.](?:1[-_.][68]|code[-_.]preview)(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])glm[-_.]?4[-_.]?7(?:[-_.]|$)/,tokens:2e5}],lit=[{pattern:/dola[-_.]seed[-_.]2[-_.]1(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])seed[-_.]2[-_.]0(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])seed[-_.]1[-_.][68](?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])glm[-_.]?4[-_.]?7(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])deepseek[-_.]?v3[-_.]?2(?:[-_.]|$)/,tokens:128e3},{pattern:/(?:^|[-_.])gpt[-_.]?oss[-_.]?120b(?:[-_.]|$)/,tokens:128e3}];function cit(e){const t=e.match(/(?:^|[-_.])(\d+(?:\.\d+)?)(k|m)(?:[-_.]|$)/i);if(!t)return null;const n=Number(t[1]);return!Number.isFinite(n)||n<=0?null:Math.round(n*(t[2].toLowerCase()==="m"?1e6:1e3))}function uit(e,t){const n=e.trim().toLowerCase().split("/").pop()??"";if(!n)return null;const i=t==="byteplus"?lit:oit;for(const r of[...i,...ait])if(r.pattern.test(n))return r.tokens;return cit(n)}const ph=new Intl.NumberFormat("zh-CN");function nX(e){return e>=1e3?`${Number((e/1e3).toFixed(1))}K`:ph.format(e)}function HC(e){return e>=1e3?`${Number((e/1e3).toFixed(1))}K`:`${ph.format(e)} Token`}function iX(e){return`${Number(e.toFixed(2))}%`}const rX={system:"系统与工具",input:"输入与历史",output:"输出与思考",remaining:"剩余"};function dit({cloudProvider:e,modelName:t,usage:n,systemTokenEstimate:i}){const r=O.useId(),s=uit(t,e),a=s?_Se({usage:n,contextWindow:s,estimatedSystemTokens:i}):null,o=(a==null?void 0:a.usedTokens)??n.current.totalTokenCount,l=s?o/s*100:null,u=l===null?null:Math.round(l),d=l!==null&&l>0&&l<1?"<1":String(u??0),f=l===null?0:Math.min(100,Math.max(0,l)),h=100-f,p=t.trim()||"模型信息未提供",m=i===null?"提示词(含系统)":rX.input,g=a?Math.max(0,a.usedTokens-a.contextWindow):0,y=i===null?"系统与工具占用未知":`系统与工具约 ${ph.format((a==null?void 0:a.systemTokens)??0)} Token`,b=a?`上下文已使用 ${d}%,${y},${m} ${ph.format(a.inputTokens)} Token,输出与思考 ${ph.format(a.outputTokens)} Token,剩余 ${ph.format(a.remainingTokens)} Token`:`${p},上下文窗口未知,会话累计使用 ${ph.format(n.cumulative.totalTokenCount)} Token`,S=a?ASe(a):[],x=a?[{kind:"system",tokens:a.systemTokens},{kind:"input",tokens:a.inputTokens},{kind:"output",tokens:a.outputTokens},{kind:"remaining",tokens:a.remainingTokens}]:[];return c.jsxs("div",{className:"token-usage-indicator",tabIndex:0,role:s===null?"status":"meter","aria-label":b,"aria-describedby":r,"aria-valuemin":s===null?void 0:0,"aria-valuemax":s??void 0,"aria-valuenow":s===null?void 0:Math.min(o,s),children:[c.jsxs("svg",{className:"token-usage-ring",viewBox:"0 0 20 20","aria-hidden":"true",children:[c.jsx("circle",{className:"token-usage-ring__track",cx:"10",cy:"10",r:"7"}),c.jsx("circle",{className:"token-usage-ring__value",cx:"10",cy:"10",r:"7",pathLength:"100",style:{strokeDasharray:`${f} ${100-f}`}})]}),c.jsxs("div",{id:r,className:"token-usage-tooltip",role:"tooltip",children:[a?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"token-usage-tooltip__header",children:[c.jsx("strong",{children:"上下文构成"}),c.jsxs("span",{children:[d,"% 已用"]})]}),c.jsxs("div",{className:"token-context-breakdown",children:[c.jsx("div",{className:"token-context-grid",role:"img","aria-label":"100 格上下文构成图,每格代表上下文窗口的百分之一",children:S.map(v=>c.jsx("span",{className:"token-context-cell","aria-hidden":"true",children:v.slices.map(E=>c.jsx("span",{className:`token-context-cell__slice is-${E.kind}`,style:{width:`${E.share*100}%`}},E.kind))},v.index))}),c.jsx("dl",{className:"token-context-legend",children:x.map(v=>c.jsxs("div",{children:[c.jsxs("dt",{children:[c.jsx("span",{className:`token-context-swatch is-${v.kind}`,"aria-hidden":"true"}),v.kind==="input"?m:rX[v.kind],v.kind==="system"&&i!==null?c.jsx("em",{children:"估算"}):null]}),c.jsx("dd",{children:v.kind==="system"&&i===null?"未知":`${v.kind==="system"?"≈":""}${nX(v.tokens)}`})]},v.kind))})]}),c.jsxs("div",{className:"token-context-summary",children:[c.jsxs("div",{children:[c.jsx("strong",{children:iX(f)})," 已用,剩余"," ",c.jsx("strong",{children:iX(h)})]}),c.jsxs("div",{children:[c.jsx("strong",{children:HC(a.usedTokens)})," 已用,剩余"," ",c.jsx("strong",{children:HC(a.remainingTokens)}),",总计"," ",c.jsx("strong",{children:HC(a.contextWindow)})]})]}),g>0?c.jsxs("div",{className:"token-usage-tooltip__overflow",children:["已超出上下文 ",nX(g)," Token"]}):null]}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"token-usage-tooltip__title",children:"上下文用量"}),c.jsx("div",{className:"token-usage-tooltip__unknown",children:t.trim()?"暂未收录该模型的上下文窗口":"当前 Runtime 未提供模型信息"})]}),c.jsx("div",{className:"token-usage-tooltip__model",title:p,children:p})]})]})}const sX=[{value:"ppt",label:"PPT",icon:o1e,prompts:["复盘【季度】经营表现,提炼指标差距、原因与行动建议","汇报【项目名称】进展:里程碑、风险、预算和资源诉求","为【客户行业】输出解决方案:痛点、架构、实施路径与收益","分析【行业主题】趋势,给出竞争格局、机会与战略建议"]},{value:"image",label:"图片生成",icon:OD,prompts:["为【品牌或产品】设计【高级科技】风格的发布会主视觉","生成【产品名称】电商海报,突出【核心卖点】与品牌色","呈现【产品或空间】在【使用场景】中的写实概念效果图","围绕【传播主题】制作简洁专业的企业社媒配图"]},{value:"video",label:"视频生成",icon:U$,prompts:["制作【品牌名称】30 秒宣传片,突出【品牌价值】","为【产品名称】制作 45 秒发布视频:痛点、功能、场景与行动号召","制作【培训主题】企业培训视频,讲清【关键操作或规范】","生成【活动名称】20 秒预热视频,包含亮点、时间地点和报名信息"]}];function fit({cloudProvider:e,sessionId:t,sessionInitializing:n=!1,appName:i,agentName:r,value:s,onChange:a,onSubmit:o,onStop:l,onVideoSubmit:u,videoTask:d=null,onOpenVideoTask:f,disabled:h,busy:p,showMeta:m,attachments:g,skills:y,agents:b,invocation:S,capabilitiesLoading:x=!1,modelName:v,tokenUsage:E,systemTokenEstimate:w,allowAttachments:k=!0,onInvocationChange:_,onAddFiles:C,onRemoveAttachment:A,newChatMode:R="agent",newChatWorkspaceMode:j="agent",newChatSkillAction:Q="create",newChatSkillTarget:L=null,skillCustomizationEnabled:D=!1,newChatTask:N=null,newChatLayout:M=!1,showWorkspaceTabs:B=!1,showModeSelector:$=!1,onWorkspaceModeChange:I,onSkillActionChange:G,onSkillTargetChange:X,onModeChange:U,onTaskChange:Y,temporaryEnabled:ae,harnessEnabled:fe=!1,builtinTools:ke=[],showAgentPicker:K=!1,agentPickerDisabled:ie=!1,selectedRuntimeId:le="",runtimeScope:ge="mine",onSelectRuntime:Ee,onSelectSandboxSession:Ce}){var zn;const _e=O.useRef(null),he=O.useRef(null),te=O.useRef(null),Te=O.useRef(null),[me,Be]=O.useState(!1),[je,Ue]=O.useState(null),[st,ct]=O.useState(0),[Tt,at]=O.useState(!1),[q,oe]=O.useState(Wnt),[de,Ie]=O.useState(null),[ce,Me]=O.useState(!1),[Ye,dt]=O.useState("");O.useEffect(()=>{if(!M||j!=="video")return;const xe=new AbortController;return Me(!0),dt(""),gnt(xe.signal).then(Ge=>{xe.signal.aborted||Ie(Ge)}).catch(Ge=>{xe.signal.aborted||(Ie(null),dt(Ge instanceof Error?Ge.message:String(Ge)))}).finally(()=>{xe.signal.aborted||Me(!1)}),()=>xe.abort()},[e,M,j]),O.useEffect(()=>{!(de!=null&&de.supportedModes.length)||q.taskMode==="auto"||de.supportedModes.includes(q.taskMode)||oe(xe=>({...xe,taskMode:de.supportedModes[0]}))},[q.taskMode,de]);async function Gt(){if(t)try{await navigator.clipboard.writeText(t),at(!0),setTimeout(()=>at(!1),1500)}catch{at(!1)}}O.useLayoutEffect(()=>{const xe=_e.current;xe&&(xe.style.height="auto",xe.style.height=`${Math.min(xe.scrollHeight,200)}px`)},[s]);const Ct=g.some(xe=>xe.status!=="ready"),Dt=M&&j==="video",vt=Dt?q.taskMode==="first_last_frame"?{asset:q.firstFrame,kind:"image",label:"首帧"}:q.taskMode==="video_editing"||q.taskMode==="video_extension"?{asset:q.referenceVideo,kind:"video",label:q.taskMode==="video_editing"?"待编辑视频":"基础视频"}:null:null,Wt=Vce(d),gt=Dt&&!!d&&!s.trim(),ft=p&&!!l,Rt=Dt?Wt||gt||!h&&!p&&!Ct&&(!vt||!!vt.asset)&&!!de&&s.trim().length>0:!h&&!p&&!Ct&&(s.trim().length>0||g.length>0);function rn(){if(Dt){if(Wt||gt){f==null||f();return}de&&s.trim()&&(u==null||u(s.trim(),q,de));return}o()}const ln=j==="skill"?Q==="optimize"?"描述你想优化的技能…":"描述你想生成的技能…":j==="video"?"描述你想创作的视频…":`向 ${r} 发消息…`,Ae=h&&j==="agent"?"请先选择智能体":h&&j==="skill"&&Q==="optimize"&&!L?"请先选择需要优化的 Skill":ln,qe=(je==null?void 0:je.query.toLocaleLowerCase())??"",$e=(je==null?void 0:je.kind)==="skill"?y.filter(xe=>!S.skills.some(Ge=>Ge.name===xe.name)).filter(xe=>`${xe.name} ${xe.description}`.toLocaleLowerCase().includes(qe)).map(xe=>({kind:"skill",value:xe})):(je==null?void 0:je.kind)==="agent"?b.filter(xe=>`${xe.name} ${xe.description}`.toLocaleLowerCase().includes(qe)).map(xe=>({kind:"agent",value:xe})):[];function pn(xe){var Ge;Be(!1),Ue(null),(Ge=xe.current)==null||Ge.click()}function bn(xe){Y==null||Y(xe.value),Be(!1),Ue(null),requestAnimationFrame(()=>{var Ge,Nt;(Ge=_e.current)==null||Ge.focus(),(Nt=_e.current)==null||Nt.setSelectionRange(s.length,s.length)})}function It(xe){a(xe),Be(!1),Ue(null),requestAnimationFrame(()=>{var Kt,sn,Fn;(Kt=_e.current)==null||Kt.focus();const Ge=xe.indexOf("【"),Nt=xe.indexOf("】",Ge+1);Ge>=0&&Nt>Ge?(sn=_e.current)==null||sn.setSelectionRange(Ge+1,Nt):(Fn=_e.current)==null||Fn.setSelectionRange(xe.length,xe.length)})}function pe(){Y==null||Y(null),a(""),Be(!1),Ue(null),requestAnimationFrame(()=>{var xe,Ge;(xe=_e.current)==null||xe.focus(),(Ge=_e.current)==null||Ge.setSelectionRange(0,0)})}const Qe=sX.find(xe=>xe.value===N),yt=sX.filter(xe=>Xce[xe.value].every(Ge=>ke.includes(Ge)));function mn(xe,Ge){const Nt=xe.slice(0,Ge),Kt=/(^|\s)([/@])([^\s/@]*)$/.exec(Nt);if(!Kt){Ue(null);return}const sn=Kt[2].length+Kt[3].length,Fn={kind:Kt[2]==="/"?"skill":"agent",query:Kt[3],start:Ge-sn,end:Ge},xi=!je||je.kind!==Fn.kind||je.query!==Fn.query||je.start!==Fn.start||je.end!==Fn.end;Ue(Fn),xi&&ct(0),Be(!1)}function wn(xe){if(!je)return;const Ge=s.slice(0,je.start)+s.slice(je.end);a(Ge),xe.kind==="skill"?_({...S,skills:[...S.skills,xe.value]}):_({skills:[],targetAgent:xe.value});const Nt=je.start;Ue(null),requestAnimationFrame(()=>{var Kt,sn;(Kt=_e.current)==null||Kt.focus(),(sn=_e.current)==null||sn.setSelectionRange(Nt,Nt)})}function Jt(){if(S.targetAgent){_({skills:[]});return}S.skills.length>0&&_({...S,skills:S.skills.slice(0,-1)})}function ui(xe){const Ge=xe.target.files?Array.from(xe.target.files):[];Ge.length&&C(Ge),xe.target.value=""}return c.jsxs("div",{className:`composer${M?" composer--new-chat":""}${Qe?` composer--has-task composer--task-${Qe.value}`:""}`,children:[c.jsx(u_,{value:S,onRemoveSkill:xe=>_({...S,skills:S.skills.filter(Ge=>Ge.name!==xe)}),onRemoveAgent:()=>_({skills:[]})}),g.length>0&&c.jsx(d_,{appName:i,compact:!0,items:g,onRemove:A}),M&&B&&I?c.jsx(tit,{value:j,onChange:I,disabled:p,skillCustomizationEnabled:D}):null,c.jsxs("div",{id:M&&B?"new-chat-workspace-panel":void 0,className:"composer-box",role:M&&B?"tabpanel":void 0,"aria-labelledby":M&&B?`new-chat-workspace-tab-${j}`:void 0,children:[je?c.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":je.kind==="skill"?"可用技能":"可用子 Agent",children:[c.jsxs("div",{className:"composer-command-head",children:[je.kind==="skill"?c.jsx(Sy,{}):c.jsx(oZ,{}),c.jsx("span",{children:je.kind==="skill"?"调用技能":"使用子 Agent"}),c.jsx("kbd",{children:je.kind==="skill"?"/":"@"})]}),x?c.jsxs("div",{className:"composer-command-empty",children:[c.jsx(qn,{className:"spin"})," 正在读取 Agent 能力…"]}):$e.length===0?c.jsx("div",{className:"composer-command-empty",children:je.kind==="skill"?"当前 Agent 没有匹配技能":"当前 Agent 没有匹配子 Agent"}):c.jsx("div",{className:"composer-command-list",children:$e.map((xe,Ge)=>c.jsxs("button",{type:"button",role:"option","aria-selected":Ge===st,className:`composer-command-item${Ge===st?" is-active":""}`,onMouseDown:Nt=>{Nt.preventDefault(),wn(xe)},onMouseEnter:()=>ct(Ge),children:[c.jsx("span",{className:`composer-command-icon composer-command-icon--${xe.kind}`,children:xe.kind==="skill"?c.jsx(Sy,{}):c.jsx(lZ,{})}),c.jsxs("span",{className:"composer-command-copy",children:[c.jsxs("strong",{children:[xe.kind==="skill"?"/":"@",xe.value.name]}),c.jsx("span",{children:xe.value.description||(xe.kind==="skill"?"加载并执行该技能":"将本轮交给该 Agent")})]}),c.jsx("kbd",{children:Ge===st?"↵":xe.kind==="skill"?"技能":"Agent"})]},`${xe.kind}-${xe.value.name}`))})]}):null,c.jsxs("div",{className:"composer-menu-wrap",children:[c.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:h||!k,onClick:()=>{Ue(null),Be(xe=>!xe)},children:c.jsx(Ls,{className:"icon"})}),me&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>Be(!1)}),c.jsxs("div",{className:"composer-menu",role:"menu",children:[c.jsxs("button",{type:"button",className:"menu-item",onClick:()=>pn(he),children:[c.jsx(OD,{className:"icon"}),"上传图片"]}),c.jsxs("button",{type:"button",className:"menu-item",onClick:()=>pn(te),children:[c.jsx(mD,{className:"icon"}),"上传文档或 PDF"]}),c.jsxs("button",{type:"button",className:"menu-item",onClick:()=>pn(Te),children:[c.jsx(dZ,{className:"icon"}),"上传视频"]})]})]})]}),j==="agent"&&K&&Ee&&Ce?c.jsx(Pnt,{selectedAgentName:i?r:"",selectedRuntimeId:le,runtimeScope:ge,disabled:ie,onSelectRuntime:Ee,onSelectSandboxSession:Ce}):null,M&&j==="skill"&&G?c.jsx(Hnt,{action:Q,onActionChange:G,optimizationSource:L,onOptimizationSourceChange:X,disabled:p}):null,M&&j==="video"?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"new-chat-video-task-mode",children:c.jsx(xx,{label:"任务模式",hideLabel:!0,value:q.taskMode,options:(zn=de==null?void 0:de.supportedModes)!=null&&zn.length?eX.filter(xe=>xe.value==="auto"||de.supportedModes.includes(xe.value)):eX,onChange:xe=>oe(Ge=>({...Ge,taskMode:xe})),placeholder:"选择任务模式",disabled:p||Wt||ce||!de})}),c.jsx("div",{className:"new-chat-video-generation-model",title:Ye||(de==null?void 0:de.generationModel),children:ce?c.jsx(qn,{className:"icon spin",role:"status","aria-label":"正在加载生成模型"}):c.jsx("strong",{children:(de==null?void 0:de.generationModel)||"模型不可用"})})]}):null,$&&U?c.jsx(_nt,{value:R,onChange:U,disabled:p,temporaryEnabled:ae}):null,M&&j==="agent"&&R==="agent"&&Qe&&Y?c.jsxs("button",{type:"button",className:`new-chat-task-chip new-chat-task-chip--${Qe.value}`,"aria-label":`取消${Qe.label}任务`,disabled:p,onClick:pe,children:[c.jsxs("span",{className:"new-chat-task-chip__icon","aria-hidden":"true",children:[c.jsx(Qe.icon,{className:"new-chat-task-chip__task-icon"}),c.jsx(aa,{className:"new-chat-task-chip__remove-icon"})]}),c.jsx("span",{children:Qe.label})]}):null,c.jsxs("div",{className:`composer-input-stack${vt?" has-inline-asset":""}`,children:[vt?c.jsx(Znt,{asset:vt.asset,kind:vt.kind,label:vt.label,disabled:p||Wt||!((de==null?void 0:de.assetStorageAvailable)??!1),unavailableReason:(de==null?void 0:de.assetStorageUnavailableReason)||"",onChange:xe=>oe(Ge=>Ge.taskMode==="first_last_frame"?{...Ge,firstFrame:xe}:{...Ge,referenceVideo:xe})}):null,c.jsx("textarea",{ref:_e,className:"comp-input scroll",rows:M?4:1,value:s,disabled:h,placeholder:Ae,"aria-expanded":!!je,onChange:xe=>{a(xe.target.value),mn(xe.target.value,xe.target.selectionStart)},onSelect:xe=>{mn(xe.currentTarget.value,xe.currentTarget.selectionStart)},onBlur:()=>setTimeout(()=>Ue(null),0),onKeyDown:xe=>{if(!v3(xe.nativeEvent)){if(je){if(xe.key==="ArrowDown"&&$e.length>0){xe.preventDefault(),ct(Ge=>(Ge+1)%$e.length);return}if(xe.key==="ArrowUp"&&$e.length>0){xe.preventDefault(),ct(Ge=>(Ge-1+$e.length)%$e.length);return}if((xe.key==="Enter"||xe.key==="Tab")&&$e[st]){xe.preventDefault(),wn($e[st]);return}if(xe.key==="Escape"){xe.preventDefault(),Ue(null);return}}if(xe.key==="Backspace"&&!s&&xe.currentTarget.selectionStart===0&&xe.currentTarget.selectionEnd===0){Jt();return}xe.key==="Enter"&&!xe.shiftKey&&(xe.preventDefault(),Rt&&rn())}}}),M&&s.length===0?c.jsx("span",{className:"composer-placeholder-reveal","aria-hidden":"true",children:Ae},Ae):null]}),c.jsxs("div",{className:"composer-submit-actions",children:[t&&i&&j==="agent"?c.jsx(dit,{cloudProvider:e,modelName:v,usage:E,systemTokenEstimate:w}):null,c.jsx(dr.button,{type:"button",className:"comp-send",disabled:ft?!1:!Rt,onClick:ft?l:rn,"aria-label":ft?"停止生成":Wt||gt?"查看视频生成进度":"发送",title:ft?"停止生成":Ye||void 0,whileTap:ft||Rt?{scale:.9}:void 0,transition:{type:"spring",stiffness:600,damping:22},children:ft?c.jsx(Ent,{className:"icon"}):p||Wt?c.jsx(qn,{className:"icon spin"}):c.jsx(wnt,{className:"icon"})})]})]}),c.jsx(Zd,{initial:!1,children:M&&B&&j==="video"?c.jsx(Jnt,{config:q,onChange:oe,enhancerModel:(de==null?void 0:de.enhancerModel)||"",assetStorageAvailable:(de==null?void 0:de.assetStorageAvailable)??!1,assetStorageUnavailableReason:(de==null?void 0:de.assetStorageUnavailableReason)||"",modelsLoading:ce,modelsError:Ye,disabled:p||Wt},"new-chat-video-controls"):null}),M&&j==="agent"&&R==="agent"&&fe&&!Qe?c.jsx("div",{className:"task-shortcuts","aria-label":"选择任务类型",children:yt.map(xe=>{const Ge=xe.icon;return c.jsxs("button",{type:"button",className:"task-shortcut",disabled:h||p,onClick:()=>bn(xe),children:[c.jsx(Ge,{}),c.jsx("span",{children:xe.label})]},xe.value)})}):null,M&&j==="agent"&&R==="agent"&&Qe?c.jsx("div",{className:"prompt-suggestions","aria-label":`${Qe.label}企业提示词`,children:Qe.prompts.map(xe=>{const Ge=Qe.icon;return c.jsxs("button",{type:"button",className:"prompt-suggestion",disabled:h||p,onClick:()=>It(xe),children:[c.jsx(Ge,{}),c.jsx("span",{children:xe})]},xe)})}):null,m&&c.jsxs("div",{className:"composer-meta",children:[c.jsxs("span",{className:"composer-session-line",children:["会话 ID:",c.jsx("span",{className:"composer-session-id",title:t||void 0,"aria-live":"polite",children:n?"初始化中":t||"—"}),t&&c.jsx("button",{type:"button",className:"composer-session-copy",title:Tt?"已复制":"复制会话 ID","aria-label":Tt?"已复制会话 ID":"复制会话 ID",onClick:()=>void Gt(),children:Tt?c.jsx(kc,{}):c.jsx(wT,{})})]}),c.jsx("span",{className:"composer-meta-separator","aria-hidden":!0,children:"|"}),c.jsx("span",{children:"回答仅供参考"})]}),c.jsx("input",{ref:he,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:ui}),c.jsx("input",{ref:te,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:ui}),c.jsx("input",{ref:Te,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:ui})]})}function hit({title:e,sub:t,cards:n,footer:i}){return c.jsxs("div",{className:"stk",children:[c.jsxs("div",{className:"stk-head",children:[c.jsx("h1",{className:"stk-title",children:e}),t&&c.jsx("p",{className:"stk-sub",children:t})]}),c.jsx("div",{className:"stk-list",children:n.map((r,s)=>c.jsxs(dr.button,{type:"button",className:`stk-card ${r.disabled?"stk-card-disabled":""}`,onClick:r.disabled?void 0:r.onClick,disabled:r.disabled,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.18,ease:"easeOut",delay:s*.04},children:[c.jsx("span",{className:"stk-card-icon",children:c.jsx(r.icon,{})}),c.jsxs("span",{className:"stk-card-text",children:[c.jsx("span",{className:"stk-card-title",children:r.title}),c.jsx("span",{className:"stk-card-desc",children:r.desc})]}),r.status&&c.jsx("span",{className:"stk-card-status",children:r.status}),c.jsx(p0,{className:"stk-card-arrow"})]},r.key))}),i&&c.jsx("div",{className:"stk-footer",children:i})]})}const pit="modulepreload",mit=function(e){return"/"+e},aX={},ug=function(t,n,i){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),o=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));r=Promise.allSettled(n.map(l=>{if(l=mit(l),l in aX)return;aX[l]=!0;const u=l.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${d}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":pit,u||(f.as="script"),f.crossOrigin="",f.href=l,o&&f.setAttribute("nonce",o),document.head.appendChild(f),u)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function s(a){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a}return r.then(a=>{for(const o of a||[])o.status==="rejected"&&s(o.reason);return t().catch(s)})};var git=Object.defineProperty,w3=(e,t)=>git(e,"name",{value:t,configurable:!0});function lM(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}w3(lM,"setRef");function qce(...e){return t=>{let n=!1;const i=e.map(r=>{const s=lM(r,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let r=0;rOit(e,"name",{value:t,configurable:!0});function ip(e){const t=O.forwardRef((n,i)=>{let{children:r,...s}=n,a=null,o=!1;const l=[];cM(r)&&typeof xv=="function"&&(r=xv(r._payload)),O.Children.forEach(r,h=>{var p;if(Wce(h)){o=!0;const m=h;let g="child"in m.props?m.props.child:m.props.children;cM(g)&&typeof xv=="function"&&(g=xv(g._payload)),a=yit(m,g),l.push((p=a==null?void 0:a.props)==null?void 0:p.children)}else l.push(h)}),a?a=O.cloneElement(a,void 0,l):!o&&O.Children.count(r)===1&&O.isValidElement(r)&&(a=r);const u=a?Gce(a):void 0,d=$r(i,u);if(!a){if(r||r===0)throw new Error(o?vit(e):Sit(e));return r}const f=Yce(s,a.props??{});return a.type!==O.Fragment&&(f.ref=i?d:u),O.cloneElement(a,f)});return t.displayName=`${e}.Slot`,t}Pl(ip,"createSlot");var Hce=Symbol.for("radix.slottable");function bit(e){const t=Pl(n=>"child"in n?n.children(n.child):n.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=Hce,t}Pl(bit,"createSlottable");var yit=Pl((e,t)=>{if("child"in e.props){const n=e.props.child;return O.isValidElement(n)?O.cloneElement(n,void 0,e.props.children(n.props.children)):null}return O.isValidElement(t)?t:null},"getSlottableElementFromSlottable");function Yce(e,t){const n={...t};for(const i in t){const r=e[i],s=t[i];/^on[A-Z]/.test(i)?r&&s?n[i]=(...o)=>{const l=s(...o);return r(...o),l}:r&&(n[i]=r):i==="style"?n[i]={...r,...s}:i==="className"&&(n[i]=[r,s].filter(Boolean).join(" "))}return{...e,...n}}Pl(Yce,"mergeProps");function Gce(e){var i,r;let t=(i=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Pl(Gce,"getElementRef");function Wce(e){return O.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Hce}Pl(Wce,"isSlottable");var xit=Symbol.for("react.lazy");function cM(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===xit&&"_payload"in e&&Zce(e._payload)}Pl(cM,"isLazyComponent");function Zce(e){return typeof e=="object"&&e!==null&&"then"in e}Pl(Zce,"isPromiseLike");var Sit=Pl(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),vit=Pl(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),xv=r0[" use ".trim().toString()],wit=Object.defineProperty,Eit=(e,t)=>wit(e,"name",{value:t,configurable:!0}),kit=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ps=kit.reduce((e,t)=>{const n=ip(`Primitive.${t}`),i=O.forwardRef((r,s)=>{const{asChild:a,...o}=r,l=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(l,{...o,ref:s})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{});function Kce(e,t){e&&ar.flushSync(()=>e.dispatchEvent(t))}Eit(Kce,"dispatchDiscreteCustomEvent");var Tit=Object.defineProperty,Io=(e,t)=>Tit(e,"name",{value:t,configurable:!0});function _it(e,t){const n=O.createContext(t);n.displayName=e+"Context";const i=Io(s=>{const{children:a,...o}=s,l=O.useMemo(()=>o,Object.values(o));return c.jsx(n.Provider,{value:l,children:a})},"Provider");i.displayName=e+"Provider";function r(s,a={}){const{optional:o=!1}=a,l=O.useContext(n);if(l)return l;if(t!==void 0)return t;if(!o)throw new Error(`\`${s}\` must be used within \`${e}\``)}return Io(r,"useContext"),[i,r]}Io(_it,"createContext");function Rc(e,t=[]){let n=[];function i(s,a){const o=O.createContext(a);o.displayName=s+"Context";const l=n.length;n=[...n,a];const u=Io(f=>{var b;const{scope:h,children:p,...m}=f,g=((b=h==null?void 0:h[e])==null?void 0:b[l])||o,y=O.useMemo(()=>m,Object.values(m));return c.jsx(g.Provider,{value:y,children:p})},"Provider");u.displayName=s+"Provider";function d(f,h,p={}){var b;const{optional:m=!1}=p,g=((b=h==null?void 0:h[e])==null?void 0:b[l])||o,y=O.useContext(g);if(y)return y;if(a!==void 0)return a;if(!m)throw new Error(`\`${f}\` must be used within \`${s}\``)}return Io(d,"useContext"),[u,d]}Io(i,"createContext");const r=Io(()=>{const s=n.map(a=>O.createContext(a));return Io(function(o){const l=(o==null?void 0:o[e])||s;return O.useMemo(()=>({[`__scope${e}`]:{...o,[e]:l}}),[o,l])},"useScope")},"createScope");return r.scopeName=e,[i,Jce(r,...t)]}Io(Rc,"createContextScope");function Jce(...e){const t=e[0];if(e.length===1)return t;const n=Io(()=>{const i=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return Io(function(s){const a=i.reduce((o,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...o,...f}},{});return O.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}Io(Jce,"composeContextScopes");var Ait=Object.defineProperty,ls=(e,t)=>Ait(e,"name",{value:t,configurable:!0});function eue(e){const t=e+"CollectionProvider",[n,i]=Rc(t),[r,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=ls(g=>{const{scope:y,children:b}=g,S=O.useRef(null),x=O.useRef(new Map).current;return c.jsx(r,{scope:y,itemMap:x,collectionRef:S,children:b})},"CollectionProvider");a.displayName=t;const o=e+"CollectionSlot",l=ip(o),u=O.forwardRef((g,y)=>{const{scope:b,children:S}=g,x=s(o,b),v=$r(y,x.collectionRef);return c.jsx(l,{ref:v,children:S})});u.displayName=o;const d=e+"CollectionItemSlot",f="data-radix-collection-item",h=ip(d),p=O.forwardRef((g,y)=>{const{scope:b,children:S,...x}=g,v=O.useRef(null),E=$r(y,v),w=s(d,b);return O.useEffect(()=>(w.itemMap.set(v,{ref:v,...x}),()=>void w.itemMap.delete(v))),c.jsx(h,{[f]:"",ref:E,children:S})});p.displayName=d;function m(g){const y=s(e+"CollectionConsumer",g);return O.useCallback(()=>{const S=y.collectionRef.current;if(!S)return[];const x=Array.from(S.querySelectorAll(`[${f}]`));return Array.from(y.itemMap.values()).sort((w,k)=>x.indexOf(w.ref.current)-x.indexOf(k.ref.current))},[y.collectionRef,y.itemMap])}return ls(m,"useCollection"),[{Provider:a,Slot:u,ItemSlot:p},m,i]}ls(eue,"createCollection");var oX=new WeakMap,Rr,Ga,YC=(Ga=class extends Map{constructor(n){super(n);DQ(this,Rr);LA(this,Rr,[...super.keys()]),oX.set(this,!0)}set(n,i){return oX.get(this)&&(this.has(n)?Is(this,Rr)[Is(this,Rr).indexOf(n)]=n:Is(this,Rr).push(n)),super.set(n,i),this}insert(n,i,r){const s=this.has(i),a=Is(this,Rr).length,o=E3(n);let l=o>=0?o:a+o;const u=l<0||l>=a?-1:l;if(u===this.size||s&&u===this.size-1||u===-1)return this.set(i,r),this;const d=this.size+(s?0:1);o<0&&l++;const f=[...Is(this,Rr)];let h,p=!1;for(let m=l;m=this.size&&(s=this.size-1),this.at(s)}keyFrom(n,i){const r=this.indexOf(n);if(r===-1)return;let s=r+i;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return s;r++}}findIndex(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return r;r++}return-1}filter(n,i){const r=[];let s=0;for(const a of this)Reflect.apply(n,i,[a,s,this])&&r.push(a),s++;return new Ga(r)}map(n,i){const r=[];let s=0;for(const a of this)r.push([a[0],Reflect.apply(n,i,[a,s,this])]),s++;return new Ga(r)}reduce(...n){const[i,r]=n;let s=0,a=r??this.at(0);for(const o of this)s===0&&n.length===1?a=o:a=Reflect.apply(i,this,[a,o,s,this]),s++;return a}reduceRight(...n){const[i,r]=n;let s=r??this.at(-1);for(let a=this.size-1;a>=0;a--){const o=this.at(a);a===this.size-1&&n.length===1?s=o:s=Reflect.apply(i,this,[s,o,a,this])}return s}toSorted(n){const i=[...this.entries()].sort(n);return new Ga(i)}toReversed(){const n=new Ga;for(let i=this.size-1;i>=0;i--){const r=this.keyAt(i),s=this.get(r);n.set(r,s)}return n}toSpliced(...n){const i=[...this.entries()];return i.splice(...n),new Ga(i)}slice(n,i){const r=new Ga;let s=this.size-1;if(n===void 0)return r;n<0&&(n=n+this.size),i!==void 0&&i>0&&(s=i-1);for(let a=n;a<=s;a++){const o=this.keyAt(a),l=this.get(o);r.set(o,l)}return r}every(n,i){let r=0;for(const s of this){if(!Reflect.apply(n,i,[s,r,this]))return!1;r++}return!0}some(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return!0;r++}return!1}},Rr=new WeakMap,ls(Ga,"OrderedDict"),Ga);function Pw(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);const n=tue(e,t);return n===-1?void 0:e[n]}ls(Pw,"at");function tue(e,t){const n=e.length,i=E3(t),r=i>=0?i:n+i;return r<0||r>=n?-1:r}ls(tue,"toSafeIndex");function E3(e){return e!==e||e===0?0:Math.trunc(e)}ls(E3,"toSafeInteger");function Nit(e){const t=e+"CollectionProvider",[n,i]=Rc(t),[r,s]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new YC,setItemMap:ls(()=>{},"setItemMap")}),a=ls(({state:x,...v})=>x?c.jsx(l,{...v,state:x}):c.jsx(o,{...v}),"CollectionProvider");a.displayName=t;const o=ls(x=>{const v=y();return c.jsx(l,{...x,state:v})},"CollectionInit");o.displayName=t+"Init";const l=ls(x=>{const{scope:v,children:E,state:w}=x,k=O.useRef(null),[_,C]=O.useState(null),A=$r(k,C),[R,j]=w;return O.useEffect(()=>{if(!_)return;const Q=rue(()=>{});return Q.observe(_,{childList:!0,subtree:!0}),()=>{Q.disconnect()}},[_]),c.jsx(r,{scope:v,itemMap:R,setItemMap:j,collectionRef:A,collectionRefObject:k,collectionElement:_,children:E})},"CollectionProviderImpl");l.displayName=t+"Impl";const u=e+"CollectionSlot",d=ip(u),f=O.forwardRef((x,v)=>{const{scope:E,children:w}=x,k=s(u,E),_=$r(v,k.collectionRef);return c.jsx(d,{ref:_,children:w})});f.displayName=u;const h=e+"CollectionItemSlot",p="data-radix-collection-item",m=ip(h),g=O.forwardRef((x,v)=>{const{scope:E,children:w,...k}=x,_=O.useRef(null),[C,A]=O.useState(null),R=$r(v,_,A),j=s(h,E),{setItemMap:Q}=j,L=O.useRef(k);nue(L.current,k)||(L.current=k);const D=L.current;return O.useEffect(()=>{const N=D;return Q(M=>C?M.has(C)?M.set(C,{...N,element:C}).toSorted(uM):(M.set(C,{...N,element:C}),M.toSorted(uM)):M),()=>{Q(M=>!C||!M.has(C)?M:(M.delete(C),new YC(M)))}},[C,D,Q]),c.jsx(m,{[p]:"",ref:R,children:w})});g.displayName=h;function y(){return O.useState(new YC)}ls(y,"useInitCollection");function b(x){const{itemMap:v}=s(e+"CollectionConsumer",x);return v}return ls(b,"useCollection"),[{Provider:a,Slot:f,ItemSlot:g},{createCollectionScope:i,useCollection:b,useInitCollection:y}]}ls(Nit,"createCollection");function nue(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e==null||t==null)return!1;const n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}ls(nue,"shallowEqual");function iue(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}ls(iue,"isElementPreceding");function uM(e,t){return!e[1].element||!t[1].element?0:iue(e[1].element,t[1].element)?-1:1}ls(uM,"sortByDocumentPosition");function rue(e){return new MutationObserver(n=>{for(const i of n)if(i.type==="childList"){e();return}})}ls(rue,"getChildListObserver");var Cit=Object.defineProperty,$0=(e,t)=>Cit(e,"name",{value:t,configurable:!0}),sue=!!(typeof window<"u"&&window.document&&window.document.createElement);function hr(e,t,{checkForDefaultPrevented:n=!0}={}){return $0(function(r){if(e==null||e(r),n===!1||!r||!r.defaultPrevented)return t==null?void 0:t(r)},"handleEvent")}$0(hr,"composeEventHandlers");function Rit(e){var t;if(!sue)throw new Error("Cannot access window outside of the DOM");return((t=e==null?void 0:e.ownerDocument)==null?void 0:t.defaultView)??window}$0(Rit,"getOwnerWindow");function dM(e){if(!sue)throw new Error("Cannot access document outside of the DOM");return(e==null?void 0:e.ownerDocument)??document}$0(dM,"getOwnerDocument");function aue(e,t=!1){const{activeElement:n}=dM(e);if(!(n!=null&&n.nodeName))return null;if(oue(n)&&n.contentDocument)return aue(n.contentDocument.body,t);if(t){const i=n.getAttribute("aria-activedescendant");if(i){const r=dM(n).getElementById(i);if(r)return r}}return n}$0(aue,"getActiveElement");function oue(e){return e.tagName==="IFRAME"}$0(oue,"isFrame");var Sl=globalThis!=null&&globalThis.document?O.useLayoutEffect:()=>{},Iit=Object.defineProperty,Pit=(e,t)=>Iit(e,"name",{value:t,configurable:!0}),lX=r0[" useEffectEvent ".trim().toString()],cX=r0[" useInsertionEffect ".trim().toString()];function lue(e){if(typeof lX=="function")return lX(e);const t=O.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof cX=="function"?cX(()=>{t.current=e}):Sl(()=>{t.current=e}),O.useMemo(()=>(...n)=>{var i;return(i=t.current)==null?void 0:i.call(t,...n)},[])}Pit(lue,"useEffectEvent");var jit=Object.defineProperty,S1=(e,t)=>jit(e,"name",{value:t,configurable:!0}),Mit=r0[" useInsertionEffect ".trim().toString()]||Sl;function Mf({prop:e,defaultProp:t,onChange:n=S1(()=>{},"onChange"),caller:i}){const[r,s,a]=cue({defaultProp:t,onChange:n}),o=e!==void 0,l=o?e:r,u=O.useCallback(d=>{var f;if(o){const h=uue(d)?d(e):d;h!==e&&((f=a.current)==null||f.call(a,h))}else s(d)},[o,e,s,a]);return[l,u]}S1(Mf,"useControllableState");function cue({defaultProp:e,onChange:t}){const[n,i]=O.useState(e),r=O.useRef(n),s=O.useRef(t);return Mit(()=>{s.current=t},[t]),O.useEffect(()=>{var a;r.current!==n&&((a=s.current)==null||a.call(s,n),r.current=n)},[n,r]),[n,i,s]}S1(cue,"useUncontrolledState");function uue(e){return typeof e=="function"}S1(uue,"isFunction");var uX=Symbol("RADIX:SYNC_STATE");function Lit(e,t,n,i){const{prop:r,defaultProp:s,onChange:a,caller:o}=t,l=r!==void 0,u=lue(a),d=[{...n,state:s}];i&&d.push(i);const[f,h]=O.useReducer((y,b)=>{if(b.type===uX)return{...y,state:b.state};const S=e(y,b);return l&&!Object.is(S.state,y.state)&&u(S.state),S},...d),p=f.state,m=O.useRef(p);O.useEffect(()=>{m.current!==p&&(m.current=p,l||u(p))},[p,m,l]);const g=O.useMemo(()=>r!==void 0?{...f,state:r}:f,[f,r]);return O.useEffect(()=>{l&&!Object.is(r,f.state)&&h({type:uX,state:r})},[r,f.state,l]),[g,h]}S1(Lit,"useControllableStateReducer");var Dit=Object.defineProperty,Du=(e,t)=>Dit(e,"name",{value:t,configurable:!0});function due(e,t){return O.useReducer((n,i)=>t[n][i]??n,e)}Du(due,"useStateMachine");var U_=Du(e=>{const{present:t,children:n}=e,i=fue(t),r=typeof n=="function"?n({present:i.isPresent}):O.Children.only(n),s=hue(i.ref,pue(r));return typeof n=="function"||i.isPresent?O.cloneElement(r,{ref:s}):null},"Presence");function fue(e){const[t,n]=O.useState(),i=O.useRef(null),r=O.useRef(e),s=O.useRef("none"),a=O.useRef(void 0),o=e?"mounted":"unmounted",[l,u]=due(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return O.useEffect(()=>{l==="mounted"?(s.current=a.current??om(i.current),a.current=void 0):s.current="none"},[l]),Sl(()=>{const d=i.current,f=r.current;if(f!==e){const p=s.current,m=om(d);e?(a.current=m,u("MOUNT")):m==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(f&&p!==m?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,u]),Sl(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,h=Du(m=>{const y=om(i.current).includes(CSS.escape(m.animationName));if(m.target===t&&y&&(u("ANIMATION_END"),!r.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},"handleAnimationEnd"),p=Du(m=>{m.target===t&&(s.current=om(i.current))},"handleAnimationStart");return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:O.useCallback(d=>{if(d){const f=getComputedStyle(d);i.current=f,a.current=om(f)}else i.current=null;n(d)},[])}}Du(fue,"usePresence");function fM(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}Du(fM,"setRef");function hue(...e){const t=O.useRef(e);return t.current=e,O.useCallback(n=>{const i=t.current;let r=!1;const s=i.map(a=>{const o=fM(a,n);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let a=0;a$it(e,"name",{value:t,configurable:!0}),Bit=r0[" useId ".trim().toString()]||(()=>{}),Uit=0;function k3(e){const[t,n]=O.useState(Bit());return Sl(()=>{e||n(i=>i??String(Uit++))},[e]),e||(t?`radix-${t}`:"")}Qit(k3,"useId");var zit=Object.defineProperty,Fit=(e,t)=>zit(e,"name",{value:t,configurable:!0}),Vit=O.createContext(void 0);function z_(e){const t=O.useContext(Vit);return e||t||"ltr"}Fit(z_,"useDirection");var Xit=Object.defineProperty,qit=(e,t)=>Xit(e,"name",{value:t,configurable:!0});function wf(e){const t=O.useRef(e);return O.useEffect(()=>{t.current=e}),O.useMemo(()=>(...n)=>{var i;return(i=t.current)==null?void 0:i.call(t,...n)},[])}qit(wf,"useCallbackRef");var Hit=Object.defineProperty,as=(e,t)=>Hit(e,"name",{value:t,configurable:!0}),hM="dismissableLayer.update",Yit="dismissableLayer.pointerDownOutside",Git="dismissableLayer.focusOutside",dX,mue=O.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Wit=O.forwardRef(as(function(t,n){const{disableOutsidePointerEvents:i=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:l,onDismiss:u,...d}=t,f=O.useContext(mue),[h,p]=O.useState(null),m=(h==null?void 0:h.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,g]=O.useState({}),y=$r(n,p),b=Array.from(f.layers),[S]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),x=S?b.indexOf(S):-1,v=h?b.indexOf(h):-1,E=f.layersWithOutsidePointerEventsDisabled.size>0,w=v>=x,k=O.useRef(!1),_=gue(j=>{a==null||a(j),l==null||l(j),j.defaultPrevented||u==null||u()},{ownerDocument:m,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:k,dismissableSurfaces:f.dismissableSurfaces,shouldHandlePointerDownOutside:O.useCallback(j=>{if(!(j instanceof Node))return!1;const Q=[...f.branches].some(L=>L.contains(j));return w&&!Q},[f.branches,w])}),C=Oue(j=>{if(r&&k.current)return;const Q=j.target;[...f.branches].some(D=>D.contains(Q))||(o==null||o(j),l==null||l(j),j.defaultPrevented||u==null||u())},m),A=h?v===b.length-1:!1,R=wf(j=>{j.key==="Escape"&&(s==null||s(j),!j.defaultPrevented&&u&&(j.preventDefault(),u()))});return O.useEffect(()=>{if(A)return m.addEventListener("keydown",R,{capture:!0}),()=>m.removeEventListener("keydown",R,{capture:!0})},[m,A,R]),O.useEffect(()=>{if(h)return i&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(dX=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(h)),f.layers.add(h),pM(),()=>{i&&(f.layersWithOutsidePointerEventsDisabled.delete(h),f.layersWithOutsidePointerEventsDisabled.size===0&&(m.body.style.pointerEvents=dX))}},[h,m,i,f]),O.useEffect(()=>()=>{h&&(f.layers.delete(h),f.layersWithOutsidePointerEventsDisabled.delete(h),pM())},[h,f]),O.useEffect(()=>{const j=as(()=>g({}),"handleUpdate");return document.addEventListener(hM,j),()=>document.removeEventListener(hM,j)},[]),c.jsx(ps.div,{...d,ref:y,style:{pointerEvents:E?w?"auto":"none":void 0,...t.style},onFocusCapture:hr(t.onFocusCapture,C.onFocusCapture),onBlurCapture:hr(t.onBlurCapture,C.onBlurCapture),onPointerDownCapture:hr(t.onPointerDownCapture,_.onPointerDownCapture)})},"DismissableLayer"));function Zit(){const e=O.useContext(mue),[t,n]=O.useState(null);return O.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}as(Zit,"useDismissableLayerSurface");var Kit=as(()=>!0,"IS_TRUE");function gue(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:r,dismissableSurfaces:s,shouldHandlePointerDownOutside:a=Kit}=t,o=wf(e),l=O.useRef(!1),u=O.useRef(!1),d=O.useRef(new Map),f=O.useRef(()=>{});return O.useEffect(()=>{function h(){u.current=!1,r.current=!1,d.current.clear()}as(h,"resetOutsideInteraction");function p(){return Array.from(d.current.values()).some(Boolean)}as(p,"isOutsideInteractionIntercepted");function m(x){if(!u.current)return;const v=x.target;v instanceof Node&&[...s].some(w=>w.contains(v))||d.current.set(x.type,!0),x.type==="click"&&window.setTimeout(()=>{u.current&&f.current()},0)}as(m,"handleInteractionCapture");function g(x){u.current&&d.current.set(x.type,!1)}as(g,"handleInteractionBubble");const y=as(x=>{if(x.target&&!l.current){let v=function(){n.removeEventListener("click",f.current);const w=p();h(),w||T3(Yit,o,E,{discrete:!0})};if(as(v,"handleAndDispatchPointerDownOutsideEvent"),!a(x.target)){n.removeEventListener("click",f.current),h(),l.current=!1;return}const E={originalEvent:x};u.current=!0,r.current=i&&x.button===0,d.current.clear(),!i||x.button!==0?v():(n.removeEventListener("click",f.current),f.current=v,n.addEventListener("click",f.current,{once:!0}))}else n.removeEventListener("click",f.current),h();l.current=!1},"handlePointerDown"),b=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const x of b)n.addEventListener(x,m,!0),n.addEventListener(x,g);const S=window.setTimeout(()=>{n.addEventListener("pointerdown",y)},0);return()=>{window.clearTimeout(S),n.removeEventListener("pointerdown",y),n.removeEventListener("click",f.current);for(const x of b)n.removeEventListener(x,m,!0),n.removeEventListener(x,g)}},[n,o,i,r,s,a]),{onPointerDownCapture:as(()=>l.current=!0,"onPointerDownCapture")}}as(gue,"usePointerDownOutside");function Oue(e,t=globalThis==null?void 0:globalThis.document){const n=wf(e),i=O.useRef(!1);return O.useEffect(()=>{const r=as(s=>{s.target&&!i.current&&T3(Git,n,{originalEvent:s},{discrete:!1})},"handleFocus");return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:as(()=>i.current=!0,"onFocusCapture"),onBlurCapture:as(()=>i.current=!1,"onBlurCapture")}}as(Oue,"useFocusOutside");function pM(){const e=new CustomEvent(hM);document.dispatchEvent(e)}as(pM,"dispatchUpdate");function T3(e,t,n,{discrete:i}){const r=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),i?Kce(r,s):r.dispatchEvent(s)}as(T3,"handleAndDispatchCustomEvent");var Jit=Object.defineProperty,ia=(e,t)=>Jit(e,"name",{value:t,configurable:!0}),GC="focusScope.autoFocusOnMount",WC="focusScope.autoFocusOnUnmount",fX={bubbles:!1,cancelable:!0},ert=O.forwardRef(ia(function(t,n){const{loop:i=!1,trapped:r=!1,onMountAutoFocus:s,onUnmountAutoFocus:a,...o}=t,[l,u]=O.useState(null),d=wf(s),f=wf(a),h=O.useRef(null),p=$r(n,u),m=O.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;O.useEffect(()=>{if(r){let y=function(v){if(m.paused||!l)return;const E=v.target;l.contains(E)?h.current=E:eu(h.current,{select:!0})},b=function(v){if(m.paused||!l)return;const E=v.relatedTarget;E!==null&&(l.contains(E)||eu(h.current,{select:!0}))},S=function(v){if(document.activeElement===document.body)for(const w of v)w.removedNodes.length>0&&eu(l)};ia(y,"handleFocusIn"),ia(b,"handleFocusOut"),ia(S,"handleMutations"),document.addEventListener("focusin",y),document.addEventListener("focusout",b);const x=new MutationObserver(S);return l&&x.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",b),x.disconnect()}}},[r,l,m.paused]),O.useEffect(()=>{if(l){hX.add(m);const y=document.activeElement;if(!l.contains(y)){const S=new CustomEvent(GC,fX);l.addEventListener(GC,d),l.dispatchEvent(S),S.defaultPrevented||(bue(wue(_3(l)),{select:!0}),document.activeElement===y&&eu(l))}return()=>{l.removeEventListener(GC,d),setTimeout(()=>{const S=new CustomEvent(WC,fX);l.addEventListener(WC,f),l.dispatchEvent(S),S.defaultPrevented||eu(y??document.body,{select:!0}),l.removeEventListener(WC,f),hX.remove(m)},0)}}},[l,d,f,m]);const g=O.useCallback(y=>{if(!i&&!r||m.paused)return;const b=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,S=document.activeElement;if(b&&S){const x=y.currentTarget,[v,E]=yue(x);v&&E?!y.shiftKey&&S===E?(y.preventDefault(),i&&eu(v,{select:!0})):y.shiftKey&&S===v&&(y.preventDefault(),i&&eu(E,{select:!0})):S===x&&y.preventDefault()}},[i,r,m.paused]);return c.jsx(ps.div,{tabIndex:-1,...o,ref:p,onKeyDown:g})},"FocusScope"));function bue(e,{select:t=!1}={}){const n=document.activeElement;for(const i of e)if(eu(i,{select:t}),document.activeElement!==n)return}ia(bue,"focusFirst");function yue(e){const t=_3(e),n=mM(t,e),i=mM(t.reverse(),e);return[n,i]}ia(yue,"getTabbableEdges");function _3(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:ia(i=>{const r=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||r?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;n.nextNode();)t.push(n.currentNode);return t}ia(_3,"getTabbableCandidates");function mM(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const i of e)if(!(n?!i.checkVisibility({checkVisibilityCSS:!0}):xue(i,{upTo:t})))return i}ia(mM,"findVisible");function xue(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}ia(xue,"isHidden");function Sue(e){return e instanceof HTMLInputElement&&"select"in e}ia(Sue,"isSelectableInput");function eu(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Sue(e)&&t&&e.select()}}ia(eu,"focus");var hX=vue();function vue(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=gM(e,t),e.unshift(t)},remove(t){var n;e=gM(e,t),(n=e[0])==null||n.resume()}}}ia(vue,"createFocusScopesStack");function gM(e,t){const n=[...e],i=n.indexOf(t);return i!==-1&&n.splice(i,1),n}ia(gM,"arrayRemove");function wue(e){return e.filter(t=>t.tagName!=="A")}ia(wue,"removeLinks");var trt=Object.defineProperty,nrt=(e,t)=>trt(e,"name",{value:t,configurable:!0}),irt=O.forwardRef(nrt(function(t,n){var l;const{container:i,...r}=t,[s,a]=O.useState(!1);Sl(()=>a(!0),[]);const o=i||s&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return o?ar.createPortal(c.jsx(ps.div,{...r,ref:n}),o):null},"Portal")),rrt=Object.defineProperty,A3=(e,t)=>rrt(e,"name",{value:t,configurable:!0}),Sv=0,Xl=null;function srt(e){return N3(),e.children}A3(srt,"FocusGuards");function N3(){O.useEffect(()=>{Xl||(Xl={start:OM(),end:OM()});const{start:e,end:t}=Xl;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Sv++,()=>{Sv===1&&(Xl==null||Xl.start.remove(),Xl==null||Xl.end.remove(),Xl=null),Sv=Math.max(0,Sv-1)}},[])}A3(N3,"useFocusGuards");function OM(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}A3(OM,"createFocusGuard");var nc=function(){return nc=Object.assign||function(t){for(var n,i=1,r=arguments.length;i"u")return vrt;var t=wrt(e),n=document.documentElement.clientWidth,i=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,i-n+t[2]-t[0])}},krt=_ue(),dg="data-scroll-locked",Trt=function(e,t,n,i){var r=e.left,s=e.top,a=e.right,o=e.gap;return n===void 0&&(n="margin"),` - .`.concat(ort,` { +`}).map(([n,i])=>[n,i.split("__PROJECT_NAME__").join(e)]))}const att={id:"template",kind:"github",category:"development",icon:"github",name:"模板项目导入",description:"在您的仓库中创建一个可持续交付到 AgentKit Runtime 的最简智能体",title:"模板项目导入",subtitle:"把可直接启动 Studio 的 basic Agent 和持续交付配置加入仓库",panel:"提交后将创建一个 PR,同时导入 basic 项目和 AgentKit Runtime 发布工作流。",submitLabel:"导入模板并提交 PR",fields:[p3,m3,{name:"projectPath",label:"Agent 项目目录",placeholder:"agentkit-basic-agent",help:"将在此目录新增 basic 项目;app.py 挂载完整 Studio App Server,并作为服务入口启动",required:!0},Ice,Pce],initialValues:g3({projectPath:"agentkit-basic-agent"}),regionHelp:"必须与目标 Runtime 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=O3(e),i=Rce(n.repository),r=f3(e.projectPath,"agentkit-basic-agent"),s=r==="."?i.split("/").slice(-1)[0]||"agentkit-basic-agent":r.split("/").slice(-1)[0]||"agentkit-basic-agent",a=Object.entries(stt(s)).map(([o,l])=>({path:itt(r,o),content:l,commitMessage:"feat: import AgentKit basic template",mustBeNew:!0}));return a.push({path:rtt(r),content:Lce({baseBranch:n.baseBranch,projectPath:r,runtimeName:e.runtimeName.trim(),runtimeId:e.runtimeId.trim(),region:n.region}),commitMessage:"feat: add AgentKit Runtime delivery",mustBeNew:!0}),h3({...n,repository:i,files:a,branchPrefix:"feat/agentkit-basic-template",title:"feat: 导入 AgentKit basic 模板",description:"导入带有 AgentKit Studio App Server 的 basic Agent 项目,并添加持续发布到 AgentKit Runtime 的工作流。合并前请配置 Volcengine Secrets。"},t)}},BV=[{id:"development",label:"研发"},{id:"channels",label:"消息渠道"}],Dce=[Qet,att,ntt,Zet,Bet],ott=new Map(Dce.map(e=>[e.id,e]));function ltt(e){const t=ott.get(e);if(!t)throw new Error(`Unknown automation: ${e}`);return t}function ctt(e){const t=ltt(e);if(t.kind!=="github")throw new Error(`Automation is not backed by GitHub: ${e}`);return t}const y3="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cimage%20width='48'%20height='48'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAH7UlEQVRoBdVZWWwbVRQ9492Onc1xTfaWLukq9oSqLKnYBZRSNgn6AagsAgmJRfzxg4SEEDtiER8IBKKAChK0FS1tKYWW0lZQKKV0gxCVJm3ikDiO17EdzrUzSdw4jj1OpeQqNzO237vvnHfvu/e9GWVwcBBDYue1mrqE2kI1UqeSJAnmIHUzNUCNUmGiKtQy6oPUR6geqnw/FSVOUH9R36KupfaDHnBQn6MGqEnqVJcEAfZTBbNL4b+lZPI1VbwwnaSfYO8z8N+TVMd0Qj6EVdbs3eIBP29cVFkL00kk+wSEwHAamgh9bDAJSQWTITZFnF+85J1tBPyOUC9OqqnsVdTIRkVBi70Msy125uriHJ8XAXFRfzKBTQM+rO0/hc54cSQE8iyzAx/XLcEltjIU44uCQijOaHvPfxIv97TjWCzEcMo7+sZ4TGa+2V6KT2rPQ73ZptsPBZE30fVrymvxTvUCtDoqYC0ijhMk/3MkgDd62xFheOqVggjIIAbOVaujEh/ULsaNzioUsxhVAv/A34GD0YBubxZMQJupWpMNr58zHytcHth1ekICsDcRx4u+fxBK6vOCbgKyEIXEK975WOmaoZuErKv1QR8ORQd0eUE3Ac0TNSYrXvI24fZSLxwGfebiDKW3e08gln9J0oYvKoMNG6kmiRdmzMOtTi8sOsJJJfANA93oiseGbeZ7k1EHZAKCEcApu4wCxUsSz3rm4HQiim3B/wpOsBJA2yP/4cZIJYIBFcGwCjWeSKEwm4wosZtR7rKizGXJQJZRB1TuttftAprnAbOrM9rl9UHqwg+s1o+eOow/GNN5CaPOklSgdKq4us+Ji7pt6Dw1AF9vBOGImjJht5lRVWFDY7UL58/3wOt2YPEcN2xWVpPRe6EQC+y9rwINPNKsuRaYX5cXhIxGkks+Y7V+6vQRdLBi5yx1bGwicFebivj+ARgOhZGMJMFyQyWpoV2GRIa2ZXOX2bDyqnPxzEPNKC+1Zj957eDBTbz34PXAwvoMfBN+kGV8Bxf00VgQz/vaEB6nSCnRQVj2h2DZG4TyZwQWlSils3m8RDDEhk2uaqlHaYklVb3Ha42dh4B3eMzZ//eEmMc0kGL3cEU9WksqU4XvzAYKZ9n6fQCOz3thORCGkhgCf2bDMz4bjQpW39yE65Y1QO5FxiUgP+76E3hzI7D1VyBcwP5NTFcZzXjaPRMNZmvGPkfA23YMwLHRD0Mf3ZwTgaBIi8GgYMGsSjx2z3kEP9Jp5E5rOeoqQH75C3htPfDpD4CskXxFvHC5vQKPVjSwPqQfcKTAfxuA/Ws/lBAXwEhUTGjWSAL3r1qYykSju+UkIFbZDx09wPvb0iH1W9uEYw03MHAV3ltew1CqgDkyCNtWgt/cnwY/3GriG5n9hbMrccNljRmzLz0nJCCNJBsEwsCH24E3NgDr96brhfyWS2Sm3EYLVsOL0i0DsG8h+LDkqcLExHhfc9siVDDrjJ59sZJRyHKZFRKybiSkTtIjR08CrXwEdtGcXL2A4+192LOuDeatfqg6wMvsL5lbhWuWysIdO995E9BgSkh19THX7wQOtANXLgKWLQSaarUWI9dNP7bjo68OY9uef6GqhcW8ZkViX2a/nBWYQ4+RggmIBfFGnHgOcD0c7wD2HgOW0xuXk0xN5SDaOwL4cnsb1m05joPHejKK0hgEOb4Q8Muba3H1pXUwZZl96aqLgHSU2RCbEe6/9hzh875OYPdhYF5NDLt/Oohd+46gNxBjm2zzJhZyi/RyV5TggdsvRJnTOm5j3QQ0i9ra6OHj1u9+B/YdNcLXVQdDmYNPy9oZ971IcIPHjUHadVrHHFfZNphtTtx508W4eJEHsg7Gk6IJaIZlDEn3EdUEl7sBg4la2MtqkYgNIOz/F9FgF6IhX6p5mozcjgbGasw/xWCCs7IeN7U24b4VddwZj26jjTZynTQCmknxSBqIETanh7ceWEpmpIiokT7E6JFosBvxaD/iJCeNDQYzTFYnzHY3SsobmfM9eOyucjTO0KyOf510AqOHkl2kiMlSQoAlsPLAk4hHSCaIJMMqmUgfYBQeggxGK4xmOxprXHh8lYK51em+E/0/qwQyBh8iY+Q52pjlOZD8XFcFPHELcGlT3stlbBaymtOROTReBoZJ+0DjZ9pv4SFq9fL0YWqcjJl1+AwP8OSGS+amq6y4P/fyyWqvoC9lDAG7ainPEJcBs7xMBGOLbU6bGQTMJHAnDUlG2biPFZevEM4GCZl9sSsnPgG+bAHfa+l8vZJxpNSo+oPp/c4XP6bPBN0kog2qtdFz1WzIkfXmZuAKVm6JewlbvZKVgGZMilMPwW9ngdr5B3CEG7iEbCY5ffl6RgPtYDGdybS4ogW4YDbgLefTD5s2kv5rTgKaWdlKi1fau4BDJ3jM5I70NDd0J7grzfZEUMg5CM5Tmg4TiW3ZtVYxTKpcgM2iWS7+mhcBbRiZ/TBTd4jPjtSEVF3AxxdUPgkxTrUUMTcBykKUmLZwhQlYPhWBeCBV5DRjk3QtiEC2McUDsjPVCEhWEQ8Umk2y2c7nOyEwrV/ySdbdQo3nw3aKtRHM3wiBtVQu02knISJ+SQh8Q32TyqTJJ6xTXyQzyzb2LeoBWQOy5pjwcDf1YSqzNIooLex99kTCppsq4N+l+oUArylhoku9sb+O18VU8c5UEiZu7KGyrKKTmgr7/wGxhy03aZIycwAAAABJRU5ErkJggg=='%20/%3e%3c/svg%3e";function $ce(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...e,children:c.jsx("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91 .58 .11 .79-.25.79-.56v-2.02c-3.2.7-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.69-1.28-1.69-1.05-.72.08-.7.08-.7 1.16.08 1.77 1.19 1.77 1.19 1.03 1.77 2.71 1.26 3.37.96.1-.75.4-1.26.73-1.55-2.56-.29-5.25-1.28-5.25-5.7 0-1.26.45-2.29 1.19-3.1-.12-.29-.52-1.47.11-3.06 0 0 .97-.31 3.16 1.18A10.98 10.98 0 0 1 12 6.11c.98 0 1.96.13 2.87.39 2.19-1.49 3.16-1.18 3.16-1.18.63 1.59.23 2.77.11 3.06.74.81 1.19 1.84 1.19 3.1 0 4.43-2.7 5.4-5.27 5.69.42.36.78 1.06.78 2.14v3.04c0 .31.21.67.8.56A11.51 11.51 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})}function UV(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),c.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function utt(e){return c.jsxs("svg",{viewBox:"0 0 36 36",fill:"none","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"5",width:"18",height:"18",rx:"5",fill:"currentColor",opacity:"0.1"}),c.jsx("rect",{x:"3.5",y:"5",width:"18",height:"18",rx:"5",stroke:"currentColor",strokeWidth:"1.6"}),c.jsx("path",{d:"m9.2 11.2-2.8 2.7 2.8 2.7M12.1 17.4h4.3",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("circle",{cx:"26.5",cy:"12",r:"3",fill:"hsl(var(--background))",stroke:"currentColor",strokeWidth:"1.6"}),c.jsx("circle",{cx:"27",cy:"26.5",r:"3",fill:"hsl(var(--background))",stroke:"currentColor",strokeWidth:"1.6"}),c.jsx("path",{d:"M21.5 12h2M19.3 21l5.6 3.8M27 15v8.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}function dtt({onOpen:e}){var u;const[t,n]=O.useState("development"),[i,r]=O.useState(""),s=O.useDeferredValue(i),a=O.useMemo(()=>{const d=s.trim().toLocaleLowerCase();return Dce.filter(f=>f.category===t).filter(f=>!d||`${f.name} ${f.description}`.toLocaleLowerCase().includes(d))},[t,s]),o=(u=BV.find(d=>d.id===t))==null?void 0:u.label,l=$et(window.location.hostname);return c.jsxs("div",{className:"applications-page",children:[c.jsxs("header",{className:"applications-header",children:[c.jsxs("div",{children:[c.jsx("h1",{children:"自动化"}),c.jsx("p",{children:"连接研发工具,为智能体扩展自动化工作流"})]}),c.jsxs("label",{className:"applications-search",children:[c.jsx(UV,{}),c.jsx("input",{type:"search","aria-label":"搜索自动化",value:i,onChange:d=>r(d.target.value),placeholder:"搜索自动化"})]})]}),c.jsx("nav",{className:"applications-categories","aria-label":"自动化分类",children:BV.map(d=>c.jsx("button",{type:"button",className:t===d.id?"is-active":"","aria-pressed":t===d.id,onClick:()=>n(d.id),children:d.label},d.id))}),c.jsx("section",{className:"applications-results","aria-label":`${o}自动化列表`,children:a.length?c.jsx("div",{className:"applications-grid",children:a.map(d=>{const f=d.id==="coding-agents"&&!l,h=f?"coding-agents-local-only-tooltip":void 0;return c.jsxs("div",{className:`application-card-wrap${f?" is-disabled":""}`,tabIndex:f?0:void 0,"aria-describedby":h,children:[c.jsxs("button",{type:"button",className:"application-card",onClick:()=>e(d.id),"aria-label":`打开${d.name}`,disabled:f,children:[d.icon==="feishu"?c.jsx("img",{className:"application-card-icon application-card-brand-icon",src:y3,alt:"","aria-hidden":"true"}):d.icon==="coding-agents"?c.jsx(utt,{className:"application-card-icon"}):c.jsx($ce,{className:"application-card-icon"}),c.jsxs("div",{className:"application-card-copy",children:[c.jsxs("div",{className:"application-card-title",children:[c.jsx("h2",{children:d.name}),d.badge?c.jsx("span",{className:`application-card-badge is-${d.badgeTone||"default"}`,children:d.badge}):null]}),c.jsx("p",{children:d.description})]})]}),f?c.jsx("span",{id:h,className:"application-card-tooltip",role:"tooltip",children:"仅本地部署可用"}):null]},d.id)})}):c.jsxs("div",{className:"applications-empty",role:"status",children:[c.jsx(UV,{}),c.jsx("h2",{children:"没有匹配的自动化"}),c.jsx("p",{children:"请尝试搜索其他名称"})]})})]})}const ftt={volcengine:"https://console.volcengine.com",byteplus:"https://console.byteplus.com"};function bx(e){return e.trim()}function x3(e){return ftt[e]}function htt(e){const t=bx(e);if(!t)return null;let n=t;try{n=new URL(t.includes("://")?t:`https://${t}`).hostname}catch{return null}const i=n.match(/^(.+)\.tos-([a-z0-9-]+)\.(?:volces|bytepluses)\.com$/i);return i?{bucket:i[1],region:i[2]}:null}function ptt(e,t){const n=htt(t);if(!n)return null;const i=new URLSearchParams({id:n.bucket,region:n.region,type:"objects"});return`${x3(e)}/tos/bucket/setting?${i.toString()}`}function mtt(e,t,n){const i=bx(t),r=bx(n);return!i||!r?null:`${x3(e)}/agentkit/region:agentkit+${encodeURIComponent(i)}/builtintools/${encodeURIComponent(r)}/detail`}function gtt(e,t,n){const i=bx(t),r=bx(n);return!i||!r?null:`${x3(e)}/identity/region:identity+${encodeURIComponent(i)}/user-pools/${encodeURIComponent(r)}/info`}function $C({href:e,label:t,children:n}){return e?c.jsxs("a",{className:"system-info-resource-link",href:e,target:"_blank",rel:"noreferrer","aria-label":t,title:t,children:[c.jsx("span",{children:n}),c.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[c.jsx("path",{d:"M7.75 5.25h-2.5a1.5 1.5 0 0 0-1.5 1.5v8a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5v-2.5"}),c.jsx("path",{d:"M10.25 3.75h6v6M16 4 9 11"})]})]}):c.jsx("span",{children:n})}function Ott(e){return e instanceof Error&&e.message.includes("Volcengine credentials not found")}function btt({version:e,localMode:t,role:n,provider:i,region:r}){const s=n==="admin",[a,o]=O.useState(""),[l,u]=O.useState([]),[d,f]=O.useState([]),[h,p]=O.useState(!0),[m,g]=O.useState(""),[y,b]=O.useState(!0),[S,x]=O.useState(""),[v,E]=O.useState(0),[w,k]=O.useState(0);return O.useEffect(()=>{if(!s){o(""),u([]),p(!1),g("");return}const _=new AbortController;return p(!0),g(""),aK(_.signal).then(C=>{o(C.storage.tosAddress),u(C.sandboxTools)}).catch(C=>{(C==null?void 0:C.name)!=="AbortError"&&g(C instanceof Error?C.message:String(C))}).finally(()=>{_.signal.aborted||p(!1)}),()=>_.abort()},[s,v]),O.useEffect(()=>{if(!s){f([]),b(!1),x("");return}const _=new AbortController;return b(!0),x(""),RD(_.signal).then(C=>{f(C.filter(A=>A.isCurrent))}).catch(C=>{if((C==null?void 0:C.name)!=="AbortError"){if(t&&Ott(C)){f([]);return}x(C instanceof Error?C.message:String(C))}}).finally(()=>{_.signal.aborted||b(!1)}),()=>_.abort()},[s,t,w]),c.jsxs("div",{className:"system-info-page",children:[c.jsxs("header",{className:"system-info-page-header",children:[c.jsx("h1",{children:"系统信息"}),c.jsx("p",{children:"查看当前 Studio 版本及关联的基础资源"})]}),c.jsxs("div",{className:"system-info-scroll",children:[c.jsxs("section",{className:"system-info-section","aria-labelledby":"studio-info-title",children:[c.jsx("h2",{id:"studio-info-title",children:"通用"}),c.jsx("dl",{className:"system-info-summary",children:c.jsxs("div",{children:[c.jsx("dt",{children:"当前版本"}),c.jsx("dd",{children:e||"—"})]})})]}),s?c.jsxs(c.Fragment,{children:[c.jsxs("section",{className:"system-info-section","aria-labelledby":"storage-info-title",children:[c.jsx("h2",{id:"storage-info-title",children:"存储"}),h?c.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:c.jsx(hs,{as:"span",children:"正在加载存储信息"})}):m?c.jsxs("div",{className:"system-info-error",role:"alert",children:[c.jsx("p",{children:m}),c.jsx("button",{type:"button",onClick:()=>E(_=>_+1),children:"重新加载"})]}):c.jsx("dl",{className:"system-info-summary",children:c.jsxs("div",{className:"system-info-resource-row",children:[c.jsx("dt",{children:"TOS 地址"}),c.jsx("dd",{className:`system-info-resource-value${a?"":" is-empty"}`,children:c.jsx($C,{href:ptt(i,a),label:"在云控制台中打开 TOS 存储桶",children:a||"未配置"})})]})})]}),c.jsxs("section",{className:"system-info-section","aria-labelledby":"sandbox-tool-title",children:[c.jsx("h2",{id:"sandbox-tool-title",children:"沙箱信息"}),h?c.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:c.jsx(hs,{as:"span",children:"正在加载沙箱信息"})}):m?c.jsxs("div",{className:"system-info-error",role:"alert",children:[c.jsx("p",{children:m}),c.jsx("button",{type:"button",onClick:()=>E(_=>_+1),children:"重新加载"})]}):c.jsx("div",{className:"system-info-tool-list",children:l.map(_=>c.jsx("dl",{className:"system-info-tool",children:c.jsxs("div",{className:"system-info-resource-row",children:[c.jsxs("dt",{className:"system-info-tool-label",children:[c.jsx("span",{children:_.label}),_.snapshot?c.jsx("span",{className:"system-info-tool-badge",children:"快照版"}):null]}),c.jsx("dd",{className:`system-info-resource-value${_.toolId?"":" is-empty"}`,children:c.jsx($C,{href:mtt(i,r,_.toolId),label:`在云控制台中打开${_.label}`,children:_.toolId||"未配置"})})]})},_.kind))})]}),c.jsxs("section",{className:"system-info-section","aria-labelledby":"user-pool-title",children:[c.jsx("h2",{id:"user-pool-title",children:"用户池"}),y?c.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:c.jsx(hs,{as:"span",children:"正在加载用户池"})}):S?c.jsxs("div",{className:"system-info-error",role:"alert",children:[c.jsx("p",{children:S}),c.jsx("button",{type:"button",onClick:()=>k(_=>_+1),children:"重新加载"})]}):d.length>0?c.jsx("div",{className:"system-info-pool-list",children:d.map(_=>c.jsxs("dl",{className:"system-info-pool",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"名称"}),c.jsx("dd",{className:"system-info-resource-value",children:c.jsx($C,{href:gtt(i,_.region||r,_.uid),label:`在云控制台中打开用户池${_.name?`“${_.name}”`:""}`,children:_.name||"未命名用户池"})})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"ID"}),c.jsx("dd",{children:_.uid||"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"域名"}),c.jsx("dd",{children:_.domain||"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"区域"}),c.jsx("dd",{children:_.region||"—"})]})]},_.uid))}):c.jsx("p",{className:"system-info-empty",children:t?"本地模式未配置用户池":"当前 Studio 未配置用户池"})]})]}):null]})]})}function ytt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m9.8 3.5-4.5 4.5 4.5 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function xtt({hidden:e,...t}){return c.jsxs("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[c.jsx("path",{d:"M2.5 10s2.6-4 7.5-4 7.5 4 7.5 4-2.6 4-7.5 4-7.5-4-7.5-4Z"}),c.jsx("circle",{cx:"10",cy:"10",r:"1.8"}),e?c.jsx("path",{d:"m4 4 12 12"}):null]})}function zV(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"M6.5 4H4.8A1.8 1.8 0 0 0 3 5.8v5.4A1.8 1.8 0 0 0 4.8 13h5.4a1.8 1.8 0 0 0 1.8-1.8V9.5M9 3h4v4M12.5 3.5 7.2 8.8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function Stt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m4 6 4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function vtt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6.2",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function QC(e,t,n){const i=t.trim();if(!i)return n?"此项不能为空":"";if(e==="repository"&&!/^(?:https:\/\/github\.com\/)?[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:\.git)?$/.test(i))return"请输入 owner/repository 或完整 GitHub Repo URL";if(e==="baseBranch"&&(!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(i)||i.includes("..")))return"目标分支格式不正确";if(e==="projectPath"&&(i.startsWith("/")||i.split("/").includes("..")))return"请输入仓库内的相对目录";if(e==="runtimeName")return b3(i)??"";if(e==="runtimeId"&&!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(i))return"Runtime ID 格式不正确";if(e==="sandboxToolId"&&!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(i))return"Sandbox Tool ID 格式不正确";if(e==="modelName"&&!/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/.test(i))return"模型名称格式不正确";if(e==="modelBaseUrl")try{const r=new URL(i);if(r.protocol!=="https:"||r.username||r.password||r.search||r.hash)return"请输入不含凭据、查询参数或锚点的 HTTPS 地址"}catch{return"请输入有效的 HTTPS 地址"}return""}function wtt({automation:e,onBack:t}){const n=ctt(e),[i,r]=O.useState(()=>({...n.initialValues})),[s,a]=O.useState({}),[o,l]=O.useState(""),[u,d]=O.useState(!1),[f,h]=O.useState(!1),[p,m]=O.useState(!1),[g,y]=O.useState(null),b=O.useRef(null);O.useEffect(()=>()=>{var k;return(k=b.current)==null?void 0:k.abort()},[]);const S=(k,_)=>{r(C=>({...C,[k]:_})),s[k]&&a(C=>({...C,[k]:""}))},x=k=>{var A;const _=k==="token"||((A=n.fields.find(R=>R.name===k))==null?void 0:A.required)===!0,C=QC(k,i[k],_);a(R=>({...R,[k]:C}))},v=async k=>{var R;k.preventDefault();const _={};for(const j of n.fields){const Q=QC(j.name,i[j.name],j.required);Q&&(_[j.name]=Q)}const C=QC("token",i.token,!0);if(C&&(_.token=C),a(_),Object.keys(_).length)return;(R=b.current)==null||R.abort();const A=new AbortController;b.current=A,d(!0),l(""),y(null);try{const j=await n.submit(i,A.signal);if(b.current!==A)return;y(j),r(Q=>({...Q,token:""}))}catch(j){if(A.signal.aborted||b.current!==A)return;l(j instanceof Error?j.message:String(j))}finally{b.current===A&&(b.current=null,d(!1))}},E=k=>{k.key==="Enter"&&(k.nativeEvent.isComposing||k.nativeEvent.keyCode===229)&&k.preventDefault()},w=k=>{const{name:_,label:C,placeholder:A,help:R,required:j}=k;return c.jsxs("div",{className:"github-field",children:[c.jsxs("label",{htmlFor:`github-${_}`,children:[c.jsx("span",{children:C}),c.jsx("span",{className:`github-field-requirement${j?" is-required":""}`,children:j?"必填":"可选"})]}),c.jsx("input",{id:`github-${_}`,value:i[_],onChange:Q=>S(_,Q.target.value),onBlur:()=>x(_),placeholder:A,required:j,"aria-invalid":!!s[_],"aria-describedby":`github-${_}-help${s[_]?` github-${_}-error`:""}`}),c.jsx("span",{id:`github-${_}-help`,className:"github-field-help",children:R}),s[_]?c.jsx("span",{id:`github-${_}-error`,className:"github-field-error",role:"alert",children:s[_]}):null]},_)};return c.jsxs("div",{className:"github-integration-page",children:[c.jsxs("header",{className:"github-integration-header",children:[c.jsx("button",{type:"button",className:"github-back",onClick:t,"aria-label":"返回自动化列表",children:c.jsx(ytt,{})}),c.jsx($ce,{className:"github-integration-logo"}),c.jsxs("div",{children:[c.jsx("h1",{children:n.title}),c.jsx("p",{children:n.subtitle})]})]}),c.jsx("div",{className:"github-integration-layout",children:c.jsxs("section",{id:`github-panel-${e}`,className:"github-section-panel",children:[c.jsx("div",{className:"github-panel-heading",children:c.jsx("p",{children:n.panel})}),c.jsxs("form",{className:"github-release-form",onSubmit:v,onKeyDown:E,noValidate:!0,children:[c.jsxs("div",{className:"github-field-grid",children:[n.fields.map(w),c.jsxs("div",{className:"github-field",children:[c.jsxs("label",{id:"github-region-label",children:[c.jsx("span",{children:"地域"}),c.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),c.jsxs("div",{className:"pp-network-region github-region-picker",onKeyDown:k=>{k.key==="Escape"&&m(!1)},children:[c.jsxs("button",{type:"button",className:"pp-region-trigger","aria-labelledby":"github-region-label","aria-haspopup":"listbox","aria-expanded":p,onClick:()=>m(k=>!k),children:[c.jsx("span",{children:i.region==="cn-shanghai"?"华东 2(上海)":"华北 2(北京)"}),c.jsx(Stt,{className:`pp-region-chevron${p?" is-open":""}`})]}),p?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>m(!1)}),c.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"地域",children:[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}].map(k=>{const _=k.value===i.region;return c.jsxs("button",{type:"button",role:"option","aria-selected":_,className:`pp-region-option${_?" is-selected":""}`,onClick:()=>{S("region",k.value),m(!1)},children:[c.jsx("span",{children:k.label}),_?c.jsx(vtt,{}):null]},k.value)})})]}):null]}),c.jsx("span",{className:"github-field-help",children:n.regionHelp})]})]}),c.jsxs("div",{className:"github-field github-token-field",children:[c.jsxs("div",{className:"github-token-label-row",children:[c.jsxs("label",{htmlFor:"github-token",children:[c.jsx("span",{children:"GitHub Token"}),c.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),c.jsxs("a",{href:"https://github.com/settings/personal-access-tokens/new?name=VeADK%20Studio&description=Create%20a%20GitHub%20automation%20pull%20request&contents=write&pull_requests=write",target:"_blank",rel:"noreferrer",children:["获取 Token",c.jsx(zV,{})]})]}),c.jsxs("div",{className:"github-token-input",children:[c.jsx("input",{id:"github-token",type:f?"text":"password",value:i.token,onChange:k=>S("token",k.target.value),onBlur:()=>x("token"),autoComplete:"off",required:!0,placeholder:"需要仓库 Contents 与 Pull requests 写权限","aria-invalid":!!s.token,"aria-describedby":`github-token-help${s.token?" github-token-error":""}`}),c.jsx("button",{type:"button",onClick:()=>h(k=>!k),"aria-label":f?"隐藏 Token":"显示 Token",title:f?"隐藏 Token":"显示 Token",children:c.jsx(xtt,{hidden:f})})]}),c.jsx("span",{id:"github-token-help",className:"github-field-help",children:"Token 仅用于本次提交,不会保存在浏览器或写入 PR"}),s.token?c.jsx("span",{id:"github-token-error",className:"github-field-error",role:"alert",children:s.token}):null]}),o?c.jsx("div",{className:"github-submit-message is-error",role:"alert",children:o}):null,g?c.jsxs("div",{className:"github-submit-message is-success",role:"status",children:[c.jsxs("span",{children:["PR #",g.number," 已创建"]}),c.jsxs("a",{href:g.url,target:"_blank",rel:"noreferrer",children:["在 GitHub 查看",c.jsx(zV,{})]})]}):null,c.jsxs("div",{className:"github-form-actions",children:[c.jsxs("div",{className:"github-secrets-note",children:[c.jsx("strong",{children:"合并 PR 前,请在仓库的 GitHub Actions Secrets 中配置:"}),n.secrets.map(k=>c.jsx("span",{children:k},k))]}),c.jsx("button",{type:"submit",disabled:u,children:u?"提交 PR 中…":n.submitLabel})]})]})]})})]})}const Ett=1050062,FV="1.0",ktt="https://lf-static.applogcdn.com/obj/applog-sdk-static/log-sdk/collect/5/collect.js";class Ttt{constructor(){fa(this,"enabled",!1);fa(this,"initialized",!1);fa(this,"pending",[]);fa(this,"userUniqueId","");fa(this,"initPromise")}init(t){return this.enabled=t.enabled,this.enabled?this.initPromise?this.initPromise:(this.initPromise=Promise.resolve().then(()=>{const n=this.bootstrapCollector();n("init",{app_id:Ett,channel:"cn",disable_auto_pv:1}),this.userUniqueId&&n("config",{user_unique_id:this.userUniqueId}),n("config",{_staging_flag:t.environment==="prod"?0:1}),n("start"),this.initialized=!0;const i=this.pending;this.pending=[];for(const[r,s]of i)this.collect(r,s)}),this.initPromise):(this.pending=[],Promise.resolve())}identify(t){this.userUniqueId=t,this.initialized&&this.collect("config",{user_unique_id:t})}emit(t,n){if(this.enabled){if(this.initialized){this.collect(t,n);return}this.pending=[...this.pending.slice(-49),[t,n]]}}bootstrapCollector(){if(window.collectEvent)return window.collectEvent;window.LogAnalyticsObject="collectEvent";const t=function(){var r;(r=t.q)==null||r.push(arguments)};t.q=[],t.l=Date.now(),window.collectEvent=t;const n=document.createElement("script");return n.async=!0,n.src=ktt,n.onerror=()=>{this.enabled=!1,t.q=[],console.warn("[telemetry] TEA SDK script failed to load")},document.head.appendChild(n),t}collect(t,n){var i;(i=window.collectEvent)==null||i.call(window,t,n)}}function _tt(e){if(typeof e!="string"&&typeof e!="number")return;const t=String(e).trim();return/^[A-Za-z0-9_.:-]{1,64}$/.test(t)?t:void 0}function Hc(e,t){return t===void 0?{errorKind:e}:{errorKind:e,errorCode:t}}function xa(e,t={}){const n=e!==null&&typeof e=="object"?e:{},i=_tt(n.code),r=typeof n.name=="string"?n.name:"";if(r==="RuntimeProbeError")return Hc("runtime_probe_error",i);if(r==="AbortError")return Hc("abort",i);if(r==="RuntimeAccessDeniedError"||r==="AuthError")return Hc("auth",i);if(t.phase==="build")return Hc("build_failed",i);if(r==="TimeoutError")return Hc("timeout",i);if(r==="NetworkError"||r==="TypeError")return Hc("network",i);if(r==="ValidationError")return Hc("validation",i);if(r==="ServerError")return Hc("server",i);const s=typeof n.status=="number"&&Number.isInteger(n.status)?n.status:void 0;if(s===void 0||s<400||s>599)return Hc("unknown",i);const a=String(s);return s===401||s===403?{errorKind:"auth",errorCode:a}:s===400||s===409||s===422?{errorKind:"validation",errorCode:a}:s>=500?{errorKind:"server",errorCode:a}:{errorKind:"unknown",errorCode:a}}const Att=["schema_version","event_id","operation_id","user_pool_id","studio_deploy_id","vefaas_application_id","vefaas_function_id","studio_region","studio_project","studio_version","environment","cloud_provider","account_id","user_role","user_source","page_instance_id"],Ntt={studio_entry_viewed:["auth_state"],studio_session_started:["agents_source"],studio_agent_deploy:["status","agent_id","deploy_action","deploy_source","create_mode","ai_assisted","deploy_region","runtime_network_type","feishu_enabled","runtime_id","duration_ms","failed_phase","error_kind","error_code"],studio_sandbox_create:["status","sandbox_kind","sandbox_source","sandbox_id","duration_ms","error_kind","error_code"],studio_agent_debug:["status","agent_id","variant_type","debug_run_id","duration_ms","failed_phase","error_kind","error_code"],studio_agent_connect:["status","target_id","agent_kind","connect_source","runtime_region","runtime_is_mine","sandbox_status","duration_ms","error_kind","error_code"],studio_agent_message:["status","agent_id","agent_kind","message_source","session_state","session_id","duration_ms","failed_phase","error_kind","error_code"],studio_agent_source_download:["status","agent_id","deploy_action","deploy_source","create_mode","ai_assisted","duration_ms","file_count","zip_size_bytes","error_kind","error_code"]};function Ctt(e){return typeof e=="string"||typeof e=="number"&&Number.isFinite(e)}function VV(e,t){const n=new Set([...Att,...Ntt[e]]),i={};for(const[r,s]of Object.entries(t))!n.has(r)||!Ctt(s)||(i[r]=typeof s=="string"?s.slice(0,256):s);return i}function Rtt(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}function Itt(){return typeof performance<"u"?performance.now():Date.now()}function Qp(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}class Ptt{constructor(t){fa(this,"sink");fa(this,"createId");fa(this,"now");fa(this,"pageInstanceId");fa(this,"context");fa(this,"identity");fa(this,"entryViewed",!1);fa(this,"sessionStarted",!1);this.sink=t.sink,this.createId=t.createId??Rtt,this.now=t.now??Itt,this.pageInstanceId=this.createId()}setContext(t){var n;this.context={...t,accountId:((n=t.accountId)==null?void 0:n.trim())??""}}identify(t){var i,r,s;const n=t.userUniqueId.trim();n&&(this.identity&&this.identity.userUniqueId!==n&&(this.pageInstanceId=this.createId(),this.sessionStarted=!1),this.identity={...t,userUniqueId:n,accountId:((i=t.accountId)==null?void 0:i.trim())??""},(s=(r=this.sink).identify)==null||s.call(r,n))}trackStudioSessionStarted(t){this.sessionStarted||!this.context||!this.identity||(this.sessionStarted=!0,this.emit("studio_session_started",{agents_source:t.agentsSource}))}trackStudioEntryViewed(t){if(this.entryViewed||!this.context)return;this.entryViewed=!0;const n=VV("studio_entry_viewed",Qp({schema_version:FV,event_id:this.createId(),user_pool_id:this.context.userPoolId,studio_deploy_id:this.context.studioDeployId,vefaas_application_id:this.context.applicationId,vefaas_function_id:this.context.functionId,studio_region:this.context.studioRegion,studio_project:this.context.studioProject,studio_version:this.context.studioVersion,environment:this.context.environment,cloud_provider:this.context.cloudProvider,account_id:this.context.accountId,page_instance_id:this.pageInstanceId,auth_state:t.authState}));this.sink.emit("studio_entry_viewed",n)}beginAgentDeploy(t){return this.beginOperation("studio_agent_deploy",{agent_id:t.agentId,deploy_action:t.deployAction,deploy_source:t.deploySource,create_mode:t.createMode,ai_assisted:t.aiAssisted,deploy_region:t.deployRegion,runtime_network_type:t.runtimeNetworkType,feishu_enabled:t.feishuEnabled},n=>({runtime_id:n.runtimeId}),n=>({failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginSandboxCreate(t){return this.beginOperation("studio_sandbox_create",{sandbox_kind:t.sandboxKind,sandbox_source:t.sandboxSource},n=>({sandbox_id:n.sandboxId}),n=>({error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentDebug(t){return this.beginOperation("studio_agent_debug",{agent_id:t.agentId,variant_type:t.variantType},n=>({debug_run_id:n.debugRunId}),n=>({failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentConnect(t){return this.beginOperation("studio_agent_connect",{target_id:t.targetId,agent_kind:t.agentKind,connect_source:t.connectSource},n=>Qp({runtime_region:n.runtimeRegion,runtime_is_mine:n.runtimeIsMine,sandbox_status:n.sandboxStatus}),n=>Qp({error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentMessage(t){return this.beginOperation("studio_agent_message",Qp({agent_id:t.agentId,agent_kind:t.agentKind,message_source:t.messageSource,session_state:t.sessionState,session_id:t.sessionId}),n=>({session_id:n.sessionId}),n=>Qp({session_id:n.sessionId,failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentSourceDownload(t){return this.beginOperation("studio_agent_source_download",{agent_id:t.agentId,deploy_action:t.deployAction,deploy_source:t.deploySource,create_mode:t.createMode,ai_assisted:t.aiAssisted},n=>({file_count:n.fileCount,zip_size_bytes:n.zipSizeBytes}),n=>({file_count:n.fileCount,error_kind:n.errorKind,error_code:n.errorCode}))}beginOperation(t,n,i,r){const s=this.createId(),a=this.now(),o=!!(this.context&&this.identity);let l=!1;o&&this.emit(t,{...n,status:"started"},s);const u=(d,f)=>{l||(l=!0,o&&this.emit(t,{...n,...f,status:d,duration_ms:Math.max(0,this.now()-a)},s))};return{operationId:s,succeed:d=>u("succeeded",i(d)),fail:d=>u("failed",r(d))}}emit(t,n,i){if(!this.context||!this.identity)return;const r=VV(t,Qp({schema_version:FV,event_id:this.createId(),operation_id:i,user_pool_id:this.context.userPoolId,studio_deploy_id:this.context.studioDeployId,vefaas_application_id:this.context.applicationId,vefaas_function_id:this.context.functionId,studio_region:this.context.studioRegion,studio_project:this.context.studioProject,studio_version:this.context.studioVersion,environment:this.context.environment,cloud_provider:this.context.cloudProvider,account_id:this.identity.accountId,user_role:this.identity.userRole,user_source:this.identity.userSource,page_instance_id:this.pageInstanceId,...n}));this.sink.emit(t,r)}}const Qce=new Ttt,Rc=new Ptt({sink:Qce});function jtt(e){return Qce.init(e)}function Mtt(e){Rc.setContext(e)}function Ltt(e){Rc.identify(e)}function Dtt(e){Rc.trackStudioEntryViewed(e)}function $tt(e){Rc.trackStudioSessionStarted(e)}function Bce(e){return Rc.beginAgentDeploy(e)}function Qtt(e){return Rc.beginSandboxCreate(e)}function Btt(e){return Rc.beginAgentDebug(e)}function BC(e){return Rc.beginAgentConnect(e)}function XV(e){return Rc.beginAgentMessage(e)}function Utt(e){return Rc.beginAgentSourceDownload(e)}const ztt=/^[A-Za-z_][A-Za-z0-9_]*$/;function yx(e){return e.trim().length===0?"名称为必填项":e==="user"?"user 是 Google ADK 保留名称,请使用其他名称":ztt.test(e)?null:"名称须以英文字母或下划线开头,且只能包含英文字母、数字和下划线"}function Ftt(e){const t=new Set,n=new Set,i=r=>{yx(r.name)===null&&(t.has(r.name)?n.add(r.name):t.add(r.name)),r.subAgents.forEach(i)};return i(e),n}function Vtt(e){return{...Bo(),name:e,description:"一个通过飞书接收消息并提供帮助的智能助手。",instruction:"你是一个通过飞书为用户提供帮助的智能助手。准确理解用户问题,给出简洁、可靠的回答;信息不足时先提问澄清,不要臆造事实。",deployment:{feishuEnabled:!0}}}async function Xtt(e){const t=Vtt(e.agentName),n=await jD(t);return RT(n.name,n.files,{region:e.region,projectName:"default"},{taskId:e.taskId,sessionStorage:"in-memory",minInstance:1,maxInstance:1,description:t.description,im:{feishu:{enabled:!0}},envs:[{key:"FEISHU_APP_ID",value:e.appId},{key:"FEISHU_APP_SECRET",value:e.appSecret}],onStage:e.onStage})}const rl=[{value:"cn-beijing",label:"北京"},{value:"cn-shanghai",label:"上海"}],Uce=[{phase:"prepare",label:"生成智能体"},{phase:"build",label:"构建镜像"},{phase:"deploy",label:"创建 Runtime"},{phase:"publish",label:"发布服务"}];function qtt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m9.8 3.5-4.5 4.5 4.5 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Htt(e){return c.jsx("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m5 7 4 4 4-4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function qV(e){return c.jsx("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m4 9.2 3.1 3.1L14 5.8",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})})}function Ytt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"M6.5 4H4.8A1.8 1.8 0 0 0 3 5.8v5.4A1.8 1.8 0 0 0 4.8 13h5.4a1.8 1.8 0 0 0 1.8-1.8V9.5M9 3h4v4M12.5 3.5 7.2 8.8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function Gtt(e){if(!e||e==="upload")return 0;const t=Uce.findIndex(n=>n.phase===e);return t<0?0:t}function UC(e){switch(e){case"prepare":case"upload":case"build":case"deploy":case"publish":case"update":case"evaluation":return e;default:return"unknown"}}function Wtt({onBack:e}){var K;const[t,n]=O.useState("feishu_assistant"),[i,r]=O.useState(""),[s,a]=O.useState(""),[o,l]=O.useState(!1),[u,d]=O.useState("cn-beijing"),[f,h]=O.useState(!1),[p,m]=O.useState(""),[g,y]=O.useState(""),[b,S]=O.useState(""),[x,v]=O.useState("idle"),[E,w]=O.useState(null),[k,_]=O.useState(""),[C,A]=O.useState(null),R=O.useRef(null),j=O.useRef(null),Q=O.useRef([]),L=O.useRef(0),D=O.useRef(null),N=O.useRef(null),M=O.useRef("prepare"),B=O.useRef(!1),$=O.useRef(!0),I=["preparing","running","cancelling"].includes(x);O.useEffect(()=>($.current=!0,()=>{$.current=!1}),[]),O.useEffect(()=>{var ge;if(!f)return;(ge=Q.current[L.current])==null||ge.focus();const ie=Ee=>{Ee.target instanceof Node&&R.current&&!R.current.contains(Ee.target)&&h(!1)},le=Ee=>{var Ce;Ee.key==="Escape"&&(h(!1),(Ce=j.current)==null||Ce.focus())};return window.addEventListener("pointerdown",ie),window.addEventListener("keydown",le),()=>{window.removeEventListener("pointerdown",ie),window.removeEventListener("keydown",le)}},[f]);const G=ie=>{ie.key==="Enter"&&(ie.nativeEvent.isComposing||ie.nativeEvent.keyCode===229)&&ie.preventDefault()},X=()=>{const ie=yx(t.trim())??"",le=i.trim()?"":"请输入飞书 App ID",ge=s.trim()?"":"请输入飞书 App Secret";return m(ie),y(le),S(ge),!ie&&!le&&!ge},U=async ie=>{if(ie.preventDefault(),!X()||I)return;const le=crypto.randomUUID();D.current=le,M.current="prepare",B.current=!1,v("preparing"),w(null),_(""),A(null);const ge=Bce({agentId:String(t.trim()),deployAction:"create",deploySource:"feishu_automation",createMode:"feishu_template",aiAssisted:0,deployRegion:String(u),runtimeNetworkType:"public",feishuEnabled:1});N.current=ge;try{const Ee=await Xtt({agentName:t.trim(),appId:i.trim(),appSecret:s.trim(),region:u,taskId:le,onStage:Ce=>{M.current=Ce.phase||"deploy",!(!$.current||B.current)&&(v("running"),w(Ce))}});if(B.current){ge.fail({failedPhase:UC(M.current),errorKind:"abort"});return}if(ge.succeed({runtimeId:String(Ee.runtimeId||"")}),!$.current)return;A(Ee),a(""),l(!1),v("succeeded")}catch(Ee){if(ge.fail({failedPhase:UC(M.current),...B.current?{errorKind:"abort"}:xa(Ee,{phase:M.current})}),!$.current||B.current)return;v("failed"),_(Ee instanceof Error?Ee.message:String(Ee))}finally{D.current===le&&(D.current=null),N.current===ge&&(N.current=null)}},Y=async()=>{var le;const ie=D.current;if(!(!ie||x!=="running")&&window.confirm("取消部署将停止任务并清理已创建的 Runtime,确定继续吗?")){B.current=!0,v("cancelling"),_("");try{await oK(ie),(le=N.current)==null||le.fail({failedPhase:UC(M.current),errorKind:"abort"}),$.current&&v("cancelled")}catch(ge){if(B.current=!1,!$.current)return;v("failed"),_(ge instanceof Error?ge.message:String(ge))}}},ae=Gtt((E==null?void 0:E.phase)??null),fe=!!(t.trim()&&i.trim()&&s.trim()&&!I),ke=rl.find(ie=>ie.value===u);return c.jsxs("div",{className:"feishu-integration-page",children:[c.jsxs("header",{className:"feishu-integration-header",children:[c.jsx("button",{type:"button",className:"feishu-back",onClick:e,"aria-label":"返回自动化列表",disabled:I,children:c.jsx(qtt,{})}),c.jsx("img",{className:"feishu-integration-logo",src:y3,alt:"","aria-hidden":"true"}),c.jsxs("div",{children:[c.jsx("h1",{children:"飞书机器人"}),c.jsx("p",{children:"创建一个由 AgentKit Runtime 驱动的飞书智能体"})]})]}),c.jsx("div",{className:"feishu-integration-layout",children:c.jsxs("section",{className:"feishu-section-panel",children:[c.jsx("p",{className:"feishu-panel-description",children:"填写已发布飞书应用的凭据,Studio 将生成 basic 智能体、创建独立 Runtime,并启用飞书消息长连接。"}),c.jsxs("form",{className:"feishu-form",onSubmit:U,onKeyDown:G,noValidate:!0,children:[c.jsxs("div",{className:"feishu-field-grid",children:[c.jsxs("div",{className:"feishu-field",children:[c.jsx("label",{htmlFor:"feishu-agent-name",children:"智能体名称"}),c.jsx("input",{id:"feishu-agent-name",value:t,maxLength:64,disabled:I,onChange:ie=>{n(ie.target.value),p&&m("")},onBlur:()=>m(yx(t.trim())??""),"aria-invalid":!!p,"aria-describedby":`feishu-agent-name-help${p?" feishu-agent-name-error":""}`}),c.jsx("span",{id:"feishu-agent-name-help",className:"feishu-field-help",children:"将作为新 Runtime 中的根智能体名称"}),p?c.jsx("span",{id:"feishu-agent-name-error",className:"feishu-field-error",role:"alert",children:p}):null]}),c.jsxs("div",{className:"feishu-field",children:[c.jsx("label",{id:"feishu-region-label",children:"部署地域"}),c.jsxs("div",{className:"feishu-region-picker",ref:R,children:[c.jsxs("button",{ref:j,type:"button",className:"feishu-region-trigger",disabled:I,"aria-haspopup":"listbox","aria-expanded":f,"aria-labelledby":"feishu-region-label feishu-region-value",onClick:()=>{L.current=rl.findIndex(ie=>ie.value===u),h(ie=>!ie)},onKeyDown:ie=>{ie.key!=="ArrowDown"&&ie.key!=="ArrowUp"||(ie.preventDefault(),L.current=ie.key==="ArrowUp"?rl.length-1:rl.findIndex(le=>le.value===u),h(!0))},children:[c.jsx("span",{id:"feishu-region-value",children:ke.label}),c.jsx(Htt,{})]}),f?c.jsx("div",{className:"feishu-region-menu",role:"listbox","aria-label":"部署地域",onKeyDown:ie=>{var Ee;const le=Q.current.findIndex(Ce=>Ce===document.activeElement);let ge=null;ie.key==="ArrowDown"?ge=(le+1)%rl.length:ie.key==="ArrowUp"?ge=(le-1+rl.length)%rl.length:ie.key==="Home"?ge=0:ie.key==="End"?ge=rl.length-1:ie.key==="Tab"&&h(!1),ge!==null&&(ie.preventDefault(),(Ee=Q.current[ge])==null||Ee.focus())},children:rl.map(ie=>c.jsx("button",{ref:le=>{const ge=rl.findIndex(Ee=>Ee.value===ie.value);Q.current[ge]=le},type:"button",role:"option","aria-selected":u===ie.value,className:`feishu-region-option${u===ie.value?" is-selected":""}`,onClick:()=>{var le;d(ie.value),h(!1),(le=j.current)==null||le.focus()},children:ie.label},ie.value))}):null]}),c.jsx("span",{className:"feishu-field-help",children:"Runtime 与构建产物将创建在该地域"})]}),c.jsxs("div",{className:"feishu-field",children:[c.jsx("label",{htmlFor:"feishu-app-id",children:"飞书 App ID"}),c.jsx("input",{id:"feishu-app-id",value:i,maxLength:128,autoComplete:"off",disabled:I,placeholder:"cli_xxxxxxxxxxxxxxxx",onChange:ie=>{r(ie.target.value),g&&y("")},onBlur:()=>y(i.trim()?"":"请输入飞书 App ID"),"aria-invalid":!!g,"aria-describedby":`feishu-app-id-help${g?" feishu-app-id-error":""}`}),c.jsx("span",{id:"feishu-app-id-help",className:"feishu-field-help",children:"来自飞书开放平台的应用凭证"}),g?c.jsx("span",{id:"feishu-app-id-error",className:"feishu-field-error",role:"alert",children:g}):null]}),c.jsxs("div",{className:"feishu-field",children:[c.jsx("label",{htmlFor:"feishu-app-secret",children:"飞书 App Secret"}),c.jsxs("div",{className:"feishu-secret-input",children:[c.jsx("input",{id:"feishu-app-secret",type:o?"text":"password",value:s,maxLength:256,autoComplete:"off",disabled:I,placeholder:"请输入 App Secret",onChange:ie=>{a(ie.target.value),b&&S("")},onBlur:()=>S(s.trim()?"":"请输入飞书 App Secret"),"aria-invalid":!!b,"aria-describedby":`feishu-app-secret-help${b?" feishu-app-secret-error":""}`}),c.jsx("button",{type:"button",disabled:I,onClick:()=>l(ie=>!ie),"aria-label":o?"隐藏 App Secret":"显示 App Secret",children:o?"隐藏":"显示"})]}),c.jsx("span",{id:"feishu-app-secret-help",className:"feishu-field-help",children:"仅写入新 Runtime 的环境变量"}),b?c.jsx("span",{id:"feishu-app-secret-error",className:"feishu-field-error",role:"alert",children:b}):null]})]}),x!=="idle"?c.jsxs("div",{className:`feishu-deployment-status is-${x}`,role:x==="failed"?"alert":"status",children:[c.jsxs("div",{className:"feishu-deployment-heading",children:[x==="preparing"?c.jsx(hs,{as:"strong",children:"正在生成 basic 智能体"}):null,x==="running"?c.jsx(hs,{as:"strong",children:(E==null?void 0:E.message)||"正在创建 Runtime"}):null,x==="cancelling"?c.jsx(hs,{as:"strong",children:"正在取消部署"}):null,x==="succeeded"?c.jsxs("strong",{children:[c.jsx(qV,{}),"飞书机器人 Runtime 已创建"]}):null,x==="cancelled"?c.jsx("strong",{children:"部署已取消"}):null,x==="failed"?c.jsx("strong",{children:"创建失败"}):null]}),x==="preparing"||x==="running"||x==="cancelling"?c.jsx("ol",{className:"feishu-deployment-steps",children:Uce.map((ie,le)=>{const ge=x==="running"&&leie.value===(C.region||u)))==null?void 0:K.label)||C.region}),C.consoleUrl?c.jsxs("a",{href:C.consoleUrl,target:"_blank",rel:"noreferrer",children:["打开 Runtime 控制台",c.jsx(Ytt,{})]}):null]}):null]}):null,c.jsxs("div",{className:"feishu-form-actions",children:[c.jsxs("div",{className:"feishu-secrets-note",children:[c.jsx("strong",{children:"凭据处理"}),c.jsx("span",{children:"App Secret 仅用于本次部署,不会写入生成源码或浏览器存储。"})]}),c.jsxs("div",{className:"feishu-action-buttons",children:[x==="running"?c.jsx("button",{type:"button",className:"feishu-cancel",onClick:()=>void Y(),children:"取消部署"}):null,c.jsx("button",{type:"submit",className:"feishu-submit",disabled:!fe,children:I?"正在创建…":"创建飞书机器人 Runtime"})]})]})]})]})})]})}async function S3(e,t,n,i=Tl){var s;const r=await kZ(e,{...t,headers:{accept:"application/json",...t.headers},signal:n},i);if(!r.ok){let a="";try{a=((s=(await r.json()).detail)==null?void 0:s.trim())||""}catch{}throw new Error(a||`请求失败 (${r.status})`)}return r.json()}function Ztt(e){return S3("/web/coding-agents/capabilities",{method:"GET"},e,bD)}function Ktt(e,t){return S3(`/web/coding-agents/skills/${encodeURIComponent(e)}/preview`,{method:"GET"},t)}function Jtt(e,t){return S3("/web/coding-agents/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)},t)}const ent="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='16'%20height='16'%20rx='3.692'%20fill='%231A1B1D'/%3e%3cpath%20d='M13.235%205.829V4.332H2.758v5.987h1.496v1.496h8.981V5.828Zm-1.497%204.49H4.254V5.83h7.484v4.49Z'%20fill='%2332F08C'/%3e%3cpath%20d='M6.937%206.993%205.88%208.051%206.937%209.11%207.995%208.05%206.937%206.993ZM9.931%206.992%208.873%208.05%209.931%209.11%2010.99%208.05%209.93%206.992Z'%20fill='%2332F08C'/%3e%3c/svg%3e";function tnt(){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m4 4 8 8m0-8-8 8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}function HV(){return c.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[c.jsx("path",{d:"M4 1.8h5l3 3V14H4z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),c.jsx("path",{d:"M9 1.8V5h3M6 8h4M6 10.5h4",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function YV(){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"M1.8 4.5h4l1.2-1.3h2.2l1.2 1.3h3.8v8H1.8z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"})})}function nnt(e){return e instanceof DOMException&&e.name==="AbortError"}function int(e){return e instanceof Error&&e.message?e.message:"读取 Skill 文件失败"}function rnt(e){return e<1024?`${e} B`:`${(e/1024).toFixed(e<10*1024?1:0)} KB`}function snt(e){const t=e.split("/");return t[t.length-1]??e}function ant(e){const t=new Map;for(const n of e){const i=n.path.split("/"),r=i.length>1?i.slice(0,-1).join("/"):"";t.set(r,[...t.get(r)??[],n])}return Array.from(t,([n,i])=>({directory:n,files:i})).sort((n,i)=>n.directory?i.directory?n.directory.localeCompare(i.directory):1:-1)}function ont({skill:e,onClose:t}){const n=O.useRef(null),i=O.useRef(null),r=O.useId(),s=O.useId(),[a,o]=O.useState(null),[l,u]=O.useState(""),[d,f]=O.useState(!0),[h,p]=O.useState(""),[m,g]=O.useState(0);O.useEffect(()=>{i.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const S=n.current;return S&&!S.open&&S.showModal(),()=>{var x;S!=null&&S.open&&S.close(),(x=i.current)==null||x.focus()}},[]),O.useEffect(()=>{const S=new AbortController;return f(!0),p(""),o(null),u(""),Ktt(e.id,S.signal).then(x=>{if(S.signal.aborted)return;o(x);const v=x.files.find(E=>E.path==="SKILL.md")??x.files[0];u((v==null?void 0:v.path)??"")}).catch(x=>{!S.signal.aborted&&!nnt(x)&&p(int(x))}).finally(()=>{S.signal.aborted||f(!1)}),()=>S.abort()},[m,e.id]);const y=O.useMemo(()=>ant((a==null?void 0:a.files)??[]),[a]),b=(a==null?void 0:a.files.find(S=>S.path===l))??null;return c.jsxs("dialog",{ref:n,className:"coding-agents-preview-dialog","aria-labelledby":r,"aria-describedby":s,onCancel:S=>{S.preventDefault(),t()},onMouseDown:S=>{const x=S.currentTarget.getBoundingClientRect();(S.clientXx.right||S.clientYx.bottom)&&t()},children:[c.jsxs("header",{className:"coding-agents-preview-header",children:[c.jsx("span",{className:"coding-agents-preview-mark",children:c.jsx(YV,{})}),c.jsxs("div",{children:[c.jsx("h2",{id:r,children:e.name}),c.jsx("p",{id:s,children:"只读浏览随 Studio 提供的 Skill 文件"})]}),c.jsx("button",{type:"button",autoFocus:!0,"aria-label":"关闭文件预览",onClick:t,children:c.jsx(tnt,{})})]}),d?c.jsxs("div",{className:"coding-agents-preview-state",children:[c.jsx("i",{}),"正在读取文件…"]}):h?c.jsxs("div",{className:"coding-agents-preview-state is-error",role:"alert",children:[c.jsx("span",{children:h}),c.jsx("button",{type:"button",onClick:()=>g(S=>S+1),children:"重试"})]}):c.jsxs("div",{className:"coding-agents-preview-layout",children:[c.jsxs("nav",{className:"coding-agents-preview-tree","aria-label":`${e.name} 文件`,children:[c.jsxs("div",{className:"coding-agents-preview-tree-title",children:[c.jsx("span",{children:"文件"}),c.jsx("small",{children:(a==null?void 0:a.files.length)??0})]}),c.jsx("div",{className:"coding-agents-preview-tree-scroll",children:y.map(S=>S.directory?c.jsxs("details",{open:!0,children:[c.jsxs("summary",{children:[c.jsx(YV,{}),c.jsx("span",{children:S.directory})]}),c.jsx("div",{children:S.files.map(x=>c.jsxs("button",{type:"button",className:l===x.path?"is-selected":"","aria-current":l===x.path?"true":void 0,onClick:()=>u(x.path),children:[c.jsx(HV,{}),c.jsx("span",{children:snt(x.path)})]},x.path))})]},S.directory):S.files.map(x=>c.jsxs("button",{type:"button",className:l===x.path?"is-selected":"","aria-current":l===x.path?"true":void 0,onClick:()=>u(x.path),children:[c.jsx(HV,{}),c.jsx("span",{children:x.path})]},x.path)))})]}),c.jsx("section",{className:"coding-agents-preview-file","aria-label":"文件内容",children:b?c.jsxs(c.Fragment,{children:[c.jsxs("header",{children:[c.jsx("strong",{children:b.path}),c.jsx("span",{children:rnt(b.size)})]}),b.previewable&&b.content!==null?c.jsx("pre",{tabIndex:0,children:c.jsx("code",{children:b.content})}):c.jsx("div",{className:"coding-agents-preview-unavailable",children:"此文件不是可预览的 UTF-8 文本。"})]}):c.jsx("div",{className:"coding-agents-preview-unavailable",children:"没有可预览的文件。"})})]})]})}function lnt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m9.8 3.5-4.5 4.5 4.5 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function cnt(e){return c.jsxs("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"5",width:"16",height:"16",rx:"4.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"m8.5 11-2.4 2.4 2.4 2.4M11 16.5h3.8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("circle",{cx:"24.5",cy:"10.5",r:"2.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("circle",{cx:"24.5",cy:"24.5",r:"2.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M19.5 10.5H22M18.2 19l4.3 3.7M24.5 13v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function unt(e){return c.jsx("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:c.jsxs("g",{stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",children:[c.jsx("path",{d:"M16 4.5v7M16 20.5v7"}),c.jsx("path",{d:"m9.3 6.3 3.5 6.1M19.2 19.6l3.5 6.1"}),c.jsx("path",{d:"m5.9 11.1 6.2 3.5M19.9 17.4l6.2 3.5"}),c.jsx("path",{d:"M4.7 16h7M20.3 16h7"}),c.jsx("path",{d:"m5.9 20.9 6.2-3.5M19.9 14.6l6.2-3.5"}),c.jsx("path",{d:"m9.3 25.7 3.5-6.1M19.2 12.4l3.5-6.1"})]})})}function dnt(e){return c.jsxs("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M15.8 4.2c2.4 0 4.5 1.2 5.7 3.1 2.2-.3 4.5.8 5.6 2.9 1.1 2 .8 4.4-.5 6.1 1.2 1.8 1.3 4.3.1 6.2-1.2 2-3.4 3-5.6 2.6-1.3 1.8-3.5 2.9-5.8 2.7-2.2-.2-4.1-1.5-5.1-3.4-2.2.1-4.4-1-5.4-3.1-1-2-.6-4.4.8-6.1-1.1-1.9-1.1-4.3.2-6.1 1.3-1.9 3.6-2.7 5.7-2.2 1.1-1.7 2.6-2.7 4.3-2.7Z",stroke:"currentColor",strokeWidth:"1.7",strokeLinejoin:"round"}),c.jsx("path",{d:"m10.7 12.2 3.1 3.8-3.1 3.8M17.1 20h4.3",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})]})}function GV(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m3.4 8.2 3 3L12.8 5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function fnt(e){return c.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M2.8 6.3h14.4v8.3a1.6 1.6 0 0 1-1.6 1.6H4.4a1.6 1.6 0 0 1-1.6-1.6V6.3Z",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"}),c.jsx("path",{d:"M2.8 6.3V5.1a1.4 1.4 0 0 1 1.4-1.4h3.4l1.5 1.6h6.5a1.6 1.6 0 0 1 1.6 1.6",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"})]})}function hnt({agentId:e}){return e==="trae"?c.jsx("img",{src:ent,alt:"","aria-hidden":"true"}):e==="claude-code"?c.jsx(unt,{}):c.jsx(dnt,{})}function WV(e){return e instanceof DOMException&&e.name==="AbortError"}function ZV(e,t){return e instanceof Error&&e.message?e.message:t}function pnt({onBack:e}){var A;const[t,n]=O.useState(null),[i,r]=O.useState(!0),[s,a]=O.useState(""),[o,l]=O.useState(0),[u,d]=O.useState(new Set),[f,h]=O.useState(new Set),[p,m]=O.useState(null),[g,y]=O.useState(!1),[b,S]=O.useState(null),x=O.useRef(null);O.useEffect(()=>{const R=new AbortController;return r(!0),a(""),Ztt(R.signal).then(j=>{if(R.signal.aborted)return;n(j);const Q=j.agents.filter(L=>L.available);d(L=>{const D=Q.filter(N=>L.has(N.id));return new Set((D.length?D:Q.slice(0,1)).map(N=>N.id))}),h(L=>{const D=j.skills.filter(N=>L.has(N.id));return new Set((D.length?D:j.skills).map(N=>N.id))})}).catch(j=>{!WV(j)&&!R.signal.aborted&&(n(null),a(ZV(j,"检测本机客户端失败")))}).finally(()=>{R.signal.aborted||r(!1)}),()=>R.abort()},[o]),O.useEffect(()=>()=>{var R;return(R=x.current)==null?void 0:R.abort()},[]);const v=O.useMemo(()=>(t==null?void 0:t.agents.filter(R=>R.available&&u.has(R.id)))||[],[t,u]),E=O.useMemo(()=>(t==null?void 0:t.skills.filter(R=>f.has(R.id)))||[],[t,f]),w=!!(!g&&v.length&&E.length),k=(R,j)=>{!j||g||(S(null),d(Q=>{const L=new Set(Q);return L.has(R)?L.delete(R):L.add(R),L}))},_=R=>{g||(S(null),h(j=>{const Q=new Set(j);return Q.has(R)?Q.delete(R):Q.add(R),Q}))},C=async()=>{var j;if(!w)return;(j=x.current)==null||j.abort();const R=new AbortController;x.current=R,y(!0),S(null);try{const Q=await Jtt({agents:v.map(D=>D.id),skills:E.map(D=>D.id)},R.signal);if(R.signal.aborted)return;const L=Q.installations;S({tone:"success",message:`已为 ${v.length} 个客户端配置 ${E.length} 个 Skill`,details:L.map(D=>`${D.agentName} · ${D.skill} → ${D.displayPath}`)})}catch(Q){!WV(Q)&&!R.signal.aborted&&S({tone:"error",message:ZV(Q,"配置失败,请检查用户目录权限后重试")})}finally{x.current===R&&(x.current=null),R.signal.aborted||y(!1)}};return c.jsxs("section",{className:"coding-agents-page",children:[c.jsxs("header",{className:"coding-agents-header",children:[c.jsx("button",{type:"button",className:"coding-agents-back",onClick:e,disabled:g,"aria-label":"返回自动化列表",children:c.jsx(lnt,{})}),c.jsx(cnt,{className:"coding-agents-logo"}),c.jsxs("div",{children:[c.jsx("h1",{children:"配置 Coding Agents"}),c.jsx("p",{children:"把随 Studio 提供的 AgentKit Skills 全局安装到本地编码客户端。"})]})]}),c.jsx("div",{className:"coding-agents-scroll",children:c.jsxs("div",{className:"coding-agents-content",children:[c.jsxs("section",{className:"coding-agents-section","aria-label":"选择 Coding Agent",children:[c.jsxs("div",{className:"coding-agents-section-heading",children:[c.jsxs("div",{children:[c.jsx("span",{children:"1"}),c.jsx("h2",{children:"本机客户端"})]}),c.jsx("button",{type:"button",onClick:()=>l(R=>R+1),disabled:i||g,children:"重新检测"})]}),i?c.jsxs("div",{className:"coding-agents-inline-state",children:[c.jsx("i",{}),"正在检测本机客户端…"]}):s?c.jsxs("div",{className:"coding-agents-error-row",role:"alert",children:[c.jsx("span",{children:s}),c.jsx("button",{type:"button",onClick:()=>l(R=>R+1),children:"重试"})]}):c.jsx("div",{className:"coding-agents-agent-grid",children:t==null?void 0:t.agents.map(R=>c.jsxs("button",{type:"button",className:`coding-agents-agent ${u.has(R.id)?"is-selected":""}`,"aria-pressed":u.has(R.id),disabled:!R.available||g,onClick:()=>k(R.id,R.available),title:R.available?R.name:R.reason,children:[c.jsx("span",{className:`coding-agents-agent-mark is-${R.id}`,children:c.jsx(hnt,{agentId:R.id})}),c.jsxs("span",{className:"coding-agents-agent-copy",children:[c.jsx("strong",{children:R.name}),c.jsx("small",{children:R.available?R.version||"已检测到客户端":R.reason})]}),c.jsx("span",{className:`coding-agents-status ${R.available?"is-ready":""}`,children:R.available?"可用":"未检测到"}),c.jsx("span",{className:"coding-agents-check",children:c.jsx(GV,{})})]},R.id))})]}),c.jsxs("section",{className:"coding-agents-section","aria-label":"选择内置 Skill",children:[c.jsx("div",{className:"coding-agents-section-heading",children:c.jsxs("div",{children:[c.jsx("span",{children:"2"}),c.jsx("h2",{children:"内置 Skills"})]})}),c.jsx("div",{className:"coding-agents-skill-list",children:t==null?void 0:t.skills.map(R=>c.jsxs("div",{className:`coding-agents-skill ${f.has(R.id)?"is-selected":""}`,children:[c.jsxs("label",{children:[c.jsx("input",{type:"checkbox",checked:f.has(R.id),onChange:()=>_(R.id),disabled:g}),c.jsx("span",{className:"coding-agents-skill-check","aria-hidden":"true",children:c.jsx(GV,{})}),c.jsxs("span",{children:[c.jsx("strong",{children:R.name}),c.jsx("small",{children:R.description})]})]}),c.jsx("button",{type:"button",onClick:()=>m(R),children:"查看文件"})]},R.id))}),c.jsxs("div",{className:"coding-agents-global","aria-label":"全局安装目录",children:[c.jsxs("div",{className:"coding-agents-global-heading",children:[c.jsx(fnt,{}),c.jsxs("div",{children:[c.jsx("strong",{children:"全局安装"}),c.jsx("span",{children:"配置后可在本机其他项目中使用"})]})]}),v.length?c.jsx("dl",{children:v.map(R=>c.jsxs("div",{children:[c.jsx("dt",{children:R.name}),c.jsx("dd",{children:R.globalSkillsPath})]},R.id))}):c.jsx("p",{children:"选择客户端后显示对应安装目录。"})]})]}),b?c.jsxs("div",{className:`coding-agents-result is-${b.tone}`,role:b.tone==="error"?"alert":"status",children:[c.jsx("strong",{children:b.message}),(A=b.details)!=null&&A.length?c.jsx("ul",{children:b.details.map(R=>c.jsx("li",{children:R},R))}):null]}):null,c.jsxs("div",{className:"coding-agents-actions",children:[c.jsx("span",{children:v.length?`已选择 ${v.length} 个客户端、${E.length} 个 Skill`:"请先选择客户端"}),c.jsx("button",{type:"button",onClick:()=>void C(),disabled:!w,children:g?"正在配置…":"配置"})]})]})}),p?c.jsx(ont,{skill:p,onClose:()=>m(null)}):null]})}const mnt="/web/video",gnt=18e4;async function $0(e,t={},n=Tl){return fetch(Xn(`${mnt}${e}`),{...t,headers:g0(t.headers),signal:Gn(t.signal,n)})}async function zce(e,t){const n=await e.text().catch(()=>"");let i="";try{const r=JSON.parse(n),s=r.detail??r.error;i=typeof s=="string"?s:""}catch{i=n.trim().slice(0,500)}return new Error(i||`${t}(HTTP ${e.status})`)}async function x1(e,t){if(!e.ok)throw await zce(e,t);const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{const i=e.headers.get("content-type")||"Content-Type 缺失";throw new Error(`${t}:服务端返回非 JSON 响应(${i})`)}}async function Ont(e){return x1(await $0("/capabilities",{signal:e,headers:{Accept:"application/json"}}),"加载视频模型能力失败")}async function bnt(e,t,n){const i=new FormData;return i.set("file",e),i.set("role",t),x1(await $0("/assets",{method:"POST",body:i,signal:n},oa),`上传${e.name}失败`)}async function ynt(e,t){return x1(await $0("/prompts/enhance",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},gnt),"提示词优化失败")}async function xnt(e,t){return x1(await $0("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},oa),"创建视频生成任务失败")}async function Snt(e,t){return x1(await $0(`/tasks/${encodeURIComponent(e)}`,{signal:t,headers:{Accept:"application/json"}}),"查询视频生成任务失败")}async function vnt(e,t){const n=await $0(`/tasks/${encodeURIComponent(e)}/download`,{signal:t,headers:{Accept:"video/*"}},oa);if(!n.ok)throw await zce(n,"下载生成视频失败");return n.blob()}function wnt(e){return e.startsWith("/")?Xn(e):e}function v3(e){return e.isComposing||e.keyCode===229}function Ent(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function knt(e){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",...e,children:c.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"1.75",fill:"currentColor"})})}const sl=[{value:"agent",label:"Agent",description:"与当前选择的 Agent 对话"},{value:"temporary",label:"内置智能体",description:"使用平台提供的智能体"}],Tnt=[{label:"ArkClaw",kind:"openclaw"},{label:"Hermes 智能体",kind:"hermes"}];function KV({mode:e}){return e==="temporary"?c.jsxs("svg",{className:"new-chat-mode__temporary-icon",viewBox:"0 0 20 20","aria-hidden":"true",children:[c.jsx("path",{d:"m10 2.8 6.1 3.45v7.5L10 17.2l-6.1-3.45v-7.5L10 2.8Z"}),c.jsx("path",{d:"m3.9 6.25 6.1 3.5 6.1-3.5M10 9.75v7.45"})]}):c.jsx(hf,{className:"new-chat-mode__agent-icon"})}function _nt(){return c.jsx("svg",{className:"new-chat-mode__nested-chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:c.jsx("path",{d:"m4.5 3 3 3-3 3"})})}function Ant({value:e,onChange:t,disabled:n=!1,temporaryEnabled:i}){const[r,s]=O.useState(!1),[a,o]=O.useState(!1),[l,u]=O.useState(()=>sl.findIndex(v=>v.value===e)),d=O.useRef(null),f=O.useRef(null),h=sl.find(v=>v.value===e)??sl[0],p=h.value==="temporary"?"Codex 智能体":h.label;function m(v){return v.value==="temporary"?i:!0}function g(v){return m(v)!==!0}function y(v){const E=m(v);return E===void 0?"正在检查配置":E?v.description:"管理员未配置"}O.useEffect(()=>{if(!r)return;const v=E=>{var w;(w=d.current)!=null&&w.contains(E.target)||(s(!1),o(!1))};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[r]);function b(v){let E=l;do E=(E+v+sl.length)%sl.length;while(g(sl[E]));u(E),o(sl[E].value==="temporary")}function S(v){var E;if(!g(v)){if(v.value==="temporary"){o(!0);return}t(v.value),s(!1),o(!1),(E=f.current)==null||E.focus()}}function x(){t("temporary"),s(!1),o(!1)}return c.jsxs("div",{className:"new-chat-mode",ref:d,children:[c.jsxs("button",{ref:f,type:"button",className:"new-chat-mode__trigger","aria-label":"选择新会话模式","aria-haspopup":"listbox","aria-expanded":r,disabled:n,onClick:()=>{u(sl.findIndex(v=>v.value===e)),s(v=>(v&&o(!1),!v))},onKeyDown:v=>{v.key==="ArrowDown"||v.key==="ArrowUp"?(v.preventDefault(),r?b(v.key==="ArrowDown"?1:-1):s(!0)):r&&(v.key==="Enter"||v.key===" ")?(v.preventDefault(),S(sl[l])):r&&v.key==="Escape"&&(v.preventDefault(),s(!1),o(!1))},children:[c.jsx("span",{className:"new-chat-mode__icon",children:c.jsx(KV,{mode:h.value})}),c.jsx("span",{className:"new-chat-mode__current",title:p,children:p}),c.jsx("svg",{className:"new-chat-mode__chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:c.jsx("path",{d:"m3 4.5 3 3 3-3"})})]}),r?c.jsxs("div",{className:"new-chat-mode__menus",children:[c.jsx("div",{className:"new-chat-mode__menu",role:"listbox","aria-label":"新会话模式",tabIndex:-1,onKeyDown:v=>{var E;v.key==="ArrowDown"||v.key==="ArrowUp"?(v.preventDefault(),b(v.key==="ArrowDown"?1:-1)):v.key==="Enter"?(v.preventDefault(),S(sl[l])):v.key==="Escape"&&(v.preventDefault(),s(!1),o(!1),(E=f.current)==null||E.focus())},children:sl.map((v,E)=>{const w=v.value==="temporary";return c.jsxs("button",{type:"button",role:"option","aria-selected":e===v.value,"aria-haspopup":w?"menu":void 0,"aria-expanded":w?a:void 0,"aria-disabled":g(v),disabled:g(v),className:`new-chat-mode__option${E===l?" is-active":""}`,onMouseEnter:()=>{u(E),o(v.value==="temporary")},onClick:()=>S(v),children:[c.jsx("span",{className:"new-chat-mode__option-icon",children:c.jsx(KV,{mode:v.value})}),c.jsxs("span",{className:"new-chat-mode__copy",children:[c.jsx("span",{className:"new-chat-mode__label",children:v.label}),c.jsx("span",{children:y(v)})]}),w?c.jsx(_nt,{}):e===v.value?c.jsx("svg",{className:"new-chat-mode__check",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})}):null]},v.value)})}),a?c.jsxs("div",{className:"new-chat-mode__submenu",role:"menu","aria-label":"内置智能体",children:[c.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",onClick:x,children:[c.jsx(Ox,{kind:"codex",className:"new-chat-mode__builtin-icon"}),c.jsxs("span",{className:"new-chat-mode__copy",children:[c.jsx("span",{className:"new-chat-mode__label",children:"Codex 智能体"}),c.jsx("span",{children:"在沙箱中执行任务"})]})]}),Tnt.map(({label:v,kind:E})=>c.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",disabled:!0,children:[c.jsx(Ox,{kind:E,className:"new-chat-mode__builtin-icon"}),c.jsxs("span",{className:"new-chat-mode__copy",children:[c.jsx("span",{className:"new-chat-mode__label",children:v}),c.jsx("span",{children:"暂不可用"})]})]},v))]}):null]}):null]})}const Bp=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],Nnt=15,Cnt=15e3,Rnt=120,Int=180;function JV(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m5.75 3.75 4.25 4.25-4.25 4.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Pnt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function zC({type:e,className:t="new-chat-agent-picker__type-icon"}){return e==="general"?c.jsx(hf,{className:t}):c.jsx(Ox,{kind:e,className:t})}function jnt({selectedAgentName:e="",selectedRuntimeId:t="",runtimeScope:n,disabled:i=!1,onSelectRuntime:r,onSelectSandboxSession:s}){var he;const[a,o]=O.useState(!1),[l,u]=O.useState(null),[d,f]=O.useState(0),[h,p]=O.useState(0),[m,g]=O.useState("types"),[y,b]=O.useState(!1),[S,x]=O.useState([]),[v,E]=O.useState([]),[w,k]=O.useState(null),[_,C]=O.useState(""),[A,R]=O.useState(!1),[j,Q]=O.useState(""),[L,D]=O.useState(""),N=O.useRef(null),M=O.useRef(null),B=O.useRef(null),$=O.useRef(0),I=O.useRef(null),G=O.useRef(null),X=O.useRef(null),U=((he=Bp.find(te=>te.id===l))==null?void 0:he.label)??"智能体",Y=O.useCallback((te=!1)=>{var Te;G.current!==null&&(window.clearTimeout(G.current),G.current=null),X.current!==null&&(window.clearTimeout(X.current),X.current=null),o(!1),u(null),g("types"),b(!1),te&&((Te=M.current)==null||Te.focus())},[]),ae=O.useCallback(async(te="",Te=!1)=>{const me=++$.current;let Be;R(!0),Q("");try{const je=await Promise.race([IT({scope:n,region:"all",pageSize:Nnt,nextToken:te}),new Promise((Ue,st)=>{Be=window.setTimeout(()=>{st(new Error("加载智能体超时(15 秒),请检查网络或 Runtime 服务后重试"))},Cnt)})]);if($.current!==me)return;x(Ue=>{const st=Te?je.runtimes:[...Ue,...je.runtimes];return st.filter((ct,Tt)=>st.findIndex(at=>at.runtimeId===ct.runtimeId)===Tt)}),C(je.nextToken),p(0)}catch(je){if($.current!==me)return;Q(Dm(je,"加载通用智能体","GET /web/runtimes"))}finally{window.clearTimeout(Be),$.current===me&&R(!1)}},[n]),fe=O.useCallback(async te=>{var Be,je;(Be=I.current)==null||Be.abort();const Te=new AbortController;I.current=Te;const me=++$.current;R(!0),Q(""),E([]);try{const Ue=te==="codex"?await An.listSessions({signal:Te.signal}):await An.listAgentSessions(te,{signal:Te.signal});if($.current!==me)return;E(Ue),k(te),p(0)}catch(Ue){if((Ue==null?void 0:Ue.name)==="AbortError"||$.current!==me)return;Q(Dm(Ue,`加载 ${((je=Bp.find(st=>st.id===te))==null?void 0:je.label)??te}`,`GET /web/${te==="codex"?"sandbox":te}/sessions`)),k(te)}finally{I.current===Te&&(I.current=null),$.current===me&&R(!1)}},[]);O.useEffect(()=>{!a||l!=="general"||S.length>0||A||j||ae("",!0)},[l,j,ae,A,a,S.length]),O.useEffect(()=>{!a||l===null||l==="general"||w===l||fe(l)},[l,fe,w,a]),O.useEffect(()=>{if(!a)return;const te=Te=>{var me;(me=N.current)!=null&&me.contains(Te.target)||Y()};return document.addEventListener("mousedown",te),()=>document.removeEventListener("mousedown",te)},[Y,a]),O.useEffect(()=>()=>{var te;$.current+=1,(te=I.current)==null||te.abort(),G.current!==null&&window.clearTimeout(G.current),X.current!==null&&window.clearTimeout(X.current)},[]);function ke(te,Te=!1){G.current!==null&&(window.clearTimeout(G.current),G.current=null),X.current!==null&&(window.clearTimeout(X.current),X.current=null),o(!0),u(Te?"general":null),f(0),g("types"),b(Te),te&&requestAnimationFrame(()=>{var me;return(me=B.current)==null?void 0:me.focus()})}function K(){i||a||G.current!==null||(G.current=window.setTimeout(()=>{G.current=null,ke(!1)},Rnt))}function ie(){X.current!==null&&(window.clearTimeout(X.current),X.current=null)}function le(){G.current!==null&&(window.clearTimeout(G.current),G.current=null),!(!a||X.current!==null)&&(X.current=window.setTimeout(()=>{X.current=null,Y()},Int))}function ge(te){var Be;const Te=(te+Bp.length)%Bp.length,me=Bp[Te].id;me!==l&&($.current+=1,(Be=I.current)==null||Be.abort(),I.current=null,R(!1),Q("")),f(Te),u(me),p(0)}async function Ee(te){if(!L){D(te.runtimeId),Q("");try{await r(te),Y(!0)}catch(Te){Q(Dm(Te,"连接通用智能体"))}finally{D("")}}}async function Ce(te){if(!L){D(te.id),Q("");try{await s(te),Y(!0)}catch(Te){Q(Dm(Te,`打开 ${U}`))}finally{D("")}}}function _e(te){if(te.key==="Escape"){te.preventDefault(),Y(!0);return}if(["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(te.key)&&b(!0),m==="types"){te.key==="ArrowDown"||te.key==="ArrowUp"?(te.preventDefault(),ge(d+(te.key==="ArrowDown"?1:-1))):(te.key==="ArrowRight"||te.key==="Enter")&&(te.preventDefault(),l===null&&ge(d),g("runtimes"));return}if(te.key==="ArrowLeft")te.preventDefault(),g("types");else if((l==="general"?S:v).length>0&&(te.key==="ArrowDown"||te.key==="ArrowUp")){te.preventDefault();const Te=te.key==="ArrowDown"?1:-1,me=l==="general"?S.length:v.length;p(Be=>(Be+Te+me)%me)}else te.key==="Enter"&&l==="general"&&S[h]?(te.preventDefault(),Ee(S[h])):te.key==="Enter"&&l!=="general"&&v[h]&&(te.preventDefault(),Ce(v[h]))}return c.jsxs("div",{className:"new-chat-agent-picker",ref:N,onPointerEnter:te=>{te.pointerType==="mouse"&&ie()},onPointerLeave:te=>{te.pointerType==="mouse"&&le()},children:[c.jsxs("button",{ref:M,type:"button",className:"new-chat-agent-picker__trigger","aria-label":"选择智能体","aria-haspopup":"menu","aria-expanded":a,disabled:i,onPointerEnter:te=>{te.pointerType==="mouse"&&K()},onClick:()=>a?Y():ke(!0),onKeyDown:te=>{te.key==="ArrowDown"||te.key==="ArrowUp"?(te.preventDefault(),a||ke(!0,!0)):te.key==="Escape"&&a&&(te.preventDefault(),Y(!0))},children:[c.jsx("span",{title:e||"选择智能体",children:e||"选择智能体"}),c.jsx(JV,{className:"new-chat-agent-picker__trigger-chevron"})]}),a?c.jsxs("div",{ref:B,className:"new-chat-agent-picker__menus",tabIndex:-1,onKeyDown:_e,onPointerMove:te=>{te.pointerType==="mouse"&&b(!1)},children:[c.jsx("div",{className:"new-chat-agent-picker__menu",role:"menu","aria-label":"智能体类型",children:Bp.map((te,Te)=>c.jsxs("button",{type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":l===te.id,className:`new-chat-agent-picker__type${y&&m==="types"&&d===Te?" is-keyboard-active":""}`,onMouseEnter:()=>ge(Te),onClick:()=>{ge(Te),g("runtimes")},children:[c.jsx(zC,{type:te.id}),c.jsx("span",{children:te.label}),c.jsx(JV,{className:"new-chat-agent-picker__nested-chevron"})]},te.id))}),l!==null?c.jsx("div",{className:"new-chat-agent-picker__submenu",role:"listbox","aria-label":`${U}列表`,children:l!=="general"&&A&&v.length===0?c.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):l!=="general"&&j&&v.length===0?c.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[c.jsx("span",{children:j}),c.jsx("button",{type:"button",onClick:()=>void fe(l),children:"重新加载"})]}):l!=="general"&&v.length===0?c.jsxs(li,{className:"new-chat-agent-picker__empty",fill:"none",children:[c.jsx(li.Icon,{size:"sm",children:c.jsx(zC,{type:l,className:"new-chat-agent-picker__empty-agent-icon"})}),c.jsx(li.Title,{children:c.jsxs("span",{className:"new-chat-agent-picker__empty-title",children:["暂无 ",U]})}),c.jsx(li.Description,{children:"请前往智能体页创建"})]}):l!=="general"?c.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:v.map((te,Te)=>{const me=L===te.id,Be=te.resourceType==="snapshot";return c.jsxs("button",{type:"button",role:"option","aria-selected":!1,"aria-busy":me||void 0,className:`new-chat-agent-picker__runtime${y&&m==="runtimes"&&h===Te?" is-keyboard-active":""}`,disabled:!!L,title:`${te.displayName||U} · ${te.id}`,onMouseEnter:()=>p(Te),onClick:()=>void Ce(te),children:[c.jsx(zC,{type:l,className:"new-chat-agent-picker__runtime-icon"}),c.jsx("span",{children:te.displayName||U}),c.jsx("small",{children:me?Be?"正在唤醒":"正在打开":Q_(te.status)})]},te.id)})}):A&&S.length===0?c.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):j&&S.length===0?c.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[c.jsx("span",{children:j}),c.jsx("button",{type:"button",onClick:()=>void ae("",!0),children:"重新加载"})]}):S.length===0?c.jsxs(li,{className:"new-chat-agent-picker__empty",fill:"none",children:[c.jsx(li.Icon,{size:"sm",children:c.jsx(hf,{})}),c.jsx(li.Title,{children:c.jsx("span",{className:"new-chat-agent-picker__empty-title",children:"暂无通用智能体"})}),c.jsx(li.Description,{children:"请前往智能体页创建"})]}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:S.map((te,Te)=>{const me=L===te.runtimeId,Be=te.runtimeId===t;return c.jsxs("button",{type:"button",role:"option","aria-selected":Be,"aria-busy":me||void 0,className:`new-chat-agent-picker__runtime${y&&m==="runtimes"&&h===Te?" is-keyboard-active":""}`,disabled:!!L,title:te.name,onMouseEnter:()=>p(Te),onClick:()=>void Ee(te),children:[c.jsx(hf,{className:"new-chat-agent-picker__runtime-icon"}),c.jsx("span",{children:te.name}),me?c.jsx("small",{children:"正在连接"}):Be?c.jsx(Pnt,{className:"new-chat-agent-picker__check"}):null]},te.runtimeId)})}),j?c.jsx("div",{className:"new-chat-agent-picker__inline-error",role:"alert",children:j}):null,_?c.jsx("button",{type:"button",className:"new-chat-agent-picker__load-more",disabled:A||!!L,onClick:()=>void ae(_),children:A?"加载中":"加载更多"}):null]})}):null]}):null]})}const Mnt=120,Lnt=180;function Dnt(){return c.jsx("svg",{className:"new-chat-compact-select__chevron",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"m4.75 6.25 3.25 3.5 3.25-3.5"})})}function $nt(){return c.jsx("svg",{className:"new-chat-compact-select__check",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5"})})}function xx({label:e,hideLabel:t=!1,value:n,options:i,onChange:r,placeholder:s,loading:a=!1,error:o="",disabled:l=!1,searchable:u=!1,onRetry:d}){const[f,h]=O.useState(!1),[p,m]=O.useState(""),[g,y]=O.useState(0),b=O.useRef(null),S=O.useRef(null),x=O.useRef(null),v=O.useRef(!1),E=O.useRef(null),w=O.useRef(null),k=i.find($=>$.value===n),_=p.trim().toLocaleLowerCase(),C=O.useMemo(()=>_?i.filter($=>`${$.label} ${$.description||""}`.toLocaleLowerCase().includes(_)):i,[_,i]),A=O.useCallback(($=!1)=>{var I;E.current!==null&&(window.clearTimeout(E.current),E.current=null),w.current!==null&&(window.clearTimeout(w.current),w.current=null),v.current=!1,h(!1),m(""),$&&((I=S.current)==null||I.focus())},[]);O.useEffect(()=>{if(!f)return;const $=I=>{var G;(G=b.current)!=null&&G.contains(I.target)||A()};return document.addEventListener("mousedown",$),()=>document.removeEventListener("mousedown",$)},[A,f]),O.useEffect(()=>{!f||!u||!v.current||(v.current=!1,requestAnimationFrame(()=>{var $;return($=x.current)==null?void 0:$.focus()}))},[f,u]),O.useEffect(()=>()=>{E.current!==null&&window.clearTimeout(E.current),w.current!==null&&window.clearTimeout(w.current)},[]);function R($){E.current!==null&&(window.clearTimeout(E.current),E.current=null),w.current!==null&&(window.clearTimeout(w.current),w.current=null),v.current=$,m(""),y(Math.max(0,i.findIndex(I=>I.value===n))),h(!0)}function j(){l||f||E.current!==null||(E.current=window.setTimeout(()=>{E.current=null,R(!1)},Mnt))}function Q(){w.current!==null&&(window.clearTimeout(w.current),w.current=null)}function L(){E.current!==null&&(window.clearTimeout(E.current),E.current=null),!(!f||w.current!==null)&&(w.current=window.setTimeout(()=>{w.current=null,A()},Lnt))}function D($){const I=C[$];I&&(r(I.value),A(!0))}function N($){if($.key==="Escape"&&f){$.preventDefault(),A(!0);return}if($.key==="Home"&&f&&C.length>0){$.preventDefault(),y(0);return}if($.key==="End"&&f&&C.length>0){$.preventDefault(),y(C.length-1);return}if($.key!=="ArrowDown"&&$.key!=="ArrowUp"){f&&$.key==="Enter"&&C[g]&&($.preventDefault(),D(g));return}if($.preventDefault(),!f){R(!0);return}const I=$.key==="ArrowDown"?1:-1;y(G=>(G+I+C.length)%Math.max(1,C.length))}const M=a&&i.length===0,B=M?"加载中…":(k==null?void 0:k.label)||s;return c.jsxs("div",{className:"new-chat-compact-select",ref:b,onKeyDown:N,onPointerEnter:$=>{$.pointerType==="mouse"&&Q()},onPointerLeave:$=>{$.pointerType==="mouse"&&L()},children:[c.jsxs("button",{ref:S,type:"button",className:"new-chat-compact-select__trigger","aria-label":`${e}:${B}`,"aria-haspopup":"listbox","aria-expanded":f,disabled:l,onPointerEnter:$=>{$.pointerType==="mouse"&&j()},onClick:()=>f?A():R(!0),children:[t?null:c.jsx("span",{className:"new-chat-compact-select__label",children:e}),M?c.jsx("span",{className:"new-chat-compact-select__spinner","aria-hidden":"true"}):c.jsx("span",{className:`new-chat-compact-select__value${k?"":" is-placeholder"}`,children:B}),M?null:c.jsx(Dnt,{})]}),f?c.jsxs("div",{className:"new-chat-compact-select__menu",children:[u&&i.length>0?c.jsxs("label",{className:"new-chat-compact-select__search",children:[c.jsxs("span",{className:"sr-only",children:["搜索",e]}),c.jsx("input",{ref:x,value:p,placeholder:`搜索${e}`,onChange:$=>{m($.currentTarget.value),y(0)}})]}):null,c.jsx("div",{className:"new-chat-compact-select__list",role:"listbox","aria-label":e,children:a&&i.length===0?c.jsx("div",{className:"new-chat-compact-select__status",role:"status",children:"正在加载…"}):o?c.jsxs("div",{className:"new-chat-compact-select__status is-error",role:"alert",children:[c.jsx("span",{children:o}),d?c.jsx("button",{type:"button",onClick:d,children:"重试"}):null]}):C.length===0?c.jsx("div",{className:"new-chat-compact-select__status",children:p?"没有匹配项":"暂无可选项"}):C.map(($,I)=>c.jsxs("button",{type:"button",role:"option",tabIndex:-1,"aria-selected":$.value===n,className:`new-chat-compact-select__option${I===g?" is-active":""}`,onMouseEnter:()=>y(I),onClick:()=>D(I),children:[c.jsxs("span",{className:"new-chat-compact-select__option-copy",children:[c.jsx("strong",{children:$.label}),$.description?c.jsx("small",{children:$.description}):null]}),$.value===n?c.jsx($nt,{}):null]},$.value))})]}):null]})}const pd=[{value:"create",label:"技能生成"},{value:"optimize",label:"技能优化"}],Qnt=120,Bnt=180;function Unt(){return c.jsx("svg",{className:"new-chat-skill-picker__chevron",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"m4.75 6.25 3.25 3.5 3.25-3.5"})})}function znt(){return c.jsx("svg",{className:"new-chat-skill-picker__check",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5"})})}function Fnt({value:e,onChange:t,disabled:n=!1}){const[i,r]=O.useState(!1),[s,a]=O.useState(()=>Math.max(0,pd.findIndex(x=>x.value===e))),o=O.useRef(null),l=O.useRef(null),u=O.useRef(null),d=O.useRef(null),f=pd.find(x=>x.value===e)??pd[0],h=O.useCallback((x=!1)=>{var v;u.current!==null&&(window.clearTimeout(u.current),u.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null),r(!1),x&&((v=l.current)==null||v.focus())},[]);O.useEffect(()=>{if(!i)return;const x=v=>{var E;(E=o.current)!=null&&E.contains(v.target)||h()};return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[h,i]),O.useEffect(()=>()=>{u.current!==null&&window.clearTimeout(u.current),d.current!==null&&window.clearTimeout(d.current)},[]);function p(){u.current!==null&&(window.clearTimeout(u.current),u.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null),a(Math.max(0,pd.findIndex(x=>x.value===e))),r(!0)}function m(){n||i||u.current!==null||(u.current=window.setTimeout(()=>{u.current=null,p()},Qnt))}function g(){d.current!==null&&(window.clearTimeout(d.current),d.current=null)}function y(){u.current!==null&&(window.clearTimeout(u.current),u.current=null),!(!i||d.current!==null)&&(d.current=window.setTimeout(()=>{d.current=null,h()},Bnt))}function b(x){const v=pd[x];v&&(t(v.value),a(x),h(!0))}function S(x){if(x.key==="Escape"&&i){x.preventDefault(),h(!0);return}if(x.key!=="ArrowDown"&&x.key!=="ArrowUp"){i&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),b(s));return}if(x.preventDefault(),!i){p();return}const v=x.key==="ArrowDown"?1:-1;a(E=>(E+v+pd.length)%pd.length)}return c.jsxs("div",{className:"new-chat-skill-picker",ref:o,onPointerEnter:x=>{x.pointerType==="mouse"&&g()},onPointerLeave:x=>{x.pointerType==="mouse"&&y()},children:[c.jsxs("button",{ref:l,type:"button",className:"new-chat-skill-picker__trigger","aria-label":"选择技能定制方式","aria-haspopup":"listbox","aria-expanded":i,disabled:n,onPointerEnter:x=>{x.pointerType==="mouse"&&m()},onClick:()=>{i?h():p()},onKeyDown:S,children:[c.jsx("span",{children:f.label}),c.jsx(Unt,{})]}),i?c.jsx("div",{className:"new-chat-skill-picker__menu",role:"listbox","aria-label":"技能定制方式",tabIndex:-1,onKeyDown:S,children:pd.map((x,v)=>c.jsxs("button",{type:"button",role:"option","aria-selected":x.value===e,className:`new-chat-skill-picker__option${v===s?" is-active":""}`,onMouseEnter:()=>a(v),onClick:()=>b(v),children:[c.jsx("span",{children:x.label}),x.value===e?c.jsx(znt,{}):null]},x.value))}):null]})}const Vnt=120,Xnt=180;function eX(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m5.75 3.75 4.25 4.25-4.25 4.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function qnt(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:c.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function FC(e){return e.name.trim()||"未命名 Skill Space"}function Hnt({spaces:e,skills:t,activeSpaceId:n,selectedSpaceId:i,selectedSkillId:r,selectedSkillLabel:s,spacesLoading:a=!1,skillsLoading:o=!1,spacesError:l="",skillsError:u="",disabled:d=!1,onActivateSpace:f,onSelect:h,onRetrySpaces:p,onRetrySkills:m}){const[g,y]=O.useState(!1),[b,S]=O.useState(0),[x,v]=O.useState(0),[E,w]=O.useState("spaces"),[k,_]=O.useState(!1),[C,A]=O.useState("below"),[R,j]=O.useState(286),Q=O.useRef(null),L=O.useRef(null),D=O.useRef(null),N=O.useRef(null),M=O.useRef(null),B=e.find(le=>le.id===n)??null,$=B?FC(B):"Skill Space",I=s||"选择 Skill",G=O.useCallback((le=!1)=>{var ge;N.current!==null&&(window.clearTimeout(N.current),N.current=null),M.current!==null&&(window.clearTimeout(M.current),M.current=null),y(!1),w("spaces"),_(!1),f(""),le&&((ge=L.current)==null||ge.focus())},[f]);O.useEffect(()=>{if(!g)return;const le=ge=>{var Ee;(Ee=Q.current)!=null&&Ee.contains(ge.target)||G()};return document.addEventListener("mousedown",le),()=>document.removeEventListener("mousedown",le)},[G,g]),O.useEffect(()=>{d&&g&&G()},[G,d,g]);const X=O.useCallback(()=>{const le=L.current;if(!le)return;const ge=le.getBoundingClientRect(),Ee=12,Ce=7,_e=window.innerHeight-ge.bottom-Ce-Ee,he=ge.top-Ce-Ee,te=_e>=220||_e>=he?"below":"above",Te=te==="below"?_e:he;A(te),j(Math.max(120,Math.floor(Te)))},[]);O.useLayoutEffect(()=>{if(g)return X(),window.addEventListener("resize",X),window.addEventListener("scroll",X,!0),()=>{window.removeEventListener("resize",X),window.removeEventListener("scroll",X,!0)}},[g,X]),O.useEffect(()=>()=>{N.current!==null&&window.clearTimeout(N.current),M.current!==null&&window.clearTimeout(M.current)},[]);function U(le){if(e.length===0)return;const ge=(le+e.length)%e.length,Ee=e[ge];S(ge),v(0),Ee.id!==n&&f(Ee.id)}function Y(le,ge=!1){N.current!==null&&(window.clearTimeout(N.current),N.current=null),M.current!==null&&(window.clearTimeout(M.current),M.current=null);const Ee=e.findIndex(_e=>_e.id===i),Ce=Ee>=0?Ee:0;S(Ce),v(0),w("spaces"),_(ge),y(!0),ge&&e[Ce]?f(e[Ce].id):f(""),le&&requestAnimationFrame(()=>{var _e;return(_e=D.current)==null?void 0:_e.focus()})}function ae(){d||g||N.current!==null||(N.current=window.setTimeout(()=>{N.current=null,Y(!1)},Vnt))}function fe(){M.current!==null&&(window.clearTimeout(M.current),M.current=null)}function ke(){N.current!==null&&(window.clearTimeout(N.current),N.current=null),!(!g||M.current!==null)&&(M.current=window.setTimeout(()=>{M.current=null,G()},Xnt))}function K(le){B&&(h(B,le),G(!0))}function ie(le){if(le.key==="Escape"){le.preventDefault(),G(!0);return}if(["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(le.key)&&_(!0),E==="spaces"){le.key==="ArrowDown"||le.key==="ArrowUp"?(le.preventDefault(),U(b+(le.key==="ArrowDown"?1:-1))):(le.key==="ArrowRight"||le.key==="Enter")&&(le.preventDefault(),B||U(b),w("skills"));return}if(le.key==="ArrowLeft")le.preventDefault(),w("spaces");else if(t.length>0&&(le.key==="ArrowDown"||le.key==="ArrowUp")){le.preventDefault();const ge=le.key==="ArrowDown"?1:-1;v(Ee=>(Ee+ge+t.length)%t.length)}else le.key==="Enter"&&t[x]&&(le.preventDefault(),K(t[x]))}return c.jsxs("div",{className:"new-chat-skill-target-picker",ref:Q,onPointerEnter:le=>{le.pointerType==="mouse"&&fe()},onPointerLeave:le=>{le.pointerType==="mouse"&&ke()},children:[c.jsxs("button",{ref:L,type:"button",className:"new-chat-agent-picker__trigger new-chat-skill-target-picker__trigger","aria-label":`选择 Skill:${I}`,"aria-haspopup":"menu","aria-expanded":g,disabled:d,onPointerEnter:le=>{le.pointerType==="mouse"&&ae()},onClick:()=>g?G():Y(!0),onKeyDown:le=>{le.key==="ArrowDown"||le.key==="ArrowUp"?(le.preventDefault(),g||Y(!0,!0)):le.key==="Escape"&&g&&(le.preventDefault(),G(!0))},children:[c.jsx("span",{title:I,children:I}),c.jsx(eX,{className:"new-chat-agent-picker__trigger-chevron"})]}),g?c.jsxs("div",{ref:D,className:`new-chat-agent-picker__menus new-chat-skill-target-picker__menus is-${C}`,style:{"--new-chat-skill-menu-max-height":`${R}px`},tabIndex:-1,onKeyDown:ie,onPointerMove:le=>{le.pointerType==="mouse"&&_(!1)},children:[c.jsx("div",{className:"new-chat-agent-picker__menu",role:"menu","aria-label":"Skill Space",children:a&&e.length===0?c.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"new-chat-agent-picker__spinner new-chat-skill-target-picker__spinner","aria-hidden":"true"}),c.jsx("span",{className:"sr-only",children:"正在加载 Skill Space"})]}):l&&e.length===0?c.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[c.jsx("span",{children:l}),c.jsx("button",{type:"button",onClick:p,children:"重新加载"})]}):e.length===0?c.jsx("div",{className:"new-chat-skill-target-picker__empty",children:"暂无 Skill Space"}):e.map((le,ge)=>c.jsxs("button",{type:"button",role:"menuitem","aria-haspopup":"listbox","aria-expanded":n===le.id,className:`new-chat-agent-picker__type new-chat-skill-target-picker__space${n===le.id?" is-previewed":""}${k&&E==="spaces"&&b===ge?" is-keyboard-active":""}`,title:FC(le),onMouseEnter:()=>U(ge),onClick:()=>{U(ge),w("skills")},children:[c.jsx("span",{children:FC(le)}),c.jsx(eX,{className:"new-chat-agent-picker__nested-chevron"})]},le.id))}),B?c.jsx("div",{className:"new-chat-agent-picker__submenu new-chat-skill-target-picker__submenu",role:"listbox","aria-label":`${$} Skill 列表`,children:o&&t.length===0?c.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"new-chat-agent-picker__spinner new-chat-skill-target-picker__spinner","aria-hidden":"true"}),c.jsx("span",{className:"sr-only",children:"正在加载 Skill"})]}):u&&t.length===0?c.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[c.jsx("span",{children:u}),c.jsx("button",{type:"button",onClick:m,children:"重新加载"})]}):t.length===0?c.jsx("div",{className:"new-chat-skill-target-picker__empty",children:"暂无 Skill"}):c.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:t.map((le,ge)=>{const Ee=B.id===i&&le.skillId===r;return c.jsxs("button",{type:"button",role:"option","aria-selected":Ee,className:`new-chat-agent-picker__runtime new-chat-skill-target-picker__skill${k&&E==="skills"&&x===ge?" is-keyboard-active":""}`,title:le.skillDescription||le.skillName||le.skillId,onMouseEnter:()=>v(ge),onClick:()=>K(le),children:[c.jsx("span",{children:le.skillName||le.skillId}),le.skillDescription?c.jsx("small",{children:le.skillDescription}):null,Ee?c.jsx(qnt,{className:"new-chat-agent-picker__check"}):null]},le.skillId)})})}):null]}):null]})}const tX={concise:"简洁实用",strict:"严谨稳健",tutorial:"教程友好",automation:"自动化优先"};function VC(e,t){return e instanceof Error&&e.message?e.message:t}function Ynt({action:e,onActionChange:t,optimizationSource:n=null,onOptimizationSourceChange:i,disabled:r=!1}){const[s,a]=O.useState(null),[o,l]=O.useState(!1),[u,d]=O.useState(""),[f,h]=O.useState(0),[p,m]=O.useState("concise"),[g,y]=O.useState(""),[b,S]=O.useState([]),[x,v]=O.useState(!1),[E,w]=O.useState(""),[k,_]=O.useState(0),[C,A]=O.useState(""),[R,j]=O.useState([]),[Q,L]=O.useState(!1),[D,N]=O.useState(""),[M,B]=O.useState(0);O.useEffect(()=>{if(e!=="create"||s)return;const X=new AbortController;return l(!0),d(""),ZT(X.signal).then(U=>{a(U),y(Y=>{var ae;return Y||((ae=U.models[0])==null?void 0:ae.id)||""}),!U.enabled&&U.reason&&d(U.reason)}).catch(U=>{X.signal.aborted||d(VC(U,"模型配置加载失败"))}).finally(()=>{X.signal.aborted||l(!1)}),()=>X.abort()},[e,s,f]),O.useEffect(()=>{if(e!=="optimize"||b.length>0)return;let X=!1;return v(!0),w(""),o5().then(U=>{X||S(U)}).catch(U=>{X||w(VC(U,"Skill Space 加载失败"))}).finally(()=>{X||v(!1)}),()=>{X=!0}},[e,b.length,k]);const $=b.find(X=>X.id===C);O.useEffect(()=>{if(e!=="optimize"||!$){j([]),N(""),L(!1);return}let X=!1;return j([]),L(!0),N(""),l5($.id,$.region).then(U=>{X||j(U)}).catch(U=>{X||N(VC(U,"Skill 加载失败"))}).finally(()=>{X||L(!1)}),()=>{X=!0}},[e,$,M]);const I=O.useMemo(()=>Object.keys(s?s.styles:tX).map(U=>({value:U,label:tX[U]||U})),[s]),G=O.useMemo(()=>(s==null?void 0:s.models.map(X=>({value:X.id,label:X.label})))||[],[s]);return c.jsxs("div",{className:`new-chat-skill-controls is-${e}`,"aria-label":"技能定制配置",children:[c.jsx(Fnt,{value:e,onChange:t,disabled:r}),e==="create"?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"new-chat-skill-controls__style",children:c.jsx(xx,{label:"风格",value:p,options:I,onChange:m,placeholder:"选择风格",disabled:r})}),c.jsx("div",{className:"new-chat-skill-controls__model",children:c.jsx(xx,{label:"模型",hideLabel:!0,value:g,options:G,onChange:y,placeholder:"选择模型",loading:o,error:u,disabled:r,onRetry:()=>{a(null),h(X=>X+1)}})})]}):c.jsx(Hnt,{spaces:b,skills:R,activeSpaceId:C,selectedSpaceId:(n==null?void 0:n.space.id)||"",selectedSkillId:(n==null?void 0:n.skill.skillId)||"",selectedSkillLabel:(n==null?void 0:n.skill.skillName)||(n==null?void 0:n.skill.skillId)||"",spacesLoading:x,skillsLoading:Q,spacesError:E,skillsError:D,disabled:r,onActivateSpace:A,onSelect:(X,U)=>{i==null||i({space:X,skill:U})},onRetrySpaces:()=>{S([]),_(X=>X+1)},onRetrySkills:()=>{j([]),B(X=>X+1)}})]})}const nX=[{value:"auto",label:"自动识别"},{value:"text_to_video",label:"文生视频"},{value:"reference_to_video",label:"参考素材生视频"},{value:"video_editing",label:"视频编辑"},{value:"video_extension",label:"视频续写"},{value:"first_last_frame",label:"首尾帧生成"}],Gnt=[{value:"21:9",label:"21:9"},{value:"16:9",label:"16:9"},{value:"4:3",label:"4:3"},{value:"1:1",label:"1:1"},{value:"3:4",label:"3:4"},{value:"9:16",label:"9:16"}],Wnt=[{value:"480p",label:"480p"},{value:"720p",label:"720p"}],Znt={taskMode:"auto",aspectRatio:"16:9",resolution:"720p",durationSeconds:8,referenceImage:null,referenceVideo:null,firstFrame:null,lastFrame:null};function Fce({kind:e,...t}){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:e==="image"?c.jsxs(c.Fragment,{children:[c.jsx("rect",{x:"3.5",y:"4",width:"17",height:"16",rx:"2.5"}),c.jsx("circle",{cx:"9",cy:"9.25",r:"1.5"}),c.jsx("path",{d:"m5.75 17 4.1-4.1a1.25 1.25 0 0 1 1.77 0l1.35 1.35 1.55-1.55a1.25 1.25 0 0 1 1.77 0L19 15.4"})]}):c.jsxs(c.Fragment,{children:[c.jsx("rect",{x:"3.5",y:"5",width:"12.5",height:"14",rx:"2.5"}),c.jsx("path",{d:"m16 9.5 3.1-1.75a.9.9 0 0 1 1.35.78v6.94a.9.9 0 0 1-1.35.78L16 14.5"}),c.jsx("path",{d:"m9 9.5 3.5 2.5L9 14.5Z"})]})})}function Vce(e){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m4.5 4.5 7 7m0-7-7 7"})})}function Knt({asset:e,onChange:t,disabled:n=!1,unavailableReason:i="",kind:r,label:s}){const a=O.useId(),[o,l]=O.useState("");O.useEffect(()=>{if(!e){l("");return}const d=URL.createObjectURL(e);return l(d),()=>URL.revokeObjectURL(d)},[e]);function u(d){var h;const f=((h=d.currentTarget.files)==null?void 0:h[0])??null;f&&t(f),d.currentTarget.value=""}return c.jsxs("div",{className:`new-chat-inline-video${e?" has-preview":""}${n?" is-disabled":""}`,children:[c.jsx("input",{id:a,className:"new-chat-inline-video__input",type:"file",accept:`${r}/*`,disabled:n,required:!0,"aria-label":`上传${s}`,onChange:u}),c.jsx("label",{className:"new-chat-inline-video__tile",htmlFor:a,title:i||(e?`更换${s}:${e.name}`:`上传${s}`),children:o&&r==="image"?c.jsx("img",{src:o,alt:""}):o?c.jsx("video",{src:o,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}):c.jsxs(c.Fragment,{children:[c.jsx(Fce,{kind:r}),c.jsx("span",{children:s})]})}),e?c.jsx("button",{className:"new-chat-inline-video__remove",type:"button","aria-label":`移除${s} ${e.name}`,disabled:n,onClick:()=>t(null),children:c.jsx(Vce,{})}):null]})}function Jnt(){return c.jsx("span",{className:"new-chat-video-model-spinner",role:"status","aria-label":"正在加载增强模型"})}function XC({label:e,helper:t,accept:n,asset:i,onChange:r,disabled:s,kind:a}){const o=O.useId();function l(u){var f;const d=((f=u.currentTarget.files)==null?void 0:f[0])??null;d&&r(d),u.currentTarget.value=""}return c.jsxs("div",{className:`new-chat-video-asset${s?" is-disabled":""}`,children:[c.jsx("input",{id:o,className:"new-chat-video-asset__input",type:"file",accept:n,disabled:s,onChange:l}),c.jsxs("label",{className:"new-chat-video-asset__label",htmlFor:o,children:[c.jsx("span",{className:"new-chat-video-asset__icon",children:c.jsx(Fce,{kind:a})}),c.jsxs("span",{className:"new-chat-video-asset__copy",children:[c.jsxs("span",{className:"new-chat-video-asset__title",children:[e,c.jsx("small",{children:"可选"})]}),c.jsx("span",{className:`new-chat-video-asset__value${i?" is-selected":""}`,title:i==null?void 0:i.name,children:(i==null?void 0:i.name)||t})]}),c.jsx("span",{className:"new-chat-video-asset__action",children:i?"更换":"添加"})]}),i?c.jsx("button",{className:"new-chat-video-asset__remove",type:"button","aria-label":`移除${e} ${i.name}`,disabled:s,onClick:()=>r(null),children:c.jsx(Vce,{})}):null]})}function eit({config:e,onChange:t,enhancerModel:n,assetStorageAvailable:i,assetStorageUnavailableReason:r="",modelsLoading:s=!1,modelsError:a="",disabled:o=!1}){const l=bxe();function u(m,g){t({...e,[m]:g})}const d=e.taskMode==="first_last_frame",f=e.taskMode==="video_editing",h=e.taskMode==="video_extension",p=o||!i;return c.jsxs(dr.section,{className:"new-chat-video-controls","aria-label":"视频创作配置",initial:l?!1:{opacity:0,y:-12,scaleY:.96},animate:{opacity:1,y:0,scaleY:1},exit:l?{opacity:0}:{opacity:0,y:-8,scaleY:.98},transition:{duration:l?0:.2,ease:[.22,1,.36,1]},children:[c.jsxs("div",{className:"new-chat-video-controls__parameters",children:[c.jsx("div",{className:"new-chat-video-controls__field",children:c.jsx(xx,{label:"比例",value:e.aspectRatio,options:Gnt,placeholder:"选择比例",disabled:o,onChange:m=>u("aspectRatio",m)})}),c.jsx("div",{className:"new-chat-video-controls__field",children:c.jsx(xx,{label:"清晰度",value:e.resolution,options:Wnt,placeholder:"选择清晰度",disabled:o,onChange:m=>u("resolution",m)})}),c.jsxs("label",{className:`new-chat-video-duration${o?" is-disabled":""}`,children:[c.jsxs("span",{className:"new-chat-video-duration__header",children:[c.jsx("span",{children:"时长"}),c.jsxs("output",{children:[e.durationSeconds,"s"]})]}),c.jsx("input",{type:"range",min:"4",max:"30",step:"1",value:e.durationSeconds,disabled:o,"aria-label":`视频时长:${e.durationSeconds} 秒`,onChange:m=>u("durationSeconds",Number(m.currentTarget.value))})]})]}),c.jsx("div",{className:`new-chat-video-controls__assets${d||f||h?" is-single":""}`,children:d?c.jsx(XC,{label:"尾帧",helper:"添加视频结束画面",accept:"image/*",asset:e.lastFrame,disabled:p,kind:"image",onChange:m=>u("lastFrame",m)}):c.jsxs(c.Fragment,{children:[c.jsx(XC,{label:f||h?"辅助图片":"参考图片",helper:f||h?"用于补充画面参考":"支持常见图片格式",accept:"image/*",asset:e.referenceImage,disabled:p,kind:"image",onChange:m=>u("referenceImage",m)}),f||h?null:c.jsx(XC,{label:"参考视频",helper:"支持常见视频格式",accept:"video/*",asset:e.referenceVideo,disabled:p,kind:"video",onChange:m=>u("referenceVideo",m)})]})}),!i&&r?c.jsx("p",{className:"new-chat-video-controls__storage-unavailable",role:"status",children:r}):null,c.jsx("p",{className:"new-chat-video-controls__model-hint",title:a||void 0,children:s?c.jsx(Jnt,{}):n?c.jsxs(c.Fragment,{children:["使用 ",n," 模型进行意图识别和提示词增强"]}):"增强模型不可用"})]})}function tit({className:e=""}){return c.jsxs("span",{className:`${e} new-chat-workspace-tabs__skill-icon`,"aria-hidden":"true",children:[c.jsx(Kv,{className:"new-chat-workspace-tabs__skill-shape is-triangle"}),c.jsx(Kv,{className:"new-chat-workspace-tabs__skill-shape is-circle"}),c.jsx(Kv,{className:"new-chat-workspace-tabs__skill-shape is-square"})]})}const qC=[{value:"agent",label:"智能体",icon:hf},{value:"skill",label:"技能定制",icon:tit},{value:"video",label:"视频创作",icon:U5}];function nit({value:e,onChange:t,disabled:n=!1,skillCustomizationEnabled:i=!1}){const r=O.useRef([]),s=i?qC:qC.filter(l=>l.value!=="skill");function a(l){var d;const u=s[l];!u||n||(t(u.value),(d=r.current[l])==null||d.focus())}function o(l,u){let d=null;l.key==="ArrowRight"&&(d=(u+1)%s.length),l.key==="ArrowLeft"&&(d=(u-1+s.length)%s.length),l.key==="Home"&&(d=0),l.key==="End"&&(d=qC.length-1),d!==null&&(l.preventDefault(),a(d))}return c.jsx("div",{className:"new-chat-workspace-tabs",role:"tablist","aria-label":"新会话模式",children:s.map((l,u)=>{const d=l.icon,f=e===l.value;return c.jsxs("button",{ref:h=>{r.current[u]=h},id:`new-chat-workspace-tab-${l.value}`,type:"button",role:"tab","aria-controls":"new-chat-workspace-panel","aria-selected":f,tabIndex:f?0:-1,className:`new-chat-workspace-tabs__tab${f?" is-active":""}`,disabled:n,onClick:()=>t(l.value),onKeyDown:h=>o(h,u),children:[f?c.jsx(dr.span,{className:"new-chat-workspace-tabs__slider",layoutId:"new-chat-workspace-active-pill",initial:!1,transition:{layout:{duration:.24,ease:[.22,1,.36,1]}},"aria-hidden":"true"}):null,c.jsx(d,{className:"new-chat-workspace-tabs__icon"}),c.jsx("span",{className:"new-chat-workspace-tabs__label",children:l.label})]},l.value)})})}const iit={auto:"视频生成",text_to_video:"文生视频",reference_to_video:"参考素材生视频",video_editing:"视频编辑",video_extension:"视频续写",first_last_frame:"首尾帧生成"};function Xce(e){return e?iit[e]:"视频生成"}function rit({prompt:e,config:t,enhancerModel:n,generationModel:i}){return{localId:crypto.randomUUID(),remoteTaskId:"",runId:1,status:"optimizing",requestedPrompt:e,optimizedPrompt:"",requestedMode:t.taskMode,resolvedMode:null,config:{...t},enhancerModel:n,generationModel:i,assetIds:[],output:null,errorStage:null,error:""}}function iX(e,t){return t.type==="optimization_succeeded"?{...e,status:"generating",optimizedPrompt:t.optimizedPrompt,resolvedMode:t.resolvedMode,enhancerModel:t.enhancerModel,errorStage:null,error:""}:t.type==="assets_uploaded"?{...e,assetIds:t.assetIds}:t.type==="generation_started"?{...e,status:"generating",remoteTaskId:t.remoteTaskId,generationModel:t.generationModel,errorStage:null,error:""}:t.type==="generation_succeeded"?{...e,status:"success",output:t.output,errorStage:null,error:""}:t.type==="failed"?{...e,status:"error",errorStage:t.stage,error:t.error}:{...e,runId:e.runId+1,status:t.stage==="optimization"?"optimizing":"generating",remoteTaskId:"",optimizedPrompt:t.stage==="optimization"?"":e.optimizedPrompt,resolvedMode:t.stage==="optimization"?null:e.resolvedMode,output:null,errorStage:null,error:""}}function sit(e){const t=Xce(e.resolvedMode),n=e.status==="error"&&e.errorStage==="optimization",i=e.status==="error"&&e.errorStage==="generation",r=!!e.optimizedPrompt&&!n;return[{id:"optimization",label:n?"提示词优化失败":r?"提示词优化完成":"提示词优化中",status:n?"failed":r?"done":"active"},{id:"generation",label:e.status==="success"?`${t}已完成`:i?`${t}失败`:e.status==="generating"?`${t}进行中`:"等待视频生成",status:e.status==="success"?"done":i?"failed":e.status==="generating"?"active":"pending"}]}function qce(e){return(e==null?void 0:e.status)==="optimizing"||(e==null?void 0:e.status)==="generating"}const Hce={ppt:["ppt_generate"],image:["image_generate"],video:["video_generate"]},ait={ppt:[],image:[],video:["video_task_query"]},oit=[{pattern:/(?:^|[-_.])glm[-_.]?5[-_.]?2(?:[-_.]|$)/,tokens:1024e3},{pattern:/(?:^|[-_.])deepseek[-_.]?v4(?:[-_.]|$)/,tokens:1024e3}],lit=[{pattern:/doubao[-_.]seed[-_.]evolving(?:[-_.]|$)/,tokens:1024e3},{pattern:/doubao[-_.]seed[-_.]translation(?:[-_.]|$)/,tokens:4e3},{pattern:/doubao[-_.]seed[-_.]character(?:[-_.]|$)/,tokens:128e3},{pattern:/doubao[-_.]1[-_.]?5[-_.]pro[-_.]32k[-_.]character(?:[-_.]|$)/,tokens:32e3},{pattern:/doubao[-_.]1[-_.]?5[-_.]pro[-_.]32k(?:[-_.]|$)/,tokens:128e3},{pattern:/doubao[-_.]1[-_.]?5[-_.](?:lite[-_.]32k|vision[-_.]pro[-_.]32k)(?:[-_.]|$)/,tokens:32e3},{pattern:/doubao[-_.]seed[-_.]2[-_.][01](?:[-_.]|$)/,tokens:256e3},{pattern:/doubao[-_.]seed[-_.](?:1[-_.][68]|code[-_.]preview)(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])glm[-_.]?4[-_.]?7(?:[-_.]|$)/,tokens:2e5}],cit=[{pattern:/dola[-_.]seed[-_.]2[-_.]1(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])seed[-_.]2[-_.]0(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])seed[-_.]1[-_.][68](?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])glm[-_.]?4[-_.]?7(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])deepseek[-_.]?v3[-_.]?2(?:[-_.]|$)/,tokens:128e3},{pattern:/(?:^|[-_.])gpt[-_.]?oss[-_.]?120b(?:[-_.]|$)/,tokens:128e3}];function uit(e){const t=e.match(/(?:^|[-_.])(\d+(?:\.\d+)?)(k|m)(?:[-_.]|$)/i);if(!t)return null;const n=Number(t[1]);return!Number.isFinite(n)||n<=0?null:Math.round(n*(t[2].toLowerCase()==="m"?1e6:1e3))}function dit(e,t){const n=e.trim().toLowerCase().split("/").pop()??"";if(!n)return null;const i=t==="byteplus"?cit:lit;for(const r of[...i,...oit])if(r.pattern.test(n))return r.tokens;return uit(n)}const ph=new Intl.NumberFormat("zh-CN");function rX(e){return e>=1e3?`${Number((e/1e3).toFixed(1))}K`:ph.format(e)}function HC(e){return e>=1e3?`${Number((e/1e3).toFixed(1))}K`:`${ph.format(e)} Token`}function sX(e){return`${Number(e.toFixed(2))}%`}const aX={system:"系统与工具",input:"输入与历史",output:"输出与思考",remaining:"剩余"};function fit({cloudProvider:e,modelName:t,usage:n,systemTokenEstimate:i}){const r=O.useId(),s=dit(t,e),a=s?NSe({usage:n,contextWindow:s,estimatedSystemTokens:i}):null,o=(a==null?void 0:a.usedTokens)??n.current.totalTokenCount,l=s?o/s*100:null,u=l===null?null:Math.round(l),d=l!==null&&l>0&&l<1?"<1":String(u??0),f=l===null?0:Math.min(100,Math.max(0,l)),h=100-f,p=t.trim()||"模型信息未提供",m=i===null?"提示词(含系统)":aX.input,g=a?Math.max(0,a.usedTokens-a.contextWindow):0,y=i===null?"系统与工具占用未知":`系统与工具约 ${ph.format((a==null?void 0:a.systemTokens)??0)} Token`,b=a?`上下文已使用 ${d}%,${y},${m} ${ph.format(a.inputTokens)} Token,输出与思考 ${ph.format(a.outputTokens)} Token,剩余 ${ph.format(a.remainingTokens)} Token`:`${p},上下文窗口未知,会话累计使用 ${ph.format(n.cumulative.totalTokenCount)} Token`,S=a?CSe(a):[],x=a?[{kind:"system",tokens:a.systemTokens},{kind:"input",tokens:a.inputTokens},{kind:"output",tokens:a.outputTokens},{kind:"remaining",tokens:a.remainingTokens}]:[];return c.jsxs("div",{className:"token-usage-indicator",tabIndex:0,role:s===null?"status":"meter","aria-label":b,"aria-describedby":r,"aria-valuemin":s===null?void 0:0,"aria-valuemax":s??void 0,"aria-valuenow":s===null?void 0:Math.min(o,s),children:[c.jsxs("svg",{className:"token-usage-ring",viewBox:"0 0 20 20","aria-hidden":"true",children:[c.jsx("circle",{className:"token-usage-ring__track",cx:"10",cy:"10",r:"7"}),c.jsx("circle",{className:"token-usage-ring__value",cx:"10",cy:"10",r:"7",pathLength:"100",style:{strokeDasharray:`${f} ${100-f}`}})]}),c.jsxs("div",{id:r,className:"token-usage-tooltip",role:"tooltip",children:[a?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"token-usage-tooltip__header",children:[c.jsx("strong",{children:"上下文构成"}),c.jsxs("span",{children:[d,"% 已用"]})]}),c.jsxs("div",{className:"token-context-breakdown",children:[c.jsx("div",{className:"token-context-grid",role:"img","aria-label":"100 格上下文构成图,每格代表上下文窗口的百分之一",children:S.map(v=>c.jsx("span",{className:"token-context-cell","aria-hidden":"true",children:v.slices.map(E=>c.jsx("span",{className:`token-context-cell__slice is-${E.kind}`,style:{width:`${E.share*100}%`}},E.kind))},v.index))}),c.jsx("dl",{className:"token-context-legend",children:x.map(v=>c.jsxs("div",{children:[c.jsxs("dt",{children:[c.jsx("span",{className:`token-context-swatch is-${v.kind}`,"aria-hidden":"true"}),v.kind==="input"?m:aX[v.kind],v.kind==="system"&&i!==null?c.jsx("em",{children:"估算"}):null]}),c.jsx("dd",{children:v.kind==="system"&&i===null?"未知":`${v.kind==="system"?"≈":""}${rX(v.tokens)}`})]},v.kind))})]}),c.jsxs("div",{className:"token-context-summary",children:[c.jsxs("div",{children:[c.jsx("strong",{children:sX(f)})," 已用,剩余"," ",c.jsx("strong",{children:sX(h)})]}),c.jsxs("div",{children:[c.jsx("strong",{children:HC(a.usedTokens)})," 已用,剩余"," ",c.jsx("strong",{children:HC(a.remainingTokens)}),",总计"," ",c.jsx("strong",{children:HC(a.contextWindow)})]})]}),g>0?c.jsxs("div",{className:"token-usage-tooltip__overflow",children:["已超出上下文 ",rX(g)," Token"]}):null]}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"token-usage-tooltip__title",children:"上下文用量"}),c.jsx("div",{className:"token-usage-tooltip__unknown",children:t.trim()?"暂未收录该模型的上下文窗口":"当前 Runtime 未提供模型信息"})]}),c.jsx("div",{className:"token-usage-tooltip__model",title:p,children:p})]})]})}const oX=[{value:"ppt",label:"PPT",icon:c1e,prompts:["复盘【季度】经营表现,提炼指标差距、原因与行动建议","汇报【项目名称】进展:里程碑、风险、预算和资源诉求","为【客户行业】输出解决方案:痛点、架构、实施路径与收益","分析【行业主题】趋势,给出竞争格局、机会与战略建议"]},{value:"image",label:"图片生成",icon:OD,prompts:["为【品牌或产品】设计【高级科技】风格的发布会主视觉","生成【产品名称】电商海报,突出【核心卖点】与品牌色","呈现【产品或空间】在【使用场景】中的写实概念效果图","围绕【传播主题】制作简洁专业的企业社媒配图"]},{value:"video",label:"视频生成",icon:U5,prompts:["制作【品牌名称】30 秒宣传片,突出【品牌价值】","为【产品名称】制作 45 秒发布视频:痛点、功能、场景与行动号召","制作【培训主题】企业培训视频,讲清【关键操作或规范】","生成【活动名称】20 秒预热视频,包含亮点、时间地点和报名信息"]}];function hit({cloudProvider:e,sessionId:t,sessionInitializing:n=!1,appName:i,agentName:r,value:s,onChange:a,onSubmit:o,onStop:l,onVideoSubmit:u,videoTask:d=null,onOpenVideoTask:f,disabled:h,busy:p,showMeta:m,attachments:g,skills:y,agents:b,invocation:S,capabilitiesLoading:x=!1,modelName:v,tokenUsage:E,systemTokenEstimate:w,allowAttachments:k=!0,onInvocationChange:_,onAddFiles:C,onRemoveAttachment:A,newChatMode:R="agent",newChatWorkspaceMode:j="agent",newChatSkillAction:Q="create",newChatSkillTarget:L=null,skillCustomizationEnabled:D=!1,newChatTask:N=null,newChatLayout:M=!1,showWorkspaceTabs:B=!1,showModeSelector:$=!1,onWorkspaceModeChange:I,onSkillActionChange:G,onSkillTargetChange:X,onModeChange:U,onTaskChange:Y,temporaryEnabled:ae,harnessEnabled:fe=!1,builtinTools:ke=[],showAgentPicker:K=!1,agentPickerDisabled:ie=!1,selectedRuntimeId:le="",runtimeScope:ge="mine",onSelectRuntime:Ee,onSelectSandboxSession:Ce}){var Fn;const _e=O.useRef(null),he=O.useRef(null),te=O.useRef(null),Te=O.useRef(null),[me,Be]=O.useState(!1),[je,Ue]=O.useState(null),[st,ct]=O.useState(0),[Tt,at]=O.useState(!1),[q,oe]=O.useState(Znt),[de,Ie]=O.useState(null),[ce,Me]=O.useState(!1),[Ye,dt]=O.useState("");O.useEffect(()=>{if(!M||j!=="video")return;const xe=new AbortController;return Me(!0),dt(""),Ont(xe.signal).then(Ge=>{xe.signal.aborted||Ie(Ge)}).catch(Ge=>{xe.signal.aborted||(Ie(null),dt(Ge instanceof Error?Ge.message:String(Ge)))}).finally(()=>{xe.signal.aborted||Me(!1)}),()=>xe.abort()},[e,M,j]),O.useEffect(()=>{!(de!=null&&de.supportedModes.length)||q.taskMode==="auto"||de.supportedModes.includes(q.taskMode)||oe(xe=>({...xe,taskMode:de.supportedModes[0]}))},[q.taskMode,de]);async function Gt(){if(t)try{await navigator.clipboard.writeText(t),at(!0),setTimeout(()=>at(!1),1500)}catch{at(!1)}}O.useLayoutEffect(()=>{const xe=_e.current;xe&&(xe.style.height="auto",xe.style.height=`${Math.min(xe.scrollHeight,200)}px`)},[s]);const Ct=g.some(xe=>xe.status!=="ready"),Dt=M&&j==="video",vt=Dt?q.taskMode==="first_last_frame"?{asset:q.firstFrame,kind:"image",label:"首帧"}:q.taskMode==="video_editing"||q.taskMode==="video_extension"?{asset:q.referenceVideo,kind:"video",label:q.taskMode==="video_editing"?"待编辑视频":"基础视频"}:null:null,Wt=qce(d),gt=Dt&&!!d&&!s.trim(),ft=p&&!!l,Rt=Dt?Wt||gt||!h&&!p&&!Ct&&(!vt||!!vt.asset)&&!!de&&s.trim().length>0:!h&&!p&&!Ct&&(s.trim().length>0||g.length>0);function rn(){if(Dt){if(Wt||gt){f==null||f();return}de&&s.trim()&&(u==null||u(s.trim(),q,de));return}o()}const ln=j==="skill"?Q==="optimize"?"描述你想优化的技能…":"描述你想生成的技能…":j==="video"?"描述你想创作的视频…":`向 ${r} 发消息…`,Ae=h&&j==="agent"?"请先选择智能体":h&&j==="skill"&&Q==="optimize"&&!L?"请先选择需要优化的 Skill":ln,qe=(je==null?void 0:je.query.toLocaleLowerCase())??"",$e=(je==null?void 0:je.kind)==="skill"?y.filter(xe=>!S.skills.some(Ge=>Ge.name===xe.name)).filter(xe=>`${xe.name} ${xe.description}`.toLocaleLowerCase().includes(qe)).map(xe=>({kind:"skill",value:xe})):(je==null?void 0:je.kind)==="agent"?b.filter(xe=>`${xe.name} ${xe.description}`.toLocaleLowerCase().includes(qe)).map(xe=>({kind:"agent",value:xe})):[];function pn(xe){var Ge;Be(!1),Ue(null),(Ge=xe.current)==null||Ge.click()}function bn(xe){Y==null||Y(xe.value),Be(!1),Ue(null),requestAnimationFrame(()=>{var Ge,Nt;(Ge=_e.current)==null||Ge.focus(),(Nt=_e.current)==null||Nt.setSelectionRange(s.length,s.length)})}function It(xe){a(xe),Be(!1),Ue(null),requestAnimationFrame(()=>{var Kt,sn,Vn;(Kt=_e.current)==null||Kt.focus();const Ge=xe.indexOf("【"),Nt=xe.indexOf("】",Ge+1);Ge>=0&&Nt>Ge?(sn=_e.current)==null||sn.setSelectionRange(Ge+1,Nt):(Vn=_e.current)==null||Vn.setSelectionRange(xe.length,xe.length)})}function pe(){Y==null||Y(null),a(""),Be(!1),Ue(null),requestAnimationFrame(()=>{var xe,Ge;(xe=_e.current)==null||xe.focus(),(Ge=_e.current)==null||Ge.setSelectionRange(0,0)})}const Qe=oX.find(xe=>xe.value===N),yt=oX.filter(xe=>Hce[xe.value].every(Ge=>ke.includes(Ge)));function mn(xe,Ge){const Nt=xe.slice(0,Ge),Kt=/(^|\s)([/@])([^\s/@]*)$/.exec(Nt);if(!Kt){Ue(null);return}const sn=Kt[2].length+Kt[3].length,Vn={kind:Kt[2]==="/"?"skill":"agent",query:Kt[3],start:Ge-sn,end:Ge},xi=!je||je.kind!==Vn.kind||je.query!==Vn.query||je.start!==Vn.start||je.end!==Vn.end;Ue(Vn),xi&&ct(0),Be(!1)}function wn(xe){if(!je)return;const Ge=s.slice(0,je.start)+s.slice(je.end);a(Ge),xe.kind==="skill"?_({...S,skills:[...S.skills,xe.value]}):_({skills:[],targetAgent:xe.value});const Nt=je.start;Ue(null),requestAnimationFrame(()=>{var Kt,sn;(Kt=_e.current)==null||Kt.focus(),(sn=_e.current)==null||sn.setSelectionRange(Nt,Nt)})}function Jt(){if(S.targetAgent){_({skills:[]});return}S.skills.length>0&&_({...S,skills:S.skills.slice(0,-1)})}function ui(xe){const Ge=xe.target.files?Array.from(xe.target.files):[];Ge.length&&C(Ge),xe.target.value=""}return c.jsxs("div",{className:`composer${M?" composer--new-chat":""}${Qe?` composer--has-task composer--task-${Qe.value}`:""}`,children:[c.jsx(u_,{value:S,onRemoveSkill:xe=>_({...S,skills:S.skills.filter(Ge=>Ge.name!==xe)}),onRemoveAgent:()=>_({skills:[]})}),g.length>0&&c.jsx(d_,{appName:i,compact:!0,items:g,onRemove:A}),M&&B&&I?c.jsx(nit,{value:j,onChange:I,disabled:p,skillCustomizationEnabled:D}):null,c.jsxs("div",{id:M&&B?"new-chat-workspace-panel":void 0,className:"composer-box",role:M&&B?"tabpanel":void 0,"aria-labelledby":M&&B?`new-chat-workspace-tab-${j}`:void 0,children:[je?c.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":je.kind==="skill"?"可用技能":"可用子 Agent",children:[c.jsxs("div",{className:"composer-command-head",children:[je.kind==="skill"?c.jsx(Sy,{}):c.jsx(cZ,{}),c.jsx("span",{children:je.kind==="skill"?"调用技能":"使用子 Agent"}),c.jsx("kbd",{children:je.kind==="skill"?"/":"@"})]}),x?c.jsxs("div",{className:"composer-command-empty",children:[c.jsx(qn,{className:"spin"})," 正在读取 Agent 能力…"]}):$e.length===0?c.jsx("div",{className:"composer-command-empty",children:je.kind==="skill"?"当前 Agent 没有匹配技能":"当前 Agent 没有匹配子 Agent"}):c.jsx("div",{className:"composer-command-list",children:$e.map((xe,Ge)=>c.jsxs("button",{type:"button",role:"option","aria-selected":Ge===st,className:`composer-command-item${Ge===st?" is-active":""}`,onMouseDown:Nt=>{Nt.preventDefault(),wn(xe)},onMouseEnter:()=>ct(Ge),children:[c.jsx("span",{className:`composer-command-icon composer-command-icon--${xe.kind}`,children:xe.kind==="skill"?c.jsx(Sy,{}):c.jsx(uZ,{})}),c.jsxs("span",{className:"composer-command-copy",children:[c.jsxs("strong",{children:[xe.kind==="skill"?"/":"@",xe.value.name]}),c.jsx("span",{children:xe.value.description||(xe.kind==="skill"?"加载并执行该技能":"将本轮交给该 Agent")})]}),c.jsx("kbd",{children:Ge===st?"↵":xe.kind==="skill"?"技能":"Agent"})]},`${xe.kind}-${xe.value.name}`))})]}):null,c.jsxs("div",{className:"composer-menu-wrap",children:[c.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:h||!k,onClick:()=>{Ue(null),Be(xe=>!xe)},children:c.jsx(Ls,{className:"icon"})}),me&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>Be(!1)}),c.jsxs("div",{className:"composer-menu",role:"menu",children:[c.jsxs("button",{type:"button",className:"menu-item",onClick:()=>pn(he),children:[c.jsx(OD,{className:"icon"}),"上传图片"]}),c.jsxs("button",{type:"button",className:"menu-item",onClick:()=>pn(te),children:[c.jsx(mD,{className:"icon"}),"上传文档或 PDF"]}),c.jsxs("button",{type:"button",className:"menu-item",onClick:()=>pn(Te),children:[c.jsx(hZ,{className:"icon"}),"上传视频"]})]})]})]}),j==="agent"&&K&&Ee&&Ce?c.jsx(jnt,{selectedAgentName:i?r:"",selectedRuntimeId:le,runtimeScope:ge,disabled:ie,onSelectRuntime:Ee,onSelectSandboxSession:Ce}):null,M&&j==="skill"&&G?c.jsx(Ynt,{action:Q,onActionChange:G,optimizationSource:L,onOptimizationSourceChange:X,disabled:p}):null,M&&j==="video"?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"new-chat-video-task-mode",children:c.jsx(xx,{label:"任务模式",hideLabel:!0,value:q.taskMode,options:(Fn=de==null?void 0:de.supportedModes)!=null&&Fn.length?nX.filter(xe=>xe.value==="auto"||de.supportedModes.includes(xe.value)):nX,onChange:xe=>oe(Ge=>({...Ge,taskMode:xe})),placeholder:"选择任务模式",disabled:p||Wt||ce||!de})}),c.jsx("div",{className:"new-chat-video-generation-model",title:Ye||(de==null?void 0:de.generationModel),children:ce?c.jsx(qn,{className:"icon spin",role:"status","aria-label":"正在加载生成模型"}):c.jsx("strong",{children:(de==null?void 0:de.generationModel)||"模型不可用"})})]}):null,$&&U?c.jsx(Ant,{value:R,onChange:U,disabled:p,temporaryEnabled:ae}):null,M&&j==="agent"&&R==="agent"&&Qe&&Y?c.jsxs("button",{type:"button",className:`new-chat-task-chip new-chat-task-chip--${Qe.value}`,"aria-label":`取消${Qe.label}任务`,disabled:p,onClick:pe,children:[c.jsxs("span",{className:"new-chat-task-chip__icon","aria-hidden":"true",children:[c.jsx(Qe.icon,{className:"new-chat-task-chip__task-icon"}),c.jsx(aa,{className:"new-chat-task-chip__remove-icon"})]}),c.jsx("span",{children:Qe.label})]}):null,c.jsxs("div",{className:`composer-input-stack${vt?" has-inline-asset":""}`,children:[vt?c.jsx(Knt,{asset:vt.asset,kind:vt.kind,label:vt.label,disabled:p||Wt||!((de==null?void 0:de.assetStorageAvailable)??!1),unavailableReason:(de==null?void 0:de.assetStorageUnavailableReason)||"",onChange:xe=>oe(Ge=>Ge.taskMode==="first_last_frame"?{...Ge,firstFrame:xe}:{...Ge,referenceVideo:xe})}):null,c.jsx("textarea",{ref:_e,className:"comp-input scroll",rows:M?4:1,value:s,disabled:h,placeholder:Ae,"aria-expanded":!!je,onChange:xe=>{a(xe.target.value),mn(xe.target.value,xe.target.selectionStart)},onSelect:xe=>{mn(xe.currentTarget.value,xe.currentTarget.selectionStart)},onBlur:()=>setTimeout(()=>Ue(null),0),onKeyDown:xe=>{if(!v3(xe.nativeEvent)){if(je){if(xe.key==="ArrowDown"&&$e.length>0){xe.preventDefault(),ct(Ge=>(Ge+1)%$e.length);return}if(xe.key==="ArrowUp"&&$e.length>0){xe.preventDefault(),ct(Ge=>(Ge-1+$e.length)%$e.length);return}if((xe.key==="Enter"||xe.key==="Tab")&&$e[st]){xe.preventDefault(),wn($e[st]);return}if(xe.key==="Escape"){xe.preventDefault(),Ue(null);return}}if(xe.key==="Backspace"&&!s&&xe.currentTarget.selectionStart===0&&xe.currentTarget.selectionEnd===0){Jt();return}xe.key==="Enter"&&!xe.shiftKey&&(xe.preventDefault(),Rt&&rn())}}}),M&&s.length===0?c.jsx("span",{className:"composer-placeholder-reveal","aria-hidden":"true",children:Ae},Ae):null]}),c.jsxs("div",{className:"composer-submit-actions",children:[t&&i&&j==="agent"?c.jsx(fit,{cloudProvider:e,modelName:v,usage:E,systemTokenEstimate:w}):null,c.jsx(dr.button,{type:"button",className:"comp-send",disabled:ft?!1:!Rt,onClick:ft?l:rn,"aria-label":ft?"停止生成":Wt||gt?"查看视频生成进度":"发送",title:ft?"停止生成":Ye||void 0,whileTap:ft||Rt?{scale:.9}:void 0,transition:{type:"spring",stiffness:600,damping:22},children:ft?c.jsx(knt,{className:"icon"}):p||Wt?c.jsx(qn,{className:"icon spin"}):c.jsx(Ent,{className:"icon"})})]})]}),c.jsx(Zd,{initial:!1,children:M&&B&&j==="video"?c.jsx(eit,{config:q,onChange:oe,enhancerModel:(de==null?void 0:de.enhancerModel)||"",assetStorageAvailable:(de==null?void 0:de.assetStorageAvailable)??!1,assetStorageUnavailableReason:(de==null?void 0:de.assetStorageUnavailableReason)||"",modelsLoading:ce,modelsError:Ye,disabled:p||Wt},"new-chat-video-controls"):null}),M&&j==="agent"&&R==="agent"&&fe&&!Qe?c.jsx("div",{className:"task-shortcuts","aria-label":"选择任务类型",children:yt.map(xe=>{const Ge=xe.icon;return c.jsxs("button",{type:"button",className:"task-shortcut",disabled:h||p,onClick:()=>bn(xe),children:[c.jsx(Ge,{}),c.jsx("span",{children:xe.label})]},xe.value)})}):null,M&&j==="agent"&&R==="agent"&&Qe?c.jsx("div",{className:"prompt-suggestions","aria-label":`${Qe.label}企业提示词`,children:Qe.prompts.map(xe=>{const Ge=Qe.icon;return c.jsxs("button",{type:"button",className:"prompt-suggestion",disabled:h||p,onClick:()=>It(xe),children:[c.jsx(Ge,{}),c.jsx("span",{children:xe})]},xe)})}):null,m&&c.jsxs("div",{className:"composer-meta",children:[c.jsxs("span",{className:"composer-session-line",children:["会话 ID:",c.jsx("span",{className:"composer-session-id",title:t||void 0,"aria-live":"polite",children:n?"初始化中":t||"—"}),t&&c.jsx("button",{type:"button",className:"composer-session-copy",title:Tt?"已复制":"复制会话 ID","aria-label":Tt?"已复制会话 ID":"复制会话 ID",onClick:()=>void Gt(),children:Tt?c.jsx(kc,{}):c.jsx(wT,{})})]}),c.jsx("span",{className:"composer-meta-separator","aria-hidden":!0,children:"|"}),c.jsx("span",{children:"回答仅供参考"})]}),c.jsx("input",{ref:he,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:ui}),c.jsx("input",{ref:te,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:ui}),c.jsx("input",{ref:Te,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:ui})]})}function pit({title:e,sub:t,cards:n,footer:i}){return c.jsxs("div",{className:"stk",children:[c.jsxs("div",{className:"stk-head",children:[c.jsx("h1",{className:"stk-title",children:e}),t&&c.jsx("p",{className:"stk-sub",children:t})]}),c.jsx("div",{className:"stk-list",children:n.map((r,s)=>c.jsxs(dr.button,{type:"button",className:`stk-card ${r.disabled?"stk-card-disabled":""}`,onClick:r.disabled?void 0:r.onClick,disabled:r.disabled,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.18,ease:"easeOut",delay:s*.04},children:[c.jsx("span",{className:"stk-card-icon",children:c.jsx(r.icon,{})}),c.jsxs("span",{className:"stk-card-text",children:[c.jsx("span",{className:"stk-card-title",children:r.title}),c.jsx("span",{className:"stk-card-desc",children:r.desc})]}),r.status&&c.jsx("span",{className:"stk-card-status",children:r.status}),c.jsx(m0,{className:"stk-card-arrow"})]},r.key))}),i&&c.jsx("div",{className:"stk-footer",children:i})]})}const mit="modulepreload",git=function(e){return"/"+e},lX={},dg=function(t,n,i){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),o=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));r=Promise.allSettled(n.map(l=>{if(l=git(l),l in lX)return;lX[l]=!0;const u=l.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${d}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":mit,u||(f.as="script"),f.crossOrigin="",f.href=l,o&&f.setAttribute("nonce",o),document.head.appendChild(f),u)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function s(a){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a}return r.then(a=>{for(const o of a||[])o.status==="rejected"&&s(o.reason);return t().catch(s)})};var Oit=Object.defineProperty,w3=(e,t)=>Oit(e,"name",{value:t,configurable:!0});function lM(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}w3(lM,"setRef");function Yce(...e){return t=>{let n=!1;const i=e.map(r=>{const s=lM(r,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let r=0;rbit(e,"name",{value:t,configurable:!0});function ip(e){const t=O.forwardRef((n,i)=>{let{children:r,...s}=n,a=null,o=!1;const l=[];cM(r)&&typeof xv=="function"&&(r=xv(r._payload)),O.Children.forEach(r,h=>{var p;if(Kce(h)){o=!0;const m=h;let g="child"in m.props?m.props.child:m.props.children;cM(g)&&typeof xv=="function"&&(g=xv(g._payload)),a=xit(m,g),l.push((p=a==null?void 0:a.props)==null?void 0:p.children)}else l.push(h)}),a?a=O.cloneElement(a,void 0,l):!o&&O.Children.count(r)===1&&O.isValidElement(r)&&(a=r);const u=a?Zce(a):void 0,d=$r(i,u);if(!a){if(r||r===0)throw new Error(o?wit(e):vit(e));return r}const f=Wce(s,a.props??{});return a.type!==O.Fragment&&(f.ref=i?d:u),O.cloneElement(a,f)});return t.displayName=`${e}.Slot`,t}Pl(ip,"createSlot");var Gce=Symbol.for("radix.slottable");function yit(e){const t=Pl(n=>"child"in n?n.children(n.child):n.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=Gce,t}Pl(yit,"createSlottable");var xit=Pl((e,t)=>{if("child"in e.props){const n=e.props.child;return O.isValidElement(n)?O.cloneElement(n,void 0,e.props.children(n.props.children)):null}return O.isValidElement(t)?t:null},"getSlottableElementFromSlottable");function Wce(e,t){const n={...t};for(const i in t){const r=e[i],s=t[i];/^on[A-Z]/.test(i)?r&&s?n[i]=(...o)=>{const l=s(...o);return r(...o),l}:r&&(n[i]=r):i==="style"?n[i]={...r,...s}:i==="className"&&(n[i]=[r,s].filter(Boolean).join(" "))}return{...e,...n}}Pl(Wce,"mergeProps");function Zce(e){var i,r;let t=(i=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Pl(Zce,"getElementRef");function Kce(e){return O.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Gce}Pl(Kce,"isSlottable");var Sit=Symbol.for("react.lazy");function cM(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Sit&&"_payload"in e&&Jce(e._payload)}Pl(cM,"isLazyComponent");function Jce(e){return typeof e=="object"&&e!==null&&"then"in e}Pl(Jce,"isPromiseLike");var vit=Pl(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),wit=Pl(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),xv=s0[" use ".trim().toString()],Eit=Object.defineProperty,kit=(e,t)=>Eit(e,"name",{value:t,configurable:!0}),Tit=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ps=Tit.reduce((e,t)=>{const n=ip(`Primitive.${t}`),i=O.forwardRef((r,s)=>{const{asChild:a,...o}=r,l=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(l,{...o,ref:s})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{});function eue(e,t){e&&ar.flushSync(()=>e.dispatchEvent(t))}kit(eue,"dispatchDiscreteCustomEvent");var _it=Object.defineProperty,Io=(e,t)=>_it(e,"name",{value:t,configurable:!0});function Ait(e,t){const n=O.createContext(t);n.displayName=e+"Context";const i=Io(s=>{const{children:a,...o}=s,l=O.useMemo(()=>o,Object.values(o));return c.jsx(n.Provider,{value:l,children:a})},"Provider");i.displayName=e+"Provider";function r(s,a={}){const{optional:o=!1}=a,l=O.useContext(n);if(l)return l;if(t!==void 0)return t;if(!o)throw new Error(`\`${s}\` must be used within \`${e}\``)}return Io(r,"useContext"),[i,r]}Io(Ait,"createContext");function Ic(e,t=[]){let n=[];function i(s,a){const o=O.createContext(a);o.displayName=s+"Context";const l=n.length;n=[...n,a];const u=Io(f=>{var b;const{scope:h,children:p,...m}=f,g=((b=h==null?void 0:h[e])==null?void 0:b[l])||o,y=O.useMemo(()=>m,Object.values(m));return c.jsx(g.Provider,{value:y,children:p})},"Provider");u.displayName=s+"Provider";function d(f,h,p={}){var b;const{optional:m=!1}=p,g=((b=h==null?void 0:h[e])==null?void 0:b[l])||o,y=O.useContext(g);if(y)return y;if(a!==void 0)return a;if(!m)throw new Error(`\`${f}\` must be used within \`${s}\``)}return Io(d,"useContext"),[u,d]}Io(i,"createContext");const r=Io(()=>{const s=n.map(a=>O.createContext(a));return Io(function(o){const l=(o==null?void 0:o[e])||s;return O.useMemo(()=>({[`__scope${e}`]:{...o,[e]:l}}),[o,l])},"useScope")},"createScope");return r.scopeName=e,[i,tue(r,...t)]}Io(Ic,"createContextScope");function tue(...e){const t=e[0];if(e.length===1)return t;const n=Io(()=>{const i=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return Io(function(s){const a=i.reduce((o,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...o,...f}},{});return O.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}Io(tue,"composeContextScopes");var Nit=Object.defineProperty,ls=(e,t)=>Nit(e,"name",{value:t,configurable:!0});function nue(e){const t=e+"CollectionProvider",[n,i]=Ic(t),[r,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=ls(g=>{const{scope:y,children:b}=g,S=O.useRef(null),x=O.useRef(new Map).current;return c.jsx(r,{scope:y,itemMap:x,collectionRef:S,children:b})},"CollectionProvider");a.displayName=t;const o=e+"CollectionSlot",l=ip(o),u=O.forwardRef((g,y)=>{const{scope:b,children:S}=g,x=s(o,b),v=$r(y,x.collectionRef);return c.jsx(l,{ref:v,children:S})});u.displayName=o;const d=e+"CollectionItemSlot",f="data-radix-collection-item",h=ip(d),p=O.forwardRef((g,y)=>{const{scope:b,children:S,...x}=g,v=O.useRef(null),E=$r(y,v),w=s(d,b);return O.useEffect(()=>(w.itemMap.set(v,{ref:v,...x}),()=>void w.itemMap.delete(v))),c.jsx(h,{[f]:"",ref:E,children:S})});p.displayName=d;function m(g){const y=s(e+"CollectionConsumer",g);return O.useCallback(()=>{const S=y.collectionRef.current;if(!S)return[];const x=Array.from(S.querySelectorAll(`[${f}]`));return Array.from(y.itemMap.values()).sort((w,k)=>x.indexOf(w.ref.current)-x.indexOf(k.ref.current))},[y.collectionRef,y.itemMap])}return ls(m,"useCollection"),[{Provider:a,Slot:u,ItemSlot:p},m,i]}ls(nue,"createCollection");var cX=new WeakMap,Rr,Ga,YC=(Ga=class extends Map{constructor(n){super(n);D4(this,Rr);LA(this,Rr,[...super.keys()]),cX.set(this,!0)}set(n,i){return cX.get(this)&&(this.has(n)?Is(this,Rr)[Is(this,Rr).indexOf(n)]=n:Is(this,Rr).push(n)),super.set(n,i),this}insert(n,i,r){const s=this.has(i),a=Is(this,Rr).length,o=E3(n);let l=o>=0?o:a+o;const u=l<0||l>=a?-1:l;if(u===this.size||s&&u===this.size-1||u===-1)return this.set(i,r),this;const d=this.size+(s?0:1);o<0&&l++;const f=[...Is(this,Rr)];let h,p=!1;for(let m=l;m=this.size&&(s=this.size-1),this.at(s)}keyFrom(n,i){const r=this.indexOf(n);if(r===-1)return;let s=r+i;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return s;r++}}findIndex(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return r;r++}return-1}filter(n,i){const r=[];let s=0;for(const a of this)Reflect.apply(n,i,[a,s,this])&&r.push(a),s++;return new Ga(r)}map(n,i){const r=[];let s=0;for(const a of this)r.push([a[0],Reflect.apply(n,i,[a,s,this])]),s++;return new Ga(r)}reduce(...n){const[i,r]=n;let s=0,a=r??this.at(0);for(const o of this)s===0&&n.length===1?a=o:a=Reflect.apply(i,this,[a,o,s,this]),s++;return a}reduceRight(...n){const[i,r]=n;let s=r??this.at(-1);for(let a=this.size-1;a>=0;a--){const o=this.at(a);a===this.size-1&&n.length===1?s=o:s=Reflect.apply(i,this,[s,o,a,this])}return s}toSorted(n){const i=[...this.entries()].sort(n);return new Ga(i)}toReversed(){const n=new Ga;for(let i=this.size-1;i>=0;i--){const r=this.keyAt(i),s=this.get(r);n.set(r,s)}return n}toSpliced(...n){const i=[...this.entries()];return i.splice(...n),new Ga(i)}slice(n,i){const r=new Ga;let s=this.size-1;if(n===void 0)return r;n<0&&(n=n+this.size),i!==void 0&&i>0&&(s=i-1);for(let a=n;a<=s;a++){const o=this.keyAt(a),l=this.get(o);r.set(o,l)}return r}every(n,i){let r=0;for(const s of this){if(!Reflect.apply(n,i,[s,r,this]))return!1;r++}return!0}some(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return!0;r++}return!1}},Rr=new WeakMap,ls(Ga,"OrderedDict"),Ga);function Pw(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);const n=iue(e,t);return n===-1?void 0:e[n]}ls(Pw,"at");function iue(e,t){const n=e.length,i=E3(t),r=i>=0?i:n+i;return r<0||r>=n?-1:r}ls(iue,"toSafeIndex");function E3(e){return e!==e||e===0?0:Math.trunc(e)}ls(E3,"toSafeInteger");function Cit(e){const t=e+"CollectionProvider",[n,i]=Ic(t),[r,s]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new YC,setItemMap:ls(()=>{},"setItemMap")}),a=ls(({state:x,...v})=>x?c.jsx(l,{...v,state:x}):c.jsx(o,{...v}),"CollectionProvider");a.displayName=t;const o=ls(x=>{const v=y();return c.jsx(l,{...x,state:v})},"CollectionInit");o.displayName=t+"Init";const l=ls(x=>{const{scope:v,children:E,state:w}=x,k=O.useRef(null),[_,C]=O.useState(null),A=$r(k,C),[R,j]=w;return O.useEffect(()=>{if(!_)return;const Q=aue(()=>{});return Q.observe(_,{childList:!0,subtree:!0}),()=>{Q.disconnect()}},[_]),c.jsx(r,{scope:v,itemMap:R,setItemMap:j,collectionRef:A,collectionRefObject:k,collectionElement:_,children:E})},"CollectionProviderImpl");l.displayName=t+"Impl";const u=e+"CollectionSlot",d=ip(u),f=O.forwardRef((x,v)=>{const{scope:E,children:w}=x,k=s(u,E),_=$r(v,k.collectionRef);return c.jsx(d,{ref:_,children:w})});f.displayName=u;const h=e+"CollectionItemSlot",p="data-radix-collection-item",m=ip(h),g=O.forwardRef((x,v)=>{const{scope:E,children:w,...k}=x,_=O.useRef(null),[C,A]=O.useState(null),R=$r(v,_,A),j=s(h,E),{setItemMap:Q}=j,L=O.useRef(k);rue(L.current,k)||(L.current=k);const D=L.current;return O.useEffect(()=>{const N=D;return Q(M=>C?M.has(C)?M.set(C,{...N,element:C}).toSorted(uM):(M.set(C,{...N,element:C}),M.toSorted(uM)):M),()=>{Q(M=>!C||!M.has(C)?M:(M.delete(C),new YC(M)))}},[C,D,Q]),c.jsx(m,{[p]:"",ref:R,children:w})});g.displayName=h;function y(){return O.useState(new YC)}ls(y,"useInitCollection");function b(x){const{itemMap:v}=s(e+"CollectionConsumer",x);return v}return ls(b,"useCollection"),[{Provider:a,Slot:f,ItemSlot:g},{createCollectionScope:i,useCollection:b,useInitCollection:y}]}ls(Cit,"createCollection");function rue(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e==null||t==null)return!1;const n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}ls(rue,"shallowEqual");function sue(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}ls(sue,"isElementPreceding");function uM(e,t){return!e[1].element||!t[1].element?0:sue(e[1].element,t[1].element)?-1:1}ls(uM,"sortByDocumentPosition");function aue(e){return new MutationObserver(n=>{for(const i of n)if(i.type==="childList"){e();return}})}ls(aue,"getChildListObserver");var Rit=Object.defineProperty,Q0=(e,t)=>Rit(e,"name",{value:t,configurable:!0}),oue=!!(typeof window<"u"&&window.document&&window.document.createElement);function hr(e,t,{checkForDefaultPrevented:n=!0}={}){return Q0(function(r){if(e==null||e(r),n===!1||!r||!r.defaultPrevented)return t==null?void 0:t(r)},"handleEvent")}Q0(hr,"composeEventHandlers");function Iit(e){var t;if(!oue)throw new Error("Cannot access window outside of the DOM");return((t=e==null?void 0:e.ownerDocument)==null?void 0:t.defaultView)??window}Q0(Iit,"getOwnerWindow");function dM(e){if(!oue)throw new Error("Cannot access document outside of the DOM");return(e==null?void 0:e.ownerDocument)??document}Q0(dM,"getOwnerDocument");function lue(e,t=!1){const{activeElement:n}=dM(e);if(!(n!=null&&n.nodeName))return null;if(cue(n)&&n.contentDocument)return lue(n.contentDocument.body,t);if(t){const i=n.getAttribute("aria-activedescendant");if(i){const r=dM(n).getElementById(i);if(r)return r}}return n}Q0(lue,"getActiveElement");function cue(e){return e.tagName==="IFRAME"}Q0(cue,"isFrame");var Sl=globalThis!=null&&globalThis.document?O.useLayoutEffect:()=>{},Pit=Object.defineProperty,jit=(e,t)=>Pit(e,"name",{value:t,configurable:!0}),uX=s0[" useEffectEvent ".trim().toString()],dX=s0[" useInsertionEffect ".trim().toString()];function uue(e){if(typeof uX=="function")return uX(e);const t=O.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof dX=="function"?dX(()=>{t.current=e}):Sl(()=>{t.current=e}),O.useMemo(()=>(...n)=>{var i;return(i=t.current)==null?void 0:i.call(t,...n)},[])}jit(uue,"useEffectEvent");var Mit=Object.defineProperty,S1=(e,t)=>Mit(e,"name",{value:t,configurable:!0}),Lit=s0[" useInsertionEffect ".trim().toString()]||Sl;function Mf({prop:e,defaultProp:t,onChange:n=S1(()=>{},"onChange"),caller:i}){const[r,s,a]=due({defaultProp:t,onChange:n}),o=e!==void 0,l=o?e:r,u=O.useCallback(d=>{var f;if(o){const h=fue(d)?d(e):d;h!==e&&((f=a.current)==null||f.call(a,h))}else s(d)},[o,e,s,a]);return[l,u]}S1(Mf,"useControllableState");function due({defaultProp:e,onChange:t}){const[n,i]=O.useState(e),r=O.useRef(n),s=O.useRef(t);return Lit(()=>{s.current=t},[t]),O.useEffect(()=>{var a;r.current!==n&&((a=s.current)==null||a.call(s,n),r.current=n)},[n,r]),[n,i,s]}S1(due,"useUncontrolledState");function fue(e){return typeof e=="function"}S1(fue,"isFunction");var fX=Symbol("RADIX:SYNC_STATE");function Dit(e,t,n,i){const{prop:r,defaultProp:s,onChange:a,caller:o}=t,l=r!==void 0,u=uue(a),d=[{...n,state:s}];i&&d.push(i);const[f,h]=O.useReducer((y,b)=>{if(b.type===fX)return{...y,state:b.state};const S=e(y,b);return l&&!Object.is(S.state,y.state)&&u(S.state),S},...d),p=f.state,m=O.useRef(p);O.useEffect(()=>{m.current!==p&&(m.current=p,l||u(p))},[p,m,l]);const g=O.useMemo(()=>r!==void 0?{...f,state:r}:f,[f,r]);return O.useEffect(()=>{l&&!Object.is(r,f.state)&&h({type:fX,state:r})},[r,f.state,l]),[g,h]}S1(Dit,"useControllableStateReducer");var $it=Object.defineProperty,$u=(e,t)=>$it(e,"name",{value:t,configurable:!0});function hue(e,t){return O.useReducer((n,i)=>t[n][i]??n,e)}$u(hue,"useStateMachine");var U_=$u(e=>{const{present:t,children:n}=e,i=pue(t),r=typeof n=="function"?n({present:i.isPresent}):O.Children.only(n),s=mue(i.ref,gue(r));return typeof n=="function"||i.isPresent?O.cloneElement(r,{ref:s}):null},"Presence");function pue(e){const[t,n]=O.useState(),i=O.useRef(null),r=O.useRef(e),s=O.useRef("none"),a=O.useRef(void 0),o=e?"mounted":"unmounted",[l,u]=hue(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return O.useEffect(()=>{l==="mounted"?(s.current=a.current??lm(i.current),a.current=void 0):s.current="none"},[l]),Sl(()=>{const d=i.current,f=r.current;if(f!==e){const p=s.current,m=lm(d);e?(a.current=m,u("MOUNT")):m==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(f&&p!==m?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,u]),Sl(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,h=$u(m=>{const y=lm(i.current).includes(CSS.escape(m.animationName));if(m.target===t&&y&&(u("ANIMATION_END"),!r.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},"handleAnimationEnd"),p=$u(m=>{m.target===t&&(s.current=lm(i.current))},"handleAnimationStart");return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:O.useCallback(d=>{if(d){const f=getComputedStyle(d);i.current=f,a.current=lm(f)}else i.current=null;n(d)},[])}}$u(pue,"usePresence");function fM(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}$u(fM,"setRef");function mue(...e){const t=O.useRef(e);return t.current=e,O.useCallback(n=>{const i=t.current;let r=!1;const s=i.map(a=>{const o=fM(a,n);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let a=0;aQit(e,"name",{value:t,configurable:!0}),Uit=s0[" useId ".trim().toString()]||(()=>{}),zit=0;function k3(e){const[t,n]=O.useState(Uit());return Sl(()=>{e||n(i=>i??String(zit++))},[e]),e||(t?`radix-${t}`:"")}Bit(k3,"useId");var Fit=Object.defineProperty,Vit=(e,t)=>Fit(e,"name",{value:t,configurable:!0}),Xit=O.createContext(void 0);function z_(e){const t=O.useContext(Xit);return e||t||"ltr"}Vit(z_,"useDirection");var qit=Object.defineProperty,Hit=(e,t)=>qit(e,"name",{value:t,configurable:!0});function wf(e){const t=O.useRef(e);return O.useEffect(()=>{t.current=e}),O.useMemo(()=>(...n)=>{var i;return(i=t.current)==null?void 0:i.call(t,...n)},[])}Hit(wf,"useCallbackRef");var Yit=Object.defineProperty,as=(e,t)=>Yit(e,"name",{value:t,configurable:!0}),hM="dismissableLayer.update",Git="dismissableLayer.pointerDownOutside",Wit="dismissableLayer.focusOutside",hX,Oue=O.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Zit=O.forwardRef(as(function(t,n){const{disableOutsidePointerEvents:i=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:l,onDismiss:u,...d}=t,f=O.useContext(Oue),[h,p]=O.useState(null),m=(h==null?void 0:h.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,g]=O.useState({}),y=$r(n,p),b=Array.from(f.layers),[S]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),x=S?b.indexOf(S):-1,v=h?b.indexOf(h):-1,E=f.layersWithOutsidePointerEventsDisabled.size>0,w=v>=x,k=O.useRef(!1),_=bue(j=>{a==null||a(j),l==null||l(j),j.defaultPrevented||u==null||u()},{ownerDocument:m,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:k,dismissableSurfaces:f.dismissableSurfaces,shouldHandlePointerDownOutside:O.useCallback(j=>{if(!(j instanceof Node))return!1;const Q=[...f.branches].some(L=>L.contains(j));return w&&!Q},[f.branches,w])}),C=yue(j=>{if(r&&k.current)return;const Q=j.target;[...f.branches].some(D=>D.contains(Q))||(o==null||o(j),l==null||l(j),j.defaultPrevented||u==null||u())},m),A=h?v===b.length-1:!1,R=wf(j=>{j.key==="Escape"&&(s==null||s(j),!j.defaultPrevented&&u&&(j.preventDefault(),u()))});return O.useEffect(()=>{if(A)return m.addEventListener("keydown",R,{capture:!0}),()=>m.removeEventListener("keydown",R,{capture:!0})},[m,A,R]),O.useEffect(()=>{if(h)return i&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(hX=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(h)),f.layers.add(h),pM(),()=>{i&&(f.layersWithOutsidePointerEventsDisabled.delete(h),f.layersWithOutsidePointerEventsDisabled.size===0&&(m.body.style.pointerEvents=hX))}},[h,m,i,f]),O.useEffect(()=>()=>{h&&(f.layers.delete(h),f.layersWithOutsidePointerEventsDisabled.delete(h),pM())},[h,f]),O.useEffect(()=>{const j=as(()=>g({}),"handleUpdate");return document.addEventListener(hM,j),()=>document.removeEventListener(hM,j)},[]),c.jsx(ps.div,{...d,ref:y,style:{pointerEvents:E?w?"auto":"none":void 0,...t.style},onFocusCapture:hr(t.onFocusCapture,C.onFocusCapture),onBlurCapture:hr(t.onBlurCapture,C.onBlurCapture),onPointerDownCapture:hr(t.onPointerDownCapture,_.onPointerDownCapture)})},"DismissableLayer"));function Kit(){const e=O.useContext(Oue),[t,n]=O.useState(null);return O.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}as(Kit,"useDismissableLayerSurface");var Jit=as(()=>!0,"IS_TRUE");function bue(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:r,dismissableSurfaces:s,shouldHandlePointerDownOutside:a=Jit}=t,o=wf(e),l=O.useRef(!1),u=O.useRef(!1),d=O.useRef(new Map),f=O.useRef(()=>{});return O.useEffect(()=>{function h(){u.current=!1,r.current=!1,d.current.clear()}as(h,"resetOutsideInteraction");function p(){return Array.from(d.current.values()).some(Boolean)}as(p,"isOutsideInteractionIntercepted");function m(x){if(!u.current)return;const v=x.target;v instanceof Node&&[...s].some(w=>w.contains(v))||d.current.set(x.type,!0),x.type==="click"&&window.setTimeout(()=>{u.current&&f.current()},0)}as(m,"handleInteractionCapture");function g(x){u.current&&d.current.set(x.type,!1)}as(g,"handleInteractionBubble");const y=as(x=>{if(x.target&&!l.current){let v=function(){n.removeEventListener("click",f.current);const w=p();h(),w||T3(Git,o,E,{discrete:!0})};if(as(v,"handleAndDispatchPointerDownOutsideEvent"),!a(x.target)){n.removeEventListener("click",f.current),h(),l.current=!1;return}const E={originalEvent:x};u.current=!0,r.current=i&&x.button===0,d.current.clear(),!i||x.button!==0?v():(n.removeEventListener("click",f.current),f.current=v,n.addEventListener("click",f.current,{once:!0}))}else n.removeEventListener("click",f.current),h();l.current=!1},"handlePointerDown"),b=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const x of b)n.addEventListener(x,m,!0),n.addEventListener(x,g);const S=window.setTimeout(()=>{n.addEventListener("pointerdown",y)},0);return()=>{window.clearTimeout(S),n.removeEventListener("pointerdown",y),n.removeEventListener("click",f.current);for(const x of b)n.removeEventListener(x,m,!0),n.removeEventListener(x,g)}},[n,o,i,r,s,a]),{onPointerDownCapture:as(()=>l.current=!0,"onPointerDownCapture")}}as(bue,"usePointerDownOutside");function yue(e,t=globalThis==null?void 0:globalThis.document){const n=wf(e),i=O.useRef(!1);return O.useEffect(()=>{const r=as(s=>{s.target&&!i.current&&T3(Wit,n,{originalEvent:s},{discrete:!1})},"handleFocus");return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:as(()=>i.current=!0,"onFocusCapture"),onBlurCapture:as(()=>i.current=!1,"onBlurCapture")}}as(yue,"useFocusOutside");function pM(){const e=new CustomEvent(hM);document.dispatchEvent(e)}as(pM,"dispatchUpdate");function T3(e,t,n,{discrete:i}){const r=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),i?eue(r,s):r.dispatchEvent(s)}as(T3,"handleAndDispatchCustomEvent");var ert=Object.defineProperty,ia=(e,t)=>ert(e,"name",{value:t,configurable:!0}),GC="focusScope.autoFocusOnMount",WC="focusScope.autoFocusOnUnmount",pX={bubbles:!1,cancelable:!0},trt=O.forwardRef(ia(function(t,n){const{loop:i=!1,trapped:r=!1,onMountAutoFocus:s,onUnmountAutoFocus:a,...o}=t,[l,u]=O.useState(null),d=wf(s),f=wf(a),h=O.useRef(null),p=$r(n,u),m=O.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;O.useEffect(()=>{if(r){let y=function(v){if(m.paused||!l)return;const E=v.target;l.contains(E)?h.current=E:tu(h.current,{select:!0})},b=function(v){if(m.paused||!l)return;const E=v.relatedTarget;E!==null&&(l.contains(E)||tu(h.current,{select:!0}))},S=function(v){if(document.activeElement===document.body)for(const w of v)w.removedNodes.length>0&&tu(l)};ia(y,"handleFocusIn"),ia(b,"handleFocusOut"),ia(S,"handleMutations"),document.addEventListener("focusin",y),document.addEventListener("focusout",b);const x=new MutationObserver(S);return l&&x.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",b),x.disconnect()}}},[r,l,m.paused]),O.useEffect(()=>{if(l){mX.add(m);const y=document.activeElement;if(!l.contains(y)){const S=new CustomEvent(GC,pX);l.addEventListener(GC,d),l.dispatchEvent(S),S.defaultPrevented||(xue(kue(_3(l)),{select:!0}),document.activeElement===y&&tu(l))}return()=>{l.removeEventListener(GC,d),setTimeout(()=>{const S=new CustomEvent(WC,pX);l.addEventListener(WC,f),l.dispatchEvent(S),S.defaultPrevented||tu(y??document.body,{select:!0}),l.removeEventListener(WC,f),mX.remove(m)},0)}}},[l,d,f,m]);const g=O.useCallback(y=>{if(!i&&!r||m.paused)return;const b=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,S=document.activeElement;if(b&&S){const x=y.currentTarget,[v,E]=Sue(x);v&&E?!y.shiftKey&&S===E?(y.preventDefault(),i&&tu(v,{select:!0})):y.shiftKey&&S===v&&(y.preventDefault(),i&&tu(E,{select:!0})):S===x&&y.preventDefault()}},[i,r,m.paused]);return c.jsx(ps.div,{tabIndex:-1,...o,ref:p,onKeyDown:g})},"FocusScope"));function xue(e,{select:t=!1}={}){const n=document.activeElement;for(const i of e)if(tu(i,{select:t}),document.activeElement!==n)return}ia(xue,"focusFirst");function Sue(e){const t=_3(e),n=mM(t,e),i=mM(t.reverse(),e);return[n,i]}ia(Sue,"getTabbableEdges");function _3(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:ia(i=>{const r=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||r?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;n.nextNode();)t.push(n.currentNode);return t}ia(_3,"getTabbableCandidates");function mM(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const i of e)if(!(n?!i.checkVisibility({checkVisibilityCSS:!0}):vue(i,{upTo:t})))return i}ia(mM,"findVisible");function vue(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}ia(vue,"isHidden");function wue(e){return e instanceof HTMLInputElement&&"select"in e}ia(wue,"isSelectableInput");function tu(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&wue(e)&&t&&e.select()}}ia(tu,"focus");var mX=Eue();function Eue(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=gM(e,t),e.unshift(t)},remove(t){var n;e=gM(e,t),(n=e[0])==null||n.resume()}}}ia(Eue,"createFocusScopesStack");function gM(e,t){const n=[...e],i=n.indexOf(t);return i!==-1&&n.splice(i,1),n}ia(gM,"arrayRemove");function kue(e){return e.filter(t=>t.tagName!=="A")}ia(kue,"removeLinks");var nrt=Object.defineProperty,irt=(e,t)=>nrt(e,"name",{value:t,configurable:!0}),rrt=O.forwardRef(irt(function(t,n){var l;const{container:i,...r}=t,[s,a]=O.useState(!1);Sl(()=>a(!0),[]);const o=i||s&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return o?ar.createPortal(c.jsx(ps.div,{...r,ref:n}),o):null},"Portal")),srt=Object.defineProperty,A3=(e,t)=>srt(e,"name",{value:t,configurable:!0}),Sv=0,Xl=null;function art(e){return N3(),e.children}A3(art,"FocusGuards");function N3(){O.useEffect(()=>{Xl||(Xl={start:OM(),end:OM()});const{start:e,end:t}=Xl;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Sv++,()=>{Sv===1&&(Xl==null||Xl.start.remove(),Xl==null||Xl.end.remove(),Xl=null),Sv=Math.max(0,Sv-1)}},[])}A3(N3,"useFocusGuards");function OM(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}A3(OM,"createFocusGuard");var nc=function(){return nc=Object.assign||function(t){for(var n,i=1,r=arguments.length;i"u")return wrt;var t=Ert(e),n=document.documentElement.clientWidth,i=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,i-n+t[2]-t[0])}},Trt=Nue(),fg="data-scroll-locked",_rt=function(e,t,n,i){var r=e.left,s=e.top,a=e.right,o=e.gap;return n===void 0&&(n="margin"),` + .`.concat(lrt,` { overflow: hidden `).concat(i,`; padding-right: `).concat(o,"px ").concat(i,`; } - body[`).concat(dg,`] { + body[`).concat(fg,`] { overflow: hidden `).concat(i,`; overscroll-behavior: contain; `).concat([t&&"position: relative ".concat(i,";"),n==="margin"&&` @@ -1042,56 +1042,56 @@ README.md margin-right: `).concat(o,"px ").concat(i,`; `),n==="padding"&&"padding-right: ".concat(o,"px ").concat(i,";")].filter(Boolean).join(""),` } - + .`).concat(jw,` { right: `).concat(o,"px ").concat(i,`; } - + .`).concat(Mw,` { margin-right: `).concat(o,"px ").concat(i,`; } - + .`).concat(jw," .").concat(jw,` { right: 0 `).concat(i,`; } - + .`).concat(Mw," .").concat(Mw,` { margin-right: 0 `).concat(i,`; } - - body[`).concat(dg,`] { - `).concat(lrt,": ").concat(o,`px; + + body[`).concat(fg,`] { + `).concat(crt,": ").concat(o,`px; } -`)},mX=function(){var e=parseInt(document.body.getAttribute(dg)||"0",10);return isFinite(e)?e:0},_rt=function(){O.useEffect(function(){return document.body.setAttribute(dg,(mX()+1).toString()),function(){var e=mX()-1;e<=0?document.body.removeAttribute(dg):document.body.setAttribute(dg,e.toString())}},[])},Art=function(e){var t=e.noRelative,n=e.noImportant,i=e.gapMode,r=i===void 0?"margin":i;_rt();var s=O.useMemo(function(){return Ert(r)},[r]);return O.createElement(krt,{styles:Trt(s,!t,r,n?"":"!important")})},bM=!1;if(typeof window<"u")try{var vv=Object.defineProperty({},"passive",{get:function(){return bM=!0,!0}});window.addEventListener("test",vv,vv),window.removeEventListener("test",vv,vv)}catch{bM=!1}var Bp=bM?{passive:!1}:!1,Nrt=function(e){return e.tagName==="TEXTAREA"},Aue=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Nrt(e)&&n[t]==="visible")},Crt=function(e){return Aue(e,"overflowY")},Rrt=function(e){return Aue(e,"overflowX")},gX=function(e,t){var n=t.ownerDocument,i=t;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var r=Nue(e,i);if(r){var s=Cue(e,i),a=s[1],o=s[2];if(a>o)return!0}i=i.parentNode}while(i&&i!==n.body);return!1},Irt=function(e){var t=e.scrollTop,n=e.scrollHeight,i=e.clientHeight;return[t,n,i]},Prt=function(e){var t=e.scrollLeft,n=e.scrollWidth,i=e.clientWidth;return[t,n,i]},Nue=function(e,t){return e==="v"?Crt(t):Rrt(t)},Cue=function(e,t){return e==="v"?Irt(t):Prt(t)},jrt=function(e,t){return e==="h"&&t==="rtl"?-1:1},Mrt=function(e,t,n,i,r){var s=jrt(e,window.getComputedStyle(t).direction),a=s*i,o=n.target,l=t.contains(o),u=!1,d=a>0,f=0,h=0;do{if(!o)break;var p=Cue(e,o),m=p[0],g=p[1],y=p[2],b=g-y-s*m;(m||b)&&Nue(e,o)&&(f+=b,h+=m);var S=o.parentNode;o=S&&S.nodeType===Node.DOCUMENT_FRAGMENT_NODE?S.host:S}while(!l&&o!==document.body||l&&(t.contains(o)||t===o));return(d&&Math.abs(f)<1||!d&&Math.abs(h)<1)&&(u=!0),u},wv=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},OX=function(e){return[e.deltaX,e.deltaY]},bX=function(e){return e&&"current"in e?e.current:e},Lrt=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Drt=function(e){return` +`)},OX=function(){var e=parseInt(document.body.getAttribute(fg)||"0",10);return isFinite(e)?e:0},Art=function(){O.useEffect(function(){return document.body.setAttribute(fg,(OX()+1).toString()),function(){var e=OX()-1;e<=0?document.body.removeAttribute(fg):document.body.setAttribute(fg,e.toString())}},[])},Nrt=function(e){var t=e.noRelative,n=e.noImportant,i=e.gapMode,r=i===void 0?"margin":i;Art();var s=O.useMemo(function(){return krt(r)},[r]);return O.createElement(Trt,{styles:_rt(s,!t,r,n?"":"!important")})},bM=!1;if(typeof window<"u")try{var vv=Object.defineProperty({},"passive",{get:function(){return bM=!0,!0}});window.addEventListener("test",vv,vv),window.removeEventListener("test",vv,vv)}catch{bM=!1}var Up=bM?{passive:!1}:!1,Crt=function(e){return e.tagName==="TEXTAREA"},Cue=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Crt(e)&&n[t]==="visible")},Rrt=function(e){return Cue(e,"overflowY")},Irt=function(e){return Cue(e,"overflowX")},bX=function(e,t){var n=t.ownerDocument,i=t;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var r=Rue(e,i);if(r){var s=Iue(e,i),a=s[1],o=s[2];if(a>o)return!0}i=i.parentNode}while(i&&i!==n.body);return!1},Prt=function(e){var t=e.scrollTop,n=e.scrollHeight,i=e.clientHeight;return[t,n,i]},jrt=function(e){var t=e.scrollLeft,n=e.scrollWidth,i=e.clientWidth;return[t,n,i]},Rue=function(e,t){return e==="v"?Rrt(t):Irt(t)},Iue=function(e,t){return e==="v"?Prt(t):jrt(t)},Mrt=function(e,t){return e==="h"&&t==="rtl"?-1:1},Lrt=function(e,t,n,i,r){var s=Mrt(e,window.getComputedStyle(t).direction),a=s*i,o=n.target,l=t.contains(o),u=!1,d=a>0,f=0,h=0;do{if(!o)break;var p=Iue(e,o),m=p[0],g=p[1],y=p[2],b=g-y-s*m;(m||b)&&Rue(e,o)&&(f+=b,h+=m);var S=o.parentNode;o=S&&S.nodeType===Node.DOCUMENT_FRAGMENT_NODE?S.host:S}while(!l&&o!==document.body||l&&(t.contains(o)||t===o));return(d&&Math.abs(f)<1||!d&&Math.abs(h)<1)&&(u=!0),u},wv=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},yX=function(e){return[e.deltaX,e.deltaY]},xX=function(e){return e&&"current"in e?e.current:e},Drt=function(e,t){return e[0]===t[0]&&e[1]===t[1]},$rt=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},$rt=0,Up=[];function Qrt(e){var t=O.useRef([]),n=O.useRef([0,0]),i=O.useRef(),r=O.useState($rt++)[0],s=O.useState(_ue)[0],a=O.useRef(e);O.useEffect(function(){a.current=e},[e]),O.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var g=art([e.lockRef.current],(e.shards||[]).map(bX),!0).filter(Boolean);return g.forEach(function(y){return y.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),g.forEach(function(y){return y.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var o=O.useCallback(function(g,y){if("touches"in g&&g.touches.length===2||g.type==="wheel"&&g.ctrlKey)return!a.current.allowPinchZoom;var b=wv(g),S=n.current,x="deltaX"in g?g.deltaX:S[0]-b[0],v="deltaY"in g?g.deltaY:S[1]-b[1],E,w=g.target,k=Math.abs(x)>Math.abs(v)?"h":"v";if("touches"in g&&k==="h"&&w.type==="range")return!1;var _=window.getSelection(),C=_&&_.anchorNode,A=C?C===w||C.contains(w):!1;if(A)return!1;var R=gX(k,w);if(!R)return!0;if(R?E=k:(E=k==="v"?"h":"v",R=gX(k,w)),!R)return!1;if(!i.current&&"changedTouches"in g&&(x||v)&&(i.current=E),!E)return!0;var j=i.current||E;return Mrt(j,y,g,j==="h"?x:v)},[]),l=O.useCallback(function(g){var y=g;if(!(!Up.length||Up[Up.length-1]!==s)){var b="deltaY"in y?OX(y):wv(y),S=t.current.filter(function(E){return E.name===y.type&&(E.target===y.target||y.target===E.shadowParent)&&Lrt(E.delta,b)})[0];if(S&&S.should){y.cancelable&&y.preventDefault();return}if(!S){var x=(a.current.shards||[]).map(bX).filter(Boolean).filter(function(E){return E.contains(y.target)}),v=x.length>0?o(y,x[0]):!a.current.noIsolation;v&&y.cancelable&&y.preventDefault()}}},[]),u=O.useCallback(function(g,y,b,S){var x={name:g,delta:y,target:b,should:S,shadowParent:Brt(b)};t.current.push(x),setTimeout(function(){t.current=t.current.filter(function(v){return v!==x})},1)},[]),d=O.useCallback(function(g){n.current=wv(g),i.current=void 0},[]),f=O.useCallback(function(g){u(g.type,OX(g),g.target,o(g,e.lockRef.current))},[]),h=O.useCallback(function(g){u(g.type,wv(g),g.target,o(g,e.lockRef.current))},[]);O.useEffect(function(){return Up.push(s),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",l,Bp),document.addEventListener("touchmove",l,Bp),document.addEventListener("touchstart",d,Bp),function(){Up=Up.filter(function(g){return g!==s}),document.removeEventListener("wheel",l,Bp),document.removeEventListener("touchmove",l,Bp),document.removeEventListener("touchstart",d,Bp)}},[]);var p=e.removeScrollBar,m=e.inert;return O.createElement(O.Fragment,null,m?O.createElement(s,{styles:Drt(r)}):null,p?O.createElement(Art,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Brt(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Urt=mrt(Tue,Qrt);var Rue=O.forwardRef(function(e,t){return O.createElement(F_,nc({},e,{ref:t,sideCar:Urt}))});Rue.classNames=F_.classNames;var zrt=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},zp=new WeakMap,Ev=new WeakMap,kv={},eR=0,Iue=function(e){return e&&(e.host||Iue(e.parentNode))},Frt=function(e,t){return t.map(function(n){if(e.contains(n))return n;var i=Iue(n);return i&&e.contains(i)?i:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Vrt=function(e,t,n,i){var r=Frt(t,Array.isArray(e)?e:[e]);kv[n]||(kv[n]=new WeakMap);var s=kv[n],a=[],o=new Set,l=new Set(r),u=function(f){!f||o.has(f)||(o.add(f),u(f.parentNode))};r.forEach(u);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(h){if(o.has(h))d(h);else try{var p=h.getAttribute(i),m=p!==null&&p!=="false",g=(zp.get(h)||0)+1,y=(s.get(h)||0)+1;zp.set(h,g),s.set(h,y),a.push(h),g===1&&m&&Ev.set(h,!0),y===1&&h.setAttribute(n,"true"),m||h.setAttribute(i,"true")}catch(b){console.error("aria-hidden: cannot operate on ",h,b)}})};return d(t),o.clear(),eR++,function(){a.forEach(function(f){var h=zp.get(f)-1,p=s.get(f)-1;zp.set(f,h),s.set(f,p),h||(Ev.has(f)||f.removeAttribute(i),Ev.delete(f)),p||f.removeAttribute(n)}),eR--,eR||(zp=new WeakMap,zp=new WeakMap,Ev=new WeakMap,kv={})}},Xrt=function(e,t,n){n===void 0&&(n="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),r=zrt(e);return r?(i.push.apply(i,Array.from(r.querySelectorAll("[aria-live], script"))),Vrt(i,r,n,"aria-hidden")):function(){return null}},qrt=Object.defineProperty,Hrt=(e,t)=>qrt(e,"name",{value:t,configurable:!0});function V_(e){const[t,n]=O.useState(void 0);return Sl(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const s=r[0];let a,o;if("borderBoxSize"in s){const l=s.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,o=u.blockSize}else a=e.offsetWidth,o=e.offsetHeight;n({width:a,height:o})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else n(void 0)},[e]),t}Hrt(V_,"useSize");var Yrt=Object.defineProperty,$u=(e,t)=>Yrt(e,"name",{value:t,configurable:!0}),C3="Checkbox",[Grt,Hht]=Rc(C3),[Wrt,R3]=Grt(C3);function Pue(e){const{__scopeCheckbox:t,checked:n,children:i,defaultChecked:r,disabled:s,form:a,name:o,onCheckedChange:l,required:u,value:d="on",internal_do_not_use_render:f}=e,[h,p]=Mf({prop:n,defaultProp:r??!1,onChange:l,caller:C3}),[m,g]=O.useState(null),[y,b]=O.useState(null),S=O.useRef(!1),[x,v]=O.useReducer(k=>k+1,0),E=m?!!a||!!m.closest("form"):!0,w={checked:h,disabled:s,setChecked:p,control:m,setControl:g,name:o,form:a,value:d,hasConsumerStoppedPropagationRef:S,userInteractionCount:x,onUserInteraction:v,required:u,defaultChecked:xu(r)?!1:r,isFormControl:E,bubbleInput:y,setBubbleInput:b};return c.jsx(Wrt,{scope:t,...w,children:jue(f)?f(w):i})}$u(Pue,"CheckboxProvider");var Zrt="CheckboxTrigger",Krt=O.forwardRef($u(function({__scopeCheckbox:t,onKeyDown:n,onClick:i,...r},s){const{control:a,value:o,disabled:l,checked:u,required:d,setControl:f,setChecked:h,hasConsumerStoppedPropagationRef:p,onUserInteraction:m,isFormControl:g,bubbleInput:y}=R3(Zrt,t),b=$r(s,f),S=O.useRef(u);return O.useEffect(()=>{const x=a==null?void 0:a.form;if(x){const v=$u(()=>h(S.current),"reset");return x.addEventListener("reset",v),()=>x.removeEventListener("reset",v)}},[a,h]),c.jsx(ps.button,{type:"button",role:"checkbox","aria-checked":xu(u)?"mixed":u,"aria-required":d,"data-state":I3(u),"data-disabled":l?"":void 0,disabled:l,value:o,...r,ref:b,onKeyDown:hr(n,x=>{x.key==="Enter"&&x.preventDefault()}),onClick:hr(i,x=>{m(),h(v=>xu(v)?!0:!v),y&&g&&(p.current=x.isPropagationStopped(),p.current||x.stopPropagation())})})},"CheckboxTrigger")),Jrt=O.forwardRef($u(function(t,n){const{__scopeCheckbox:i,name:r,checked:s,defaultChecked:a,required:o,disabled:l,value:u,onCheckedChange:d,form:f,...h}=t;return c.jsx(Pue,{__scopeCheckbox:i,checked:s,defaultChecked:a,disabled:l,required:o,onCheckedChange:d,name:r,form:f,value:u,internal_do_not_use_render:({isFormControl:p})=>c.jsxs(c.Fragment,{children:[c.jsx(Krt,{...h,ref:n,__scopeCheckbox:i}),p&&c.jsx(ist,{__scopeCheckbox:i})]})})},"Checkbox")),est="CheckboxIndicator",tst=O.forwardRef($u(function(t,n){const{__scopeCheckbox:i,forceMount:r,...s}=t,a=R3(est,i);return c.jsx(U_,{present:r||xu(a.checked)||a.checked===!0,children:c.jsx(ps.span,{"data-state":I3(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:n,style:{pointerEvents:"none",...t.style}})})},"CheckboxIndicator")),nst="CheckboxBubbleInput",ist=O.forwardRef($u(function({__scopeCheckbox:t,onClick:n,...i},r){const{control:s,hasConsumerStoppedPropagationRef:a,userInteractionCount:o,checked:l,defaultChecked:u,required:d,disabled:f,name:h,value:p,form:m,bubbleInput:g,setBubbleInput:y}=R3(nst,t),b=$r(r,y),S=V_(s),x=O.useRef(!1),v=O.useRef(l),E=O.useRef(o);O.useEffect(()=>{const k=g;if(!k)return;const _=window.HTMLInputElement.prototype,A=Object.getOwnPropertyDescriptor(_,"checked").set,R=o!==E.current;E.current=o;const j=v.current!==l;v.current=l;const Q=!(R&&a.current);if(j&&A){x.current=!R;const L=new Event("click",{bubbles:Q});k.indeterminate=xu(l),A.call(k,xu(l)?!1:l),k.dispatchEvent(L),x.current=!1}},[g,l,a,o]);const w=O.useRef(xu(l)?!1:l);return c.jsx(ps.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??w.current,required:d,disabled:f,name:h,value:p,form:m,...i,tabIndex:-1,ref:b,onClick:hr(n,k=>{x.current&&k.stopPropagation()}),style:{...i.style,...S,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function jue(e){return typeof e=="function"}$u(jue,"isFunction");function xu(e){return e==="indeterminate"}$u(xu,"isIndeterminate");function I3(e){return xu(e)?"indeterminate":e?"checked":"unchecked"}$u(I3,"getState");const rst=["top","right","bottom","left"],Ef=Math.min,Su=Math.max,Qk=Math.round,Tv=Math.floor,vu=e=>({x:e,y:e}),sst={left:"right",right:"left",bottom:"top",top:"bottom"};function Mue(e,t,n){return Su(e,Ef(t,n))}function Qu(e,t){return typeof e=="function"?e(t):e}function kf(e){return e.split("-")[0]}function Q0(e){return e.split("-")[1]}function P3(e){return e==="x"?"y":"x"}function j3(e){return e==="y"?"height":"width"}function dc(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function M3(e){return P3(dc(e))}function ast(e,t,n){n===void 0&&(n=!1);const i=Q0(e),r=M3(e),s=j3(r);let a=r==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=Bk(a)),[a,Bk(a)]}function ost(e){const t=Bk(e);return[yM(e),t,yM(t)]}function yM(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const yX=["left","right"],xX=["right","left"],lst=["top","bottom"],cst=["bottom","top"];function ust(e,t,n){switch(e){case"top":case"bottom":return n?t?xX:yX:t?yX:xX;case"left":case"right":return t?lst:cst;default:return[]}}function dst(e,t,n,i){const r=Q0(e);let s=ust(kf(e),n==="start",i);return r&&(s=s.map(a=>a+"-"+r),t&&(s=s.concat(s.map(yM)))),s}function Bk(e){const t=kf(e);return sst[t]+e.slice(t.length)}function fst(e){var t,n,i,r;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(i=e.bottom)!=null?i:0,left:(r=e.left)!=null?r:0}}function Lue(e){return typeof e!="number"?fst(e):{top:e,right:e,bottom:e,left:e}}function Uk(e){const{x:t,y:n,width:i,height:r}=e;return{width:i,height:r,top:n,left:t,right:t+i,bottom:n+r,x:t,y:n}}function SX(e,t,n){let{reference:i,floating:r}=e;const s=dc(t),a=M3(t),o=j3(a),l=kf(t),u=s==="y",d=i.x+i.width/2-r.width/2,f=i.y+i.height/2-r.height/2,h=i[o]/2-r[o]/2;let p;switch(l){case"top":p={x:d,y:i.y-r.height};break;case"bottom":p={x:d,y:i.y+i.height};break;case"right":p={x:i.x+i.width,y:f};break;case"left":p={x:i.x-r.width,y:f};break;default:p={x:i.x,y:i.y}}const m=Q0(t);return m&&(p[a]+=h*(m==="end"?1:-1)*(n&&u?-1:1)),p}async function hst(e,t){var n;t===void 0&&(t={});const{x:i,y:r,platform:s,rects:a,elements:o,strategy:l}=e,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:h=!1,padding:p=0}=Qu(t,e),m=Lue(p),y=o[h?f==="floating"?"reference":"floating":f],b=Uk(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(y)))==null||n?y:y.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(o.floating)),boundary:u,rootBoundary:d,strategy:l})),S=f==="floating"?{x:i,y:r,width:a.floating.width,height:a.floating.height}:a.reference,x=await(s.getOffsetParent==null?void 0:s.getOffsetParent(o.floating)),v=await(s.isElement==null?void 0:s.isElement(x))&&await(s.getScale==null?void 0:s.getScale(x))||{x:1,y:1},E=Uk(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:S,offsetParent:x,strategy:l}):S);return{top:(b.top-E.top+m.top)/v.y,bottom:(E.bottom-b.bottom+m.bottom)/v.y,left:(b.left-E.left+m.left)/v.x,right:(E.right-b.right+m.right)/v.x}}const pst=50,mst=async(e,t,n)=>{const{placement:i="bottom",strategy:r="absolute",middleware:s=[],platform:a}=n,o=a.detectOverflow?a:{...a,detectOverflow:hst},l=await(a.isRTL==null?void 0:a.isRTL(t));let u=await a.getElementRects({reference:e,floating:t,strategy:r}),{x:d,y:f}=SX(u,i,l),h=i,p=0;const m={};for(let g=0;g({name:"arrow",options:e,async fn(t){const{x:n,y:i,placement:r,rects:s,platform:a,elements:o,middlewareData:l}=t,{element:u,padding:d=0}=Qu(e,t)||{};if(u==null)return{};const f=Lue(d),h={x:n,y:i},p=M3(r),m=j3(p),g=await a.getDimensions(u),y=p==="y",b=y?"top":"left",S=y?"bottom":"right",x=y?"clientHeight":"clientWidth",v=s.reference[m]+s.reference[p]-h[p]-s.floating[m],E=h[p]-s.reference[p],w=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u));let k=w?w[x]:0;(!k||!await(a.isElement==null?void 0:a.isElement(w)))&&(k=o.floating[x]||s.floating[m]);const _=v/2-E/2,C=k/2-g[m]/2-1,A=Ef(f[b],C),R=Ef(f[S],C),j=k-g[m]-R,Q=k/2-g[m]/2+_,L=Mue(A,Q,j),D=!l.arrow&&Q0(r)!=null&&Q!==L&&s.reference[m]/2-(QL<=0)){var R,j;const L=(((R=s.flip)==null?void 0:R.index)||0)+1,D=k[L];if(D&&(!(f==="alignment"?S!==dc(D):!1)||A.every(B=>dc(B.placement)===S?B.overflows[0]>0:!0)))return{data:{index:L,overflows:A},reset:{placement:D}};let N=(j=A.filter(M=>M.overflows[0]<=0).sort((M,B)=>M.overflows[1]-B.overflows[1])[0])==null?void 0:j.placement;if(!N)switch(p){case"bestFit":{var Q;const M=(Q=A.filter(B=>{if(w){const $=dc(B.placement);return $===S||$==="y"}return!0}).map(B=>[B.placement,B.overflows.filter($=>$>0).reduce(($,I)=>$+I,0)]).sort((B,$)=>B[1]-$[1])[0])==null?void 0:Q[0];M&&(N=M);break}case"initialPlacement":N=o;break}if(r!==N)return{reset:{placement:N}}}return{}}}};function vX(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function wX(e){return rst.some(t=>e[t]>=0)}const bst=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:i}=t,{strategy:r="referenceHidden",...s}=Qu(e,t);switch(r){case"referenceHidden":{const a=await i.detectOverflow(t,{...s,elementContext:"reference"}),o=vX(a,n.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:wX(o)}}}case"escaped":{const a=await i.detectOverflow(t,{...s,altBoundary:!0}),o=vX(a,n.floating);return{data:{escapedOffsets:o,escaped:wX(o)}}}default:return{}}}}},Due=new Set(["left","top"]);async function yst(e,t){const{placement:n,platform:i,elements:r}=e,s=await(i.isRTL==null?void 0:i.isRTL(r.floating)),a=kf(n),o=Q0(n),l=dc(n)==="y",u=Due.has(a)?-1:1,d=s&&l?-1:1,f=Qu(t,e);let{mainAxis:h,crossAxis:p,alignmentAxis:m}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return o&&typeof m=="number"&&(p=o==="end"?m*-1:m),l?{x:p*d,y:h*u}:{x:h*u,y:p*d}}const xst=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,i;const{x:r,y:s,placement:a,middlewareData:o}=t,l=await yst(t,e);return a===((n=o.offset)==null?void 0:n.placement)&&(i=o.arrow)!=null&&i.alignmentOffset?{}:{x:r+l.x,y:s+l.y,data:{...l,placement:a}}}}},Sst=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:i,placement:r,platform:s}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:l={fn:S=>{let{x,y:v}=S;return{x,y:v}}},...u}=Qu(e,t),d={x:n,y:i},f=await s.detectOverflow(t,u),h=dc(r),p=P3(h);let m=d[p],g=d[h];const y=(S,x)=>Mue(x+f[S==="y"?"top":"left"],x,x-f[S==="y"?"bottom":"right"]);a&&(m=y(p,m)),o&&(g=y(h,g));const b=l.fn({...t,[p]:m,[h]:g});return{...b,data:{x:b.x-n,y:b.y-i,enabled:{[p]:a,[h]:o}}}}}},vst=function(e){return e===void 0&&(e={}),{options:e,fn(t){var n,i;const{x:r,y:s,placement:a,rects:o,middlewareData:l}=t,{offset:u=0,mainAxis:d=!0,crossAxis:f=!0}=Qu(e,t),h={x:r,y:s},p=dc(a),m=P3(p);let g=h[m],y=h[p];const b=Qu(u,t),S=typeof b=="number"?{mainAxis:b,crossAxis:0}:{mainAxis:(n=b.mainAxis)!=null?n:0,crossAxis:(i=b.crossAxis)!=null?i:0};if(d){const E=m==="y"?"height":"width",w=o.reference[m]-o.floating[E]+S.mainAxis,k=o.reference[m]+o.reference[E]-S.mainAxis;gk&&(g=k)}if(f){var x,v;const E=m==="y"?"width":"height",w=Due.has(kf(a)),k=o.reference[p]-o.floating[E]+(w&&((x=l.offset)==null?void 0:x[p])||0)+(w?0:S.crossAxis),_=o.reference[p]+o.reference[E]+(w?0:((v=l.offset)==null?void 0:v[p])||0)-(w?S.crossAxis:0);y_&&(y=_)}return{[m]:g,[p]:y}}}},wst=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:i,platform:r,elements:s}=t,{apply:a=()=>{},...o}=Qu(e,t),l=await r.detectOverflow(t,o),u=kf(n),d=Q0(n),f=dc(n)==="y",{width:h,height:p}=i.floating;let m,g;u==="top"||u==="bottom"?(m=u,g=d===(await(r.isRTL==null?void 0:r.isRTL(s.floating))?"start":"end")?"left":"right"):(g=u,m=d==="end"?"top":"bottom");const y=p-l.top-l.bottom,b=h-l.left-l.right,S=Ef(p-l[m],y),x=Ef(h-l[g],b),v=t.middlewareData.shift,E=!v;let w=S,k=x;v!=null&&v.enabled.x&&(k=b),v!=null&&v.enabled.y&&(w=y),E&&!d&&(f?k=h-2*Su(l.left,l.right):w=p-2*Su(l.top,l.bottom)),await a({...t,availableWidth:k,availableHeight:w});const _=await r.getDimensions(s.floating);return h!==_.width||p!==_.height?{reset:{rects:!0}}:{}}}};function X_(){return typeof window<"u"}function B0(e){return $ue(e)?(e.nodeName||"").toLowerCase():"#document"}function Na(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Wu(e){var t;return(t=($ue(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function $ue(e){return X_()?e instanceof Node||e instanceof Na(e).Node:!1}function Sc(e){return X_()?e instanceof Element||e instanceof Na(e).Element:!1}function Lf(e){return X_()?e instanceof HTMLElement||e instanceof Na(e).HTMLElement:!1}function EX(e){return!X_()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Na(e).ShadowRoot}function q_(e){const{overflow:t,overflowX:n,overflowY:i,display:r}=vc(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&r!=="inline"&&r!=="contents"}function Est(e){return/^(table|td|th)$/.test(B0(e))}function H_(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const kst=/transform|translate|scale|rotate|perspective|filter/,Tst=/paint|layout|strict|content/,Gf=e=>!!e&&e!=="none";let tR;function L3(e){const t=Sc(e)?vc(e):e;return Gf(t.transform)||Gf(t.translate)||Gf(t.scale)||Gf(t.rotate)||Gf(t.perspective)||!D3()&&(Gf(t.backdropFilter)||Gf(t.filter))||kst.test(t.willChange||"")||Tst.test(t.contain||"")}function _st(e){let t=rp(e);for(;Lf(t)&&!Sx(t);){if(L3(t))return t;if(H_(t))return null;t=rp(t)}return null}function D3(){return tR==null&&(tR=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),tR}function Sx(e){return/^(html|body|#document)$/.test(B0(e))}function vc(e){return Na(e).getComputedStyle(e)}function Y_(e){return Sc(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function rp(e){if(B0(e)==="html")return e;const t=e.assignedSlot||e.parentNode||EX(e)&&e.host||Wu(e);return EX(t)?t.host:t}function Que(e){const t=rp(e);return Sx(t)?(e.ownerDocument||e).body:Lf(t)&&q_(t)?t:Que(t)}function vx(e,t,n){var i;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=Que(e),s=r===((i=e.ownerDocument)==null?void 0:i.body),a=Na(r);if(s){const o=xM(a);return t.concat(a,a.visualViewport||[],q_(r)?r:[],o&&n?vx(o):[])}else return t.concat(r,vx(r,[],n))}function xM(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Bue(e){const t=vc(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const r=Lf(e),s=r?e.offsetWidth:n,a=r?e.offsetHeight:i,o=Qk(n)!==s||Qk(i)!==a;return o&&(n=s,i=a),{width:n,height:i,$:o}}function $3(e){return Sc(e)?e:e.contextElement}function fg(e){const t=$3(e);if(!Lf(t))return vu(1);const n=t.getBoundingClientRect(),{width:i,height:r,$:s}=Bue(t);let a=(s?Qk(n.width):n.width)/i,o=(s?Qk(n.height):n.height)/r;return(!a||!Number.isFinite(a))&&(a=1),(!o||!Number.isFinite(o))&&(o=1),{x:a,y:o}}const Ast=vu(0);function Uue(e){const t=Na(e);return!D3()||!t.visualViewport?Ast:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Nst(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Na(e)}function sp(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),s=$3(e);let a=vu(1);t&&(i?Sc(i)&&(a=fg(i)):a=fg(e));const o=Nst(s,n,i)?Uue(s):vu(0);let l=(r.left+o.x)/a.x,u=(r.top+o.y)/a.y,d=r.width/a.x,f=r.height/a.y;if(s&&i){const h=Na(s),p=Sc(i)?Na(i):i;let m=h,g=xM(m);for(;g&&p!==m;){const y=fg(g),b=g.getBoundingClientRect(),S=vc(g),x=b.left+(g.clientLeft+parseFloat(S.paddingLeft))*y.x,v=b.top+(g.clientTop+parseFloat(S.paddingTop))*y.y;l*=y.x,u*=y.y,d*=y.x,f*=y.y,l+=x,u+=v,m=Na(g),g=xM(m)}}return Uk({width:d,height:f,x:l,y:u})}function G_(e,t){const n=Y_(e).scrollLeft;return t?t.left+n:sp(Wu(e)).left+n}function zue(e,t){const n=e.getBoundingClientRect(),i=n.left+t.scrollLeft-G_(e,n),r=n.top+t.scrollTop;return{x:i,y:r}}function Cst(e){let{elements:t,rect:n,offsetParent:i,strategy:r}=e;const s=r==="fixed",a=Wu(i),o=t?H_(t.floating):!1;if(i===a||o&&s)return n;let l={scrollLeft:0,scrollTop:0},u=vu(1);const d=vu(0),f=Lf(i);if((f||!s)&&((B0(i)!=="body"||q_(a))&&(l=Y_(i)),f)){const p=sp(i);u=fg(i),d.x=p.x+i.clientLeft,d.y=p.y+i.clientTop}const h=a&&!f&&!s?zue(a,l):vu(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-l.scrollLeft*u.x+d.x+h.x,y:n.y*u.y-l.scrollTop*u.y+d.y+h.y}}function Rst(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Ist(e){const t=Y_(e),n=e.ownerDocument.body,i=Su(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),r=Su(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let s=-t.scrollLeft+G_(e);const a=-t.scrollTop;return vc(n).direction==="rtl"&&(s+=Su(e.clientWidth,n.clientWidth)-i),{width:i,height:r,x:s,y:a}}const Pst=25;function jst(e,t,n){n===void 0&&(n="viewport");const i=n==="layoutViewport",r=Na(e),s=Wu(e),a=r.visualViewport;let o=s.clientWidth,l=s.clientHeight,u=0,d=0;if(a){const h=!D3()||t==="fixed";i?h||(u=-a.offsetLeft,d=-a.offsetTop):(o=a.width,l=a.height,h&&(u=a.offsetLeft,d=a.offsetTop))}if(G_(s)<=0){const h=s.ownerDocument,p=h.body,m=getComputedStyle(p),g=h.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,y=Math.abs(s.clientWidth-p.clientWidth-g),b=getComputedStyle(s).scrollbarGutter==="stable both-edges"?y/2:y;b<=Pst&&(o-=b)}return{width:o,height:l,x:u,y:d}}function Mst(e,t){const n=sp(e,!0,t==="fixed"),i=n.top+e.clientTop,r=n.left+e.clientLeft,s=fg(e),a=e.clientWidth*s.x,o=e.clientHeight*s.y,l=r*s.x,u=i*s.y;return{width:a,height:o,x:l,y:u}}function kX(e,t,n){let i;if(t==="viewport"||t==="layoutViewport")i=jst(e,n,t);else if(t==="document")i=Ist(Wu(e));else if(Sc(t))i=Mst(t,n);else{const r=Uue(e);i={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return Uk(i)}function Lst(e,t){const n=t.get(e);if(n)return n;let i=vx(e,[],!1).filter(o=>Sc(o)&&B0(o)!=="body"),r=null;const s=vc(e).position==="fixed";let a=s?rp(e):e;for(;Sc(a)&&!Sx(a);){const o=vc(a),l=L3(a),u=r?r.position:s?"fixed":"";!l&&(u==="fixed"||u==="absolute"&&o.position==="static")?i=i.filter(f=>f!==a):r=o,a=rp(a)}return t.set(e,i),i}function Dst(e){let{element:t,boundary:n,rootBoundary:i,strategy:r}=e;const a=[...n==="clippingAncestors"?H_(t)?[]:Lst(t,this._c):[].concat(n),i],o=kX(t,a[0],r);let l=o.top,u=o.right,d=o.bottom,f=o.left;for(let h=1;h{o(!1,1e-7)},1e3)}k=!1}try{i=new IntersectionObserver(_,{...w,root:s.ownerDocument})}catch{i=new IntersectionObserver(_,w)}i.observe(e)}const l=Na(e),u=()=>o(n);return l.addEventListener("resize",u),o(!0),()=>{l.removeEventListener("resize",u),a()}}function Vst(e,t,n,i){i===void 0&&(i={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:l=!1}=i,u=$3(e),d=r||s?[...u?vx(u):[],...t?vx(t):[]]:[];d.forEach(b=>{r&&b.addEventListener("scroll",n),s&&b.addEventListener("resize",n)});const f=u&&o?Fst(u,n,s):null;let h=-1,p=null;a&&(p=new ResizeObserver(b=>{let[S]=b;S&&S.target===u&&p&&t&&(p.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var x;(x=p)==null||x.observe(t)})),n()}),u&&!l&&p.observe(u),t&&p.observe(t));let m,g=l?sp(e):null;l&&y();function y(){const b=sp(e);g&&!Vue(g,b)&&n(),g=b,m=requestAnimationFrame(y)}return n(),()=>{var b;d.forEach(S=>{r&&S.removeEventListener("scroll",n),s&&S.removeEventListener("resize",n)}),f==null||f(),(b=p)==null||b.disconnect(),p=null,l&&cancelAnimationFrame(m)}}const Xst=xst,qst=Sst,Hst=Ost,Yst=wst,Gst=bst,_X=gst,Wst=vst,Zst=(e,t,n)=>{const i=new Map,r=n??{},s={...zst,...r.platform,_c:i};return mst(e,t,{...r,platform:s})};var Kst=typeof document<"u",Jst=function(){},Lw=Kst?O.useLayoutEffect:Jst;function zk(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,i,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(i=n;i--!==0;)if(!zk(e[i],t[i]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(i=n;i--!==0;)if(!{}.hasOwnProperty.call(t,r[i]))return!1;for(i=n;i--!==0;){const s=r[i];if(!(s==="_owner"&&e.$$typeof)&&!zk(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function Xue(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function AX(e,t){const n=Xue(e);return Math.round(t*n)/n}function iR(e){const t=O.useRef(e);return Lw(()=>{t.current=e}),t}function eat(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:i=[],platform:r,elements:{reference:s,floating:a}={},transform:o=!0,whileElementsMounted:l,open:u}=e,[d,f]=O.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[h,p]=O.useState(i);zk(h,i)||p(i);const[m,g]=O.useState(null),[y,b]=O.useState(null),S=O.useCallback(B=>{B!==w.current&&(w.current=B,g(B))},[]),x=O.useCallback(B=>{B!==k.current&&(k.current=B,b(B))},[]),v=s||m,E=a||y,w=O.useRef(null),k=O.useRef(null),_=O.useRef(d),C=l!=null,A=iR(l),R=iR(r),j=iR(u),Q=O.useCallback(()=>{if(!w.current||!k.current)return;const B={placement:t,strategy:n,middleware:h};R.current&&(B.platform=R.current),Zst(w.current,k.current,B).then($=>{const I={...$,isPositioned:j.current!==!1};L.current&&!zk(_.current,I)&&(_.current=I,ar.flushSync(()=>{f(I)}))})},[h,t,n,R,j]);Lw(()=>{u===!1&&_.current.isPositioned&&(_.current.isPositioned=!1,f(B=>({...B,isPositioned:!1})))},[u]);const L=O.useRef(!1);Lw(()=>(L.current=!0,()=>{L.current=!1}),[]),Lw(()=>{if(v&&(w.current=v),E&&(k.current=E),v&&E){if(A.current)return A.current(v,E,Q);Q()}},[v,E,Q,A,C]);const D=O.useMemo(()=>({reference:w,floating:k,setReference:S,setFloating:x}),[S,x]),N=O.useMemo(()=>({reference:v,floating:E}),[v,E]),M=O.useMemo(()=>{const B={position:n,left:0,top:0};if(!N.floating)return B;const $=AX(N.floating,d.x),I=AX(N.floating,d.y);return o?{...B,transform:"translate("+$+"px, "+I+"px)",...Xue(N.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:$,top:I}},[n,o,N.floating,d.x,d.y]);return O.useMemo(()=>({...d,update:Q,refs:D,elements:N,floatingStyles:M}),[d,Q,D,N,M])}const tat=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:i,padding:r}=typeof e=="function"?e(n):e;return i&&t(i)?i.current!=null?_X({element:i.current,padding:r}).fn(n):{}:i?_X({element:i,padding:r}).fn(n):{}}}},nat=(e,t)=>{const n=Xst(e);return{name:n.name,fn:n.fn,options:[e,t]}},iat=(e,t)=>{const n=qst(e);return{name:n.name,fn:n.fn,options:[e,t]}},rat=(e,t)=>({fn:Wst(e).fn,options:[e,t]}),sat=(e,t)=>{const n=Hst(e);return{name:n.name,fn:n.fn,options:[e,t]}},aat=(e,t)=>{const n=Yst(e);return{name:n.name,fn:n.fn,options:[e,t]}},oat=(e,t)=>{const n=Gst(e);return{name:n.name,fn:n.fn,options:[e,t]}},lat=(e,t)=>{const n=tat(e);return{name:n.name,fn:n.fn,options:[e,t]}};var cat=Object.defineProperty,nf=(e,t)=>cat(e,"name",{value:t,configurable:!0}),que="Popper",[Hue,Yue]=Rc(que),[uat,Gue]=Hue(que),dat=nf(e=>{const{__scopePopper:t,children:n}=e,[i,r]=O.useState(null),[s,a]=O.useState(void 0);return c.jsx(uat,{scope:t,anchor:i,onAnchorChange:r,placementState:s,setPlacementState:a,children:n})},"Popper"),fat="PopperAnchor",hat=O.forwardRef(nf(function(t,n){const{__scopePopper:i,virtualRef:r,...s}=t,a=Gue(fat,i),o=O.useRef(null),l=a.onAnchorChange,u=O.useCallback(g=>{o.current=g,g&&l(g)},[l]),d=$r(n,u),f=O.useRef(null);O.useEffect(()=>{if(!r)return;const g=f.current;f.current=r.current,g!==f.current&&l(f.current)});const h=a.placementState&&W_(a.placementState),p=h==null?void 0:h[0],m=h==null?void 0:h[1];return r?null:c.jsx(ps.div,{"data-radix-popper-side":p,"data-radix-popper-align":m,...s,ref:d})},"PopperAnchor")),Wue="PopperContent",[pat,Yht]=Hue(Wue),mat=O.forwardRef(nf(function(t,n){var ie,le,ge,Ee,Ce,_e,he;const{__scopePopper:i,side:r="bottom",sideOffset:s=0,align:a="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:u=!0,collisionBoundary:d=[],collisionPadding:f=0,sticky:h="partial",hideWhenDetached:p=!1,updatePositionStrategy:m="optimized",onPlaced:g,...y}=t,b=Gue(Wue,i),[S,x]=O.useState(null),v=$r(n,x),[E,w]=O.useState(null),k=V_(E),_=(k==null?void 0:k.width)??0,C=(k==null?void 0:k.height)??0,A=r+(a!=="center"?"-"+a:""),R=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},j=Array.isArray(d)?d:[d],Q=j.length>0,L={padding:R,boundary:j.filter(Zue),altBoundary:Q},{refs:D,floatingStyles:N,placement:M,isPositioned:B,middlewareData:$}=eat({strategy:"fixed",placement:A,whileElementsMounted:nf((...te)=>Vst(...te,{animationFrame:m==="always"}),"whileElementsMounted"),elements:{reference:b.anchor},middleware:[nat({mainAxis:s+C,alignmentAxis:o}),u&&iat({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?rat():void 0,...L}),u&&sat({...L}),aat({...L,apply:nf(({elements:te,rects:Te,availableWidth:me,availableHeight:Be})=>{const{width:je,height:Ue}=Te.reference,st=te.floating.style;st.setProperty("--radix-popper-available-width",`${me}px`),st.setProperty("--radix-popper-available-height",`${Be}px`),st.setProperty("--radix-popper-anchor-width",`${je}px`),st.setProperty("--radix-popper-anchor-height",`${Ue}px`)},"apply")}),E&&lat({element:E,padding:l}),gat({arrowWidth:_,arrowHeight:C}),p&&oat({strategy:"referenceHidden",...L,boundary:Q?L.boundary:void 0})]}),I=b.setPlacementState;Sl(()=>(I(M),()=>{I(void 0)}),[M,I]);const[G,X]=W_(M),U=wf(g);Sl(()=>{B&&(U==null||U())},[B,U]);const Y=(ie=$.arrow)==null?void 0:ie.x,ae=(le=$.arrow)==null?void 0:le.y,fe=((ge=$.arrow)==null?void 0:ge.centerOffset)!==0,[ke,K]=O.useState();return Sl(()=>{S&&K(window.getComputedStyle(S).zIndex)},[S]),c.jsx("div",{ref:D.setFloating,"data-radix-popper-content-wrapper":"",style:{...N,transform:B?N.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ke,"--radix-popper-transform-origin":[(Ee=$.transformOrigin)==null?void 0:Ee.x,(Ce=$.transformOrigin)==null?void 0:Ce.y].join(" "),...((_e=$.hide)==null?void 0:_e.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:c.jsx(pat,{scope:i,placedSide:G,placedAlign:X,onArrowChange:w,arrowX:Y,arrowY:ae,shouldHideArrow:fe,children:c.jsx(ps.div,{"data-side":G,"data-align":X,...y,ref:v,style:{...y.style,animation:B?(he=y.style)==null?void 0:he.animation:"none"}})})})},"PopperContent"));function Zue(e){return e!==null}nf(Zue,"isNotNull");var gat=nf(e=>({name:"transformOrigin",options:e,fn(t){var y,b,S;const{placement:n,rects:i,middlewareData:r}=t,a=((y=r.arrow)==null?void 0:y.centerOffset)!==0,o=a?0:e.arrowWidth,l=a?0:e.arrowHeight,[u,d]=W_(n),f={start:"0%",center:"50%",end:"100%"}[d],h=(((b=r.arrow)==null?void 0:b.x)??0)+o/2,p=(((S=r.arrow)==null?void 0:S.y)??0)+l/2;let m="",g="";return u==="bottom"?(m=a?f:`${h}px`,g=`${-l}px`):u==="top"?(m=a?f:`${h}px`,g=`${i.floating.height+l}px`):u==="right"?(m=`${-l}px`,g=a?f:`${p}px`):u==="left"&&(m=`${i.floating.width+l}px`,g=a?f:`${p}px`),{data:{x:m,y:g}}}}),"transformOrigin");function W_(e){const[t,n="center"]=e.split("-");return[t,n]}nf(W_,"getSideAndAlignFromPlacement");var Oat=dat,bat=hat,yat=mat,xat=Object.defineProperty,Q3=(e,t)=>xat(e,"name",{value:t,configurable:!0}),rR=!1;function Kue(){const[e,t]=O.useState(rR);return O.useEffect(()=>{rR||(rR=!0,t(!0))},[]),e}Q3(Kue,"useIsHydrated");var Jue=r0[" useSyncExternalStore ".trim().toString()];function ede(){return()=>{}}Q3(ede,"subscribe");function tde(){return Jue(ede,()=>!0,()=>!1)}Q3(tde,"useIsHydratedModern");var Sat=typeof Jue=="function"?tde:Kue,vat=Object.defineProperty,yp=(e,t)=>vat(e,"name",{value:t,configurable:!0}),sR="rovingFocusGroup.onEntryFocus",wat={bubbles:!1,cancelable:!0},Z_="RovingFocusGroup",[SM,nde,Eat]=eue(Z_),[kat,K_]=Rc(Z_,[Eat]),[Tat,_at]=kat(Z_),Aat=O.forwardRef(yp(function(t,n){return c.jsx(SM.Provider,{scope:t.__scopeRovingFocusGroup,children:c.jsx(SM.Slot,{scope:t.__scopeRovingFocusGroup,children:c.jsx(Nat,{...t,ref:n})})})},"RovingFocusGroup")),Nat=O.forwardRef(yp(function(t,n){const{__scopeRovingFocusGroup:i,orientation:r,loop:s=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:f=!1,...h}=t,p=O.useRef(null),m=$r(n,p),g=z_(a),[y,b]=Mf({prop:o,defaultProp:l??null,onChange:u,caller:Z_}),[S,x]=O.useState(!1),v=wf(d),E=nde(i),w=O.useRef(!1),[k,_]=O.useState(0);return O.useEffect(()=>{const C=p.current;if(C)return C.addEventListener(sR,v),()=>C.removeEventListener(sR,v)},[v]),c.jsx(Tat,{scope:i,orientation:r,dir:g,loop:s,currentTabStopId:y,onItemFocus:O.useCallback(C=>b(C),[b]),onItemShiftTab:O.useCallback(()=>x(!0),[]),onFocusableItemAdd:O.useCallback(()=>_(C=>C+1),[]),onFocusableItemRemove:O.useCallback(()=>_(C=>C-1),[]),children:c.jsx(ps.div,{tabIndex:S||k===0?-1:0,"data-orientation":r,...h,ref:m,style:{outline:"none",...t.style},onMouseDown:hr(t.onMouseDown,()=>{w.current=!0}),onFocus:hr(t.onFocus,C=>{const A=!w.current;if(C.target===C.currentTarget&&A&&!S){const R=new CustomEvent(sR,wat);if(C.currentTarget.dispatchEvent(R),!R.defaultPrevented){const j=E().filter(M=>M.focusable),Q=j.find(M=>M.active),L=j.find(M=>M.id===y),N=[Q,L,...j].filter(Boolean).map(M=>M.ref.current);B3(N,f)}}w.current=!1}),onBlur:hr(t.onBlur,()=>x(!1))})})},"RovingFocusGroupImpl")),Cat="RovingFocusGroupItem",Rat=O.forwardRef(yp(function(t,n){const{__scopeRovingFocusGroup:i,focusable:r=!0,active:s=!1,tabStopId:a,children:o,...l}=t,u=k3(),d=a||u,f=_at(Cat,i),h=f.currentTabStopId===d,p=nde(i),{onFocusableItemAdd:m,onFocusableItemRemove:g,currentTabStopId:y}=f,b=Sat();return Sl(()=>{if(!(!b||!r))return m(),()=>g()},[b,r,m,g]),O.useEffect(()=>{if(!(b||!r))return m(),()=>g()},[b,r,m,g]),c.jsx(SM.ItemSlot,{scope:i,id:d,focusable:r,active:s,children:c.jsx(ps.span,{tabIndex:h?0:-1,"data-orientation":f.orientation,...l,ref:n,onMouseDown:hr(t.onMouseDown,S=>{r?f.onItemFocus(d):S.preventDefault()}),onFocus:hr(t.onFocus,()=>f.onItemFocus(d)),onKeyDown:hr(t.onKeyDown,S=>{if(S.key==="Tab"&&S.shiftKey){f.onItemShiftTab();return}if(S.target!==S.currentTarget)return;const x=rde(S,f.orientation,f.dir);if(x!==void 0){if(S.metaKey||S.ctrlKey||S.altKey||S.shiftKey)return;S.preventDefault();let E=p().filter(w=>w.focusable).map(w=>w.ref.current);if(x==="last")E.reverse();else if(x==="prev"||x==="next"){x==="prev"&&E.reverse();const w=E.indexOf(S.currentTarget);E=f.loop?sde(E,w+1):E.slice(w+1)}setTimeout(()=>B3(E))}}),children:typeof o=="function"?o({isCurrentTabStop:h,hasTabStop:y!=null}):o})})},"RovingFocusGroupItem")),Iat={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function ide(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}yp(ide,"getDirectionAwareKey");function rde(e,t,n){const i=ide(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return Iat[i]}yp(rde,"getFocusIntent");function B3(e,t=!1){const n=document.activeElement;for(const i of e)if(i===n||(i.focus({preventScroll:t}),document.activeElement!==n))return}yp(B3,"focusFirst");function sde(e,t){return e.map((n,i)=>e[(t+i)%e.length])}yp(sde,"wrapArray");var ade=Aat,ode=Rat,Pat=Object.defineProperty,Df=(e,t)=>Pat(e,"name",{value:t,configurable:!0}),U3="Popover",[lde,Ght]=Rc(U3,[Yue]),z3=Yue(),[jat,U0]=lde(U3),Mat=Df(e=>{const{__scopePopover:t,children:n,open:i,defaultOpen:r,onOpenChange:s,modal:a=!1}=e,o=z3(t),l=O.useRef(null),[u,d]=O.useState(!1),[f,h]=Mf({prop:i,defaultProp:r??!1,onChange:s,caller:U3});return c.jsx(Oat,{...o,children:c.jsx(jat,{scope:t,contentId:k3(),triggerRef:l,open:f,onOpenChange:h,onOpenToggle:O.useCallback(()=>h(p=>!p),[h]),hasCustomAnchor:u,onCustomAnchorAdd:O.useCallback(()=>d(!0),[]),onCustomAnchorRemove:O.useCallback(()=>d(!1),[]),modal:a,children:n})})},"Popover"),Lat="PopoverTrigger",Dat=O.forwardRef(Df(function(t,n){const{__scopePopover:i,...r}=t,s=U0(Lat,i),a=z3(i),o=$r(n,s.triggerRef),l=c.jsx(ps.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":F3(s.open),...r,ref:o,onClick:hr(t.onClick,s.onOpenToggle)});return s.hasCustomAnchor?l:c.jsx(bat,{asChild:!0,...a,children:l})},"PopoverTrigger")),cde="PopoverPortal",[$at,Qat]=lde(cde,{forceMount:void 0}),Bat=Df(e=>{const{__scopePopover:t,forceMount:n,children:i,container:r}=e,s=U0(cde,t);return c.jsx($at,{scope:t,forceMount:n,children:c.jsx(U_,{present:n||s.open,children:c.jsx(irt,{asChild:!0,container:r,children:i})})})},"PopoverPortal"),wx="PopoverContent",Uat=O.forwardRef(Df(function(t,n){const i=Qat(wx,t.__scopePopover),{forceMount:r=i.forceMount,...s}=t,a=U0(wx,t.__scopePopover);return c.jsx(U_,{present:r||a.open,children:a.modal?c.jsx(Fat,{...s,ref:n}):c.jsx(Vat,{...s,ref:n})})},"PopoverContent")),zat=ip("PopoverContent.RemoveScroll"),Fat=O.forwardRef(Df(function(t,n){const i=U0(wx,t.__scopePopover),r=O.useRef(null),s=$r(n,r),a=O.useRef(!1);return O.useEffect(()=>{const o=r.current;if(o)return Xrt(o)},[]),c.jsx(Rue,{as:zat,allowPinchZoom:!0,children:c.jsx(ude,{...t,ref:s,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:hr(t.onCloseAutoFocus,o=>{var l;o.preventDefault(),a.current||(l=i.triggerRef.current)==null||l.focus()}),onPointerDownOutside:hr(t.onPointerDownOutside,o=>{const l=o.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0,d=l.button===2||u;a.current=d},{checkForDefaultPrevented:!1}),onFocusOutside:hr(t.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1})})})},"PopoverContentModal")),Vat=O.forwardRef(Df(function(t,n){const i=U0(wx,t.__scopePopover),r=O.useRef(!1),s=O.useRef(!1);return c.jsx(ude,{...t,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var o,l;(o=t.onCloseAutoFocus)==null||o.call(t,a),a.defaultPrevented||(r.current||(l=i.triggerRef.current)==null||l.focus(),a.preventDefault()),r.current=!1,s.current=!1},onInteractOutside:a=>{var u,d;(u=t.onInteractOutside)==null||u.call(t,a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const o=a.target;((d=i.triggerRef.current)==null?void 0:d.contains(o))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&s.current&&a.preventDefault()}})},"PopoverContentNonModal")),ude=O.forwardRef(Df(function(t,n){const{__scopePopover:i,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,...h}=t,p=U0(wx,i),m=z3(i);return N3(),c.jsx(ert,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:a,children:c.jsx(Wit,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:f,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onDismiss:()=>p.onOpenChange(!1),deferPointerDownOutside:!0,children:c.jsx(yat,{"data-state":F3(p.open),role:"dialog",id:p.contentId,...m,...h,ref:n,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})},"PopoverContentImpl"));function F3(e){return e?"open":"closed"}Df(F3,"getState");var Xat=Mat,qat=Dat,Hat=Bat,Yat=Uat,Gat=Object.defineProperty,Qs=(e,t)=>Gat(e,"name",{value:t,configurable:!0}),dde="Radio",[Wat,fde]=Rc(dde),[Zat,J_]=Wat(dde);function hde(e){const{__scopeRadio:t,checked:n=!1,children:i,disabled:r,form:s,name:a,onCheck:o,required:l,value:u="on",internal_do_not_use_render:d}=e,[f,h]=O.useState(null),[p,m]=O.useState(null),g=O.useRef(!1),[y,b]=O.useReducer(v=>v+1,0),S=f?!!s||!!f.closest("form"):!0,x={checked:n,disabled:r,required:l,name:a,form:s,value:u,control:f,setControl:h,hasConsumerStoppedPropagationRef:g,userInteractionCount:y,onUserInteraction:b,isFormControl:S,bubbleInput:p,setBubbleInput:m,onCheck:Qs(()=>o==null?void 0:o(),"onCheck")};return c.jsx(Zat,{scope:t,...x,children:pde(d)?d(x):i})}Qs(hde,"RadioProvider");var Kat="RadioTrigger",Jat=O.forwardRef(Qs(function({__scopeRadio:t,onClick:n,...i},r){const{checked:s,disabled:a,value:o,setControl:l,onCheck:u,hasConsumerStoppedPropagationRef:d,onUserInteraction:f,isFormControl:h,bubbleInput:p}=J_(Kat,t),m=$r(r,l);return c.jsx(ps.button,{type:"button",role:"radio","aria-checked":s,"data-state":V3(s),"data-disabled":a?"":void 0,disabled:a,value:o,...i,ref:m,onClick:hr(n,g=>{s||(f(),u()),p&&h&&(d.current=g.isPropagationStopped(),d.current||g.stopPropagation())})})},"RadioTrigger")),eot="RadioIndicator",tot=O.forwardRef(Qs(function(t,n){const{__scopeRadio:i,forceMount:r,...s}=t,a=J_(eot,i);return c.jsx(U_,{present:r||a.checked,children:c.jsx(ps.span,{"data-state":V3(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:n})})},"RadioIndicator")),not="RadioBubbleInput",iot=O.forwardRef(Qs(function({__scopeRadio:t,onClick:n,...i},r){const{control:s,checked:a,required:o,disabled:l,name:u,value:d,form:f,bubbleInput:h,setBubbleInput:p,hasConsumerStoppedPropagationRef:m,userInteractionCount:g}=J_(not,t),y=$r(r,p),b=V_(s),S=O.useRef(!1),x=O.useRef(a),v=O.useRef(g);O.useEffect(()=>{const w=h;if(!w)return;const k=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(k,"checked").set,A=g!==v.current;v.current=g;const R=x.current!==a;x.current=a;const j=!(A&&m.current);if(R&&C){S.current=!A;const Q=new Event("click",{bubbles:j});C.call(w,a),w.dispatchEvent(Q),S.current=!1}},[h,a,m,g]);const E=O.useRef(a);return c.jsx(ps.input,{type:"radio","aria-hidden":!0,defaultChecked:E.current,required:o,disabled:l,name:u,value:d,form:f,...i,tabIndex:-1,ref:y,onClick:hr(n,w=>{S.current&&w.stopPropagation()}),style:{...i.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"RadioBubbleInput"));function pde(e){return typeof e=="function"}Qs(pde,"isFunction");function V3(e){return e?"checked":"unchecked"}Qs(V3,"getState");var rot=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],X3="RadioGroup",[sot,Wht]=Rc(X3,[K_,fde]),mde=K_(),eA=fde(),[aot,oot]=sot(X3),lot=O.forwardRef(Qs(function(t,n){const{__scopeRadioGroup:i,name:r,form:s,defaultValue:a,value:o,required:l=!1,disabled:u=!1,orientation:d,dir:f,loop:h=!0,onValueChange:p,...m}=t,g=mde(i),y=z_(f),[b,S]=Mf({prop:o,defaultProp:a??null,onChange:p,caller:X3}),[x,v]=O.useState(null),E=$r(n,v),w=O.useRef(b);return O.useEffect(()=>{const k=s?x==null?void 0:x.ownerDocument.getElementById(s):x==null?void 0:x.closest("form");if(k instanceof HTMLFormElement){const _=Qs(()=>S(w.current),"reset");return k.addEventListener("reset",_),()=>k.removeEventListener("reset",_)}},[x,s,S]),c.jsx(aot,{scope:i,name:r,form:s,required:l,disabled:u,value:b,onValueChange:S,children:c.jsx(ade,{asChild:!0,...g,orientation:d,dir:y,loop:h,children:c.jsx(ps.div,{role:"radiogroup","aria-required":l,"aria-orientation":d,"data-disabled":u?"":void 0,dir:y,...m,ref:E})})})},"RadioGroup")),cot="RadioGroupItemProvider",uot="RadioGroupItemTrigger";function gde(e){const{__scopeRadioGroup:t,value:n,disabled:i,children:r,internal_do_not_use_render:s}=e,a=oot(cot,t),o=eA(t),l=a.disabled||i;return c.jsx(hde,{...o,checked:a.value===n,disabled:l,required:a.required,name:a.name,form:a.form,value:n,onCheck:()=>a.onValueChange(n),internal_do_not_use_render:s,children:r})}Qs(gde,"RadioGroupItemProvider");var dot=O.forwardRef(Qs(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=mde(i),a=eA(i),{checked:o,disabled:l}=J_(uot,a.__scopeRadio),u=O.useRef(null),d=$r(n,u),f=O.useRef(!1);return O.useEffect(()=>{const h=Qs(m=>{rot.includes(m.key)&&(f.current=!0)},"handleKeyDown"),p=Qs(()=>f.current=!1,"handleKeyUp");return document.addEventListener("keydown",h),document.addEventListener("keyup",p),()=>{document.removeEventListener("keydown",h),document.removeEventListener("keyup",p)}},[]),c.jsx(ode,{asChild:!0,...s,focusable:!l,active:o,children:c.jsx(Jat,{...a,...r,ref:d,onKeyDown:hr(r.onKeyDown,h=>{h.key==="Enter"&&h.preventDefault()}),onFocus:hr(r.onFocus,()=>{var h;f.current&&((h=u.current)==null||h.click())})})})},"RadioGroupItemTrigger")),fot=O.forwardRef(Qs(function(t,n){const{__scopeRadioGroup:i,value:r,disabled:s,...a}=t;return c.jsx(gde,{__scopeRadioGroup:i,value:r,disabled:s,internal_do_not_use_render:({isFormControl:o})=>c.jsxs(c.Fragment,{children:[c.jsx(dot,{...a,ref:n,__scopeRadioGroup:i}),o&&c.jsx(hot,{__scopeRadioGroup:i})]})})},"RadioGroupItem")),hot=O.forwardRef(Qs(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=eA(i);return c.jsx(iot,{...s,...r,ref:n})},"RadioGroupItemBubbleInput")),pot=O.forwardRef(Qs(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=eA(i);return c.jsx(tot,{...s,...r,ref:n})},"RadioGroupIndicator")),mot=Object.defineProperty,got=(e,t)=>mot(e,"name",{value:t,configurable:!0}),Oot="Toggle",bot=O.forwardRef(got(function(t,n){const{pressed:i,defaultPressed:r,onPressedChange:s,...a}=t,[o,l]=Mf({prop:i,onChange:s,defaultProp:r??!1,caller:Oot});return c.jsx(ps.button,{type:"button","aria-pressed":o,"data-state":o?"on":"off","data-disabled":t.disabled?"":void 0,...a,ref:n,onClick:hr(t.onClick,()=>{t.disabled||l(!o)})})},"Toggle")),yot=Object.defineProperty,Tf=(e,t)=>yot(e,"name",{value:t,configurable:!0}),z0="ToggleGroup",[Ode,Zht]=Rc(z0,[K_]),bde=K_(),xot=O.forwardRef(Tf(function(t,n){const{type:i,...r}=t;if(i==="single"){const s=r;return c.jsx(Sot,{role:"radiogroup",...s,ref:n})}if(i==="multiple"){const s=r;return c.jsx(vot,{role:"toolbar",...s,ref:n})}throw new Error(`Missing prop \`type\` expected on \`${z0}\``)},"ToggleGroup")),[yde,xde]=Ode(z0),Sot=O.forwardRef(Tf(function(t,n){const{value:i,defaultValue:r,onValueChange:s=Tf(()=>{},"onValueChange"),...a}=t,[o,l]=Mf({prop:i,defaultProp:r??"",onChange:s,caller:z0});return c.jsx(yde,{scope:t.__scopeToggleGroup,type:"single",value:O.useMemo(()=>o?[o]:[],[o]),onItemActivate:l,onItemDeactivate:O.useCallback(()=>l(""),[l]),children:c.jsx(Sde,{...a,ref:n})})},"ToggleGroupImplSingle")),vot=O.forwardRef(Tf(function(t,n){const{value:i,defaultValue:r,onValueChange:s=Tf(()=>{},"onValueChange"),...a}=t,[o,l]=Mf({prop:i,defaultProp:r??[],onChange:s,caller:z0}),u=O.useCallback(f=>l((h=[])=>[...h,f]),[l]),d=O.useCallback(f=>l((h=[])=>h.filter(p=>p!==f)),[l]);return c.jsx(yde,{scope:t.__scopeToggleGroup,type:"multiple",value:o,onItemActivate:u,onItemDeactivate:d,children:c.jsx(Sde,{...a,ref:n})})},"ToggleGroupImplMultiple")),[wot,Eot]=Ode(z0),Sde=O.forwardRef(Tf(function(t,n){const{__scopeToggleGroup:i,disabled:r=!1,rovingFocus:s=!0,orientation:a,dir:o,loop:l=!0,...u}=t,d=bde(i),f=z_(o),h={dir:f,...u};return c.jsx(wot,{scope:i,rovingFocus:s,disabled:r,children:s?c.jsx(ade,{asChild:!0,...d,orientation:a,dir:f,loop:l,children:c.jsx(ps.div,{...h,ref:n})}):c.jsx(ps.div,{...h,ref:n})})},"ToggleGroupImpl")),vM="ToggleGroupItem",kot=O.forwardRef(Tf(function(t,n){const i=xde(vM,t.__scopeToggleGroup),r=Eot(vM,t.__scopeToggleGroup),s=bde(t.__scopeToggleGroup),a=i.value.includes(t.value),o=r.disabled||t.disabled,l={...t,pressed:a,disabled:o},u=O.useRef(null);return r.rovingFocus?c.jsx(ode,{asChild:!0,...s,focusable:!o,active:a,ref:u,children:c.jsx(NX,{...l,ref:n})}):c.jsx(NX,{...l,ref:n})},"ToggleGroupItem")),NX=O.forwardRef(Tf(function(t,n){const{__scopeToggleGroup:i,value:r,...s}=t,a=xde(vM,i),o={role:"radio","aria-checked":t.pressed,"aria-pressed":void 0},l=a.type==="single"?o:void 0;return c.jsx(bot,{...l,...s,ref:n,onPressedChange:u=>{u?a.onItemActivate(r):a.onItemDeactivate(r)}})},"ToggleGroupItemImpl"));const Tot="_Container_1tuad_1",_ot="_Checkbox_1tuad_22",Aot="_CheckMark_1tuad_92",Not="_Label_1tuad_162",_v={Container:Tot,Checkbox:_ot,CheckMark:Aot,Label:Not},q3=({className:e,label:t,id:n,disabled:i,orientation:r="left",...s})=>{const a=O.useId(),o=n??a;return c.jsxs("div",{"data-disabled":i?"":void 0,"data-has-label":t?"":void 0,"data-orientation":r,className:Pa(e,_v.Container),children:[c.jsx(Jrt,{className:_v.Checkbox,id:o,disabled:i,...s,children:c.jsx(tst,{className:_v.CheckMark})}),t&&c.jsx("label",{htmlFor:o,className:_v.Label,onMouseDown:l=>{!l.defaultPrevented&&l.detail>1&&l.preventDefault()},children:t})]})},Cot="_RadioGroup_onrfm_1",Rot="_RadioLabel_onrfm_9",Iot="_RadioIndicatorWrapper_onrfm_26",Pot="_RadioItem_onrfm_43",jot="_RadioIndicator_onrfm_26",ob={RadioGroup:Cot,RadioLabel:Rot,RadioIndicatorWrapper:Iot,RadioItem:Pot,RadioIndicator:jot},vde=O.createContext(null),Mot=()=>{const e=O.use(vde);if(!e)throw new Error("RadioGroup components must be wrapped in ");return e},lb=({onChange:e,children:t,className:n,direction:i="row",disabled:r=!1,...s})=>{const a=O.useMemo(()=>({disabled:r,direction:i}),[r,i]);return c.jsx(vde,{value:a,children:c.jsx(lot,{className:Pa(ob.RadioGroup,n),"data-direction":i,onValueChange:e,disabled:r,...s,children:t})})},Lot=({value:e,disabled:t=!1,required:n,children:i,className:r,block:s=!1,...a})=>{const{disabled:o}=Mot(),l=o||t,u=O.useId(),d=`${e}-${u}`;return c.jsx("div",{className:"flex",...a,children:c.jsxs("label",{htmlFor:d,className:Pa(ob.RadioLabel,r),"data-disabled":l?"":void 0,"data-block":s?"":void 0,onMouseDown:f=>{!f.defaultPrevented&&f.detail>1&&f.preventDefault()},children:[c.jsx("div",{className:ob.RadioIndicatorWrapper,children:c.jsx(fot,{id:d,value:e,disabled:l,required:n,className:ob.RadioItem,children:c.jsx(pot,{className:ob.RadioIndicator})})}),i]})})};lb.Item=Lot;function tA(e,t){return t[e.key]??e.defaultValue??""}function wde(e){const t=new Map,n={};for(const i of e){for(const r of i.env){const s=t.get(r.key);(!s||r.required&&!s.required)&&t.set(r.key,r)}i.enableFlag&&(t.set(i.enableFlag,{key:i.enableFlag,required:!0}),n[i.enableFlag]="true")}return{specs:[...t.values()],fixedValues:n}}function Dot(e,t){return wde([{env:e}]).specs.map(i=>({...i,value:i.serverManaged?i.placeholder||"由服务端注入":tA(i,t)}))}function Ede(e,t){const n=new Map;for(const i of e){if(i.serverManaged)continue;const r=tA(i,t);r.trim()&&n.set(i.key,r)}return[...n].map(([i,r])=>({key:i,value:r}))}function CX(e,t){return e.find(n=>n.required&&!n.serverManaged&&!tA(n,t).trim())}function H3(e,t){if(e.format!=="json")return;const n=tA(e,t).trim();if(n)try{JSON.parse(n);return}catch{return"JSON 格式不正确"}}function kde(e,t){for(const n of e){const i=H3(n,t);if(i)return{spec:n,error:i}}}function $ot({className:e,...t}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[c.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"}),c.jsx("path",{d:"M12 6.5c.4 2.4 1 3 3.4 3.4-2.4.4-3 1-3.4 3.4-.4-2.4-1-3-3.4-3.4 2.4-.4 3-1 3.4-3.4Z"})]})}const lm={llm:{id:"llm",label:"LLM 智能体",desc:"大模型驱动,自主完成任务",icon:$ot},sequential:{id:"sequential",label:"顺序型智能体",desc:"子 Agent 按顺序依次执行",icon:e1e},parallel:{id:"parallel",label:"并行型智能体",desc:"子 Agent 并行执行后汇总",icon:g1e},loop:{id:"loop",label:"循环型智能体",desc:"子 Agent 循环执行到满足条件",icon:mZ},a2a:{id:"a2a",label:"远程智能体",desc:"通过 A2A 协议调用远程 Agent",icon:kT}},Qot=[lm.llm,lm.sequential,lm.parallel,lm.loop,lm.a2a];function Tde(e){return lm[e??"llm"]}const _de=e=>e==="sequential"||e==="parallel"||e==="loop",nA=e=>e==="a2a";function Ex(e){return e.trimEnd().replace(/[。.]+$/,"")}function Qh(e,t){const n=e.trim().toLocaleLowerCase();return n?t.some(i=>i==null?void 0:i.toLocaleLowerCase().includes(n)):!0}const Ade=new Set(["local","sqlite","mysql","postgresql"]),Nde=new Set(["local","opensearch","redis","viking","openviking","mem0"]),Cde=new Set(["opensearch","viking","context_search","openviking"]),Rde=new Set(["apmplus","cozeloop","tls"]),Ide=new Set(["web_search","parallel_web_search","link_reader","web_scraper","image_generate","image_edit","video_generate","text_to_speech","run_code","vesearch"]),Bot=new Set(["llm","sequential","parallel","loop","a2a"]);function qt(e,t=""){return typeof e=="string"?e:t}function Wa(e){return e===!0}function Jb(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function Uot(e){return!e||typeof e!="object"||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(t=>typeof t[1]=="string"))}function Pde(e){return Array.isArray(e)?e.map(t=>t&&typeof t=="object"?{name:qt(t.name),description:qt(t.description)}:null).filter(t=>!!t&&!!t.name.trim()):[]}function hg(e,t,n){return typeof e=="string"&&t.has(e)?e:n}function jde(e){return typeof e=="string"&&Bot.has(e)?e:"llm"}function Mde(e){return e==="byteplus"?"byteplus":"volcengine"}function Lde(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):3}function Dde(e){const t=e&&typeof e=="object"?e:{};return{enabled:Wa(t.enabled),registrySpaceId:qt(t.registrySpaceId),registryTopK:qt(t.registryTopK),registryRegion:qt(t.registryRegion),registryEndpoint:qt(t.registryEndpoint)}}function $de(e,t="volcengine"){return Array.isArray(e)?e.map(n=>{const i=n&&typeof n=="object"?n:{},r=Mde(i.cloudProvider??t),s=i.memory&&typeof i.memory=="object"?i.memory:{},a=Dde(i.a2aRegistry),o=jde(i.agentType),l=a.enabled&&o==="llm"?"a2a":o;return{...Bo(r),cloudProvider:r,name:qt(i.name),description:qt(i.description),instruction:qt(i.instruction),agentType:l,maxIterations:Lde(i.maxIterations),a2aUrl:qt(i.a2aUrl),modelName:qt(i.modelName),modelSource:i.modelSource==="custom"||i.modelSource==="ark"?i.modelSource:void 0,modelProvider:qt(i.modelProvider),modelApiBase:qt(i.modelApiBase),builtinTools:Jb(i.builtinTools).filter(u=>Ide.has(u)),customTools:Pde(i.customTools),memory:{shortTerm:Wa(s.shortTerm),longTerm:Wa(s.longTerm)},shortTermBackend:hg(i.shortTermBackend,Ade,"local"),longTermBackend:hg(i.longTermBackend,Nde,"local"),autoSaveSession:Wa(i.autoSaveSession),knowledgebase:Wa(i.knowledgebase),knowledgebaseBackend:hg(i.knowledgebaseBackend,Cde,Jd),knowledgebaseIndex:qt(i.knowledgebaseIndex),tracing:Wa(i.tracing),tracingExporters:Jb(i.tracingExporters).filter(u=>Rde.has(u)),a2aRegistry:l==="a2a"?{...a,enabled:!0}:a,subAgents:$de(i.subAgents,r),selectedSkills:Qde(i)}}):[]}function Qde(e){if(!Array.isArray(e.selectedSkills))return[];const t=[];for(const n of e.selectedSkills){const i=n&&typeof n=="object"?n:{},r=qt(i.source),s=r==="local"||r==="skillspace"||r==="skillhub"?r:"skillhub",a=qt(i.name)||qt(i.slug)||qt(i.skillName)||qt(i.skillId)||"skill",o=qt(i.folder)||a,l=qt(i.description);if(s==="skillhub"){const f=qt(i.slug);if(!f)continue;t.push({source:s,folder:o,name:a,description:l,slug:f,namespace:qt(i.namespace)||"public"});continue}if(s==="local"){const h=(Array.isArray(i.localFiles)?i.localFiles:[]).map(p=>{const m=p&&typeof p=="object"?p:{},g=qt(m.path),y=qt(m.content);return g?{path:g,content:y}:null}).filter(p=>p!==null);if(h.length===0)continue;t.push({source:s,folder:o,name:a,description:l,localFiles:h});continue}const u=qt(i.skillSpaceId),d=qt(i.skillId);!u||!d||t.push({source:s,folder:o,name:a,description:l,skillSpaceId:u,skillSpaceName:qt(i.skillSpaceName),skillId:d,version:qt(i.version)})}return t}function zot(e){const t=e&&typeof e=="object"?e:{},n=t.memory&&typeof t.memory=="object"?t.memory:{},i=t.deployment&&typeof t.deployment=="object"?t.deployment:{},r=Uot(i.envValues),s=Dde(t.a2aRegistry),a=jde(t.agentType),o=s.enabled&&a==="llm"?"a2a":a,l=Mde(t.cloudProvider),u=Array.isArray(t.mcpTools)?t.mcpTools.map(d=>{const f=d&&typeof d=="object"?d:{},h=f.transport==="stdio"?"stdio":"http";return{name:qt(f.name),transport:h,url:qt(f.url),authToken:qt(f.authToken),authTokenEnv:qt(f.authTokenEnv),command:qt(f.command),args:Jb(f.args)}}).filter(d=>d.transport==="http"?!!d.url:!!d.command):[];return{...Bo(l),cloudProvider:l,name:qt(t.name)||"my_agent",description:qt(t.description),instruction:qt(t.instruction)||"You are a helpful assistant.",agentType:o,maxIterations:Lde(t.maxIterations),a2aUrl:qt(t.a2aUrl),modelName:qt(t.modelName),modelSource:t.modelSource==="custom"||t.modelSource==="ark"?t.modelSource:void 0,modelProvider:qt(t.modelProvider),modelApiBase:qt(t.modelApiBase),builtinTools:Jb(t.builtinTools).filter(d=>Ide.has(d)),customTools:Pde(t.customTools),mcpTools:u,a2aRegistry:o==="a2a"?{...s,enabled:!0}:s,memory:{shortTerm:Wa(n.shortTerm),longTerm:Wa(n.longTerm)},shortTermBackend:hg(t.shortTermBackend,Ade,"local"),longTermBackend:hg(t.longTermBackend,Nde,"local"),autoSaveSession:Wa(t.autoSaveSession),knowledgebase:Wa(t.knowledgebase),knowledgebaseBackend:hg(t.knowledgebaseBackend,Cde,Jd),knowledgebaseIndex:qt(t.knowledgebaseIndex),tracing:Wa(t.tracing),tracingExporters:Jb(t.tracingExporters).filter(d=>Rde.has(d)),deployment:{feishuEnabled:Wa(i.feishuEnabled),runtimeName:qt(i.runtimeName),runtimeNameCustomized:Wa(i.runtimeNameCustomized)||!!qt(i.runtimeName).trim(),modelApiKeyId:qt(i.modelApiKeyId),modelApiKeyName:qt(i.modelApiKeyName),...Object.keys(r).length>0?{envValues:r}:{}},subAgents:$de(t.subAgents,l),selectedSkills:Qde(t)}}function Bde(e,t=e.cloudProvider??"volcengine"){const n=e.cloudProvider??t,i=new Set(qee(n).map(r=>r.id));return{...e,builtinTools:(e.builtinTools??[]).filter(r=>i.has(r)),tracing:!1,tracingExporters:[],memory:{shortTerm:!1,longTerm:!1},shortTermBackend:"local",longTermBackend:"local",autoSaveSession:!1,knowledgebase:!1,knowledgebaseBackend:Jd,knowledgebaseIndex:"",subAgents:e.subAgents.map(r=>Bde(r,n))}}const Fot=/^[A-Za-z_][A-Za-z0-9_]*$/,Y3=/^\$\{([A-Za-z_][A-Za-z0-9_]*)\}$/;function RX(e,t){return e.trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")||t}function Vot(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function Ude(e){var n,i,r;const t=(n=e.authTokenEnv)==null?void 0:n.trim();return t&&Fot.test(t)?t:((r=(i=e.authToken)==null?void 0:i.trim().match(Y3))==null?void 0:r[1])??""}function Xot(e){if(e.authToken)return e.authToken;const t=Ude(e);return t?`\${${t}}`:""}function qot(e,t){if(!t){const i={...e};return delete i.authToken,delete i.authTokenEnv,i}const n=t.trim().match(Y3);if(n){const i={...e,authTokenEnv:n[1]};return delete i.authToken,i}return{...e,authToken:t}}function Hot(e){if(!e.trim())return!1;try{return!new URL(e).pathname.replace(/\/+$/,"").endsWith("/mcp")}catch{return!1}}function iA(e){const t=new Set,n={},i=r=>{var u;const s=RX(r.name,"AGENT"),a=(u=r.mcpTools)==null?void 0:u.map((d,f)=>{var b,S;const h=((b=d.authToken)==null?void 0:b.trim())??"",p=((S=h.match(Y3))==null?void 0:S[1])??"";let g=Ude(d);if(!g&&h){const x=RX(d.name,`TOOL_${f+1}`);g=Vot(`MCP_${s}_${x}_AUTH_TOKEN`,t)}g&&t.add(g),g&&h&&!p&&(n[g]=h);const y={...d};return delete y.authToken,g?y.authTokenEnv=g:delete y.authTokenEnv,y}),o=r.subAgents.map(i),l=r.workflow?{...r.workflow,nodes:r.workflow.nodes.map(d=>({...d,agent:i(d.agent)}))}:void 0;return{...r,subAgents:o,...a?{mcpTools:a}:{},...l?{workflow:l}:{}}};return{draft:i(e),envValues:n}}function zde(e){var n,i,r,s,a,o,l,u,d,f,h,p,m,g,y,b,S,x,v,E,w,k,_,C,A,R,j,Q,L,D,N,M,B,$,I,G;const t={agentType:e.agentType??"llm"};if(e.agentType==="a2a"){if((n=e.a2aRegistry)!=null&&n.enabled){const X={enabled:!0};(i=e.a2aRegistry.registrySpaceId)!=null&&i.trim()&&(X.registrySpaceId=e.a2aRegistry.registrySpaceId.trim()),X.registryTopK=((r=e.a2aRegistry.registryTopK)==null?void 0:r.trim())||bl.topK,X.registryRegion=((s=e.a2aRegistry.registryRegion)==null?void 0:s.trim())||bl.region,X.registryEndpoint=((a=e.a2aRegistry.registryEndpoint)==null?void 0:a.trim())||bl.endpoint,t.a2aRegistry=X}return t}if(t.name=e.name,t.description=e.description,t.instruction=e.instruction,e.agentType==="loop"&&(t.maxIterations=e.maxIterations??3),(o=e.modelName)!=null&&o.trim()&&(t.modelName=e.modelName.trim()),e.modelSource&&(t.modelSource=e.modelSource),e.modelSource!=="ark"&&((l=e.modelProvider)!=null&&l.trim()&&(t.modelProvider=e.modelProvider.trim()),(u=e.modelApiBase)!=null&&u.trim()&&(t.modelApiBase=e.modelApiBase.trim())),(d=e.builtinTools)!=null&&d.length&&(t.builtinTools=[...e.builtinTools]),(f=e.customTools)!=null&&f.length&&(t.customTools=e.customTools.map(X=>({name:X.name,description:X.description}))),(h=e.mcpTools)!=null&&h.length&&(t.mcpTools=e.mcpTools.map(X=>{var Y,ae,fe,ke;const U={name:X.name,transport:X.transport};return(Y=X.url)!=null&&Y.trim()&&(U.url=X.url.trim()),(ae=X.authTokenEnv)!=null&&ae.trim()&&(U.authTokenEnv=X.authTokenEnv.trim()),(fe=X.command)!=null&&fe.trim()&&(U.command=X.command.trim()),(ke=X.args)!=null&&ke.length&&(U.args=X.args),U})),((p=e.memory)!=null&&p.shortTerm||(m=e.memory)!=null&&m.longTerm)&&(t.memory={shortTerm:!!e.memory.shortTerm,longTerm:!!e.memory.longTerm},e.memory.shortTerm&&(t.shortTermBackend=e.shortTermBackend||"local"),e.memory.longTerm&&(t.longTermBackend=e.longTermBackend||"local",t.autoSaveSession=!!e.autoSaveSession)),e.knowledgebase&&(t.knowledgebase=!0,t.knowledgebaseBackend=e.knowledgebaseBackend||"viking",(g=e.knowledgebaseIndex)!=null&&g.trim()&&(t.knowledgebaseIndex=e.knowledgebaseIndex.trim())),e.tracing&&((y=e.tracingExporters)!=null&&y.length)&&(t.tracing=!0,t.tracingExporters=[...e.tracingExporters]),(b=e.deployment)!=null&&b.feishuEnabled||(x=(S=e.deployment)==null?void 0:S.runtimeName)!=null&&x.trim()||(v=e.deployment)!=null&&v.runtimeNameCustomized||(w=(E=e.deployment)==null?void 0:E.modelApiKeyId)!=null&&w.trim()||(_=(k=e.deployment)==null?void 0:k.modelApiKeyName)!=null&&_.trim()||Object.keys(((C=e.deployment)==null?void 0:C.envValues)??{}).length>0){const X={feishuEnabled:!!((A=e.deployment)!=null&&A.feishuEnabled)};(j=(R=e.deployment)==null?void 0:R.runtimeName)!=null&&j.trim()&&(X.runtimeName=e.deployment.runtimeName.trim()),(Q=e.deployment)!=null&&Q.runtimeNameCustomized&&(X.runtimeNameCustomized=!0),(D=(L=e.deployment)==null?void 0:L.modelApiKeyId)!=null&&D.trim()&&(X.modelApiKeyId=e.deployment.modelApiKeyId.trim()),(M=(N=e.deployment)==null?void 0:N.modelApiKeyName)!=null&&M.trim()&&(X.modelApiKeyName=e.deployment.modelApiKeyName.trim()),Object.keys(((B=e.deployment)==null?void 0:B.envValues)??{}).length>0&&(X.envValues={...($=e.deployment)==null?void 0:$.envValues}),t.deployment=X}return(I=e.selectedSkills)!=null&&I.length&&(t.selectedSkills=e.selectedSkills.map(X=>{const U={source:X.source,name:X.name,folder:X.folder};return X.description&&(U.description=X.description),X.source==="skillhub"?(U.slug=X.slug,U.namespace=X.namespace??"public"):X.source==="local"?U.localFiles=X.localFiles??[]:(U.skillSpaceId=X.skillSpaceId,U.skillSpaceName=X.skillSpaceName,U.skillId=X.skillId,X.version&&(U.version=X.version)),U})),(G=e.subAgents)!=null&&G.length&&(t.subAgents=e.subAgents.map(zde)),t}function Yot(e){var r;const t=iA(e),n={...((r=t.draft.deployment)==null?void 0:r.envValues)??{},...t.envValues},i={...t.draft,deployment:{...t.draft.deployment??{feishuEnabled:!1},envValues:n}};return`# VeADK Agent 结构配置 +`)},Qrt=0,zp=[];function Brt(e){var t=O.useRef([]),n=O.useRef([0,0]),i=O.useRef(),r=O.useState(Qrt++)[0],s=O.useState(Nue)[0],a=O.useRef(e);O.useEffect(function(){a.current=e},[e]),O.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var g=ort([e.lockRef.current],(e.shards||[]).map(xX),!0).filter(Boolean);return g.forEach(function(y){return y.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),g.forEach(function(y){return y.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var o=O.useCallback(function(g,y){if("touches"in g&&g.touches.length===2||g.type==="wheel"&&g.ctrlKey)return!a.current.allowPinchZoom;var b=wv(g),S=n.current,x="deltaX"in g?g.deltaX:S[0]-b[0],v="deltaY"in g?g.deltaY:S[1]-b[1],E,w=g.target,k=Math.abs(x)>Math.abs(v)?"h":"v";if("touches"in g&&k==="h"&&w.type==="range")return!1;var _=window.getSelection(),C=_&&_.anchorNode,A=C?C===w||C.contains(w):!1;if(A)return!1;var R=bX(k,w);if(!R)return!0;if(R?E=k:(E=k==="v"?"h":"v",R=bX(k,w)),!R)return!1;if(!i.current&&"changedTouches"in g&&(x||v)&&(i.current=E),!E)return!0;var j=i.current||E;return Lrt(j,y,g,j==="h"?x:v)},[]),l=O.useCallback(function(g){var y=g;if(!(!zp.length||zp[zp.length-1]!==s)){var b="deltaY"in y?yX(y):wv(y),S=t.current.filter(function(E){return E.name===y.type&&(E.target===y.target||y.target===E.shadowParent)&&Drt(E.delta,b)})[0];if(S&&S.should){y.cancelable&&y.preventDefault();return}if(!S){var x=(a.current.shards||[]).map(xX).filter(Boolean).filter(function(E){return E.contains(y.target)}),v=x.length>0?o(y,x[0]):!a.current.noIsolation;v&&y.cancelable&&y.preventDefault()}}},[]),u=O.useCallback(function(g,y,b,S){var x={name:g,delta:y,target:b,should:S,shadowParent:Urt(b)};t.current.push(x),setTimeout(function(){t.current=t.current.filter(function(v){return v!==x})},1)},[]),d=O.useCallback(function(g){n.current=wv(g),i.current=void 0},[]),f=O.useCallback(function(g){u(g.type,yX(g),g.target,o(g,e.lockRef.current))},[]),h=O.useCallback(function(g){u(g.type,wv(g),g.target,o(g,e.lockRef.current))},[]);O.useEffect(function(){return zp.push(s),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",l,Up),document.addEventListener("touchmove",l,Up),document.addEventListener("touchstart",d,Up),function(){zp=zp.filter(function(g){return g!==s}),document.removeEventListener("wheel",l,Up),document.removeEventListener("touchmove",l,Up),document.removeEventListener("touchstart",d,Up)}},[]);var p=e.removeScrollBar,m=e.inert;return O.createElement(O.Fragment,null,m?O.createElement(s,{styles:$rt(r)}):null,p?O.createElement(Nrt,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Urt(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const zrt=grt(Aue,Brt);var Pue=O.forwardRef(function(e,t){return O.createElement(F_,nc({},e,{ref:t,sideCar:zrt}))});Pue.classNames=F_.classNames;var Frt=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Fp=new WeakMap,Ev=new WeakMap,kv={},eR=0,jue=function(e){return e&&(e.host||jue(e.parentNode))},Vrt=function(e,t){return t.map(function(n){if(e.contains(n))return n;var i=jue(n);return i&&e.contains(i)?i:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Xrt=function(e,t,n,i){var r=Vrt(t,Array.isArray(e)?e:[e]);kv[n]||(kv[n]=new WeakMap);var s=kv[n],a=[],o=new Set,l=new Set(r),u=function(f){!f||o.has(f)||(o.add(f),u(f.parentNode))};r.forEach(u);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(h){if(o.has(h))d(h);else try{var p=h.getAttribute(i),m=p!==null&&p!=="false",g=(Fp.get(h)||0)+1,y=(s.get(h)||0)+1;Fp.set(h,g),s.set(h,y),a.push(h),g===1&&m&&Ev.set(h,!0),y===1&&h.setAttribute(n,"true"),m||h.setAttribute(i,"true")}catch(b){console.error("aria-hidden: cannot operate on ",h,b)}})};return d(t),o.clear(),eR++,function(){a.forEach(function(f){var h=Fp.get(f)-1,p=s.get(f)-1;Fp.set(f,h),s.set(f,p),h||(Ev.has(f)||f.removeAttribute(i),Ev.delete(f)),p||f.removeAttribute(n)}),eR--,eR||(Fp=new WeakMap,Fp=new WeakMap,Ev=new WeakMap,kv={})}},qrt=function(e,t,n){n===void 0&&(n="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),r=Frt(e);return r?(i.push.apply(i,Array.from(r.querySelectorAll("[aria-live], script"))),Xrt(i,r,n,"aria-hidden")):function(){return null}},Hrt=Object.defineProperty,Yrt=(e,t)=>Hrt(e,"name",{value:t,configurable:!0});function V_(e){const[t,n]=O.useState(void 0);return Sl(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const s=r[0];let a,o;if("borderBoxSize"in s){const l=s.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,o=u.blockSize}else a=e.offsetWidth,o=e.offsetHeight;n({width:a,height:o})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else n(void 0)},[e]),t}Yrt(V_,"useSize");var Grt=Object.defineProperty,Qu=(e,t)=>Grt(e,"name",{value:t,configurable:!0}),C3="Checkbox",[Wrt,Yht]=Ic(C3),[Zrt,R3]=Wrt(C3);function Mue(e){const{__scopeCheckbox:t,checked:n,children:i,defaultChecked:r,disabled:s,form:a,name:o,onCheckedChange:l,required:u,value:d="on",internal_do_not_use_render:f}=e,[h,p]=Mf({prop:n,defaultProp:r??!1,onChange:l,caller:C3}),[m,g]=O.useState(null),[y,b]=O.useState(null),S=O.useRef(!1),[x,v]=O.useReducer(k=>k+1,0),E=m?!!a||!!m.closest("form"):!0,w={checked:h,disabled:s,setChecked:p,control:m,setControl:g,name:o,form:a,value:d,hasConsumerStoppedPropagationRef:S,userInteractionCount:x,onUserInteraction:v,required:u,defaultChecked:Su(r)?!1:r,isFormControl:E,bubbleInput:y,setBubbleInput:b};return c.jsx(Zrt,{scope:t,...w,children:Lue(f)?f(w):i})}Qu(Mue,"CheckboxProvider");var Krt="CheckboxTrigger",Jrt=O.forwardRef(Qu(function({__scopeCheckbox:t,onKeyDown:n,onClick:i,...r},s){const{control:a,value:o,disabled:l,checked:u,required:d,setControl:f,setChecked:h,hasConsumerStoppedPropagationRef:p,onUserInteraction:m,isFormControl:g,bubbleInput:y}=R3(Krt,t),b=$r(s,f),S=O.useRef(u);return O.useEffect(()=>{const x=a==null?void 0:a.form;if(x){const v=Qu(()=>h(S.current),"reset");return x.addEventListener("reset",v),()=>x.removeEventListener("reset",v)}},[a,h]),c.jsx(ps.button,{type:"button",role:"checkbox","aria-checked":Su(u)?"mixed":u,"aria-required":d,"data-state":I3(u),"data-disabled":l?"":void 0,disabled:l,value:o,...r,ref:b,onKeyDown:hr(n,x=>{x.key==="Enter"&&x.preventDefault()}),onClick:hr(i,x=>{m(),h(v=>Su(v)?!0:!v),y&&g&&(p.current=x.isPropagationStopped(),p.current||x.stopPropagation())})})},"CheckboxTrigger")),est=O.forwardRef(Qu(function(t,n){const{__scopeCheckbox:i,name:r,checked:s,defaultChecked:a,required:o,disabled:l,value:u,onCheckedChange:d,form:f,...h}=t;return c.jsx(Mue,{__scopeCheckbox:i,checked:s,defaultChecked:a,disabled:l,required:o,onCheckedChange:d,name:r,form:f,value:u,internal_do_not_use_render:({isFormControl:p})=>c.jsxs(c.Fragment,{children:[c.jsx(Jrt,{...h,ref:n,__scopeCheckbox:i}),p&&c.jsx(rst,{__scopeCheckbox:i})]})})},"Checkbox")),tst="CheckboxIndicator",nst=O.forwardRef(Qu(function(t,n){const{__scopeCheckbox:i,forceMount:r,...s}=t,a=R3(tst,i);return c.jsx(U_,{present:r||Su(a.checked)||a.checked===!0,children:c.jsx(ps.span,{"data-state":I3(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:n,style:{pointerEvents:"none",...t.style}})})},"CheckboxIndicator")),ist="CheckboxBubbleInput",rst=O.forwardRef(Qu(function({__scopeCheckbox:t,onClick:n,...i},r){const{control:s,hasConsumerStoppedPropagationRef:a,userInteractionCount:o,checked:l,defaultChecked:u,required:d,disabled:f,name:h,value:p,form:m,bubbleInput:g,setBubbleInput:y}=R3(ist,t),b=$r(r,y),S=V_(s),x=O.useRef(!1),v=O.useRef(l),E=O.useRef(o);O.useEffect(()=>{const k=g;if(!k)return;const _=window.HTMLInputElement.prototype,A=Object.getOwnPropertyDescriptor(_,"checked").set,R=o!==E.current;E.current=o;const j=v.current!==l;v.current=l;const Q=!(R&&a.current);if(j&&A){x.current=!R;const L=new Event("click",{bubbles:Q});k.indeterminate=Su(l),A.call(k,Su(l)?!1:l),k.dispatchEvent(L),x.current=!1}},[g,l,a,o]);const w=O.useRef(Su(l)?!1:l);return c.jsx(ps.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??w.current,required:d,disabled:f,name:h,value:p,form:m,...i,tabIndex:-1,ref:b,onClick:hr(n,k=>{x.current&&k.stopPropagation()}),style:{...i.style,...S,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function Lue(e){return typeof e=="function"}Qu(Lue,"isFunction");function Su(e){return e==="indeterminate"}Qu(Su,"isIndeterminate");function I3(e){return Su(e)?"indeterminate":e?"checked":"unchecked"}Qu(I3,"getState");const sst=["top","right","bottom","left"],Ef=Math.min,vu=Math.max,Qk=Math.round,Tv=Math.floor,wu=e=>({x:e,y:e}),ast={left:"right",right:"left",bottom:"top",top:"bottom"};function Due(e,t,n){return vu(e,Ef(t,n))}function Bu(e,t){return typeof e=="function"?e(t):e}function kf(e){return e.split("-")[0]}function B0(e){return e.split("-")[1]}function P3(e){return e==="x"?"y":"x"}function j3(e){return e==="y"?"height":"width"}function dc(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function M3(e){return P3(dc(e))}function ost(e,t,n){n===void 0&&(n=!1);const i=B0(e),r=M3(e),s=j3(r);let a=r==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=Bk(a)),[a,Bk(a)]}function lst(e){const t=Bk(e);return[yM(e),t,yM(t)]}function yM(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const SX=["left","right"],vX=["right","left"],cst=["top","bottom"],ust=["bottom","top"];function dst(e,t,n){switch(e){case"top":case"bottom":return n?t?vX:SX:t?SX:vX;case"left":case"right":return t?cst:ust;default:return[]}}function fst(e,t,n,i){const r=B0(e);let s=dst(kf(e),n==="start",i);return r&&(s=s.map(a=>a+"-"+r),t&&(s=s.concat(s.map(yM)))),s}function Bk(e){const t=kf(e);return ast[t]+e.slice(t.length)}function hst(e){var t,n,i,r;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(i=e.bottom)!=null?i:0,left:(r=e.left)!=null?r:0}}function $ue(e){return typeof e!="number"?hst(e):{top:e,right:e,bottom:e,left:e}}function Uk(e){const{x:t,y:n,width:i,height:r}=e;return{width:i,height:r,top:n,left:t,right:t+i,bottom:n+r,x:t,y:n}}function wX(e,t,n){let{reference:i,floating:r}=e;const s=dc(t),a=M3(t),o=j3(a),l=kf(t),u=s==="y",d=i.x+i.width/2-r.width/2,f=i.y+i.height/2-r.height/2,h=i[o]/2-r[o]/2;let p;switch(l){case"top":p={x:d,y:i.y-r.height};break;case"bottom":p={x:d,y:i.y+i.height};break;case"right":p={x:i.x+i.width,y:f};break;case"left":p={x:i.x-r.width,y:f};break;default:p={x:i.x,y:i.y}}const m=B0(t);return m&&(p[a]+=h*(m==="end"?1:-1)*(n&&u?-1:1)),p}async function pst(e,t){var n;t===void 0&&(t={});const{x:i,y:r,platform:s,rects:a,elements:o,strategy:l}=e,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:h=!1,padding:p=0}=Bu(t,e),m=$ue(p),y=o[h?f==="floating"?"reference":"floating":f],b=Uk(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(y)))==null||n?y:y.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(o.floating)),boundary:u,rootBoundary:d,strategy:l})),S=f==="floating"?{x:i,y:r,width:a.floating.width,height:a.floating.height}:a.reference,x=await(s.getOffsetParent==null?void 0:s.getOffsetParent(o.floating)),v=await(s.isElement==null?void 0:s.isElement(x))&&await(s.getScale==null?void 0:s.getScale(x))||{x:1,y:1},E=Uk(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:S,offsetParent:x,strategy:l}):S);return{top:(b.top-E.top+m.top)/v.y,bottom:(E.bottom-b.bottom+m.bottom)/v.y,left:(b.left-E.left+m.left)/v.x,right:(E.right-b.right+m.right)/v.x}}const mst=50,gst=async(e,t,n)=>{const{placement:i="bottom",strategy:r="absolute",middleware:s=[],platform:a}=n,o=a.detectOverflow?a:{...a,detectOverflow:pst},l=await(a.isRTL==null?void 0:a.isRTL(t));let u=await a.getElementRects({reference:e,floating:t,strategy:r}),{x:d,y:f}=wX(u,i,l),h=i,p=0;const m={};for(let g=0;g({name:"arrow",options:e,async fn(t){const{x:n,y:i,placement:r,rects:s,platform:a,elements:o,middlewareData:l}=t,{element:u,padding:d=0}=Bu(e,t)||{};if(u==null)return{};const f=$ue(d),h={x:n,y:i},p=M3(r),m=j3(p),g=await a.getDimensions(u),y=p==="y",b=y?"top":"left",S=y?"bottom":"right",x=y?"clientHeight":"clientWidth",v=s.reference[m]+s.reference[p]-h[p]-s.floating[m],E=h[p]-s.reference[p],w=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u));let k=w?w[x]:0;(!k||!await(a.isElement==null?void 0:a.isElement(w)))&&(k=o.floating[x]||s.floating[m]);const _=v/2-E/2,C=k/2-g[m]/2-1,A=Ef(f[b],C),R=Ef(f[S],C),j=k-g[m]-R,Q=k/2-g[m]/2+_,L=Due(A,Q,j),D=!l.arrow&&B0(r)!=null&&Q!==L&&s.reference[m]/2-(QL<=0)){var R,j;const L=(((R=s.flip)==null?void 0:R.index)||0)+1,D=k[L];if(D&&(!(f==="alignment"?S!==dc(D):!1)||A.every(B=>dc(B.placement)===S?B.overflows[0]>0:!0)))return{data:{index:L,overflows:A},reset:{placement:D}};let N=(j=A.filter(M=>M.overflows[0]<=0).sort((M,B)=>M.overflows[1]-B.overflows[1])[0])==null?void 0:j.placement;if(!N)switch(p){case"bestFit":{var Q;const M=(Q=A.filter(B=>{if(w){const $=dc(B.placement);return $===S||$==="y"}return!0}).map(B=>[B.placement,B.overflows.filter($=>$>0).reduce(($,I)=>$+I,0)]).sort((B,$)=>B[1]-$[1])[0])==null?void 0:Q[0];M&&(N=M);break}case"initialPlacement":N=o;break}if(r!==N)return{reset:{placement:N}}}return{}}}};function EX(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function kX(e){return sst.some(t=>e[t]>=0)}const yst=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:i}=t,{strategy:r="referenceHidden",...s}=Bu(e,t);switch(r){case"referenceHidden":{const a=await i.detectOverflow(t,{...s,elementContext:"reference"}),o=EX(a,n.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:kX(o)}}}case"escaped":{const a=await i.detectOverflow(t,{...s,altBoundary:!0}),o=EX(a,n.floating);return{data:{escapedOffsets:o,escaped:kX(o)}}}default:return{}}}}},Que=new Set(["left","top"]);async function xst(e,t){const{placement:n,platform:i,elements:r}=e,s=await(i.isRTL==null?void 0:i.isRTL(r.floating)),a=kf(n),o=B0(n),l=dc(n)==="y",u=Que.has(a)?-1:1,d=s&&l?-1:1,f=Bu(t,e);let{mainAxis:h,crossAxis:p,alignmentAxis:m}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return o&&typeof m=="number"&&(p=o==="end"?m*-1:m),l?{x:p*d,y:h*u}:{x:h*u,y:p*d}}const Sst=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,i;const{x:r,y:s,placement:a,middlewareData:o}=t,l=await xst(t,e);return a===((n=o.offset)==null?void 0:n.placement)&&(i=o.arrow)!=null&&i.alignmentOffset?{}:{x:r+l.x,y:s+l.y,data:{...l,placement:a}}}}},vst=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:i,placement:r,platform:s}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:l={fn:S=>{let{x,y:v}=S;return{x,y:v}}},...u}=Bu(e,t),d={x:n,y:i},f=await s.detectOverflow(t,u),h=dc(r),p=P3(h);let m=d[p],g=d[h];const y=(S,x)=>Due(x+f[S==="y"?"top":"left"],x,x-f[S==="y"?"bottom":"right"]);a&&(m=y(p,m)),o&&(g=y(h,g));const b=l.fn({...t,[p]:m,[h]:g});return{...b,data:{x:b.x-n,y:b.y-i,enabled:{[p]:a,[h]:o}}}}}},wst=function(e){return e===void 0&&(e={}),{options:e,fn(t){var n,i;const{x:r,y:s,placement:a,rects:o,middlewareData:l}=t,{offset:u=0,mainAxis:d=!0,crossAxis:f=!0}=Bu(e,t),h={x:r,y:s},p=dc(a),m=P3(p);let g=h[m],y=h[p];const b=Bu(u,t),S=typeof b=="number"?{mainAxis:b,crossAxis:0}:{mainAxis:(n=b.mainAxis)!=null?n:0,crossAxis:(i=b.crossAxis)!=null?i:0};if(d){const E=m==="y"?"height":"width",w=o.reference[m]-o.floating[E]+S.mainAxis,k=o.reference[m]+o.reference[E]-S.mainAxis;gk&&(g=k)}if(f){var x,v;const E=m==="y"?"width":"height",w=Que.has(kf(a)),k=o.reference[p]-o.floating[E]+(w&&((x=l.offset)==null?void 0:x[p])||0)+(w?0:S.crossAxis),_=o.reference[p]+o.reference[E]+(w?0:((v=l.offset)==null?void 0:v[p])||0)-(w?S.crossAxis:0);y_&&(y=_)}return{[m]:g,[p]:y}}}},Est=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:i,platform:r,elements:s}=t,{apply:a=()=>{},...o}=Bu(e,t),l=await r.detectOverflow(t,o),u=kf(n),d=B0(n),f=dc(n)==="y",{width:h,height:p}=i.floating;let m,g;u==="top"||u==="bottom"?(m=u,g=d===(await(r.isRTL==null?void 0:r.isRTL(s.floating))?"start":"end")?"left":"right"):(g=u,m=d==="end"?"top":"bottom");const y=p-l.top-l.bottom,b=h-l.left-l.right,S=Ef(p-l[m],y),x=Ef(h-l[g],b),v=t.middlewareData.shift,E=!v;let w=S,k=x;v!=null&&v.enabled.x&&(k=b),v!=null&&v.enabled.y&&(w=y),E&&!d&&(f?k=h-2*vu(l.left,l.right):w=p-2*vu(l.top,l.bottom)),await a({...t,availableWidth:k,availableHeight:w});const _=await r.getDimensions(s.floating);return h!==_.width||p!==_.height?{reset:{rects:!0}}:{}}}};function X_(){return typeof window<"u"}function U0(e){return Bue(e)?(e.nodeName||"").toLowerCase():"#document"}function Ca(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Wu(e){var t;return(t=(Bue(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Bue(e){return X_()?e instanceof Node||e instanceof Ca(e).Node:!1}function Sc(e){return X_()?e instanceof Element||e instanceof Ca(e).Element:!1}function Lf(e){return X_()?e instanceof HTMLElement||e instanceof Ca(e).HTMLElement:!1}function TX(e){return!X_()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ca(e).ShadowRoot}function q_(e){const{overflow:t,overflowX:n,overflowY:i,display:r}=vc(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&r!=="inline"&&r!=="contents"}function kst(e){return/^(table|td|th)$/.test(U0(e))}function H_(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const Tst=/transform|translate|scale|rotate|perspective|filter/,_st=/paint|layout|strict|content/,Gf=e=>!!e&&e!=="none";let tR;function L3(e){const t=Sc(e)?vc(e):e;return Gf(t.transform)||Gf(t.translate)||Gf(t.scale)||Gf(t.rotate)||Gf(t.perspective)||!D3()&&(Gf(t.backdropFilter)||Gf(t.filter))||Tst.test(t.willChange||"")||_st.test(t.contain||"")}function Ast(e){let t=rp(e);for(;Lf(t)&&!Sx(t);){if(L3(t))return t;if(H_(t))return null;t=rp(t)}return null}function D3(){return tR==null&&(tR=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),tR}function Sx(e){return/^(html|body|#document)$/.test(U0(e))}function vc(e){return Ca(e).getComputedStyle(e)}function Y_(e){return Sc(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function rp(e){if(U0(e)==="html")return e;const t=e.assignedSlot||e.parentNode||TX(e)&&e.host||Wu(e);return TX(t)?t.host:t}function Uue(e){const t=rp(e);return Sx(t)?(e.ownerDocument||e).body:Lf(t)&&q_(t)?t:Uue(t)}function vx(e,t,n){var i;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=Uue(e),s=r===((i=e.ownerDocument)==null?void 0:i.body),a=Ca(r);if(s){const o=xM(a);return t.concat(a,a.visualViewport||[],q_(r)?r:[],o&&n?vx(o):[])}else return t.concat(r,vx(r,[],n))}function xM(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function zue(e){const t=vc(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const r=Lf(e),s=r?e.offsetWidth:n,a=r?e.offsetHeight:i,o=Qk(n)!==s||Qk(i)!==a;return o&&(n=s,i=a),{width:n,height:i,$:o}}function $3(e){return Sc(e)?e:e.contextElement}function hg(e){const t=$3(e);if(!Lf(t))return wu(1);const n=t.getBoundingClientRect(),{width:i,height:r,$:s}=zue(t);let a=(s?Qk(n.width):n.width)/i,o=(s?Qk(n.height):n.height)/r;return(!a||!Number.isFinite(a))&&(a=1),(!o||!Number.isFinite(o))&&(o=1),{x:a,y:o}}const Nst=wu(0);function Fue(e){const t=Ca(e);return!D3()||!t.visualViewport?Nst:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Cst(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Ca(e)}function sp(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),s=$3(e);let a=wu(1);t&&(i?Sc(i)&&(a=hg(i)):a=hg(e));const o=Cst(s,n,i)?Fue(s):wu(0);let l=(r.left+o.x)/a.x,u=(r.top+o.y)/a.y,d=r.width/a.x,f=r.height/a.y;if(s&&i){const h=Ca(s),p=Sc(i)?Ca(i):i;let m=h,g=xM(m);for(;g&&p!==m;){const y=hg(g),b=g.getBoundingClientRect(),S=vc(g),x=b.left+(g.clientLeft+parseFloat(S.paddingLeft))*y.x,v=b.top+(g.clientTop+parseFloat(S.paddingTop))*y.y;l*=y.x,u*=y.y,d*=y.x,f*=y.y,l+=x,u+=v,m=Ca(g),g=xM(m)}}return Uk({width:d,height:f,x:l,y:u})}function G_(e,t){const n=Y_(e).scrollLeft;return t?t.left+n:sp(Wu(e)).left+n}function Vue(e,t){const n=e.getBoundingClientRect(),i=n.left+t.scrollLeft-G_(e,n),r=n.top+t.scrollTop;return{x:i,y:r}}function Rst(e){let{elements:t,rect:n,offsetParent:i,strategy:r}=e;const s=r==="fixed",a=Wu(i),o=t?H_(t.floating):!1;if(i===a||o&&s)return n;let l={scrollLeft:0,scrollTop:0},u=wu(1);const d=wu(0),f=Lf(i);if((f||!s)&&((U0(i)!=="body"||q_(a))&&(l=Y_(i)),f)){const p=sp(i);u=hg(i),d.x=p.x+i.clientLeft,d.y=p.y+i.clientTop}const h=a&&!f&&!s?Vue(a,l):wu(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-l.scrollLeft*u.x+d.x+h.x,y:n.y*u.y-l.scrollTop*u.y+d.y+h.y}}function Ist(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Pst(e){const t=Y_(e),n=e.ownerDocument.body,i=vu(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),r=vu(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let s=-t.scrollLeft+G_(e);const a=-t.scrollTop;return vc(n).direction==="rtl"&&(s+=vu(e.clientWidth,n.clientWidth)-i),{width:i,height:r,x:s,y:a}}const jst=25;function Mst(e,t,n){n===void 0&&(n="viewport");const i=n==="layoutViewport",r=Ca(e),s=Wu(e),a=r.visualViewport;let o=s.clientWidth,l=s.clientHeight,u=0,d=0;if(a){const h=!D3()||t==="fixed";i?h||(u=-a.offsetLeft,d=-a.offsetTop):(o=a.width,l=a.height,h&&(u=a.offsetLeft,d=a.offsetTop))}if(G_(s)<=0){const h=s.ownerDocument,p=h.body,m=getComputedStyle(p),g=h.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,y=Math.abs(s.clientWidth-p.clientWidth-g),b=getComputedStyle(s).scrollbarGutter==="stable both-edges"?y/2:y;b<=jst&&(o-=b)}return{width:o,height:l,x:u,y:d}}function Lst(e,t){const n=sp(e,!0,t==="fixed"),i=n.top+e.clientTop,r=n.left+e.clientLeft,s=hg(e),a=e.clientWidth*s.x,o=e.clientHeight*s.y,l=r*s.x,u=i*s.y;return{width:a,height:o,x:l,y:u}}function _X(e,t,n){let i;if(t==="viewport"||t==="layoutViewport")i=Mst(e,n,t);else if(t==="document")i=Pst(Wu(e));else if(Sc(t))i=Lst(t,n);else{const r=Fue(e);i={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return Uk(i)}function Dst(e,t){const n=t.get(e);if(n)return n;let i=vx(e,[],!1).filter(o=>Sc(o)&&U0(o)!=="body"),r=null;const s=vc(e).position==="fixed";let a=s?rp(e):e;for(;Sc(a)&&!Sx(a);){const o=vc(a),l=L3(a),u=r?r.position:s?"fixed":"";!l&&(u==="fixed"||u==="absolute"&&o.position==="static")?i=i.filter(f=>f!==a):r=o,a=rp(a)}return t.set(e,i),i}function $st(e){let{element:t,boundary:n,rootBoundary:i,strategy:r}=e;const a=[...n==="clippingAncestors"?H_(t)?[]:Dst(t,this._c):[].concat(n),i],o=_X(t,a[0],r);let l=o.top,u=o.right,d=o.bottom,f=o.left;for(let h=1;h{o(!1,1e-7)},1e3)}k=!1}try{i=new IntersectionObserver(_,{...w,root:s.ownerDocument})}catch{i=new IntersectionObserver(_,w)}i.observe(e)}const l=Ca(e),u=()=>o(n);return l.addEventListener("resize",u),o(!0),()=>{l.removeEventListener("resize",u),a()}}function Xst(e,t,n,i){i===void 0&&(i={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:l=!1}=i,u=$3(e),d=r||s?[...u?vx(u):[],...t?vx(t):[]]:[];d.forEach(b=>{r&&b.addEventListener("scroll",n),s&&b.addEventListener("resize",n)});const f=u&&o?Vst(u,n,s):null;let h=-1,p=null;a&&(p=new ResizeObserver(b=>{let[S]=b;S&&S.target===u&&p&&t&&(p.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var x;(x=p)==null||x.observe(t)})),n()}),u&&!l&&p.observe(u),t&&p.observe(t));let m,g=l?sp(e):null;l&&y();function y(){const b=sp(e);g&&!que(g,b)&&n(),g=b,m=requestAnimationFrame(y)}return n(),()=>{var b;d.forEach(S=>{r&&S.removeEventListener("scroll",n),s&&S.removeEventListener("resize",n)}),f==null||f(),(b=p)==null||b.disconnect(),p=null,l&&cancelAnimationFrame(m)}}const qst=Sst,Hst=vst,Yst=bst,Gst=Est,Wst=yst,NX=Ost,Zst=wst,Kst=(e,t,n)=>{const i=new Map,r=n??{},s={...Fst,...r.platform,_c:i};return gst(e,t,{...r,platform:s})};var Jst=typeof document<"u",eat=function(){},Lw=Jst?O.useLayoutEffect:eat;function zk(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,i,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(i=n;i--!==0;)if(!zk(e[i],t[i]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(i=n;i--!==0;)if(!{}.hasOwnProperty.call(t,r[i]))return!1;for(i=n;i--!==0;){const s=r[i];if(!(s==="_owner"&&e.$$typeof)&&!zk(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function Hue(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function CX(e,t){const n=Hue(e);return Math.round(t*n)/n}function iR(e){const t=O.useRef(e);return Lw(()=>{t.current=e}),t}function tat(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:i=[],platform:r,elements:{reference:s,floating:a}={},transform:o=!0,whileElementsMounted:l,open:u}=e,[d,f]=O.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[h,p]=O.useState(i);zk(h,i)||p(i);const[m,g]=O.useState(null),[y,b]=O.useState(null),S=O.useCallback(B=>{B!==w.current&&(w.current=B,g(B))},[]),x=O.useCallback(B=>{B!==k.current&&(k.current=B,b(B))},[]),v=s||m,E=a||y,w=O.useRef(null),k=O.useRef(null),_=O.useRef(d),C=l!=null,A=iR(l),R=iR(r),j=iR(u),Q=O.useCallback(()=>{if(!w.current||!k.current)return;const B={placement:t,strategy:n,middleware:h};R.current&&(B.platform=R.current),Kst(w.current,k.current,B).then($=>{const I={...$,isPositioned:j.current!==!1};L.current&&!zk(_.current,I)&&(_.current=I,ar.flushSync(()=>{f(I)}))})},[h,t,n,R,j]);Lw(()=>{u===!1&&_.current.isPositioned&&(_.current.isPositioned=!1,f(B=>({...B,isPositioned:!1})))},[u]);const L=O.useRef(!1);Lw(()=>(L.current=!0,()=>{L.current=!1}),[]),Lw(()=>{if(v&&(w.current=v),E&&(k.current=E),v&&E){if(A.current)return A.current(v,E,Q);Q()}},[v,E,Q,A,C]);const D=O.useMemo(()=>({reference:w,floating:k,setReference:S,setFloating:x}),[S,x]),N=O.useMemo(()=>({reference:v,floating:E}),[v,E]),M=O.useMemo(()=>{const B={position:n,left:0,top:0};if(!N.floating)return B;const $=CX(N.floating,d.x),I=CX(N.floating,d.y);return o?{...B,transform:"translate("+$+"px, "+I+"px)",...Hue(N.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:$,top:I}},[n,o,N.floating,d.x,d.y]);return O.useMemo(()=>({...d,update:Q,refs:D,elements:N,floatingStyles:M}),[d,Q,D,N,M])}const nat=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:i,padding:r}=typeof e=="function"?e(n):e;return i&&t(i)?i.current!=null?NX({element:i.current,padding:r}).fn(n):{}:i?NX({element:i,padding:r}).fn(n):{}}}},iat=(e,t)=>{const n=qst(e);return{name:n.name,fn:n.fn,options:[e,t]}},rat=(e,t)=>{const n=Hst(e);return{name:n.name,fn:n.fn,options:[e,t]}},sat=(e,t)=>({fn:Zst(e).fn,options:[e,t]}),aat=(e,t)=>{const n=Yst(e);return{name:n.name,fn:n.fn,options:[e,t]}},oat=(e,t)=>{const n=Gst(e);return{name:n.name,fn:n.fn,options:[e,t]}},lat=(e,t)=>{const n=Wst(e);return{name:n.name,fn:n.fn,options:[e,t]}},cat=(e,t)=>{const n=nat(e);return{name:n.name,fn:n.fn,options:[e,t]}};var uat=Object.defineProperty,nf=(e,t)=>uat(e,"name",{value:t,configurable:!0}),Yue="Popper",[Gue,Wue]=Ic(Yue),[dat,Zue]=Gue(Yue),fat=nf(e=>{const{__scopePopper:t,children:n}=e,[i,r]=O.useState(null),[s,a]=O.useState(void 0);return c.jsx(dat,{scope:t,anchor:i,onAnchorChange:r,placementState:s,setPlacementState:a,children:n})},"Popper"),hat="PopperAnchor",pat=O.forwardRef(nf(function(t,n){const{__scopePopper:i,virtualRef:r,...s}=t,a=Zue(hat,i),o=O.useRef(null),l=a.onAnchorChange,u=O.useCallback(g=>{o.current=g,g&&l(g)},[l]),d=$r(n,u),f=O.useRef(null);O.useEffect(()=>{if(!r)return;const g=f.current;f.current=r.current,g!==f.current&&l(f.current)});const h=a.placementState&&W_(a.placementState),p=h==null?void 0:h[0],m=h==null?void 0:h[1];return r?null:c.jsx(ps.div,{"data-radix-popper-side":p,"data-radix-popper-align":m,...s,ref:d})},"PopperAnchor")),Kue="PopperContent",[mat,Ght]=Gue(Kue),gat=O.forwardRef(nf(function(t,n){var ie,le,ge,Ee,Ce,_e,he;const{__scopePopper:i,side:r="bottom",sideOffset:s=0,align:a="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:u=!0,collisionBoundary:d=[],collisionPadding:f=0,sticky:h="partial",hideWhenDetached:p=!1,updatePositionStrategy:m="optimized",onPlaced:g,...y}=t,b=Zue(Kue,i),[S,x]=O.useState(null),v=$r(n,x),[E,w]=O.useState(null),k=V_(E),_=(k==null?void 0:k.width)??0,C=(k==null?void 0:k.height)??0,A=r+(a!=="center"?"-"+a:""),R=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},j=Array.isArray(d)?d:[d],Q=j.length>0,L={padding:R,boundary:j.filter(Jue),altBoundary:Q},{refs:D,floatingStyles:N,placement:M,isPositioned:B,middlewareData:$}=tat({strategy:"fixed",placement:A,whileElementsMounted:nf((...te)=>Xst(...te,{animationFrame:m==="always"}),"whileElementsMounted"),elements:{reference:b.anchor},middleware:[iat({mainAxis:s+C,alignmentAxis:o}),u&&rat({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?sat():void 0,...L}),u&&aat({...L}),oat({...L,apply:nf(({elements:te,rects:Te,availableWidth:me,availableHeight:Be})=>{const{width:je,height:Ue}=Te.reference,st=te.floating.style;st.setProperty("--radix-popper-available-width",`${me}px`),st.setProperty("--radix-popper-available-height",`${Be}px`),st.setProperty("--radix-popper-anchor-width",`${je}px`),st.setProperty("--radix-popper-anchor-height",`${Ue}px`)},"apply")}),E&&cat({element:E,padding:l}),Oat({arrowWidth:_,arrowHeight:C}),p&&lat({strategy:"referenceHidden",...L,boundary:Q?L.boundary:void 0})]}),I=b.setPlacementState;Sl(()=>(I(M),()=>{I(void 0)}),[M,I]);const[G,X]=W_(M),U=wf(g);Sl(()=>{B&&(U==null||U())},[B,U]);const Y=(ie=$.arrow)==null?void 0:ie.x,ae=(le=$.arrow)==null?void 0:le.y,fe=((ge=$.arrow)==null?void 0:ge.centerOffset)!==0,[ke,K]=O.useState();return Sl(()=>{S&&K(window.getComputedStyle(S).zIndex)},[S]),c.jsx("div",{ref:D.setFloating,"data-radix-popper-content-wrapper":"",style:{...N,transform:B?N.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ke,"--radix-popper-transform-origin":[(Ee=$.transformOrigin)==null?void 0:Ee.x,(Ce=$.transformOrigin)==null?void 0:Ce.y].join(" "),...((_e=$.hide)==null?void 0:_e.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:c.jsx(mat,{scope:i,placedSide:G,placedAlign:X,onArrowChange:w,arrowX:Y,arrowY:ae,shouldHideArrow:fe,children:c.jsx(ps.div,{"data-side":G,"data-align":X,...y,ref:v,style:{...y.style,animation:B?(he=y.style)==null?void 0:he.animation:"none"}})})})},"PopperContent"));function Jue(e){return e!==null}nf(Jue,"isNotNull");var Oat=nf(e=>({name:"transformOrigin",options:e,fn(t){var y,b,S;const{placement:n,rects:i,middlewareData:r}=t,a=((y=r.arrow)==null?void 0:y.centerOffset)!==0,o=a?0:e.arrowWidth,l=a?0:e.arrowHeight,[u,d]=W_(n),f={start:"0%",center:"50%",end:"100%"}[d],h=(((b=r.arrow)==null?void 0:b.x)??0)+o/2,p=(((S=r.arrow)==null?void 0:S.y)??0)+l/2;let m="",g="";return u==="bottom"?(m=a?f:`${h}px`,g=`${-l}px`):u==="top"?(m=a?f:`${h}px`,g=`${i.floating.height+l}px`):u==="right"?(m=`${-l}px`,g=a?f:`${p}px`):u==="left"&&(m=`${i.floating.width+l}px`,g=a?f:`${p}px`),{data:{x:m,y:g}}}}),"transformOrigin");function W_(e){const[t,n="center"]=e.split("-");return[t,n]}nf(W_,"getSideAndAlignFromPlacement");var bat=fat,yat=pat,xat=gat,Sat=Object.defineProperty,Q3=(e,t)=>Sat(e,"name",{value:t,configurable:!0}),rR=!1;function ede(){const[e,t]=O.useState(rR);return O.useEffect(()=>{rR||(rR=!0,t(!0))},[]),e}Q3(ede,"useIsHydrated");var tde=s0[" useSyncExternalStore ".trim().toString()];function nde(){return()=>{}}Q3(nde,"subscribe");function ide(){return tde(nde,()=>!0,()=>!1)}Q3(ide,"useIsHydratedModern");var vat=typeof tde=="function"?ide:ede,wat=Object.defineProperty,yp=(e,t)=>wat(e,"name",{value:t,configurable:!0}),sR="rovingFocusGroup.onEntryFocus",Eat={bubbles:!1,cancelable:!0},Z_="RovingFocusGroup",[SM,rde,kat]=nue(Z_),[Tat,K_]=Ic(Z_,[kat]),[_at,Aat]=Tat(Z_),Nat=O.forwardRef(yp(function(t,n){return c.jsx(SM.Provider,{scope:t.__scopeRovingFocusGroup,children:c.jsx(SM.Slot,{scope:t.__scopeRovingFocusGroup,children:c.jsx(Cat,{...t,ref:n})})})},"RovingFocusGroup")),Cat=O.forwardRef(yp(function(t,n){const{__scopeRovingFocusGroup:i,orientation:r,loop:s=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:f=!1,...h}=t,p=O.useRef(null),m=$r(n,p),g=z_(a),[y,b]=Mf({prop:o,defaultProp:l??null,onChange:u,caller:Z_}),[S,x]=O.useState(!1),v=wf(d),E=rde(i),w=O.useRef(!1),[k,_]=O.useState(0);return O.useEffect(()=>{const C=p.current;if(C)return C.addEventListener(sR,v),()=>C.removeEventListener(sR,v)},[v]),c.jsx(_at,{scope:i,orientation:r,dir:g,loop:s,currentTabStopId:y,onItemFocus:O.useCallback(C=>b(C),[b]),onItemShiftTab:O.useCallback(()=>x(!0),[]),onFocusableItemAdd:O.useCallback(()=>_(C=>C+1),[]),onFocusableItemRemove:O.useCallback(()=>_(C=>C-1),[]),children:c.jsx(ps.div,{tabIndex:S||k===0?-1:0,"data-orientation":r,...h,ref:m,style:{outline:"none",...t.style},onMouseDown:hr(t.onMouseDown,()=>{w.current=!0}),onFocus:hr(t.onFocus,C=>{const A=!w.current;if(C.target===C.currentTarget&&A&&!S){const R=new CustomEvent(sR,Eat);if(C.currentTarget.dispatchEvent(R),!R.defaultPrevented){const j=E().filter(M=>M.focusable),Q=j.find(M=>M.active),L=j.find(M=>M.id===y),N=[Q,L,...j].filter(Boolean).map(M=>M.ref.current);B3(N,f)}}w.current=!1}),onBlur:hr(t.onBlur,()=>x(!1))})})},"RovingFocusGroupImpl")),Rat="RovingFocusGroupItem",Iat=O.forwardRef(yp(function(t,n){const{__scopeRovingFocusGroup:i,focusable:r=!0,active:s=!1,tabStopId:a,children:o,...l}=t,u=k3(),d=a||u,f=Aat(Rat,i),h=f.currentTabStopId===d,p=rde(i),{onFocusableItemAdd:m,onFocusableItemRemove:g,currentTabStopId:y}=f,b=vat();return Sl(()=>{if(!(!b||!r))return m(),()=>g()},[b,r,m,g]),O.useEffect(()=>{if(!(b||!r))return m(),()=>g()},[b,r,m,g]),c.jsx(SM.ItemSlot,{scope:i,id:d,focusable:r,active:s,children:c.jsx(ps.span,{tabIndex:h?0:-1,"data-orientation":f.orientation,...l,ref:n,onMouseDown:hr(t.onMouseDown,S=>{r?f.onItemFocus(d):S.preventDefault()}),onFocus:hr(t.onFocus,()=>f.onItemFocus(d)),onKeyDown:hr(t.onKeyDown,S=>{if(S.key==="Tab"&&S.shiftKey){f.onItemShiftTab();return}if(S.target!==S.currentTarget)return;const x=ade(S,f.orientation,f.dir);if(x!==void 0){if(S.metaKey||S.ctrlKey||S.altKey||S.shiftKey)return;S.preventDefault();let E=p().filter(w=>w.focusable).map(w=>w.ref.current);if(x==="last")E.reverse();else if(x==="prev"||x==="next"){x==="prev"&&E.reverse();const w=E.indexOf(S.currentTarget);E=f.loop?ode(E,w+1):E.slice(w+1)}setTimeout(()=>B3(E))}}),children:typeof o=="function"?o({isCurrentTabStop:h,hasTabStop:y!=null}):o})})},"RovingFocusGroupItem")),Pat={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function sde(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}yp(sde,"getDirectionAwareKey");function ade(e,t,n){const i=sde(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return Pat[i]}yp(ade,"getFocusIntent");function B3(e,t=!1){const n=document.activeElement;for(const i of e)if(i===n||(i.focus({preventScroll:t}),document.activeElement!==n))return}yp(B3,"focusFirst");function ode(e,t){return e.map((n,i)=>e[(t+i)%e.length])}yp(ode,"wrapArray");var lde=Nat,cde=Iat,jat=Object.defineProperty,Df=(e,t)=>jat(e,"name",{value:t,configurable:!0}),U3="Popover",[ude,Wht]=Ic(U3,[Wue]),z3=Wue(),[Mat,z0]=ude(U3),Lat=Df(e=>{const{__scopePopover:t,children:n,open:i,defaultOpen:r,onOpenChange:s,modal:a=!1}=e,o=z3(t),l=O.useRef(null),[u,d]=O.useState(!1),[f,h]=Mf({prop:i,defaultProp:r??!1,onChange:s,caller:U3});return c.jsx(bat,{...o,children:c.jsx(Mat,{scope:t,contentId:k3(),triggerRef:l,open:f,onOpenChange:h,onOpenToggle:O.useCallback(()=>h(p=>!p),[h]),hasCustomAnchor:u,onCustomAnchorAdd:O.useCallback(()=>d(!0),[]),onCustomAnchorRemove:O.useCallback(()=>d(!1),[]),modal:a,children:n})})},"Popover"),Dat="PopoverTrigger",$at=O.forwardRef(Df(function(t,n){const{__scopePopover:i,...r}=t,s=z0(Dat,i),a=z3(i),o=$r(n,s.triggerRef),l=c.jsx(ps.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":F3(s.open),...r,ref:o,onClick:hr(t.onClick,s.onOpenToggle)});return s.hasCustomAnchor?l:c.jsx(yat,{asChild:!0,...a,children:l})},"PopoverTrigger")),dde="PopoverPortal",[Qat,Bat]=ude(dde,{forceMount:void 0}),Uat=Df(e=>{const{__scopePopover:t,forceMount:n,children:i,container:r}=e,s=z0(dde,t);return c.jsx(Qat,{scope:t,forceMount:n,children:c.jsx(U_,{present:n||s.open,children:c.jsx(rrt,{asChild:!0,container:r,children:i})})})},"PopoverPortal"),wx="PopoverContent",zat=O.forwardRef(Df(function(t,n){const i=Bat(wx,t.__scopePopover),{forceMount:r=i.forceMount,...s}=t,a=z0(wx,t.__scopePopover);return c.jsx(U_,{present:r||a.open,children:a.modal?c.jsx(Vat,{...s,ref:n}):c.jsx(Xat,{...s,ref:n})})},"PopoverContent")),Fat=ip("PopoverContent.RemoveScroll"),Vat=O.forwardRef(Df(function(t,n){const i=z0(wx,t.__scopePopover),r=O.useRef(null),s=$r(n,r),a=O.useRef(!1);return O.useEffect(()=>{const o=r.current;if(o)return qrt(o)},[]),c.jsx(Pue,{as:Fat,allowPinchZoom:!0,children:c.jsx(fde,{...t,ref:s,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:hr(t.onCloseAutoFocus,o=>{var l;o.preventDefault(),a.current||(l=i.triggerRef.current)==null||l.focus()}),onPointerDownOutside:hr(t.onPointerDownOutside,o=>{const l=o.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0,d=l.button===2||u;a.current=d},{checkForDefaultPrevented:!1}),onFocusOutside:hr(t.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1})})})},"PopoverContentModal")),Xat=O.forwardRef(Df(function(t,n){const i=z0(wx,t.__scopePopover),r=O.useRef(!1),s=O.useRef(!1);return c.jsx(fde,{...t,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var o,l;(o=t.onCloseAutoFocus)==null||o.call(t,a),a.defaultPrevented||(r.current||(l=i.triggerRef.current)==null||l.focus(),a.preventDefault()),r.current=!1,s.current=!1},onInteractOutside:a=>{var u,d;(u=t.onInteractOutside)==null||u.call(t,a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const o=a.target;((d=i.triggerRef.current)==null?void 0:d.contains(o))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&s.current&&a.preventDefault()}})},"PopoverContentNonModal")),fde=O.forwardRef(Df(function(t,n){const{__scopePopover:i,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,...h}=t,p=z0(wx,i),m=z3(i);return N3(),c.jsx(trt,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:a,children:c.jsx(Zit,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:f,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onDismiss:()=>p.onOpenChange(!1),deferPointerDownOutside:!0,children:c.jsx(xat,{"data-state":F3(p.open),role:"dialog",id:p.contentId,...m,...h,ref:n,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})},"PopoverContentImpl"));function F3(e){return e?"open":"closed"}Df(F3,"getState");var qat=Lat,Hat=$at,Yat=Uat,Gat=zat,Wat=Object.defineProperty,Qs=(e,t)=>Wat(e,"name",{value:t,configurable:!0}),hde="Radio",[Zat,pde]=Ic(hde),[Kat,J_]=Zat(hde);function mde(e){const{__scopeRadio:t,checked:n=!1,children:i,disabled:r,form:s,name:a,onCheck:o,required:l,value:u="on",internal_do_not_use_render:d}=e,[f,h]=O.useState(null),[p,m]=O.useState(null),g=O.useRef(!1),[y,b]=O.useReducer(v=>v+1,0),S=f?!!s||!!f.closest("form"):!0,x={checked:n,disabled:r,required:l,name:a,form:s,value:u,control:f,setControl:h,hasConsumerStoppedPropagationRef:g,userInteractionCount:y,onUserInteraction:b,isFormControl:S,bubbleInput:p,setBubbleInput:m,onCheck:Qs(()=>o==null?void 0:o(),"onCheck")};return c.jsx(Kat,{scope:t,...x,children:gde(d)?d(x):i})}Qs(mde,"RadioProvider");var Jat="RadioTrigger",eot=O.forwardRef(Qs(function({__scopeRadio:t,onClick:n,...i},r){const{checked:s,disabled:a,value:o,setControl:l,onCheck:u,hasConsumerStoppedPropagationRef:d,onUserInteraction:f,isFormControl:h,bubbleInput:p}=J_(Jat,t),m=$r(r,l);return c.jsx(ps.button,{type:"button",role:"radio","aria-checked":s,"data-state":V3(s),"data-disabled":a?"":void 0,disabled:a,value:o,...i,ref:m,onClick:hr(n,g=>{s||(f(),u()),p&&h&&(d.current=g.isPropagationStopped(),d.current||g.stopPropagation())})})},"RadioTrigger")),tot="RadioIndicator",not=O.forwardRef(Qs(function(t,n){const{__scopeRadio:i,forceMount:r,...s}=t,a=J_(tot,i);return c.jsx(U_,{present:r||a.checked,children:c.jsx(ps.span,{"data-state":V3(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:n})})},"RadioIndicator")),iot="RadioBubbleInput",rot=O.forwardRef(Qs(function({__scopeRadio:t,onClick:n,...i},r){const{control:s,checked:a,required:o,disabled:l,name:u,value:d,form:f,bubbleInput:h,setBubbleInput:p,hasConsumerStoppedPropagationRef:m,userInteractionCount:g}=J_(iot,t),y=$r(r,p),b=V_(s),S=O.useRef(!1),x=O.useRef(a),v=O.useRef(g);O.useEffect(()=>{const w=h;if(!w)return;const k=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(k,"checked").set,A=g!==v.current;v.current=g;const R=x.current!==a;x.current=a;const j=!(A&&m.current);if(R&&C){S.current=!A;const Q=new Event("click",{bubbles:j});C.call(w,a),w.dispatchEvent(Q),S.current=!1}},[h,a,m,g]);const E=O.useRef(a);return c.jsx(ps.input,{type:"radio","aria-hidden":!0,defaultChecked:E.current,required:o,disabled:l,name:u,value:d,form:f,...i,tabIndex:-1,ref:y,onClick:hr(n,w=>{S.current&&w.stopPropagation()}),style:{...i.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"RadioBubbleInput"));function gde(e){return typeof e=="function"}Qs(gde,"isFunction");function V3(e){return e?"checked":"unchecked"}Qs(V3,"getState");var sot=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],X3="RadioGroup",[aot,Zht]=Ic(X3,[K_,pde]),Ode=K_(),eA=pde(),[oot,lot]=aot(X3),cot=O.forwardRef(Qs(function(t,n){const{__scopeRadioGroup:i,name:r,form:s,defaultValue:a,value:o,required:l=!1,disabled:u=!1,orientation:d,dir:f,loop:h=!0,onValueChange:p,...m}=t,g=Ode(i),y=z_(f),[b,S]=Mf({prop:o,defaultProp:a??null,onChange:p,caller:X3}),[x,v]=O.useState(null),E=$r(n,v),w=O.useRef(b);return O.useEffect(()=>{const k=s?x==null?void 0:x.ownerDocument.getElementById(s):x==null?void 0:x.closest("form");if(k instanceof HTMLFormElement){const _=Qs(()=>S(w.current),"reset");return k.addEventListener("reset",_),()=>k.removeEventListener("reset",_)}},[x,s,S]),c.jsx(oot,{scope:i,name:r,form:s,required:l,disabled:u,value:b,onValueChange:S,children:c.jsx(lde,{asChild:!0,...g,orientation:d,dir:y,loop:h,children:c.jsx(ps.div,{role:"radiogroup","aria-required":l,"aria-orientation":d,"data-disabled":u?"":void 0,dir:y,...m,ref:E})})})},"RadioGroup")),uot="RadioGroupItemProvider",dot="RadioGroupItemTrigger";function bde(e){const{__scopeRadioGroup:t,value:n,disabled:i,children:r,internal_do_not_use_render:s}=e,a=lot(uot,t),o=eA(t),l=a.disabled||i;return c.jsx(mde,{...o,checked:a.value===n,disabled:l,required:a.required,name:a.name,form:a.form,value:n,onCheck:()=>a.onValueChange(n),internal_do_not_use_render:s,children:r})}Qs(bde,"RadioGroupItemProvider");var fot=O.forwardRef(Qs(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=Ode(i),a=eA(i),{checked:o,disabled:l}=J_(dot,a.__scopeRadio),u=O.useRef(null),d=$r(n,u),f=O.useRef(!1);return O.useEffect(()=>{const h=Qs(m=>{sot.includes(m.key)&&(f.current=!0)},"handleKeyDown"),p=Qs(()=>f.current=!1,"handleKeyUp");return document.addEventListener("keydown",h),document.addEventListener("keyup",p),()=>{document.removeEventListener("keydown",h),document.removeEventListener("keyup",p)}},[]),c.jsx(cde,{asChild:!0,...s,focusable:!l,active:o,children:c.jsx(eot,{...a,...r,ref:d,onKeyDown:hr(r.onKeyDown,h=>{h.key==="Enter"&&h.preventDefault()}),onFocus:hr(r.onFocus,()=>{var h;f.current&&((h=u.current)==null||h.click())})})})},"RadioGroupItemTrigger")),hot=O.forwardRef(Qs(function(t,n){const{__scopeRadioGroup:i,value:r,disabled:s,...a}=t;return c.jsx(bde,{__scopeRadioGroup:i,value:r,disabled:s,internal_do_not_use_render:({isFormControl:o})=>c.jsxs(c.Fragment,{children:[c.jsx(fot,{...a,ref:n,__scopeRadioGroup:i}),o&&c.jsx(pot,{__scopeRadioGroup:i})]})})},"RadioGroupItem")),pot=O.forwardRef(Qs(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=eA(i);return c.jsx(rot,{...s,...r,ref:n})},"RadioGroupItemBubbleInput")),mot=O.forwardRef(Qs(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=eA(i);return c.jsx(not,{...s,...r,ref:n})},"RadioGroupIndicator")),got=Object.defineProperty,Oot=(e,t)=>got(e,"name",{value:t,configurable:!0}),bot="Toggle",yot=O.forwardRef(Oot(function(t,n){const{pressed:i,defaultPressed:r,onPressedChange:s,...a}=t,[o,l]=Mf({prop:i,onChange:s,defaultProp:r??!1,caller:bot});return c.jsx(ps.button,{type:"button","aria-pressed":o,"data-state":o?"on":"off","data-disabled":t.disabled?"":void 0,...a,ref:n,onClick:hr(t.onClick,()=>{t.disabled||l(!o)})})},"Toggle")),xot=Object.defineProperty,Tf=(e,t)=>xot(e,"name",{value:t,configurable:!0}),F0="ToggleGroup",[yde,Kht]=Ic(F0,[K_]),xde=K_(),Sot=O.forwardRef(Tf(function(t,n){const{type:i,...r}=t;if(i==="single"){const s=r;return c.jsx(vot,{role:"radiogroup",...s,ref:n})}if(i==="multiple"){const s=r;return c.jsx(wot,{role:"toolbar",...s,ref:n})}throw new Error(`Missing prop \`type\` expected on \`${F0}\``)},"ToggleGroup")),[Sde,vde]=yde(F0),vot=O.forwardRef(Tf(function(t,n){const{value:i,defaultValue:r,onValueChange:s=Tf(()=>{},"onValueChange"),...a}=t,[o,l]=Mf({prop:i,defaultProp:r??"",onChange:s,caller:F0});return c.jsx(Sde,{scope:t.__scopeToggleGroup,type:"single",value:O.useMemo(()=>o?[o]:[],[o]),onItemActivate:l,onItemDeactivate:O.useCallback(()=>l(""),[l]),children:c.jsx(wde,{...a,ref:n})})},"ToggleGroupImplSingle")),wot=O.forwardRef(Tf(function(t,n){const{value:i,defaultValue:r,onValueChange:s=Tf(()=>{},"onValueChange"),...a}=t,[o,l]=Mf({prop:i,defaultProp:r??[],onChange:s,caller:F0}),u=O.useCallback(f=>l((h=[])=>[...h,f]),[l]),d=O.useCallback(f=>l((h=[])=>h.filter(p=>p!==f)),[l]);return c.jsx(Sde,{scope:t.__scopeToggleGroup,type:"multiple",value:o,onItemActivate:u,onItemDeactivate:d,children:c.jsx(wde,{...a,ref:n})})},"ToggleGroupImplMultiple")),[Eot,kot]=yde(F0),wde=O.forwardRef(Tf(function(t,n){const{__scopeToggleGroup:i,disabled:r=!1,rovingFocus:s=!0,orientation:a,dir:o,loop:l=!0,...u}=t,d=xde(i),f=z_(o),h={dir:f,...u};return c.jsx(Eot,{scope:i,rovingFocus:s,disabled:r,children:s?c.jsx(lde,{asChild:!0,...d,orientation:a,dir:f,loop:l,children:c.jsx(ps.div,{...h,ref:n})}):c.jsx(ps.div,{...h,ref:n})})},"ToggleGroupImpl")),vM="ToggleGroupItem",Tot=O.forwardRef(Tf(function(t,n){const i=vde(vM,t.__scopeToggleGroup),r=kot(vM,t.__scopeToggleGroup),s=xde(t.__scopeToggleGroup),a=i.value.includes(t.value),o=r.disabled||t.disabled,l={...t,pressed:a,disabled:o},u=O.useRef(null);return r.rovingFocus?c.jsx(cde,{asChild:!0,...s,focusable:!o,active:a,ref:u,children:c.jsx(RX,{...l,ref:n})}):c.jsx(RX,{...l,ref:n})},"ToggleGroupItem")),RX=O.forwardRef(Tf(function(t,n){const{__scopeToggleGroup:i,value:r,...s}=t,a=vde(vM,i),o={role:"radio","aria-checked":t.pressed,"aria-pressed":void 0},l=a.type==="single"?o:void 0;return c.jsx(yot,{...l,...s,ref:n,onPressedChange:u=>{u?a.onItemActivate(r):a.onItemDeactivate(r)}})},"ToggleGroupItemImpl"));const _ot="_Container_1tuad_1",Aot="_Checkbox_1tuad_22",Not="_CheckMark_1tuad_92",Cot="_Label_1tuad_162",_v={Container:_ot,Checkbox:Aot,CheckMark:Not,Label:Cot},q3=({className:e,label:t,id:n,disabled:i,orientation:r="left",...s})=>{const a=O.useId(),o=n??a;return c.jsxs("div",{"data-disabled":i?"":void 0,"data-has-label":t?"":void 0,"data-orientation":r,className:ja(e,_v.Container),children:[c.jsx(est,{className:_v.Checkbox,id:o,disabled:i,...s,children:c.jsx(nst,{className:_v.CheckMark})}),t&&c.jsx("label",{htmlFor:o,className:_v.Label,onMouseDown:l=>{!l.defaultPrevented&&l.detail>1&&l.preventDefault()},children:t})]})},Rot="_RadioGroup_onrfm_1",Iot="_RadioLabel_onrfm_9",Pot="_RadioIndicatorWrapper_onrfm_26",jot="_RadioItem_onrfm_43",Mot="_RadioIndicator_onrfm_26",ob={RadioGroup:Rot,RadioLabel:Iot,RadioIndicatorWrapper:Pot,RadioItem:jot,RadioIndicator:Mot},Ede=O.createContext(null),Lot=()=>{const e=O.use(Ede);if(!e)throw new Error("RadioGroup components must be wrapped in ");return e},lb=({onChange:e,children:t,className:n,direction:i="row",disabled:r=!1,...s})=>{const a=O.useMemo(()=>({disabled:r,direction:i}),[r,i]);return c.jsx(Ede,{value:a,children:c.jsx(cot,{className:ja(ob.RadioGroup,n),"data-direction":i,onValueChange:e,disabled:r,...s,children:t})})},Dot=({value:e,disabled:t=!1,required:n,children:i,className:r,block:s=!1,...a})=>{const{disabled:o}=Lot(),l=o||t,u=O.useId(),d=`${e}-${u}`;return c.jsx("div",{className:"flex",...a,children:c.jsxs("label",{htmlFor:d,className:ja(ob.RadioLabel,r),"data-disabled":l?"":void 0,"data-block":s?"":void 0,onMouseDown:f=>{!f.defaultPrevented&&f.detail>1&&f.preventDefault()},children:[c.jsx("div",{className:ob.RadioIndicatorWrapper,children:c.jsx(hot,{id:d,value:e,disabled:l,required:n,className:ob.RadioItem,children:c.jsx(mot,{className:ob.RadioIndicator})})}),i]})})};lb.Item=Dot;function tA(e,t){return t[e.key]??e.defaultValue??""}function kde(e){const t=new Map,n={};for(const i of e){for(const r of i.env){const s=t.get(r.key);(!s||r.required&&!s.required)&&t.set(r.key,r)}i.enableFlag&&(t.set(i.enableFlag,{key:i.enableFlag,required:!0}),n[i.enableFlag]="true")}return{specs:[...t.values()],fixedValues:n}}function $ot(e,t){return kde([{env:e}]).specs.map(i=>({...i,value:i.serverManaged?i.placeholder||"由服务端注入":tA(i,t)}))}function Tde(e,t){const n=new Map;for(const i of e){if(i.serverManaged)continue;const r=tA(i,t);r.trim()&&n.set(i.key,r)}return[...n].map(([i,r])=>({key:i,value:r}))}function IX(e,t){return e.find(n=>n.required&&!n.serverManaged&&!tA(n,t).trim())}function H3(e,t){if(e.format!=="json")return;const n=tA(e,t).trim();if(n)try{JSON.parse(n);return}catch{return"JSON 格式不正确"}}function _de(e,t){for(const n of e){const i=H3(n,t);if(i)return{spec:n,error:i}}}function Qot({className:e,...t}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[c.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"}),c.jsx("path",{d:"M12 6.5c.4 2.4 1 3 3.4 3.4-2.4.4-3 1-3.4 3.4-.4-2.4-1-3-3.4-3.4 2.4-.4 3-1 3.4-3.4Z"})]})}const cm={llm:{id:"llm",label:"LLM 智能体",desc:"大模型驱动,自主完成任务",icon:Qot},sequential:{id:"sequential",label:"顺序型智能体",desc:"子 Agent 按顺序依次执行",icon:n1e},parallel:{id:"parallel",label:"并行型智能体",desc:"子 Agent 并行执行后汇总",icon:b1e},loop:{id:"loop",label:"循环型智能体",desc:"子 Agent 循环执行到满足条件",icon:OZ},a2a:{id:"a2a",label:"远程智能体",desc:"通过 A2A 协议调用远程 Agent",icon:kT}},Bot=[cm.llm,cm.sequential,cm.parallel,cm.loop,cm.a2a];function Ade(e){return cm[e??"llm"]}const Nde=e=>e==="sequential"||e==="parallel"||e==="loop",nA=e=>e==="a2a";function Ex(e){return e.trimEnd().replace(/[。.]+$/,"")}function Qh(e,t){const n=e.trim().toLocaleLowerCase();return n?t.some(i=>i==null?void 0:i.toLocaleLowerCase().includes(n)):!0}const Cde=new Set(["local","sqlite","mysql","postgresql"]),Rde=new Set(["local","opensearch","redis","viking","openviking","mem0"]),Ide=new Set(["opensearch","viking","context_search","openviking"]),Pde=new Set(["apmplus","cozeloop","tls"]),jde=new Set(["web_search","parallel_web_search","link_reader","web_scraper","image_generate","image_edit","video_generate","text_to_speech","run_code","vesearch"]),Uot=new Set(["llm","sequential","parallel","loop","a2a"]);function qt(e,t=""){return typeof e=="string"?e:t}function Wa(e){return e===!0}function Jb(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function zot(e){return!e||typeof e!="object"||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(t=>typeof t[1]=="string"))}function Mde(e){return Array.isArray(e)?e.map(t=>t&&typeof t=="object"?{name:qt(t.name),description:qt(t.description)}:null).filter(t=>!!t&&!!t.name.trim()):[]}function pg(e,t,n){return typeof e=="string"&&t.has(e)?e:n}function Lde(e){return typeof e=="string"&&Uot.has(e)?e:"llm"}function Dde(e){return e==="byteplus"?"byteplus":"volcengine"}function $de(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):3}function Qde(e){const t=e&&typeof e=="object"?e:{};return{enabled:Wa(t.enabled),registrySpaceId:qt(t.registrySpaceId),registryTopK:qt(t.registryTopK),registryRegion:qt(t.registryRegion),registryEndpoint:qt(t.registryEndpoint)}}function Bde(e,t="volcengine"){return Array.isArray(e)?e.map(n=>{const i=n&&typeof n=="object"?n:{},r=Dde(i.cloudProvider??t),s=i.memory&&typeof i.memory=="object"?i.memory:{},a=Qde(i.a2aRegistry),o=Lde(i.agentType),l=a.enabled&&o==="llm"?"a2a":o;return{...Bo(r),cloudProvider:r,name:qt(i.name),description:qt(i.description),instruction:qt(i.instruction),agentType:l,maxIterations:$de(i.maxIterations),a2aUrl:qt(i.a2aUrl),modelName:qt(i.modelName),modelSource:i.modelSource==="custom"||i.modelSource==="ark"?i.modelSource:void 0,modelProvider:qt(i.modelProvider),modelApiBase:qt(i.modelApiBase),builtinTools:Jb(i.builtinTools).filter(u=>jde.has(u)),customTools:Mde(i.customTools),memory:{shortTerm:Wa(s.shortTerm),longTerm:Wa(s.longTerm)},shortTermBackend:pg(i.shortTermBackend,Cde,"local"),longTermBackend:pg(i.longTermBackend,Rde,"local"),autoSaveSession:Wa(i.autoSaveSession),knowledgebase:Wa(i.knowledgebase),knowledgebaseBackend:pg(i.knowledgebaseBackend,Ide,Jd),knowledgebaseIndex:qt(i.knowledgebaseIndex),tracing:Wa(i.tracing),tracingExporters:Jb(i.tracingExporters).filter(u=>Pde.has(u)),a2aRegistry:l==="a2a"?{...a,enabled:!0}:a,subAgents:Bde(i.subAgents,r),selectedSkills:Ude(i)}}):[]}function Ude(e){if(!Array.isArray(e.selectedSkills))return[];const t=[];for(const n of e.selectedSkills){const i=n&&typeof n=="object"?n:{},r=qt(i.source),s=r==="local"||r==="skillspace"||r==="skillhub"?r:"skillhub",a=qt(i.name)||qt(i.slug)||qt(i.skillName)||qt(i.skillId)||"skill",o=qt(i.folder)||a,l=qt(i.description);if(s==="skillhub"){const f=qt(i.slug);if(!f)continue;t.push({source:s,folder:o,name:a,description:l,slug:f,namespace:qt(i.namespace)||"public"});continue}if(s==="local"){const h=(Array.isArray(i.localFiles)?i.localFiles:[]).map(p=>{const m=p&&typeof p=="object"?p:{},g=qt(m.path),y=qt(m.content);return g?{path:g,content:y}:null}).filter(p=>p!==null);if(h.length===0)continue;t.push({source:s,folder:o,name:a,description:l,localFiles:h});continue}const u=qt(i.skillSpaceId),d=qt(i.skillId);!u||!d||t.push({source:s,folder:o,name:a,description:l,skillSpaceId:u,skillSpaceName:qt(i.skillSpaceName),skillId:d,version:qt(i.version)})}return t}function Fot(e){const t=e&&typeof e=="object"?e:{},n=t.memory&&typeof t.memory=="object"?t.memory:{},i=t.deployment&&typeof t.deployment=="object"?t.deployment:{},r=zot(i.envValues),s=Qde(t.a2aRegistry),a=Lde(t.agentType),o=s.enabled&&a==="llm"?"a2a":a,l=Dde(t.cloudProvider),u=Array.isArray(t.mcpTools)?t.mcpTools.map(d=>{const f=d&&typeof d=="object"?d:{},h=f.transport==="stdio"?"stdio":"http";return{name:qt(f.name),transport:h,url:qt(f.url),authToken:qt(f.authToken),authTokenEnv:qt(f.authTokenEnv),command:qt(f.command),args:Jb(f.args)}}).filter(d=>d.transport==="http"?!!d.url:!!d.command):[];return{...Bo(l),cloudProvider:l,name:qt(t.name)||"my_agent",description:qt(t.description),instruction:qt(t.instruction)||"You are a helpful assistant.",agentType:o,maxIterations:$de(t.maxIterations),a2aUrl:qt(t.a2aUrl),modelName:qt(t.modelName),modelSource:t.modelSource==="custom"||t.modelSource==="ark"?t.modelSource:void 0,modelProvider:qt(t.modelProvider),modelApiBase:qt(t.modelApiBase),builtinTools:Jb(t.builtinTools).filter(d=>jde.has(d)),customTools:Mde(t.customTools),mcpTools:u,a2aRegistry:o==="a2a"?{...s,enabled:!0}:s,memory:{shortTerm:Wa(n.shortTerm),longTerm:Wa(n.longTerm)},shortTermBackend:pg(t.shortTermBackend,Cde,"local"),longTermBackend:pg(t.longTermBackend,Rde,"local"),autoSaveSession:Wa(t.autoSaveSession),knowledgebase:Wa(t.knowledgebase),knowledgebaseBackend:pg(t.knowledgebaseBackend,Ide,Jd),knowledgebaseIndex:qt(t.knowledgebaseIndex),tracing:Wa(t.tracing),tracingExporters:Jb(t.tracingExporters).filter(d=>Pde.has(d)),deployment:{feishuEnabled:Wa(i.feishuEnabled),runtimeName:qt(i.runtimeName),runtimeNameCustomized:Wa(i.runtimeNameCustomized)||!!qt(i.runtimeName).trim(),modelApiKeyId:qt(i.modelApiKeyId),modelApiKeyName:qt(i.modelApiKeyName),...Object.keys(r).length>0?{envValues:r}:{}},subAgents:Bde(t.subAgents,l),selectedSkills:Ude(t)}}function zde(e,t=e.cloudProvider??"volcengine"){const n=e.cloudProvider??t,i=new Set(Yee(n).map(r=>r.id));return{...e,builtinTools:(e.builtinTools??[]).filter(r=>i.has(r)),tracing:!1,tracingExporters:[],memory:{shortTerm:!1,longTerm:!1},shortTermBackend:"local",longTermBackend:"local",autoSaveSession:!1,knowledgebase:!1,knowledgebaseBackend:Jd,knowledgebaseIndex:"",subAgents:e.subAgents.map(r=>zde(r,n))}}const Vot=/^[A-Za-z_][A-Za-z0-9_]*$/,Y3=/^\$\{([A-Za-z_][A-Za-z0-9_]*)\}$/;function PX(e,t){return e.trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")||t}function Xot(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function Fde(e){var n,i,r;const t=(n=e.authTokenEnv)==null?void 0:n.trim();return t&&Vot.test(t)?t:((r=(i=e.authToken)==null?void 0:i.trim().match(Y3))==null?void 0:r[1])??""}function qot(e){if(e.authToken)return e.authToken;const t=Fde(e);return t?`\${${t}}`:""}function Hot(e,t){if(!t){const i={...e};return delete i.authToken,delete i.authTokenEnv,i}const n=t.trim().match(Y3);if(n){const i={...e,authTokenEnv:n[1]};return delete i.authToken,i}return{...e,authToken:t}}function Yot(e){if(!e.trim())return!1;try{return!new URL(e).pathname.replace(/\/+$/,"").endsWith("/mcp")}catch{return!1}}function iA(e){const t=new Set,n={},i=r=>{var u;const s=PX(r.name,"AGENT"),a=(u=r.mcpTools)==null?void 0:u.map((d,f)=>{var b,S;const h=((b=d.authToken)==null?void 0:b.trim())??"",p=((S=h.match(Y3))==null?void 0:S[1])??"";let g=Fde(d);if(!g&&h){const x=PX(d.name,`TOOL_${f+1}`);g=Xot(`MCP_${s}_${x}_AUTH_TOKEN`,t)}g&&t.add(g),g&&h&&!p&&(n[g]=h);const y={...d};return delete y.authToken,g?y.authTokenEnv=g:delete y.authTokenEnv,y}),o=r.subAgents.map(i),l=r.workflow?{...r.workflow,nodes:r.workflow.nodes.map(d=>({...d,agent:i(d.agent)}))}:void 0;return{...r,subAgents:o,...a?{mcpTools:a}:{},...l?{workflow:l}:{}}};return{draft:i(e),envValues:n}}function Vde(e){var n,i,r,s,a,o,l,u,d,f,h,p,m,g,y,b,S,x,v,E,w,k,_,C,A,R,j,Q,L,D,N,M,B,$,I,G;const t={agentType:e.agentType??"llm"};if(e.agentType==="a2a"){if((n=e.a2aRegistry)!=null&&n.enabled){const X={enabled:!0};(i=e.a2aRegistry.registrySpaceId)!=null&&i.trim()&&(X.registrySpaceId=e.a2aRegistry.registrySpaceId.trim()),X.registryTopK=((r=e.a2aRegistry.registryTopK)==null?void 0:r.trim())||bl.topK,X.registryRegion=((s=e.a2aRegistry.registryRegion)==null?void 0:s.trim())||bl.region,X.registryEndpoint=((a=e.a2aRegistry.registryEndpoint)==null?void 0:a.trim())||bl.endpoint,t.a2aRegistry=X}return t}if(t.name=e.name,t.description=e.description,t.instruction=e.instruction,e.agentType==="loop"&&(t.maxIterations=e.maxIterations??3),(o=e.modelName)!=null&&o.trim()&&(t.modelName=e.modelName.trim()),e.modelSource&&(t.modelSource=e.modelSource),e.modelSource!=="ark"&&((l=e.modelProvider)!=null&&l.trim()&&(t.modelProvider=e.modelProvider.trim()),(u=e.modelApiBase)!=null&&u.trim()&&(t.modelApiBase=e.modelApiBase.trim())),(d=e.builtinTools)!=null&&d.length&&(t.builtinTools=[...e.builtinTools]),(f=e.customTools)!=null&&f.length&&(t.customTools=e.customTools.map(X=>({name:X.name,description:X.description}))),(h=e.mcpTools)!=null&&h.length&&(t.mcpTools=e.mcpTools.map(X=>{var Y,ae,fe,ke;const U={name:X.name,transport:X.transport};return(Y=X.url)!=null&&Y.trim()&&(U.url=X.url.trim()),(ae=X.authTokenEnv)!=null&&ae.trim()&&(U.authTokenEnv=X.authTokenEnv.trim()),(fe=X.command)!=null&&fe.trim()&&(U.command=X.command.trim()),(ke=X.args)!=null&&ke.length&&(U.args=X.args),U})),((p=e.memory)!=null&&p.shortTerm||(m=e.memory)!=null&&m.longTerm)&&(t.memory={shortTerm:!!e.memory.shortTerm,longTerm:!!e.memory.longTerm},e.memory.shortTerm&&(t.shortTermBackend=e.shortTermBackend||"local"),e.memory.longTerm&&(t.longTermBackend=e.longTermBackend||"local",t.autoSaveSession=!!e.autoSaveSession)),e.knowledgebase&&(t.knowledgebase=!0,t.knowledgebaseBackend=e.knowledgebaseBackend||"viking",(g=e.knowledgebaseIndex)!=null&&g.trim()&&(t.knowledgebaseIndex=e.knowledgebaseIndex.trim())),e.tracing&&((y=e.tracingExporters)!=null&&y.length)&&(t.tracing=!0,t.tracingExporters=[...e.tracingExporters]),(b=e.deployment)!=null&&b.feishuEnabled||(x=(S=e.deployment)==null?void 0:S.runtimeName)!=null&&x.trim()||(v=e.deployment)!=null&&v.runtimeNameCustomized||(w=(E=e.deployment)==null?void 0:E.modelApiKeyId)!=null&&w.trim()||(_=(k=e.deployment)==null?void 0:k.modelApiKeyName)!=null&&_.trim()||Object.keys(((C=e.deployment)==null?void 0:C.envValues)??{}).length>0){const X={feishuEnabled:!!((A=e.deployment)!=null&&A.feishuEnabled)};(j=(R=e.deployment)==null?void 0:R.runtimeName)!=null&&j.trim()&&(X.runtimeName=e.deployment.runtimeName.trim()),(Q=e.deployment)!=null&&Q.runtimeNameCustomized&&(X.runtimeNameCustomized=!0),(D=(L=e.deployment)==null?void 0:L.modelApiKeyId)!=null&&D.trim()&&(X.modelApiKeyId=e.deployment.modelApiKeyId.trim()),(M=(N=e.deployment)==null?void 0:N.modelApiKeyName)!=null&&M.trim()&&(X.modelApiKeyName=e.deployment.modelApiKeyName.trim()),Object.keys(((B=e.deployment)==null?void 0:B.envValues)??{}).length>0&&(X.envValues={...($=e.deployment)==null?void 0:$.envValues}),t.deployment=X}return(I=e.selectedSkills)!=null&&I.length&&(t.selectedSkills=e.selectedSkills.map(X=>{const U={source:X.source,name:X.name,folder:X.folder};return X.description&&(U.description=X.description),X.source==="skillhub"?(U.slug=X.slug,U.namespace=X.namespace??"public"):X.source==="local"?U.localFiles=X.localFiles??[]:(U.skillSpaceId=X.skillSpaceId,U.skillSpaceName=X.skillSpaceName,U.skillId=X.skillId,X.version&&(U.version=X.version)),U})),(G=e.subAgents)!=null&&G.length&&(t.subAgents=e.subAgents.map(Vde)),t}function Got(e){var r;const t=iA(e),n={...((r=t.draft.deployment)==null?void 0:r.envValues)??{},...t.envValues},i={...t.draft,deployment:{...t.draft.deployment??{feishuEnabled:!1},envValues:n}};return`# VeADK Agent 结构配置 # 可在「创建 Agent」页通过「导入 YAML」重新载入。 -`+Lre(zde(i))}function Got(e,t){return e.trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")||t}function aR(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function Fde(e,t){const n=e==null?void 0:e.trim();if(!n)return!1;try{const i=new URL(n),r=new URL(t),s=i.pathname.replace(/\/+$/,""),a=r.pathname.replace(/\/+$/,"");return i.protocol==="https:"&&i.username===""&&i.password===""&&i.search===""&&i.hash===""&&i.hostname.toLowerCase()===r.hostname.toLowerCase()&&i.port===r.port&&s===a}catch{return!1}}function Vde(e,t){const n=[],i=new Set,r=s=>{var a,o,l;if(s.agentType==="llm"&&s.modelSource!=="ark"&&(s.modelSource==="custom"||(a=s.modelApiBase)!=null&&a.trim()&&!Fde(s.modelApiBase,t))){const u=Got(s.name,"AGENT"),d=((o=s.modelProvider)==null?void 0:o.trim())??"",f=((l=s.modelApiBase)==null?void 0:l.trim())??"",h=d?aR(`CUSTOM_MODEL_${u}_PROVIDER`,i):void 0;h&&i.add(h);const p=f?aR(`CUSTOM_MODEL_${u}_API_BASE`,i):void 0;p&&i.add(p);const m=aR(`CUSTOM_MODEL_${u}_API_KEY`,i);i.add(m),n.push({providerKey:h,apiBaseKey:p,apiKeyKey:m,provider:d,apiBase:f,label:`${s.name.trim()||"自定义模型"} 模型 API Key`})}s.subAgents.forEach(r)};return r(e),n}function Xde(e,t){return Vde(e,t).map(({apiKeyKey:n,label:i})=>({key:n,label:i}))}const qde="MODEL_AGENT_API_KEY_ID",Hde="MODEL_AGENT_API_KEY_NAME";function IX(e){return e==="MODEL_AGENT_API_KEY"||e===qde||e===Hde}function F0(e,t){var i,r,s;if(e.modelSource==="ark"||e.modelSource==="custom")return e.modelSource;if((r=(i=e.deployment)==null?void 0:i.modelApiKeyId)!=null&&r.trim())return"ark";const n=(s=e.modelApiBase)==null?void 0:s.trim();return!n||Fde(n,bc(t))?"ark":"custom"}function Wot(e,t){var h,p,m,g;const n=new Map(t.map(({key:y,value:b})=>[y,b.trim()])),i=((p=(h=e.deployment)==null?void 0:h.modelApiKeyId)==null?void 0:p.trim())??"",r=((g=(m=e.deployment)==null?void 0:m.modelApiKeyName)==null?void 0:g.trim())??"",s=n.get(qde)??"",a=n.get(Hde)??"",o=i||s,l=i?r||(s===i?a:""):s?a:r||a,u=!!o&&e.modelSource!=="custom",d=y=>{var x,v;const b=y.cloudProvider??e.cloudProvider??"volcengine",S=(x=y.modelProvider)!=null&&x.trim()||(v=y.modelApiBase)!=null&&v.trim()?F0(y,b):"custom";return{...y,modelSource:y.modelSource==="ark"||y.modelSource==="custom"?y.modelSource:y.agentType==="llm"?u?"ark":S:y.modelSource,subAgents:y.subAgents.map(d),...y.workflow?{workflow:{...y.workflow,nodes:y.workflow.nodes.map(E=>({...E,agent:d(E.agent)}))}}:{}}},f=d(e);return{...f,deployment:{...f.deployment??{feishuEnabled:!1},modelApiKeyId:o,modelApiKeyName:l}}}function Yde(e,t){const n=e.cloudProvider??t,i=F0(e,n);return{...e,cloudProvider:n,modelSource:i,modelProvider:i==="ark"?"":e.modelProvider,modelApiBase:i==="ark"?"":e.modelApiBase,subAgents:e.subAgents.map(r=>Yde(r,n))}}function Wf(e,t){return e[t]|e[t+1]<<8}function Fp(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}async function Zot(e){const t=new DecompressionStream("deflate-raw"),n=new Blob([new Uint8Array(e)]).stream().pipeThrough(t);return new Uint8Array(await new Response(n).arrayBuffer())}async function Gde(e,t={}){let i=-1;for(let u=e.length-22;u>=0&&u>e.length-65557;u--)if(Fp(e,u)===101010256){i=u;break}if(i<0)throw new Error("无效的 zip:找不到 EOCD");const r=Wf(e,i+10);if(t.maxEntries!==void 0&&r>t.maxEntries)throw new Error(`zip 文件数不能超过 ${t.maxEntries} 个`);let s=Fp(e,i+16);const a=new TextDecoder("utf-8"),o=[];let l=0;for(let u=0;ut.maxUncompressedBytes)throw new Error("zip 解压后的内容过大");const S=Wf(e,y+26),x=Wf(e,y+28),v=y+30+S+x,E=e.subarray(v,v+f);let w;if(d===0)w=E;else if(d===8)w=await Zot(E);else{s+=46+p+m+g;continue}o.push({name:b,text:a.decode(w)}),s+=46+p+m+g}return o}const Kot="/harness/skills/findskill";async function Jot(e,t="public"){const n=e.trim(),i=new URLSearchParams({query:n,page_number:"1",page_size:"20"}),r=`${Kot}?${i.toString()}`,s=await fetch(r,{headers:{accept:"application/json"},signal:Gn(void 0,Tl)});if(!s.ok)throw new Error(`搜索失败 (${s.status})`);return((await s.json()).items??[]).map(o=>({source:"skillhub",id:o.slug??o.name??"",slug:o.slug??"",name:o.name??o.slug??"",description:o.description??"",namespace:t,sourceRepo:o.sourceRepo,downloadCount:o.downloadCount,version:o.version}))}function elt({selected:e,onChange:t}){const[n,i]=O.useState(""),[r,s]=O.useState([]),[a,o]=O.useState(!1),[l,u]=O.useState(null),[d,f]=O.useState(!1),h=g=>e.some(y=>y.source==="skillhub"&&y.slug===g),p=g=>{g.slug&&(h(g.slug)?t(e.filter(y=>!(y.source==="skillhub"&&y.slug===g.slug))):t([...e,{source:"skillhub",slug:g.slug,name:g.name,folder:g.slug.split("/").pop()||g.name,namespace:g.namespace||"public",description:g.description}]))},m=async g=>{o(!0),u(null),f(!0);try{const y=await Jot(g);s(y)}catch(y){u(y instanceof Error?y.message:"搜索失败,请稍后重试。"),s([])}finally{o(!1)}};return O.useEffect(()=>{const g=n.trim();if(!g){s([]),f(!1),u(null);return}const y=setTimeout(()=>m(g),300);return()=>clearTimeout(y)},[n]),c.jsxs("div",{className:"cw-skillhub",children:[c.jsxs("div",{className:"cw-skill-searchrow",children:[c.jsxs("div",{className:"cw-skill-searchbox",children:[c.jsx(wE,{className:"cw-i cw-skill-searchicon","aria-hidden":!0}),c.jsx("input",{className:"cw-input cw-skill-input",value:n,placeholder:"搜索火山 Find Skill 技能广场,例如 数据分析、PDF…",onChange:g=>i(g.target.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),n.trim()&&m(n))}})]}),c.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft",onClick:()=>n.trim()&&m(n),disabled:!n.trim()||a,children:[a?c.jsx(qn,{className:"cw-i cw-spin"}):c.jsx(wE,{className:"cw-i"}),"搜索"]})]}),l&&c.jsxs("div",{className:"cw-banner",children:[c.jsx(Uu,{className:"cw-i"}),c.jsx("span",{children:l})]}),a&&r.length===0?c.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[c.jsx(qn,{className:"cw-i cw-spin"})," 正在搜索…"]}):r.length>0?c.jsx("div",{className:"cw-skill-results",children:r.map(g=>{const y=h(g.slug||"");return c.jsxs("button",{type:"button",className:`cw-skill-result ${y?"is-on":""}`,onClick:()=>p(g),"aria-pressed":y,children:[c.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:y?c.jsx(kc,{className:"cw-i cw-i-sm"}):c.jsx(Ls,{className:"cw-i cw-i-sm"})}),c.jsxs("span",{className:"cw-skill-result-meta",children:[c.jsx("span",{className:"cw-skill-result-name",children:g.name}),g.description&&c.jsx("span",{className:"cw-skill-result-desc",children:Ex(g.description)}),g.sourceRepo&&c.jsx("span",{className:"cw-skill-result-repo",children:g.sourceRepo})]})]},g.id||g.slug)})}):d&&!l?c.jsx("p",{className:"cw-empty-line",children:"没有找到匹配的技能,换个关键词试试。"}):!d&&c.jsx("p",{className:"cw-empty-line",children:"输入关键词搜索火山 Find Skill 技能广场,所选技能会在生成项目时下载到 skills/ 目录。"})]})}const wM=/(^|\/)skill\.md$/i;function tlt(e){const t=(e??"").replace(/\r\n?/g,` +`+$re(Vde(i))}function Wot(e,t){return e.trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")||t}function aR(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function Xde(e,t){const n=e==null?void 0:e.trim();if(!n)return!1;try{const i=new URL(n),r=new URL(t),s=i.pathname.replace(/\/+$/,""),a=r.pathname.replace(/\/+$/,"");return i.protocol==="https:"&&i.username===""&&i.password===""&&i.search===""&&i.hash===""&&i.hostname.toLowerCase()===r.hostname.toLowerCase()&&i.port===r.port&&s===a}catch{return!1}}function qde(e,t){const n=[],i=new Set,r=s=>{var a,o,l;if(s.agentType==="llm"&&s.modelSource!=="ark"&&(s.modelSource==="custom"||(a=s.modelApiBase)!=null&&a.trim()&&!Xde(s.modelApiBase,t))){const u=Wot(s.name,"AGENT"),d=((o=s.modelProvider)==null?void 0:o.trim())??"",f=((l=s.modelApiBase)==null?void 0:l.trim())??"",h=d?aR(`CUSTOM_MODEL_${u}_PROVIDER`,i):void 0;h&&i.add(h);const p=f?aR(`CUSTOM_MODEL_${u}_API_BASE`,i):void 0;p&&i.add(p);const m=aR(`CUSTOM_MODEL_${u}_API_KEY`,i);i.add(m),n.push({providerKey:h,apiBaseKey:p,apiKeyKey:m,provider:d,apiBase:f,label:`${s.name.trim()||"自定义模型"} 模型 API Key`})}s.subAgents.forEach(r)};return r(e),n}function Hde(e,t){return qde(e,t).map(({apiKeyKey:n,label:i})=>({key:n,label:i}))}const Yde="MODEL_AGENT_API_KEY_ID",Gde="MODEL_AGENT_API_KEY_NAME";function jX(e){return e==="MODEL_AGENT_API_KEY"||e===Yde||e===Gde}function V0(e,t){var i,r,s;if(e.modelSource==="ark"||e.modelSource==="custom")return e.modelSource;if((r=(i=e.deployment)==null?void 0:i.modelApiKeyId)!=null&&r.trim())return"ark";const n=(s=e.modelApiBase)==null?void 0:s.trim();return!n||Xde(n,bc(t))?"ark":"custom"}function Zot(e,t){var h,p,m,g;const n=new Map(t.map(({key:y,value:b})=>[y,b.trim()])),i=((p=(h=e.deployment)==null?void 0:h.modelApiKeyId)==null?void 0:p.trim())??"",r=((g=(m=e.deployment)==null?void 0:m.modelApiKeyName)==null?void 0:g.trim())??"",s=n.get(Yde)??"",a=n.get(Gde)??"",o=i||s,l=i?r||(s===i?a:""):s?a:r||a,u=!!o&&e.modelSource!=="custom",d=y=>{var x,v;const b=y.cloudProvider??e.cloudProvider??"volcengine",S=(x=y.modelProvider)!=null&&x.trim()||(v=y.modelApiBase)!=null&&v.trim()?V0(y,b):"custom";return{...y,modelSource:y.modelSource==="ark"||y.modelSource==="custom"?y.modelSource:y.agentType==="llm"?u?"ark":S:y.modelSource,subAgents:y.subAgents.map(d),...y.workflow?{workflow:{...y.workflow,nodes:y.workflow.nodes.map(E=>({...E,agent:d(E.agent)}))}}:{}}},f=d(e);return{...f,deployment:{...f.deployment??{feishuEnabled:!1},modelApiKeyId:o,modelApiKeyName:l}}}function Wde(e,t){const n=e.cloudProvider??t,i=V0(e,n);return{...e,cloudProvider:n,modelSource:i,modelProvider:i==="ark"?"":e.modelProvider,modelApiBase:i==="ark"?"":e.modelApiBase,subAgents:e.subAgents.map(r=>Wde(r,n))}}function Wf(e,t){return e[t]|e[t+1]<<8}function Vp(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}async function Kot(e){const t=new DecompressionStream("deflate-raw"),n=new Blob([new Uint8Array(e)]).stream().pipeThrough(t);return new Uint8Array(await new Response(n).arrayBuffer())}async function Zde(e,t={}){let i=-1;for(let u=e.length-22;u>=0&&u>e.length-65557;u--)if(Vp(e,u)===101010256){i=u;break}if(i<0)throw new Error("无效的 zip:找不到 EOCD");const r=Wf(e,i+10);if(t.maxEntries!==void 0&&r>t.maxEntries)throw new Error(`zip 文件数不能超过 ${t.maxEntries} 个`);let s=Vp(e,i+16);const a=new TextDecoder("utf-8"),o=[];let l=0;for(let u=0;ut.maxUncompressedBytes)throw new Error("zip 解压后的内容过大");const S=Wf(e,y+26),x=Wf(e,y+28),v=y+30+S+x,E=e.subarray(v,v+f);let w;if(d===0)w=E;else if(d===8)w=await Kot(E);else{s+=46+p+m+g;continue}o.push({name:b,text:a.decode(w)}),s+=46+p+m+g}return o}const Jot="/harness/skills/findskill";async function elt(e,t="public"){const n=e.trim(),i=new URLSearchParams({query:n,page_number:"1",page_size:"20"}),r=`${Jot}?${i.toString()}`,s=await fetch(r,{headers:{accept:"application/json"},signal:Gn(void 0,Tl)});if(!s.ok)throw new Error(`搜索失败 (${s.status})`);return((await s.json()).items??[]).map(o=>({source:"skillhub",id:o.slug??o.name??"",slug:o.slug??"",name:o.name??o.slug??"",description:o.description??"",namespace:t,sourceRepo:o.sourceRepo,downloadCount:o.downloadCount,version:o.version}))}function tlt({selected:e,onChange:t}){const[n,i]=O.useState(""),[r,s]=O.useState([]),[a,o]=O.useState(!1),[l,u]=O.useState(null),[d,f]=O.useState(!1),h=g=>e.some(y=>y.source==="skillhub"&&y.slug===g),p=g=>{g.slug&&(h(g.slug)?t(e.filter(y=>!(y.source==="skillhub"&&y.slug===g.slug))):t([...e,{source:"skillhub",slug:g.slug,name:g.name,folder:g.slug.split("/").pop()||g.name,namespace:g.namespace||"public",description:g.description}]))},m=async g=>{o(!0),u(null),f(!0);try{const y=await elt(g);s(y)}catch(y){u(y instanceof Error?y.message:"搜索失败,请稍后重试。"),s([])}finally{o(!1)}};return O.useEffect(()=>{const g=n.trim();if(!g){s([]),f(!1),u(null);return}const y=setTimeout(()=>m(g),300);return()=>clearTimeout(y)},[n]),c.jsxs("div",{className:"cw-skillhub",children:[c.jsxs("div",{className:"cw-skill-searchrow",children:[c.jsxs("div",{className:"cw-skill-searchbox",children:[c.jsx(wE,{className:"cw-i cw-skill-searchicon","aria-hidden":!0}),c.jsx("input",{className:"cw-input cw-skill-input",value:n,placeholder:"搜索火山 Find Skill 技能广场,例如 数据分析、PDF…",onChange:g=>i(g.target.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),n.trim()&&m(n))}})]}),c.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft",onClick:()=>n.trim()&&m(n),disabled:!n.trim()||a,children:[a?c.jsx(qn,{className:"cw-i cw-spin"}):c.jsx(wE,{className:"cw-i"}),"搜索"]})]}),l&&c.jsxs("div",{className:"cw-banner",children:[c.jsx(zu,{className:"cw-i"}),c.jsx("span",{children:l})]}),a&&r.length===0?c.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[c.jsx(qn,{className:"cw-i cw-spin"})," 正在搜索…"]}):r.length>0?c.jsx("div",{className:"cw-skill-results",children:r.map(g=>{const y=h(g.slug||"");return c.jsxs("button",{type:"button",className:`cw-skill-result ${y?"is-on":""}`,onClick:()=>p(g),"aria-pressed":y,children:[c.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:y?c.jsx(kc,{className:"cw-i cw-i-sm"}):c.jsx(Ls,{className:"cw-i cw-i-sm"})}),c.jsxs("span",{className:"cw-skill-result-meta",children:[c.jsx("span",{className:"cw-skill-result-name",children:g.name}),g.description&&c.jsx("span",{className:"cw-skill-result-desc",children:Ex(g.description)}),g.sourceRepo&&c.jsx("span",{className:"cw-skill-result-repo",children:g.sourceRepo})]})]},g.id||g.slug)})}):d&&!l?c.jsx("p",{className:"cw-empty-line",children:"没有找到匹配的技能,换个关键词试试。"}):!d&&c.jsx("p",{className:"cw-empty-line",children:"输入关键词搜索火山 Find Skill 技能广场,所选技能会在生成项目时下载到 skills/ 目录。"})]})}const wM=/(^|\/)skill\.md$/i;function nlt(e){const t=(e??"").replace(/\r\n?/g,` `).split(` -`);if(!t.length||t[0].trim()!=="---")return{name:"",description:""};let n=-1;for(let r=1;r=2&&(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))}function ilt(...e){var t;for(const n of e){const i=(t=n.trim().replace(/\\/g,"/").split("/").filter(Boolean).pop())==null?void 0:t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"");if(i)return i.slice(0,64)}return"local-skill"}function rlt(e,t){return t.trim()||e}function Wde(e){const t=e.map(i=>({path:i.path.replace(/\\/g,"/").replace(/^\.\//,""),text:i.text})).filter(i=>i.path.length>0&&!i.path.endsWith("/")),n=new Set(t.map(i=>i.path.split("/")[0]));if(n.size===1&&t.every(i=>i.path.includes("/"))){const i=[...n][0]+"/";return t.map(r=>({path:r.path.slice(i.length),text:r.text}))}return t}function slt(e){const t=new Map,n=new Set;for(const i of e)if(wM.test("/"+i.path)){const r=i.path.split("/");n.add(r.slice(0,-1).join("/"))}for(const i of e){const r=i.path.split("/");let s="";for(let u=r.length-1;u>=0;u--){const d=r.slice(0,u).join("/");if(n.has(d)){s=d;break}}const a=wM.test("/"+i.path);if(!s&&!a&&!n.has("")||!n.has(s)&&!a)continue;const o=s?i.path.slice(s.length+1):i.path,l=t.get(s)||[];l.push({path:o,text:i.text}),t.set(s,l)}return t}function alt(e,t,n){const i=`${n}${e?"/"+e:""}`,r=t.find(l=>wM.test("/"+l.path));if(!r)return{hit:null,error:`${i} 缺少 SKILL.md`};const s=tlt(r.text),a=ilt(s.name,e,n.replace(/\.[^.]+$/,"")),o=[];for(const l of t){if(l.path.split("/").some(f=>f===".."))return{hit:null,error:`${i} 包含非法路径(..):${l.path}`};const d=`skills/${a}/${l.path}`;if(!d.startsWith(`skills/${a}/`))return{hit:null,error:`${i} 包含非法路径:${l.path}`};o.push({path:d,content:l.text})}return{hit:{source:"local",id:`local:${a}:${t.length}`,name:rlt(a,s.name),description:s.description||"本地 Skill",folder:a,localFiles:o},error:null}}async function olt(e){const t=new Uint8Array(await e.arrayBuffer()),i=(await Gde(t)).map(r=>({path:r.name,text:r.text}));return Zde(Wde(i),e.name)}async function llt(e,t=new Map){const n=[];for(let i=0;ie.file(t,n))}async function ult(e){const t=e.createReader(),n=[];for(;;){const i=await new Promise((r,s)=>t.readEntries(r,s));if(i.length===0)return n;n.push(...i)}}async function Kde(e,t=""){const n=t?`${t}/${e.name}`:e.name;if(e.isFile)return[{file:await clt(e),path:n}];if(!e.isDirectory)return[];const i=await ult(e);return(await Promise.all(i.map(r=>Kde(r,n)))).flat()}function dlt({selected:e,onChange:t}){const[n,i]=O.useState([]),[r,s]=O.useState([]),[a,o]=O.useState(!1),[l,u]=O.useState(!1),d=O.useRef(0),f=x=>e.some(v=>v.source==="local"&&v.folder===x),h=x=>{x.localFiles&&(f(x.folder||x.name)?t(e.filter(v=>!(v.source==="local"&&v.folder===(x.folder||x.name)))):t([...e,{source:"local",folder:x.folder||x.name,name:x.name,description:x.description,localFiles:x.localFiles}]))},p=O.useRef([]),m=O.useRef(e);O.useEffect(()=>{p.current=r},[r]),O.useEffect(()=>{m.current=e},[e]);const g=x=>{const v=new Set([...p.current.map(_=>_.folder||_.name),...m.current.filter(_=>_.source==="local").map(_=>_.folder)]),E=[],w=[];for(const _ of x.hits){const C=_.folder||_.name;if(v.has(C)){E.push(_.name);continue}v.add(C),w.push(_)}s(_=>[..._,...w]);const k=[...x.errors];if(E.length>0&&k.push(`已跳过重复技能:${E.join("、")}`),i(k),w.length===1&&x.errors.length===0&&E.length===0){const _=w[0];_.localFiles&&t([...m.current,{source:"local",folder:_.folder||_.name,name:_.name,description:_.description,localFiles:_.localFiles}])}},y=x=>{x.preventDefault(),d.current+=1,u(!0)},b=x=>{x.preventDefault(),d.current=Math.max(0,d.current-1),d.current===0&&u(!1)},S=async x=>{if(x.preventDefault(),d.current=0,u(!1),a)return;const v=Array.from(x.dataTransfer.items).map(E=>{var w;return(w=E.webkitGetAsEntry)==null?void 0:w.call(E)}).filter(E=>E!==null);if(v.length===0){i(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}o(!0);try{const E=(await Promise.all(v.map(_=>Kde(_)))).flat(),w=v.some(_=>_.isDirectory);if(!w&&E.length===1&&E[0].file.name.toLowerCase().endsWith(".zip")){g(await olt(E[0].file));return}if(!w){i(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}const k=new Map(E.map(({file:_,path:C})=>[_,C]));g(await llt(E.map(({file:_})=>_),k))}catch(E){i([`读取失败:${E instanceof Error?E.message:String(E)}`])}finally{o(!1)}};return c.jsxs("div",{className:"cw-local",children:[c.jsxs("div",{className:`cw-local-dropzone ${l?"is-dragging":""}`,role:"group","aria-label":"拖入文件夹或 ZIP,自动识别 Skill",onDragEnter:y,onDragOver:x=>x.preventDefault(),onDragLeave:b,onDrop:x=>void S(x),children:[c.jsx(gD,{className:"cw-local-drop-icon","aria-hidden":!0}),c.jsx("p",{className:"cw-local-drop-hint",children:"拖入文件夹或 ZIP,自动识别 Skill"})]}),c.jsx("p",{className:"cw-local-hint",children:"每个技能需包含 SKILL.md。支持包含多个技能的目录。"}),a&&c.jsx("p",{className:"cw-empty-line",children:"正在读取文件…"}),n.length>0&&c.jsxs("div",{className:"cw-banner",children:[c.jsx(Uu,{className:"cw-i"}),c.jsx("span",{children:n.join(";")})]}),r.length>0&&c.jsx("div",{className:"cw-skill-results",children:r.map(x=>{var E;const v=f(x.folder||x.name);return c.jsxs("button",{type:"button",className:`cw-skill-result ${v?"is-on":""}`,onClick:()=>h(x),"aria-pressed":v,children:[c.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:v?c.jsx(kc,{className:"cw-i cw-i-sm"}):c.jsx(Ls,{className:"cw-i cw-i-sm"})}),c.jsxs("span",{className:"cw-skill-result-meta",children:[c.jsx("span",{className:"cw-skill-result-name",children:x.name}),x.description&&c.jsx("span",{className:"cw-skill-result-desc",children:Ex(x.description)}),c.jsxs("span",{className:"cw-skill-result-repo",children:["本地 · ",((E=x.localFiles)==null?void 0:E.length)??0," 个文件"]})]})]},x.id)})})]})}function flt({selected:e,onChange:t,cloudProvider:n="volcengine"}){const[i,r]=O.useState([]),[s,a]=O.useState([]),[o,l]=O.useState(""),[u,d]=O.useState(!0),[f,h]=O.useState(!1),[p,m]=O.useState(null);O.useEffect(()=>{let x=!1;return(async()=>{d(!0),m(null);try{const v=await o$();x||(r(v),v.length>0&&l(v[0].id))}catch(v){x||m(v instanceof Error?v.message:"加载失败")}finally{x||d(!1)}})(),()=>{x=!0}},[]),O.useEffect(()=>{if(!o){a([]);return}const x=i.find(E=>E.id===o);let v=!1;return(async()=>{h(!0),m(null);try{const E=await l$(o,x==null?void 0:x.region);v||a(E)}catch(E){v||m(E instanceof Error?E.message:"加载失败")}finally{v||h(!1)}})(),()=>{v=!0}},[o,i]);const g=i.find(x=>x.id===o),y=g?URe(g.id,g.region,n):"",b=(x,v)=>e.some(E=>E.source==="skillspace"&&E.skillId===x&&(E.version||"")===v),S=x=>{if(g)if(b(x.skillId,x.version))t(e.filter(v=>!(v.source==="skillspace"&&v.skillId===x.skillId&&(v.version||"")===x.version)));else{const v=BRe(g,x);t([...e,{source:"skillspace",folder:v.folder||x.skillName,name:v.name,description:v.description,skillSpaceId:v.skillSpaceId,skillSpaceName:v.skillSpaceName,skillSpaceRegion:v.skillSpaceRegion,skillId:v.skillId,version:v.version}])}};return c.jsx("div",{className:"cw-skillspace",children:u?c.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[c.jsx(qn,{className:"cw-i cw-spin"})," 正在加载 AgentKit Skills 中心…"]}):p?c.jsxs("div",{className:"cw-banner",children:[c.jsx(Uu,{className:"cw-i"}),c.jsx("span",{children:p})]}):i.length===0?c.jsx("p",{className:"cw-empty-line",children:"此账号下没有 AgentKit Skills 中心。"}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"cw-skillspace-header",children:[c.jsx("select",{className:"cw-input cw-skillspace-select",value:o,onChange:x=>l(x.target.value),"aria-label":"选择 AgentKit Skills 中心",children:i.map(x=>c.jsxs("option",{value:x.id,children:[x.name||x.id,x.description?` — ${Ex(x.description)}`:""]},x.id))}),g&&c.jsxs(c.Fragment,{children:[g.region&&c.jsx("span",{className:"cw-skillspace-region-label",title:g.region,children:ff(g.region,n)}),y&&c.jsx("a",{href:y,target:"_blank",rel:"noopener noreferrer",className:"cw-button cw-button-secondary cw-skillspace-console-link",title:"在火山引擎控制台打开","aria-label":"在火山引擎控制台打开",children:c.jsx(Ag,{className:"cw-i cw-i-sm"})})]})]}),f?c.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[c.jsx(qn,{className:"cw-i cw-spin"})," 正在加载技能列表…"]}):s.length===0?c.jsx("p",{className:"cw-empty-line",children:"此 AgentKit Skills 中心暂无技能。"}):c.jsx("div",{className:"cw-skill-results",children:s.map(x=>{const v=b(x.skillId,x.version);return c.jsxs("button",{type:"button",className:`cw-skill-result ${v?"is-on":""}`,onClick:()=>S(x),"aria-pressed":v,children:[c.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:v?c.jsx(kc,{className:"cw-i cw-i-sm"}):c.jsx(Ls,{className:"cw-i cw-i-sm"})}),c.jsxs("span",{className:"cw-skill-result-meta",children:[c.jsxs("span",{className:"cw-skill-result-name",children:[x.skillName,x.version&&c.jsxs("span",{className:"cw-skill-result-version",children:[" ","v",x.version]})]}),x.skillDescription&&c.jsx("span",{className:"cw-skill-result-desc",children:Ex(x.skillDescription)}),c.jsxs("span",{className:"cw-skill-result-repo",children:[c.jsx(Xxe,{className:"cw-i cw-i-sm"})," ",(g==null?void 0:g.name)||o]})]})]},`${x.skillId}/${x.version}`)})})]})})}async function hlt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Gn(void 0,Tl)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 AgentKit 智能体中心");if(t.status===401)throw new Error("请先登录以访问 AgentKit 智能体中心");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function plt(e={}){const t=new URLSearchParams({page_size:String(e.pageSize??100),project:e.project||"default"});return e.region&&t.set("region",e.region),(await hlt(`/web/a2a-spaces?${t.toString()}`)).items||[]}async function mlt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Gn(void 0,Tl)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 VikingDB 知识库");if(t.status===401)throw new Error("请先登录以访问 VikingDB 知识库");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function glt(e={}){const t=new URLSearchParams;e.project&&t.set("project",e.project),e.region&&t.set("region",e.region);const n=t.toString();return(await mlt(`/web/viking-knowledgebases${n?`?${n}`:""}`)).items||[]}const Olt=(()=>{const e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let i=0;i<8;i++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function blt(e){let t=4294967295;for(let n=0;n>>8;return(t^4294967295)>>>0}function ir(e,t){e.push(t&255,t>>>8&255)}function Fa(e,t){e.push(t&255,t>>>8&255,t>>>16&255,t>>>24&255)}const PX=2048,oR=20,jX=0;function ylt(e){const t=new TextEncoder,n=[],i=[];let r=0;for(const p of e){const m=t.encode(p.path),g=t.encode(p.content),y=blt(g),b=g.length,S=[];Fa(S,67324752),ir(S,oR),ir(S,PX),ir(S,jX),ir(S,0),ir(S,0),Fa(S,y),Fa(S,b),Fa(S,b),ir(S,m.length),ir(S,0);const x=Uint8Array.from(S);n.push(x,m,g),i.push({nameBytes:m,dataBytes:g,crc:y,size:b,offset:r}),r+=x.length+m.length+g.length}const s=r,a=[];let o=0;for(const p of i){const m=[];Fa(m,33639248),ir(m,oR),ir(m,oR),ir(m,PX),ir(m,jX),ir(m,0),ir(m,0),Fa(m,p.crc),Fa(m,p.size),Fa(m,p.size),ir(m,p.nameBytes.length),ir(m,0),ir(m,0),ir(m,0),ir(m,0),Fa(m,0),Fa(m,p.offset);const g=Uint8Array.from(m);a.push(g,p.nameBytes),o+=g.length+p.nameBytes.length}const l=[];Fa(l,101010256),ir(l,0),ir(l,0),ir(l,i.length),ir(l,i.length),Fa(l,o),Fa(l,s),ir(l,0);const u=[...n,...a,Uint8Array.from(l)],d=u.reduce((p,m)=>p+m.length,0),f=new Uint8Array(d);let h=0;for(const p of u)f.set(p,h),h+=p.length;return new Blob([f],{type:"application/zip"})}const xlt=O.lazy(()=>ug(()=>Promise.resolve().then(()=>cce),void 0));function Slt(e){const t={name:"",children:new Map};for(const n of e){const i=n.path.split("/").filter(Boolean);let r=t;i.forEach((s,a)=>{let o=r.children.get(s);o||(o={name:s,children:new Map},r.children.set(s,o)),a===i.length-1&&(o.path=n.path),r=o})}return t}function vlt(e){return[...e.children.values()].sort((t,n)=>{const i=t.children.size>0&&t.path===void 0,r=n.children.size>0&&n.path===void 0;return i!==r?i?-1:1:t.name.localeCompare(n.name)})}function Jde({project:e,open:t,onClose:n,onChange:i}){var m;const[r,s]=O.useState(((m=e.files[0])==null?void 0:m.path)??null),[a,o]=O.useState(new Set),l=O.useRef(null),u=O.useMemo(()=>Slt(e.files),[e.files]),d=e.files.find(g=>g.path===r)??null;if(O.useEffect(()=>{var b;if(!t)return;const g=document.body.style.overflow;document.body.style.overflow="hidden",(b=l.current)==null||b.focus();const y=S=>{S.key==="Escape"&&n()};return window.addEventListener("keydown",y),()=>{document.body.style.overflow=g,window.removeEventListener("keydown",y)}},[n,t]),O.useEffect(()=>{d||e.files.length===0||s(e.files[0].path)},[e.files,d]),!t)return null;function f(g){o(y=>{const b=new Set(y);return b.has(g)?b.delete(g):b.add(g),b})}function h(g,y,b){return vlt(g).map(S=>{const x=b?`${b}/${S.name}`:S.name;if(!(S.children.size>0&&S.path===void 0)&&S.path)return c.jsxs("button",{type:"button",className:`code-browser-file${r===S.path?" is-active":""}`,style:{paddingLeft:`${12+y*16}px`},onClick:()=>s(S.path??null),title:S.path,children:[c.jsx(PB,{"aria-hidden":"true"}),c.jsx("span",{children:S.name})]},x);const E=a.has(x);return c.jsxs("div",{children:[c.jsxs("button",{type:"button",className:"code-browser-folder",style:{paddingLeft:`${10+y*16}px`},onClick:()=>f(x),"aria-expanded":!E,children:[c.jsx(p0,{className:E?"":"is-open","aria-hidden":"true"}),c.jsx(fZ,{"aria-hidden":"true"}),c.jsx("span",{children:S.name})]}),!E&&h(S,y+1,x)]},x)})}function p(g){d&&i({...e,files:e.files.map(y=>y.path===d.path?{...y,content:g}:y)})}return ar.createPortal(c.jsx("div",{className:"code-browser-backdrop",onMouseDown:g=>{g.target===g.currentTarget&&n()},children:c.jsxs("section",{className:"code-browser-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"code-browser-title",children:[c.jsxs("header",{className:"code-browser-head",children:[c.jsxs("div",{className:"code-browser-title-wrap",children:[c.jsx("span",{className:"code-browser-title-icon","aria-hidden":"true",children:c.jsx(uZ,{})}),c.jsxs("div",{children:[c.jsx("h2",{id:"code-browser-title",children:"项目代码"}),c.jsx("p",{children:e.name||"Agent 项目"})]})]}),c.jsx("button",{ref:l,type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭代码浏览器",children:c.jsx(aa,{"aria-hidden":"true"})})]}),c.jsxs("div",{className:"code-browser-workspace",children:[c.jsxs("aside",{className:"code-browser-sidebar","aria-label":"项目文件",children:[c.jsxs("div",{className:"code-browser-sidebar-head",children:["文件 ",c.jsx("span",{children:e.files.length})]}),c.jsx("div",{className:"code-browser-tree",children:e.files.length>0?h(u,0,""):c.jsx("div",{className:"code-browser-empty",children:"暂无项目文件"})})]}),c.jsxs("main",{className:"code-browser-main",children:[c.jsxs("div",{className:"code-browser-path",children:[c.jsx(PB,{"aria-hidden":"true"}),c.jsx("span",{children:(d==null?void 0:d.path)??"未选择文件"})]}),c.jsx("div",{className:"code-browser-editor",children:d?c.jsx(O.Suspense,{fallback:c.jsx("div",{className:"code-browser-empty",children:"正在加载编辑器…"}),children:c.jsx(xlt,{value:d.content,path:d.path,onChange:p})}):c.jsx("div",{className:"code-browser-empty",children:"从左侧选择文件以查看代码"})})]})]})]})}),document.body)}function wlt({project:e,onChange:t,className:n="",label:i="查看源码"}){const[r,s]=O.useState(!1);return c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",className:`code-browser-trigger ${n}`.trim(),onClick:()=>s(!0),"aria-label":"查看和编辑项目源码",title:i,children:[c.jsx(uZ,{"aria-hidden":"true"}),c.jsx("span",{children:i})]}),c.jsx(Jde,{project:e,open:r,onClose:()=>s(!1),onChange:t})]})}function Fk({message:e,className:t="",onRetry:n,retryLabel:i="重试部署",defaultExpanded:r=!0}){const[s,a]=O.useState(r),[o,l]=O.useState(!1),[u,d]=O.useState(!1),f=async()=>{try{await navigator.clipboard.writeText(e),l(!0),setTimeout(()=>l(!1),1500)}catch{l(!1)}},h=async()=>{if(!(!n||u)){d(!0);try{await n()}finally{d(!1)}}};return c.jsxs("div",{className:`deploy-error-message${s?" is-expanded":""}${t?` ${t}`:""}`,role:"alert",children:[c.jsx("p",{className:"deploy-error-message-text",children:e}),c.jsxs("div",{className:"deploy-error-message-actions",children:[n&&c.jsxs("button",{type:"button",className:"deploy-error-retry",disabled:u,onClick:()=>void h(),children:[u?c.jsx(qn,{className:"spin"}):c.jsx(p1e,{}),u?"重试中…":i]}),c.jsx("button",{type:"button",title:s?"收起错误信息":"展开完整错误信息","aria-label":s?"收起错误信息":"展开完整错误信息",onClick:()=>a(p=>!p),children:s?c.jsx(a1e,{}):c.jsx(Ih,{})}),c.jsx("button",{type:"button",title:o?"已复制":"复制完整错误信息","aria-label":o?"已复制":"复制完整错误信息",onClick:()=>void f(),children:o?c.jsx(kc,{}):c.jsx(wT,{})})]})]})}function Elt(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m7 9.5 5 5 5-5"})})}function klt(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m6.5 12.5 3.5 3.5 7.5-8"})})}function rA({ariaLabel:e,value:t,valueLabel:n,placeholder:i,options:r,disabled:s=!1,searchValue:a,searchPlaceholder:o="搜索资源名称",loading:l=!1,hasMore:u=!1,emptyMessage:d="暂无可用选项",onSearchChange:f,onLoadMore:h,onChange:p}){const m=O.useId(),g=O.useRef(null),y=O.useRef(null),b=O.useRef(null),S=O.useRef(null),x=O.useRef([]),[v,E]=O.useState(!1),[w,k]=O.useState(0),_=r.find(D=>D.value===t),C=(_==null?void 0:_.label)??(t?n:void 0),A=a!==void 0&&!!f,R=()=>{E(!1),A&&a&&(f==null||f(""))};O.useEffect(()=>{if(!v)return;const D=N=>{N.target instanceof Node&&g.current&&!g.current.contains(N.target)&&R()};return window.addEventListener("pointerdown",D),()=>window.removeEventListener("pointerdown",D)},[v,f,a,A]),O.useEffect(()=>{var D,N;if(v){if(A){(D=b.current)==null||D.focus();return}(N=x.current[w])==null||N.focus()}},[v,A]),O.useEffect(()=>{var D;!v||A&&document.activeElement===b.current||(D=x.current[w])==null||D.focus()},[w,v,A]),O.useEffect(()=>{k(D=>Math.min(D,Math.max(0,r.length-1)))},[r.length]),O.useEffect(()=>{if(!v||!u||l||!h)return;const D=window.requestAnimationFrame(()=>{const N=S.current;N&&N.scrollHeight<=N.clientHeight+1&&h()});return()=>window.cancelAnimationFrame(D)},[u,l,h,v,r.length]);const j=(D=1)=>{const N=r.findIndex(B=>B.value===t),M=N>=0?N:D===1?0:Math.max(0,r.length-1);k(M),E(!0)},Q=D=>{r.length!==0&&k((D+r.length)%r.length)},L=D=>{var N;p(D.value),R(),(N=y.current)==null||N.focus()};return c.jsxs("div",{className:"pp-deployment-select",ref:g,onKeyDown:D=>{var M,B;const N=D.target===b.current;if(D.key==="Escape"&&v){D.preventDefault(),R(),(M=y.current)==null||M.focus();return}if(D.key==="Tab"){R();return}if(N){D.key==="ArrowDown"&&r.length>0&&(D.preventDefault(),k(0),(B=x.current[0])==null||B.focus());return}D.key==="ArrowDown"?(D.preventDefault(),v?Q(w+1):j(1)):D.key==="ArrowUp"?(D.preventDefault(),v?Q(w-1):j(-1)):v&&D.key==="Home"?(D.preventDefault(),k(0)):v&&D.key==="End"&&(D.preventDefault(),k(Math.max(0,r.length-1)))},children:[c.jsxs("button",{ref:y,type:"button",className:"pp-deployment-select-trigger","aria-label":e,"aria-haspopup":"listbox","aria-expanded":v,"aria-controls":v?m:void 0,disabled:s,onClick:()=>{v?R():j()},children:[c.jsx("span",{className:C?void 0:"is-placeholder",children:C??i}),c.jsx(Elt,{className:`pp-deployment-select-chevron${v?" is-open":""}`})]}),v&&c.jsxs("div",{className:"pp-deployment-select-menu",children:[A&&c.jsx("div",{className:"pp-deployment-select-search",children:c.jsx("input",{ref:b,type:"search",value:a,"aria-label":`搜索${e}`,placeholder:o,autoComplete:"off",onChange:D=>f==null?void 0:f(D.currentTarget.value)})}),c.jsx("div",{id:m,ref:S,className:"pp-deployment-select-options",role:"listbox","aria-label":e,"aria-busy":l||void 0,onScroll:D=>{if(!u||l||!h)return;const N=D.currentTarget;N.scrollHeight-N.scrollTop-N.clientHeight<=24&&h()},children:r.map((D,N)=>{const M=D.value===t;return c.jsxs("button",{ref:B=>{x.current[N]=B},type:"button",role:"option","aria-selected":M,tabIndex:N===w?0:-1,className:`pp-deployment-select-option${M?" is-selected":""}`,title:D.description,onFocus:()=>k(N),onClick:()=>L(D),children:[c.jsxs("span",{className:"pp-deployment-select-copy",children:[c.jsxs("span",{className:"pp-deployment-select-name",children:[D.label,D.badge&&c.jsx("span",{className:"pp-deployment-select-badge",children:D.badge})]}),D.description&&c.jsx("small",{children:D.description})]}),M&&c.jsx(klt,{})]},D.value)})}),l&&c.jsx("div",{className:"pp-deployment-select-state","aria-live":"polite",children:"正在加载更多资源…"}),!l&&r.length===0&&c.jsx("div",{className:"pp-deployment-select-state",children:d})]})]})}const Tlt=[{value:"auto",label:"自动创建",description:"部署时自动创建所需资源",badge:"推荐"},{value:"create",label:"指定名称",description:"使用指定名称创建或复用资源"},{value:"existing",label:"选择已有",description:"从当前账号的已有资源中选择"}],_lt={tos:{mode:"auto"},cr:{mode:"auto"},codePipeline:{mode:"auto"}};function Vp(e){const[t,n]=O.useState([]),[i,r]=O.useState(""),[s,a]=O.useState(1),[o,l]=O.useState(0),[u,d]=O.useState(!1),[f,h]=O.useState(!1),[p,m]=O.useState(null),[g,y]=O.useState(""),[b,S]=O.useState(""),[x,v]=O.useState(""),[E,w]=O.useState(0),k=O.useRef(!1),_=O.useRef(null),C=e?JSON.stringify(e):"",A=e?JSON.stringify({...e,search:b}):"";O.useEffect(()=>{const D=window.setTimeout(()=>{S(g.trim())},250);return()=>window.clearTimeout(D)},[g]),O.useEffect(()=>{y(""),S("")},[C]);const R=O.useCallback((D,N)=>{var $;if(!A)return;($=_.current)==null||$.abort();const M=new AbortController;_.current=M;const B=JSON.parse(A);N&&n([]),k.current=!0,h(!0),m(null),iK({...B,pageNumber:D,pageSize:100},M.signal).then(I=>{n(G=>{if(N)return I.items;const X=new Set(G.map(U=>`${U.id}\0${U.name}`));return[...G,...I.items.filter(U=>!X.has(`${U.id}\0${U.name}`))]}),r(I.serviceRegion),a(I.pageNumber),l(I.totalCount),d(I.hasMore),v(A)}).catch(I=>{I instanceof DOMException&&I.name==="AbortError"||(v(A),m(I instanceof Error?I.message:String(I)))}).finally(()=>{_.current===M&&(_.current=null,k.current=!1,h(!1))})},[A]);O.useEffect(()=>{var D;if(!A){(D=_.current)==null||D.abort(),_.current=null,k.current=!1,n([]),r(""),a(1),l(0),d(!1),v(""),h(!1),m(null);return}return R(1,!0),()=>{var N;return(N=_.current)==null?void 0:N.abort()}},[R,A,E]);const j=!!A&&x===A&&g.trim()===b,Q=O.useCallback(()=>{v(""),w(D=>D+1)},[]),L=O.useCallback(()=>{!j||k.current||!u||R(s+1,!1)},[u,R,s,j]);return{items:t,serviceRegion:i,totalCount:o,hasMore:j?u:!1,loading:!!A&&(!j||f),error:p,search:g,setSearch:y,reload:Q,loadMore:L}}function Alt(e,t){return e.map(n=>({value:n[t],label:n.name,description:[n.status,n.region,n.id].filter(Boolean).join(" · ")}))}function Xp({ariaLabel:e,value:t,valueLabel:n,state:i,disabled:r,valueField:s="id",onChange:a}){const o=O.useMemo(()=>Alt(i.items,s),[i.items,s]);return c.jsxs("div",{className:"pp-resource-picker",children:[c.jsx(rA,{ariaLabel:e,value:t,valueLabel:n,placeholder:i.loading?"正在加载…":"请选择已有资源",options:o,disabled:r||!!i.error,searchValue:i.search,searchPlaceholder:"搜索资源名称",loading:i.loading,hasMore:i.hasMore,emptyMessage:i.search.trim()?"未找到匹配资源":"暂无可用资源",onSearchChange:i.setSearch,onLoadMore:i.loadMore,onChange:l=>{const u=i.items.find(d=>d[s]===l);u&&a(u)}}),i.error?c.jsxs("div",{className:"pp-resource-error",role:"alert",children:[c.jsx("span",{children:i.error}),c.jsx("button",{type:"button",onClick:i.reload,children:"重试"})]}):i.loading&&i.items.length===0?c.jsx("span",{className:"pp-resource-status","aria-live":"polite",children:i.search.trim()?"正在搜索云资源…":"正在加载云资源…"}):i.items.length===0?c.jsx("span",{className:"pp-resource-status",children:i.search.trim()?"未找到匹配资源。":"暂无可用资源。"}):i.serviceRegion?c.jsxs("span",{className:"pp-resource-status",children:["实际服务区域:",i.serviceRegion," · 已加载 ",i.items.length,i.totalCount>0?`/${i.totalCount}`:""]}):null]})}function lR({resource:e,value:t,disabled:n,onChange:i}){return c.jsxs("label",{className:"pp-resource-field pp-resource-mode",children:[c.jsx("span",{children:"配置方式"}),c.jsx(rA,{ariaLabel:`${e}配置方式`,value:t,placeholder:"请选择配置方式",options:Tlt,disabled:n,onChange:r=>i(r)})]})}function qp({label:e,value:t,placeholder:n,disabled:i,onChange:r}){return c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:e}),c.jsx("input",{value:t,placeholder:n,disabled:i,autoComplete:"off",onChange:s=>r(s.currentTarget.value)})]})}function cR({items:e,note:t}){return c.jsxs("div",{className:"pp-resource-auto-names",children:[c.jsx("span",{children:"自动创建名称"}),c.jsx("dl",{children:e.map(n=>c.jsxs("div",{children:[c.jsx("dt",{children:n.label}),c.jsx("dd",{title:n.name,children:n.name})]},n.label))}),t&&c.jsx("small",{children:t})]})}function Nlt(e){var t,n,i,r,s,a,o,l;return e.tos.mode!=="auto"&&!((t=e.tos.bucket)!=null&&t.trim())?"请填写或选择 TOS 存储桶。":e.cr.mode!=="auto"&&(!((n=e.cr.instance)!=null&&n.trim())||!((i=e.cr.namespace)!=null&&i.trim())||!((r=e.cr.repository)!=null&&r.trim()))?"请完整填写或选择 CR 实例、命名空间和镜像仓库。":e.codePipeline.mode!=="auto"&&(!((s=e.codePipeline.workspaceName)!=null&&s.trim())||!((a=e.codePipeline.pipelineName)!=null&&a.trim()))?"请完整填写或选择 CodePipeline Workspace 和 Pipeline。":e.codePipeline.mode==="existing"&&(!((o=e.codePipeline.workspaceId)!=null&&o.trim())||!((l=e.codePipeline.pipelineId)!=null&&l.trim()))?"请选择已有的 CodePipeline Workspace 和兼容 Pipeline。":null}function Clt({value:e,agentName:t,runtimeName:n,region:i,disabled:r,validationError:s,onChange:a}){const o=t.trim()||"agentkit-app",l=n.trim()||o,u=i&&i!=="cn-beijing"?`agentkit-platform-{账号 ID}-${i.startsWith("cn-")?i.slice(3):i}`:"agentkit-platform-{账号 ID}",d=Vp(e.tos.mode==="existing"?{kind:"tos-bucket",region:i}:null),f=Vp(e.cr.mode==="existing"?{kind:"cr-registry",region:i}:null),h=Vp(e.cr.mode==="existing"&&e.cr.instance?{kind:"cr-namespace",region:i,registry:e.cr.instance}:null),p=Vp(e.cr.mode==="existing"&&e.cr.instance&&e.cr.namespace?{kind:"cr-repository",region:i,registry:e.cr.instance,namespace:e.cr.namespace}:null),m=Vp(e.codePipeline.mode==="existing"?{kind:"cp-workspace",region:i}:null),g=Vp(e.codePipeline.mode==="existing"&&e.codePipeline.workspaceId?{kind:"cp-pipeline",region:i,workspaceId:e.codePipeline.workspaceId}:null),y=b=>a({...e,...b});return c.jsxs("div",{className:"pp-resource-list",children:[c.jsxs("div",{className:"pp-resource-item",children:[c.jsx("div",{className:"pp-resource-name",children:"TOS 存储桶"}),c.jsxs("div",{className:"pp-resource-grid",children:[c.jsx(lR,{resource:"TOS 存储桶",value:e.tos.mode,disabled:r,onChange:b=>y({tos:{mode:b}})}),e.tos.mode==="create"&&c.jsx(qp,{label:"存储桶名称",value:e.tos.bucket??"",placeholder:"输入存储桶名称",disabled:r,onChange:b=>y({tos:{...e.tos,bucket:b}})}),e.tos.mode==="existing"&&c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"已有存储桶"}),c.jsx(Xp,{ariaLabel:"已有 TOS 存储桶",value:e.tos.bucket??"",valueLabel:e.tos.bucket,state:d,disabled:r,onChange:b=>y({tos:{...e.tos,bucket:b.name}})})]}),e.tos.mode==="auto"&&c.jsx(cR,{items:[{label:"存储桶",name:u}],note:"账号 ID 在部署时按当前云账号解析。"})]})]}),c.jsxs("div",{className:"pp-resource-item",children:[c.jsx("div",{className:"pp-resource-name",children:"容器镜像仓库(CR)"}),c.jsxs("div",{className:"pp-resource-grid",children:[c.jsx(lR,{resource:"CR",value:e.cr.mode,disabled:r,onChange:b=>y({cr:{mode:b}})}),e.cr.mode==="create"&&c.jsxs("div",{className:"pp-resource-fields pp-resource-fields-three",children:[c.jsx(qp,{label:"实例名称",value:e.cr.instance??"",placeholder:"CR 实例",disabled:r,onChange:b=>y({cr:{...e.cr,instance:b}})}),c.jsx(qp,{label:"命名空间",value:e.cr.namespace??"",placeholder:"命名空间",disabled:r,onChange:b=>y({cr:{...e.cr,namespace:b}})}),c.jsx(qp,{label:"镜像仓库",value:e.cr.repository??"",placeholder:"镜像仓库",disabled:r,onChange:b=>y({cr:{...e.cr,repository:b}})})]}),e.cr.mode==="existing"&&c.jsxs("div",{className:"pp-resource-fields pp-resource-fields-three",children:[c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"CR 实例"}),c.jsx(Xp,{ariaLabel:"已有 CR 实例",value:e.cr.instance??"",valueLabel:e.cr.instance,state:f,disabled:r,valueField:"name",onChange:b=>y({cr:{mode:"existing",instance:b.name}})})]}),c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"命名空间"}),c.jsx(Xp,{ariaLabel:"已有 CR 命名空间",value:e.cr.namespace??"",valueLabel:e.cr.namespace,state:h,disabled:r||!e.cr.instance,valueField:"name",onChange:b=>y({cr:{...e.cr,namespace:b.name,repository:void 0}})})]}),c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"镜像仓库"}),c.jsx(Xp,{ariaLabel:"已有 CR 镜像仓库",value:e.cr.repository??"",valueLabel:e.cr.repository,state:p,disabled:r||!e.cr.namespace,valueField:"name",onChange:b=>y({cr:{...e.cr,repository:b.name}})})]})]}),e.cr.mode==="auto"&&c.jsx(cR,{items:[{label:"CR 实例",name:"agentkit-platform-{账号 ID}"},{label:"命名空间",name:"agentkit"},{label:"镜像仓库",name:`${o}-{4 位随机字符}`}],note:"账号 ID 在部署时解析,镜像仓库的随机字符在部署时生成。"})]})]}),c.jsxs("div",{className:"pp-resource-item",children:[c.jsx("div",{className:"pp-resource-name",children:"CodePipeline"}),c.jsxs("div",{className:"pp-resource-grid",children:[c.jsx(lR,{resource:"CodePipeline",value:e.codePipeline.mode,disabled:r,onChange:b=>y({codePipeline:{mode:b}})}),e.codePipeline.mode==="create"&&c.jsxs("div",{className:"pp-resource-fields",children:[c.jsx(qp,{label:"Workspace 名称",value:e.codePipeline.workspaceName??"",placeholder:"Workspace 名称",disabled:r,onChange:b=>y({codePipeline:{...e.codePipeline,workspaceName:b}})}),c.jsx(qp,{label:"Pipeline 名称",value:e.codePipeline.pipelineName??"",placeholder:"Pipeline 名称",disabled:r,onChange:b=>y({codePipeline:{...e.codePipeline,pipelineName:b}})})]}),e.codePipeline.mode==="existing"&&c.jsxs("div",{className:"pp-resource-fields",children:[c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"Workspace"}),c.jsx(Xp,{ariaLabel:"已有 CodePipeline Workspace",value:e.codePipeline.workspaceId??"",valueLabel:e.codePipeline.workspaceName,state:m,disabled:r,onChange:b=>y({codePipeline:{mode:"existing",workspaceId:b.id,workspaceName:b.name}})})]}),c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"兼容 Pipeline"}),c.jsx(Xp,{ariaLabel:"已有 AgentKit CodePipeline",value:e.codePipeline.pipelineId??"",valueLabel:e.codePipeline.pipelineName,state:g,disabled:r||!e.codePipeline.workspaceId,onChange:b=>y({codePipeline:{...e.codePipeline,pipelineId:b.id,pipelineName:b.name}})})]})]}),e.codePipeline.mode==="auto"&&c.jsx(cR,{items:[{label:"Workspace",name:"agentkit-cli-workspace"},{label:"Pipeline",name:l}],note:"Pipeline 与 Runtime 名称一致。"})]})]}),s&&c.jsx("p",{className:"pp-resource-validation",role:"alert",children:s})]})}const Rlt=5e4;function Ilt(e,t){if(!e)return t;if(!t||e.endsWith(t))return e;if(t.startsWith(e))return t;const n=e.split(` +`);if(!t.length||t[0].trim()!=="---")return{name:"",description:""};let n=-1;for(let r=1;r=2&&(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))}function rlt(...e){var t;for(const n of e){const i=(t=n.trim().replace(/\\/g,"/").split("/").filter(Boolean).pop())==null?void 0:t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"");if(i)return i.slice(0,64)}return"local-skill"}function slt(e,t){return t.trim()||e}function Kde(e){const t=e.map(i=>({path:i.path.replace(/\\/g,"/").replace(/^\.\//,""),text:i.text})).filter(i=>i.path.length>0&&!i.path.endsWith("/")),n=new Set(t.map(i=>i.path.split("/")[0]));if(n.size===1&&t.every(i=>i.path.includes("/"))){const i=[...n][0]+"/";return t.map(r=>({path:r.path.slice(i.length),text:r.text}))}return t}function alt(e){const t=new Map,n=new Set;for(const i of e)if(wM.test("/"+i.path)){const r=i.path.split("/");n.add(r.slice(0,-1).join("/"))}for(const i of e){const r=i.path.split("/");let s="";for(let u=r.length-1;u>=0;u--){const d=r.slice(0,u).join("/");if(n.has(d)){s=d;break}}const a=wM.test("/"+i.path);if(!s&&!a&&!n.has("")||!n.has(s)&&!a)continue;const o=s?i.path.slice(s.length+1):i.path,l=t.get(s)||[];l.push({path:o,text:i.text}),t.set(s,l)}return t}function olt(e,t,n){const i=`${n}${e?"/"+e:""}`,r=t.find(l=>wM.test("/"+l.path));if(!r)return{hit:null,error:`${i} 缺少 SKILL.md`};const s=nlt(r.text),a=rlt(s.name,e,n.replace(/\.[^.]+$/,"")),o=[];for(const l of t){if(l.path.split("/").some(f=>f===".."))return{hit:null,error:`${i} 包含非法路径(..):${l.path}`};const d=`skills/${a}/${l.path}`;if(!d.startsWith(`skills/${a}/`))return{hit:null,error:`${i} 包含非法路径:${l.path}`};o.push({path:d,content:l.text})}return{hit:{source:"local",id:`local:${a}:${t.length}`,name:slt(a,s.name),description:s.description||"本地 Skill",folder:a,localFiles:o},error:null}}async function llt(e){const t=new Uint8Array(await e.arrayBuffer()),i=(await Zde(t)).map(r=>({path:r.name,text:r.text}));return Jde(Kde(i),e.name)}async function clt(e,t=new Map){const n=[];for(let i=0;ie.file(t,n))}async function dlt(e){const t=e.createReader(),n=[];for(;;){const i=await new Promise((r,s)=>t.readEntries(r,s));if(i.length===0)return n;n.push(...i)}}async function efe(e,t=""){const n=t?`${t}/${e.name}`:e.name;if(e.isFile)return[{file:await ult(e),path:n}];if(!e.isDirectory)return[];const i=await dlt(e);return(await Promise.all(i.map(r=>efe(r,n)))).flat()}function flt({selected:e,onChange:t}){const[n,i]=O.useState([]),[r,s]=O.useState([]),[a,o]=O.useState(!1),[l,u]=O.useState(!1),d=O.useRef(0),f=x=>e.some(v=>v.source==="local"&&v.folder===x),h=x=>{x.localFiles&&(f(x.folder||x.name)?t(e.filter(v=>!(v.source==="local"&&v.folder===(x.folder||x.name)))):t([...e,{source:"local",folder:x.folder||x.name,name:x.name,description:x.description,localFiles:x.localFiles}]))},p=O.useRef([]),m=O.useRef(e);O.useEffect(()=>{p.current=r},[r]),O.useEffect(()=>{m.current=e},[e]);const g=x=>{const v=new Set([...p.current.map(_=>_.folder||_.name),...m.current.filter(_=>_.source==="local").map(_=>_.folder)]),E=[],w=[];for(const _ of x.hits){const C=_.folder||_.name;if(v.has(C)){E.push(_.name);continue}v.add(C),w.push(_)}s(_=>[..._,...w]);const k=[...x.errors];if(E.length>0&&k.push(`已跳过重复技能:${E.join("、")}`),i(k),w.length===1&&x.errors.length===0&&E.length===0){const _=w[0];_.localFiles&&t([...m.current,{source:"local",folder:_.folder||_.name,name:_.name,description:_.description,localFiles:_.localFiles}])}},y=x=>{x.preventDefault(),d.current+=1,u(!0)},b=x=>{x.preventDefault(),d.current=Math.max(0,d.current-1),d.current===0&&u(!1)},S=async x=>{if(x.preventDefault(),d.current=0,u(!1),a)return;const v=Array.from(x.dataTransfer.items).map(E=>{var w;return(w=E.webkitGetAsEntry)==null?void 0:w.call(E)}).filter(E=>E!==null);if(v.length===0){i(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}o(!0);try{const E=(await Promise.all(v.map(_=>efe(_)))).flat(),w=v.some(_=>_.isDirectory);if(!w&&E.length===1&&E[0].file.name.toLowerCase().endsWith(".zip")){g(await llt(E[0].file));return}if(!w){i(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}const k=new Map(E.map(({file:_,path:C})=>[_,C]));g(await clt(E.map(({file:_})=>_),k))}catch(E){i([`读取失败:${E instanceof Error?E.message:String(E)}`])}finally{o(!1)}};return c.jsxs("div",{className:"cw-local",children:[c.jsxs("div",{className:`cw-local-dropzone ${l?"is-dragging":""}`,role:"group","aria-label":"拖入文件夹或 ZIP,自动识别 Skill",onDragEnter:y,onDragOver:x=>x.preventDefault(),onDragLeave:b,onDrop:x=>void S(x),children:[c.jsx(gD,{className:"cw-local-drop-icon","aria-hidden":!0}),c.jsx("p",{className:"cw-local-drop-hint",children:"拖入文件夹或 ZIP,自动识别 Skill"})]}),c.jsx("p",{className:"cw-local-hint",children:"每个技能需包含 SKILL.md。支持包含多个技能的目录。"}),a&&c.jsx("p",{className:"cw-empty-line",children:"正在读取文件…"}),n.length>0&&c.jsxs("div",{className:"cw-banner",children:[c.jsx(zu,{className:"cw-i"}),c.jsx("span",{children:n.join(";")})]}),r.length>0&&c.jsx("div",{className:"cw-skill-results",children:r.map(x=>{var E;const v=f(x.folder||x.name);return c.jsxs("button",{type:"button",className:`cw-skill-result ${v?"is-on":""}`,onClick:()=>h(x),"aria-pressed":v,children:[c.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:v?c.jsx(kc,{className:"cw-i cw-i-sm"}):c.jsx(Ls,{className:"cw-i cw-i-sm"})}),c.jsxs("span",{className:"cw-skill-result-meta",children:[c.jsx("span",{className:"cw-skill-result-name",children:x.name}),x.description&&c.jsx("span",{className:"cw-skill-result-desc",children:Ex(x.description)}),c.jsxs("span",{className:"cw-skill-result-repo",children:["本地 · ",((E=x.localFiles)==null?void 0:E.length)??0," 个文件"]})]})]},x.id)})})]})}function hlt({selected:e,onChange:t,cloudProvider:n="volcengine"}){const[i,r]=O.useState([]),[s,a]=O.useState([]),[o,l]=O.useState(""),[u,d]=O.useState(!0),[f,h]=O.useState(!1),[p,m]=O.useState(null);O.useEffect(()=>{let x=!1;return(async()=>{d(!0),m(null);try{const v=await o5();x||(r(v),v.length>0&&l(v[0].id))}catch(v){x||m(v instanceof Error?v.message:"加载失败")}finally{x||d(!1)}})(),()=>{x=!0}},[]),O.useEffect(()=>{if(!o){a([]);return}const x=i.find(E=>E.id===o);let v=!1;return(async()=>{h(!0),m(null);try{const E=await l5(o,x==null?void 0:x.region);v||a(E)}catch(E){v||m(E instanceof Error?E.message:"加载失败")}finally{v||h(!1)}})(),()=>{v=!0}},[o,i]);const g=i.find(x=>x.id===o),y=g?FRe(g.id,g.region,n):"",b=(x,v)=>e.some(E=>E.source==="skillspace"&&E.skillId===x&&(E.version||"")===v),S=x=>{if(g)if(b(x.skillId,x.version))t(e.filter(v=>!(v.source==="skillspace"&&v.skillId===x.skillId&&(v.version||"")===x.version)));else{const v=zRe(g,x);t([...e,{source:"skillspace",folder:v.folder||x.skillName,name:v.name,description:v.description,skillSpaceId:v.skillSpaceId,skillSpaceName:v.skillSpaceName,skillSpaceRegion:v.skillSpaceRegion,skillId:v.skillId,version:v.version}])}};return c.jsx("div",{className:"cw-skillspace",children:u?c.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[c.jsx(qn,{className:"cw-i cw-spin"})," 正在加载 AgentKit Skills 中心…"]}):p?c.jsxs("div",{className:"cw-banner",children:[c.jsx(zu,{className:"cw-i"}),c.jsx("span",{children:p})]}):i.length===0?c.jsx("p",{className:"cw-empty-line",children:"此账号下没有 AgentKit Skills 中心。"}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"cw-skillspace-header",children:[c.jsx("select",{className:"cw-input cw-skillspace-select",value:o,onChange:x=>l(x.target.value),"aria-label":"选择 AgentKit Skills 中心",children:i.map(x=>c.jsxs("option",{value:x.id,children:[x.name||x.id,x.description?` — ${Ex(x.description)}`:""]},x.id))}),g&&c.jsxs(c.Fragment,{children:[g.region&&c.jsx("span",{className:"cw-skillspace-region-label",title:g.region,children:ff(g.region,n)}),y&&c.jsx("a",{href:y,target:"_blank",rel:"noopener noreferrer",className:"cw-button cw-button-secondary cw-skillspace-console-link",title:"在火山引擎控制台打开","aria-label":"在火山引擎控制台打开",children:c.jsx(Ng,{className:"cw-i cw-i-sm"})})]})]}),f?c.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[c.jsx(qn,{className:"cw-i cw-spin"})," 正在加载技能列表…"]}):s.length===0?c.jsx("p",{className:"cw-empty-line",children:"此 AgentKit Skills 中心暂无技能。"}):c.jsx("div",{className:"cw-skill-results",children:s.map(x=>{const v=b(x.skillId,x.version);return c.jsxs("button",{type:"button",className:`cw-skill-result ${v?"is-on":""}`,onClick:()=>S(x),"aria-pressed":v,children:[c.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:v?c.jsx(kc,{className:"cw-i cw-i-sm"}):c.jsx(Ls,{className:"cw-i cw-i-sm"})}),c.jsxs("span",{className:"cw-skill-result-meta",children:[c.jsxs("span",{className:"cw-skill-result-name",children:[x.skillName,x.version&&c.jsxs("span",{className:"cw-skill-result-version",children:[" ","v",x.version]})]}),x.skillDescription&&c.jsx("span",{className:"cw-skill-result-desc",children:Ex(x.skillDescription)}),c.jsxs("span",{className:"cw-skill-result-repo",children:[c.jsx(Hxe,{className:"cw-i cw-i-sm"})," ",(g==null?void 0:g.name)||o]})]})]},`${x.skillId}/${x.version}`)})})]})})}async function plt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Gn(void 0,Tl)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 AgentKit 智能体中心");if(t.status===401)throw new Error("请先登录以访问 AgentKit 智能体中心");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function mlt(e={}){const t=new URLSearchParams({page_size:String(e.pageSize??100),project:e.project||"default"});return e.region&&t.set("region",e.region),(await plt(`/web/a2a-spaces?${t.toString()}`)).items||[]}async function glt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Gn(void 0,Tl)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 VikingDB 知识库");if(t.status===401)throw new Error("请先登录以访问 VikingDB 知识库");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function Olt(e={}){const t=new URLSearchParams;e.project&&t.set("project",e.project),e.region&&t.set("region",e.region);const n=t.toString();return(await glt(`/web/viking-knowledgebases${n?`?${n}`:""}`)).items||[]}const blt=(()=>{const e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let i=0;i<8;i++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function ylt(e){let t=4294967295;for(let n=0;n>>8;return(t^4294967295)>>>0}function ir(e,t){e.push(t&255,t>>>8&255)}function Fa(e,t){e.push(t&255,t>>>8&255,t>>>16&255,t>>>24&255)}const MX=2048,oR=20,LX=0;function xlt(e){const t=new TextEncoder,n=[],i=[];let r=0;for(const p of e){const m=t.encode(p.path),g=t.encode(p.content),y=ylt(g),b=g.length,S=[];Fa(S,67324752),ir(S,oR),ir(S,MX),ir(S,LX),ir(S,0),ir(S,0),Fa(S,y),Fa(S,b),Fa(S,b),ir(S,m.length),ir(S,0);const x=Uint8Array.from(S);n.push(x,m,g),i.push({nameBytes:m,dataBytes:g,crc:y,size:b,offset:r}),r+=x.length+m.length+g.length}const s=r,a=[];let o=0;for(const p of i){const m=[];Fa(m,33639248),ir(m,oR),ir(m,oR),ir(m,MX),ir(m,LX),ir(m,0),ir(m,0),Fa(m,p.crc),Fa(m,p.size),Fa(m,p.size),ir(m,p.nameBytes.length),ir(m,0),ir(m,0),ir(m,0),ir(m,0),Fa(m,0),Fa(m,p.offset);const g=Uint8Array.from(m);a.push(g,p.nameBytes),o+=g.length+p.nameBytes.length}const l=[];Fa(l,101010256),ir(l,0),ir(l,0),ir(l,i.length),ir(l,i.length),Fa(l,o),Fa(l,s),ir(l,0);const u=[...n,...a,Uint8Array.from(l)],d=u.reduce((p,m)=>p+m.length,0),f=new Uint8Array(d);let h=0;for(const p of u)f.set(p,h),h+=p.length;return new Blob([f],{type:"application/zip"})}const Slt=O.lazy(()=>dg(()=>Promise.resolve().then(()=>dce),void 0));function vlt(e){const t={name:"",children:new Map};for(const n of e){const i=n.path.split("/").filter(Boolean);let r=t;i.forEach((s,a)=>{let o=r.children.get(s);o||(o={name:s,children:new Map},r.children.set(s,o)),a===i.length-1&&(o.path=n.path),r=o})}return t}function wlt(e){return[...e.children.values()].sort((t,n)=>{const i=t.children.size>0&&t.path===void 0,r=n.children.size>0&&n.path===void 0;return i!==r?i?-1:1:t.name.localeCompare(n.name)})}function tfe({project:e,open:t,onClose:n,onChange:i}){var m;const[r,s]=O.useState(((m=e.files[0])==null?void 0:m.path)??null),[a,o]=O.useState(new Set),l=O.useRef(null),u=O.useMemo(()=>vlt(e.files),[e.files]),d=e.files.find(g=>g.path===r)??null;if(O.useEffect(()=>{var b;if(!t)return;const g=document.body.style.overflow;document.body.style.overflow="hidden",(b=l.current)==null||b.focus();const y=S=>{S.key==="Escape"&&n()};return window.addEventListener("keydown",y),()=>{document.body.style.overflow=g,window.removeEventListener("keydown",y)}},[n,t]),O.useEffect(()=>{d||e.files.length===0||s(e.files[0].path)},[e.files,d]),!t)return null;function f(g){o(y=>{const b=new Set(y);return b.has(g)?b.delete(g):b.add(g),b})}function h(g,y,b){return wlt(g).map(S=>{const x=b?`${b}/${S.name}`:S.name;if(!(S.children.size>0&&S.path===void 0)&&S.path)return c.jsxs("button",{type:"button",className:`code-browser-file${r===S.path?" is-active":""}`,style:{paddingLeft:`${12+y*16}px`},onClick:()=>s(S.path??null),title:S.path,children:[c.jsx(PB,{"aria-hidden":"true"}),c.jsx("span",{children:S.name})]},x);const E=a.has(x);return c.jsxs("div",{children:[c.jsxs("button",{type:"button",className:"code-browser-folder",style:{paddingLeft:`${10+y*16}px`},onClick:()=>f(x),"aria-expanded":!E,children:[c.jsx(m0,{className:E?"":"is-open","aria-hidden":"true"}),c.jsx(pZ,{"aria-hidden":"true"}),c.jsx("span",{children:S.name})]}),!E&&h(S,y+1,x)]},x)})}function p(g){d&&i({...e,files:e.files.map(y=>y.path===d.path?{...y,content:g}:y)})}return ar.createPortal(c.jsx("div",{className:"code-browser-backdrop",onMouseDown:g=>{g.target===g.currentTarget&&n()},children:c.jsxs("section",{className:"code-browser-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"code-browser-title",children:[c.jsxs("header",{className:"code-browser-head",children:[c.jsxs("div",{className:"code-browser-title-wrap",children:[c.jsx("span",{className:"code-browser-title-icon","aria-hidden":"true",children:c.jsx(fZ,{})}),c.jsxs("div",{children:[c.jsx("h2",{id:"code-browser-title",children:"项目代码"}),c.jsx("p",{children:e.name||"Agent 项目"})]})]}),c.jsx("button",{ref:l,type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭代码浏览器",children:c.jsx(aa,{"aria-hidden":"true"})})]}),c.jsxs("div",{className:"code-browser-workspace",children:[c.jsxs("aside",{className:"code-browser-sidebar","aria-label":"项目文件",children:[c.jsxs("div",{className:"code-browser-sidebar-head",children:["文件 ",c.jsx("span",{children:e.files.length})]}),c.jsx("div",{className:"code-browser-tree",children:e.files.length>0?h(u,0,""):c.jsx("div",{className:"code-browser-empty",children:"暂无项目文件"})})]}),c.jsxs("main",{className:"code-browser-main",children:[c.jsxs("div",{className:"code-browser-path",children:[c.jsx(PB,{"aria-hidden":"true"}),c.jsx("span",{children:(d==null?void 0:d.path)??"未选择文件"})]}),c.jsx("div",{className:"code-browser-editor",children:d?c.jsx(O.Suspense,{fallback:c.jsx("div",{className:"code-browser-empty",children:"正在加载编辑器…"}),children:c.jsx(Slt,{value:d.content,path:d.path,onChange:p})}):c.jsx("div",{className:"code-browser-empty",children:"从左侧选择文件以查看代码"})})]})]})]})}),document.body)}function Elt({project:e,onChange:t,className:n="",label:i="查看源码"}){const[r,s]=O.useState(!1);return c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",className:`code-browser-trigger ${n}`.trim(),onClick:()=>s(!0),"aria-label":"查看和编辑项目源码",title:i,children:[c.jsx(fZ,{"aria-hidden":"true"}),c.jsx("span",{children:i})]}),c.jsx(tfe,{project:e,open:r,onClose:()=>s(!1),onChange:t})]})}function Fk({message:e,className:t="",onRetry:n,retryLabel:i="重试部署",defaultExpanded:r=!0}){const[s,a]=O.useState(r),[o,l]=O.useState(!1),[u,d]=O.useState(!1),f=async()=>{try{await navigator.clipboard.writeText(e),l(!0),setTimeout(()=>l(!1),1500)}catch{l(!1)}},h=async()=>{if(!(!n||u)){d(!0);try{await n()}finally{d(!1)}}};return c.jsxs("div",{className:`deploy-error-message${s?" is-expanded":""}${t?` ${t}`:""}`,role:"alert",children:[c.jsx("p",{className:"deploy-error-message-text",children:e}),c.jsxs("div",{className:"deploy-error-message-actions",children:[n&&c.jsxs("button",{type:"button",className:"deploy-error-retry",disabled:u,onClick:()=>void h(),children:[u?c.jsx(qn,{className:"spin"}):c.jsx(g1e,{}),u?"重试中…":i]}),c.jsx("button",{type:"button",title:s?"收起错误信息":"展开完整错误信息","aria-label":s?"收起错误信息":"展开完整错误信息",onClick:()=>a(p=>!p),children:s?c.jsx(l1e,{}):c.jsx(Ih,{})}),c.jsx("button",{type:"button",title:o?"已复制":"复制完整错误信息","aria-label":o?"已复制":"复制完整错误信息",onClick:()=>void f(),children:o?c.jsx(kc,{}):c.jsx(wT,{})})]})]})}function klt(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m7 9.5 5 5 5-5"})})}function Tlt(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m6.5 12.5 3.5 3.5 7.5-8"})})}function rA({ariaLabel:e,value:t,valueLabel:n,placeholder:i,options:r,disabled:s=!1,searchValue:a,searchPlaceholder:o="搜索资源名称",loading:l=!1,hasMore:u=!1,emptyMessage:d="暂无可用选项",onSearchChange:f,onLoadMore:h,onChange:p}){const m=O.useId(),g=O.useRef(null),y=O.useRef(null),b=O.useRef(null),S=O.useRef(null),x=O.useRef([]),[v,E]=O.useState(!1),[w,k]=O.useState(0),_=r.find(D=>D.value===t),C=(_==null?void 0:_.label)??(t?n:void 0),A=a!==void 0&&!!f,R=()=>{E(!1),A&&a&&(f==null||f(""))};O.useEffect(()=>{if(!v)return;const D=N=>{N.target instanceof Node&&g.current&&!g.current.contains(N.target)&&R()};return window.addEventListener("pointerdown",D),()=>window.removeEventListener("pointerdown",D)},[v,f,a,A]),O.useEffect(()=>{var D,N;if(v){if(A){(D=b.current)==null||D.focus();return}(N=x.current[w])==null||N.focus()}},[v,A]),O.useEffect(()=>{var D;!v||A&&document.activeElement===b.current||(D=x.current[w])==null||D.focus()},[w,v,A]),O.useEffect(()=>{k(D=>Math.min(D,Math.max(0,r.length-1)))},[r.length]),O.useEffect(()=>{if(!v||!u||l||!h)return;const D=window.requestAnimationFrame(()=>{const N=S.current;N&&N.scrollHeight<=N.clientHeight+1&&h()});return()=>window.cancelAnimationFrame(D)},[u,l,h,v,r.length]);const j=(D=1)=>{const N=r.findIndex(B=>B.value===t),M=N>=0?N:D===1?0:Math.max(0,r.length-1);k(M),E(!0)},Q=D=>{r.length!==0&&k((D+r.length)%r.length)},L=D=>{var N;p(D.value),R(),(N=y.current)==null||N.focus()};return c.jsxs("div",{className:"pp-deployment-select",ref:g,onKeyDown:D=>{var M,B;const N=D.target===b.current;if(D.key==="Escape"&&v){D.preventDefault(),R(),(M=y.current)==null||M.focus();return}if(D.key==="Tab"){R();return}if(N){D.key==="ArrowDown"&&r.length>0&&(D.preventDefault(),k(0),(B=x.current[0])==null||B.focus());return}D.key==="ArrowDown"?(D.preventDefault(),v?Q(w+1):j(1)):D.key==="ArrowUp"?(D.preventDefault(),v?Q(w-1):j(-1)):v&&D.key==="Home"?(D.preventDefault(),k(0)):v&&D.key==="End"&&(D.preventDefault(),k(Math.max(0,r.length-1)))},children:[c.jsxs("button",{ref:y,type:"button",className:"pp-deployment-select-trigger","aria-label":e,"aria-haspopup":"listbox","aria-expanded":v,"aria-controls":v?m:void 0,disabled:s,onClick:()=>{v?R():j()},children:[c.jsx("span",{className:C?void 0:"is-placeholder",children:C??i}),c.jsx(klt,{className:`pp-deployment-select-chevron${v?" is-open":""}`})]}),v&&c.jsxs("div",{className:"pp-deployment-select-menu",children:[A&&c.jsx("div",{className:"pp-deployment-select-search",children:c.jsx("input",{ref:b,type:"search",value:a,"aria-label":`搜索${e}`,placeholder:o,autoComplete:"off",onChange:D=>f==null?void 0:f(D.currentTarget.value)})}),c.jsx("div",{id:m,ref:S,className:"pp-deployment-select-options",role:"listbox","aria-label":e,"aria-busy":l||void 0,onScroll:D=>{if(!u||l||!h)return;const N=D.currentTarget;N.scrollHeight-N.scrollTop-N.clientHeight<=24&&h()},children:r.map((D,N)=>{const M=D.value===t;return c.jsxs("button",{ref:B=>{x.current[N]=B},type:"button",role:"option","aria-selected":M,tabIndex:N===w?0:-1,className:`pp-deployment-select-option${M?" is-selected":""}`,title:D.description,onFocus:()=>k(N),onClick:()=>L(D),children:[c.jsxs("span",{className:"pp-deployment-select-copy",children:[c.jsxs("span",{className:"pp-deployment-select-name",children:[D.label,D.badge&&c.jsx("span",{className:"pp-deployment-select-badge",children:D.badge})]}),D.description&&c.jsx("small",{children:D.description})]}),M&&c.jsx(Tlt,{})]},D.value)})}),l&&c.jsx("div",{className:"pp-deployment-select-state","aria-live":"polite",children:"正在加载更多资源…"}),!l&&r.length===0&&c.jsx("div",{className:"pp-deployment-select-state",children:d})]})]})}const _lt=[{value:"auto",label:"自动创建",description:"部署时自动创建所需资源",badge:"推荐"},{value:"create",label:"指定名称",description:"使用指定名称创建或复用资源"},{value:"existing",label:"选择已有",description:"从当前账号的已有资源中选择"}],Alt={tos:{mode:"auto"},cr:{mode:"auto"},codePipeline:{mode:"auto"}};function Xp(e){const[t,n]=O.useState([]),[i,r]=O.useState(""),[s,a]=O.useState(1),[o,l]=O.useState(0),[u,d]=O.useState(!1),[f,h]=O.useState(!1),[p,m]=O.useState(null),[g,y]=O.useState(""),[b,S]=O.useState(""),[x,v]=O.useState(""),[E,w]=O.useState(0),k=O.useRef(!1),_=O.useRef(null),C=e?JSON.stringify(e):"",A=e?JSON.stringify({...e,search:b}):"";O.useEffect(()=>{const D=window.setTimeout(()=>{S(g.trim())},250);return()=>window.clearTimeout(D)},[g]),O.useEffect(()=>{y(""),S("")},[C]);const R=O.useCallback((D,N)=>{var $;if(!A)return;($=_.current)==null||$.abort();const M=new AbortController;_.current=M;const B=JSON.parse(A);N&&n([]),k.current=!0,h(!0),m(null),sK({...B,pageNumber:D,pageSize:100},M.signal).then(I=>{n(G=>{if(N)return I.items;const X=new Set(G.map(U=>`${U.id}\0${U.name}`));return[...G,...I.items.filter(U=>!X.has(`${U.id}\0${U.name}`))]}),r(I.serviceRegion),a(I.pageNumber),l(I.totalCount),d(I.hasMore),v(A)}).catch(I=>{I instanceof DOMException&&I.name==="AbortError"||(v(A),m(I instanceof Error?I.message:String(I)))}).finally(()=>{_.current===M&&(_.current=null,k.current=!1,h(!1))})},[A]);O.useEffect(()=>{var D;if(!A){(D=_.current)==null||D.abort(),_.current=null,k.current=!1,n([]),r(""),a(1),l(0),d(!1),v(""),h(!1),m(null);return}return R(1,!0),()=>{var N;return(N=_.current)==null?void 0:N.abort()}},[R,A,E]);const j=!!A&&x===A&&g.trim()===b,Q=O.useCallback(()=>{v(""),w(D=>D+1)},[]),L=O.useCallback(()=>{!j||k.current||!u||R(s+1,!1)},[u,R,s,j]);return{items:t,serviceRegion:i,totalCount:o,hasMore:j?u:!1,loading:!!A&&(!j||f),error:p,search:g,setSearch:y,reload:Q,loadMore:L}}function Nlt(e,t){return e.map(n=>({value:n[t],label:n.name,description:[n.status,n.region,n.id].filter(Boolean).join(" · ")}))}function qp({ariaLabel:e,value:t,valueLabel:n,state:i,disabled:r,valueField:s="id",onChange:a}){const o=O.useMemo(()=>Nlt(i.items,s),[i.items,s]);return c.jsxs("div",{className:"pp-resource-picker",children:[c.jsx(rA,{ariaLabel:e,value:t,valueLabel:n,placeholder:i.loading?"正在加载…":"请选择已有资源",options:o,disabled:r||!!i.error,searchValue:i.search,searchPlaceholder:"搜索资源名称",loading:i.loading,hasMore:i.hasMore,emptyMessage:i.search.trim()?"未找到匹配资源":"暂无可用资源",onSearchChange:i.setSearch,onLoadMore:i.loadMore,onChange:l=>{const u=i.items.find(d=>d[s]===l);u&&a(u)}}),i.error?c.jsxs("div",{className:"pp-resource-error",role:"alert",children:[c.jsx("span",{children:i.error}),c.jsx("button",{type:"button",onClick:i.reload,children:"重试"})]}):i.loading&&i.items.length===0?c.jsx("span",{className:"pp-resource-status","aria-live":"polite",children:i.search.trim()?"正在搜索云资源…":"正在加载云资源…"}):i.items.length===0?c.jsx("span",{className:"pp-resource-status",children:i.search.trim()?"未找到匹配资源。":"暂无可用资源。"}):i.serviceRegion?c.jsxs("span",{className:"pp-resource-status",children:["实际服务区域:",i.serviceRegion," · 已加载 ",i.items.length,i.totalCount>0?`/${i.totalCount}`:""]}):null]})}function lR({resource:e,value:t,disabled:n,onChange:i}){return c.jsxs("label",{className:"pp-resource-field pp-resource-mode",children:[c.jsx("span",{children:"配置方式"}),c.jsx(rA,{ariaLabel:`${e}配置方式`,value:t,placeholder:"请选择配置方式",options:_lt,disabled:n,onChange:r=>i(r)})]})}function Hp({label:e,value:t,placeholder:n,disabled:i,onChange:r}){return c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:e}),c.jsx("input",{value:t,placeholder:n,disabled:i,autoComplete:"off",onChange:s=>r(s.currentTarget.value)})]})}function cR({items:e,note:t}){return c.jsxs("div",{className:"pp-resource-auto-names",children:[c.jsx("span",{children:"自动创建名称"}),c.jsx("dl",{children:e.map(n=>c.jsxs("div",{children:[c.jsx("dt",{children:n.label}),c.jsx("dd",{title:n.name,children:n.name})]},n.label))}),t&&c.jsx("small",{children:t})]})}function Clt(e){var t,n,i,r,s,a,o,l;return e.tos.mode!=="auto"&&!((t=e.tos.bucket)!=null&&t.trim())?"请填写或选择 TOS 存储桶。":e.cr.mode!=="auto"&&(!((n=e.cr.instance)!=null&&n.trim())||!((i=e.cr.namespace)!=null&&i.trim())||!((r=e.cr.repository)!=null&&r.trim()))?"请完整填写或选择 CR 实例、命名空间和镜像仓库。":e.codePipeline.mode!=="auto"&&(!((s=e.codePipeline.workspaceName)!=null&&s.trim())||!((a=e.codePipeline.pipelineName)!=null&&a.trim()))?"请完整填写或选择 CodePipeline Workspace 和 Pipeline。":e.codePipeline.mode==="existing"&&(!((o=e.codePipeline.workspaceId)!=null&&o.trim())||!((l=e.codePipeline.pipelineId)!=null&&l.trim()))?"请选择已有的 CodePipeline Workspace 和兼容 Pipeline。":null}function Rlt({value:e,agentName:t,runtimeName:n,region:i,disabled:r,validationError:s,onChange:a}){const o=t.trim()||"agentkit-app",l=n.trim()||o,u=i&&i!=="cn-beijing"?`agentkit-platform-{账号 ID}-${i.startsWith("cn-")?i.slice(3):i}`:"agentkit-platform-{账号 ID}",d=Xp(e.tos.mode==="existing"?{kind:"tos-bucket",region:i}:null),f=Xp(e.cr.mode==="existing"?{kind:"cr-registry",region:i}:null),h=Xp(e.cr.mode==="existing"&&e.cr.instance?{kind:"cr-namespace",region:i,registry:e.cr.instance}:null),p=Xp(e.cr.mode==="existing"&&e.cr.instance&&e.cr.namespace?{kind:"cr-repository",region:i,registry:e.cr.instance,namespace:e.cr.namespace}:null),m=Xp(e.codePipeline.mode==="existing"?{kind:"cp-workspace",region:i}:null),g=Xp(e.codePipeline.mode==="existing"&&e.codePipeline.workspaceId?{kind:"cp-pipeline",region:i,workspaceId:e.codePipeline.workspaceId}:null),y=b=>a({...e,...b});return c.jsxs("div",{className:"pp-resource-list",children:[c.jsxs("div",{className:"pp-resource-item",children:[c.jsx("div",{className:"pp-resource-name",children:"TOS 存储桶"}),c.jsxs("div",{className:"pp-resource-grid",children:[c.jsx(lR,{resource:"TOS 存储桶",value:e.tos.mode,disabled:r,onChange:b=>y({tos:{mode:b}})}),e.tos.mode==="create"&&c.jsx(Hp,{label:"存储桶名称",value:e.tos.bucket??"",placeholder:"输入存储桶名称",disabled:r,onChange:b=>y({tos:{...e.tos,bucket:b}})}),e.tos.mode==="existing"&&c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"已有存储桶"}),c.jsx(qp,{ariaLabel:"已有 TOS 存储桶",value:e.tos.bucket??"",valueLabel:e.tos.bucket,state:d,disabled:r,onChange:b=>y({tos:{...e.tos,bucket:b.name}})})]}),e.tos.mode==="auto"&&c.jsx(cR,{items:[{label:"存储桶",name:u}],note:"账号 ID 在部署时按当前云账号解析。"})]})]}),c.jsxs("div",{className:"pp-resource-item",children:[c.jsx("div",{className:"pp-resource-name",children:"容器镜像仓库(CR)"}),c.jsxs("div",{className:"pp-resource-grid",children:[c.jsx(lR,{resource:"CR",value:e.cr.mode,disabled:r,onChange:b=>y({cr:{mode:b}})}),e.cr.mode==="create"&&c.jsxs("div",{className:"pp-resource-fields pp-resource-fields-three",children:[c.jsx(Hp,{label:"实例名称",value:e.cr.instance??"",placeholder:"CR 实例",disabled:r,onChange:b=>y({cr:{...e.cr,instance:b}})}),c.jsx(Hp,{label:"命名空间",value:e.cr.namespace??"",placeholder:"命名空间",disabled:r,onChange:b=>y({cr:{...e.cr,namespace:b}})}),c.jsx(Hp,{label:"镜像仓库",value:e.cr.repository??"",placeholder:"镜像仓库",disabled:r,onChange:b=>y({cr:{...e.cr,repository:b}})})]}),e.cr.mode==="existing"&&c.jsxs("div",{className:"pp-resource-fields pp-resource-fields-three",children:[c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"CR 实例"}),c.jsx(qp,{ariaLabel:"已有 CR 实例",value:e.cr.instance??"",valueLabel:e.cr.instance,state:f,disabled:r,valueField:"name",onChange:b=>y({cr:{mode:"existing",instance:b.name}})})]}),c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"命名空间"}),c.jsx(qp,{ariaLabel:"已有 CR 命名空间",value:e.cr.namespace??"",valueLabel:e.cr.namespace,state:h,disabled:r||!e.cr.instance,valueField:"name",onChange:b=>y({cr:{...e.cr,namespace:b.name,repository:void 0}})})]}),c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"镜像仓库"}),c.jsx(qp,{ariaLabel:"已有 CR 镜像仓库",value:e.cr.repository??"",valueLabel:e.cr.repository,state:p,disabled:r||!e.cr.namespace,valueField:"name",onChange:b=>y({cr:{...e.cr,repository:b.name}})})]})]}),e.cr.mode==="auto"&&c.jsx(cR,{items:[{label:"CR 实例",name:"agentkit-platform-{账号 ID}"},{label:"命名空间",name:"agentkit"},{label:"镜像仓库",name:`${o}-{4 位随机字符}`}],note:"账号 ID 在部署时解析,镜像仓库的随机字符在部署时生成。"})]})]}),c.jsxs("div",{className:"pp-resource-item",children:[c.jsx("div",{className:"pp-resource-name",children:"CodePipeline"}),c.jsxs("div",{className:"pp-resource-grid",children:[c.jsx(lR,{resource:"CodePipeline",value:e.codePipeline.mode,disabled:r,onChange:b=>y({codePipeline:{mode:b}})}),e.codePipeline.mode==="create"&&c.jsxs("div",{className:"pp-resource-fields",children:[c.jsx(Hp,{label:"Workspace 名称",value:e.codePipeline.workspaceName??"",placeholder:"Workspace 名称",disabled:r,onChange:b=>y({codePipeline:{...e.codePipeline,workspaceName:b}})}),c.jsx(Hp,{label:"Pipeline 名称",value:e.codePipeline.pipelineName??"",placeholder:"Pipeline 名称",disabled:r,onChange:b=>y({codePipeline:{...e.codePipeline,pipelineName:b}})})]}),e.codePipeline.mode==="existing"&&c.jsxs("div",{className:"pp-resource-fields",children:[c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"Workspace"}),c.jsx(qp,{ariaLabel:"已有 CodePipeline Workspace",value:e.codePipeline.workspaceId??"",valueLabel:e.codePipeline.workspaceName,state:m,disabled:r,onChange:b=>y({codePipeline:{mode:"existing",workspaceId:b.id,workspaceName:b.name}})})]}),c.jsxs("label",{className:"pp-resource-field",children:[c.jsx("span",{children:"兼容 Pipeline"}),c.jsx(qp,{ariaLabel:"已有 AgentKit CodePipeline",value:e.codePipeline.pipelineId??"",valueLabel:e.codePipeline.pipelineName,state:g,disabled:r||!e.codePipeline.workspaceId,onChange:b=>y({codePipeline:{...e.codePipeline,pipelineId:b.id,pipelineName:b.name}})})]})]}),e.codePipeline.mode==="auto"&&c.jsx(cR,{items:[{label:"Workspace",name:"agentkit-cli-workspace"},{label:"Pipeline",name:l}],note:"Pipeline 与 Runtime 名称一致。"})]})]}),s&&c.jsx("p",{className:"pp-resource-validation",role:"alert",children:s})]})}const Ilt=5e4;function Plt(e,t){if(!e)return t;if(!t||e.endsWith(t))return e;if(t.startsWith(e))return t;const n=e.split(` `),i=t.split(` `),r=Math.min(n.length,i.length,260);for(let s=r;s>0;s-=1){const a=n.slice(-s).join(` `),o=i.slice(0,s).join(` `);if(a===o){const l=i.slice(s).join(` `);return l?`${e} ${l}`:e}}return`${e} -${t}`}function Plt(e,t){if(e.length<=t)return{text:e,omitted:!1};let n=e.slice(-t);const i=n.indexOf(` -`);return i>=0&&(n=n.slice(i+1)),{text:n,omitted:!0}}function MX(e,t,n=Rlt){const i=Ilt((e==null?void 0:e.text)??"",t.text??""),r=Plt(i,n),s=r.text?r.text.split(` -`).length:0,a=!!(t.snapshotTruncated||t.truncated),o=!!(e!=null&&e.omittedEarly||r.omitted);return{...t,text:r.text,lineCount:s,truncated:!!(e!=null&&e.truncated||t.truncated||o),omittedEarly:o,snapshotTruncated:!!(e!=null&&e.snapshotTruncated||a)}}Aa.registerLanguage("python",Mne);Aa.registerLanguage("typescript",Hne);Aa.registerLanguage("javascript",Nne);Aa.registerLanguage("json",Cne);Aa.registerLanguage("yaml",Yne);Aa.registerLanguage("markdown",jne);Aa.registerLanguage("bash",wne);Aa.registerLanguage("ini",Ene);Aa.registerLanguage("dockerfile",t3e);Aa.registerLanguage("makefile",Pne);function LX(e){switch(e){case"prepare":case"upload":case"build":case"deploy":case"publish":case"update":case"evaluation":return e;default:return"unknown"}}const jlt=O.lazy(()=>ug(()=>Promise.resolve().then(()=>cce),void 0)),md=()=>{};function Mlt({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M2.75 12s3.35-5.25 9.25-5.25S21.25 12 21.25 12 17.9 17.25 12 17.25 2.75 12 2.75 12Z"}),c.jsx("circle",{cx:"12",cy:"12",r:"2.5"})]})}function Llt({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M3 3l18 18"}),c.jsx("path",{d:"M9.7 6.95A9.7 9.7 0 0 1 12 6.68c5.9 0 9.25 5.32 9.25 5.32a16 16 0 0 1-2.28 2.85"}),c.jsx("path",{d:"M14.35 14.55A3.25 3.25 0 0 1 9.5 10.2"}),c.jsx("path",{d:"M6.25 8.12A16.4 16.4 0 0 0 2.75 12S6.1 17.32 12 17.32c.8 0 1.55-.1 2.25-.27"})]})}const uR={status:"hidden",apiKeyId:"",value:"",error:""};function Dlt({open:e,isUpdate:t,onCancel:n,onConfirm:i}){const r=O.useRef(null);return O.useEffect(()=>{var o;if(!e)return;const s=document.body.style.overflow;document.body.style.overflow="hidden",(o=r.current)==null||o.focus();const a=l=>{l.key==="Escape"&&n()};return window.addEventListener("keydown",a),()=>{document.body.style.overflow=s,window.removeEventListener("keydown",a)}},[n,e]),e?ar.createPortal(c.jsx("div",{className:"code-browser-backdrop pp-confirm-backdrop",onMouseDown:s=>{s.target===s.currentTarget&&n()},children:c.jsxs("section",{className:"code-browser-dialog pp-confirm-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"pp-confirm-title","aria-describedby":"pp-confirm-description",children:[c.jsxs("header",{className:"code-browser-head pp-confirm-head",children:[c.jsxs("div",{className:"code-browser-title-wrap",children:[c.jsx("span",{className:"code-browser-title-icon pp-confirm-icon","aria-hidden":"true",children:c.jsx(O1e,{})}),c.jsx("h2",{id:"pp-confirm-title",children:t?"确认更新":"确认部署"})]}),c.jsx("button",{type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭部署确认",children:c.jsx(aa,{"aria-hidden":"true"})})]}),c.jsx("div",{className:"pp-confirm-body",children:c.jsx("p",{id:"pp-confirm-description",children:t?"将更新并发布到当前云端 Runtime,过程可能需要几分钟。确定继续吗?":"将创建新的云端 Runtime,部署过程可能需要几分钟。确定继续吗?"})}),c.jsxs("footer",{className:"pp-confirm-actions",children:[c.jsx("button",{ref:r,type:"button",onClick:n,children:"取消"}),c.jsx("button",{type:"button",className:"is-primary",onClick:i,children:t?"确定更新":"确定部署"})]})]})}),document.body):null}function $lt({value:e,disabled:t,onChange:n}){const[i,r]=O.useState([]),[s,a]=O.useState(!0),[o,l]=O.useState(null),[u,d]=O.useState(0);O.useEffect(()=>{const p=new AbortController;return a(!0),l(null),RD(p.signal).then(m=>r(m)).catch(m=>{m instanceof DOMException&&m.name==="AbortError"||(r([]),l(m instanceof Error?m.message:String(m)))}).finally(()=>{p.signal.aborted||a(!1)}),()=>p.abort()},[u]);const f=O.useMemo(()=>[...i].sort((p,m)=>Number(m.isCurrent)-Number(p.isCurrent)).map(p=>({value:p.uid,label:p.name.trim()||"未命名用户池",description:p.domain||p.uid,badge:p.isCurrent?"当前用户池":void 0})),[i]),h=i.find(p=>p.uid===e);return c.jsxs("div",{className:"pp-user-pool-picker",children:[c.jsx(rA,{ariaLabel:"部署用户池",value:e,placeholder:s?"正在加载用户池…":"请选择用户池",options:f,disabled:t||s||!!o,onChange:n}),o?c.jsxs("div",{className:"pp-user-pool-error",role:"alert",children:[c.jsx("span",{children:o}),c.jsx("button",{type:"button",onClick:()=>d(p=>p+1),children:"重试"})]}):s?c.jsxs("span",{className:"pp-user-pool-status","aria-live":"polite",children:[c.jsx(qn,{"aria-hidden":"true",className:"pp-user-pool-spinner"}),"正在加载 Identity 用户池…"]}):i.length===0?c.jsx("span",{className:"pp-user-pool-status",children:"当前账号下暂无 Identity 用户池。"}):h!=null&&h.isCurrent?c.jsx("span",{className:"pp-user-pool-status",children:"当前 Studio 的登录 JWT 将透传访问此 Runtime。"}):h?c.jsx("div",{className:"pp-user-pool-error",role:"alert",children:c.jsx("span",{children:"所选用户池不是当前 Studio 使用的用户池,部署后无法从 Studio 调用此 Runtime。"})}):c.jsx("span",{className:"pp-user-pool-status",children:"当前 Studio 使用的用户池已在列表中标注。"})]})}const Qlt=[{value:"api_key",label:"API Key",description:"默认方式,使用 Runtime API Key 访问"},{value:"user_pool",label:"用户池",description:"使用 Identity 用户池签发的 JWT"}],Blt={py:"python",pyi:"python",ts:"typescript",tsx:"typescript",mts:"typescript",cts:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",json:"json",jsonc:"json",yaml:"yaml",yml:"yaml",md:"markdown",markdown:"markdown",sh:"bash",bash:"bash",zsh:"bash",toml:"ini",ini:"ini",cfg:"ini",conf:"ini",env:"ini",txt:"plaintext"},DX={dockerfile:"dockerfile","requirements.txt":"plaintext","requirements-dev.txt":"plaintext",".env":"ini",".gitignore":"plaintext",makefile:"makefile"};function $X(e){return e.replace(/&/g,"&").replace(//g,">")}function Ult(e){const n=(e.split("/").pop()??e).toLowerCase();if(DX[n])return DX[n];if(n.startsWith("dockerfile"))return"dockerfile";if(n.startsWith(".env"))return"ini";const i=n.lastIndexOf(".");if(i===-1)return null;const r=n.slice(i+1);return Blt[r]??null}function zlt(e,t){try{const n=Ult(t);return n&&Aa.getLanguage(n)?Aa.highlight(e,{language:n,ignoreIllegals:!0}).value:n===null?Aa.highlightAuto(e).value:$X(e)}catch{return $X(e)}}const Flt=[{phase:"build",label:"构建镜像"},{phase:"deploy",label:"部署"},{phase:"publish",label:"发布"}],Vlt=[{phase:"upload",label:"上传代码包"},{phase:"build",label:"镜像打包"},{phase:"deploy",label:"创建 Runtime"},{phase:"publish",label:"发布服务"}],Xlt={phase:"update",label:"更新实例配置"},qlt={phase:"evaluation",label:"创建评测集"};function Hlt(e){return e?!e.memory.shortTerm||(e.shortTermBackend||"local")==="local":!1}function Ylt(e,t){const n=Number(e),i=Number(t);return!e.trim()||!t.trim()||!Number.isSafeInteger(n)||!Number.isSafeInteger(i)||n<1||i<1?{valid:!1,error:"实例数必须为大于 0 的整数。"}:n>i?{valid:!1,error:"最小实例数不能大于最大实例数。"}:{valid:!0,min:n,max:i}}function Glt(e){const t={name:"",children:new Map};for(const n of e){const i=n.path.split("/").filter(Boolean);let r=t;i.forEach((s,a)=>{let o=r.children.get(s);o||(o={name:s,children:new Map},r.children.set(s,o)),a===i.length-1&&(o.path=n.path),r=o})}return t}function Wlt(e){return[...e.children.values()].sort((t,n)=>{const i=t.children.size>0&&t.path===void 0,r=n.children.size>0&&n.path===void 0;return i!==r?i?-1:1:t.name.localeCompare(n.name)})}function Zlt(e="",t=""){return{id:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,key:e,value:t}}function Klt({left:e,right:t}){const[n,i]=O.useState(null);return O.useLayoutEffect(()=>{const r=document.getElementById("veadk-page-header-left"),s=document.getElementById("veadk-page-header-actions");r&&s&&i({left:r,right:s})},[]),n?c.jsxs(c.Fragment,{children:[ar.createPortal(e,n.left),ar.createPortal(t,n.right)]}):c.jsxs("header",{className:"pp-toolbar",children:[e,t]})}function efe({project:e,embedded:t=!1,deployDisabledReason:n,agentDraft:i,agentName:r,agentCount:s,releaseConfiguration:a,onChange:o,onDeploy:l,onAgentAdded:u,onDeploymentComplete:d,deploymentActionLabel:f="部署",deploymentActionTargetId:h,deploymentRuntimeId:p,deploymentRuntimeName:m,onDeploymentRuntimeNameChange:g,onDeploymentStarted:y,onDeploymentTaskChange:b,feishuEnabled:S=!1,onFeishuEnabledChange:x,deploymentEnv:v=[],requiredSecretEnv:E=[],requiredSecretEnvValues:w,onRequiredSecretEnvChange:k,deploymentEnvValues:_={},onDeploymentEnvChange:C,network:A,onNetworkChange:R,cloudProvider:j="volcengine",deployRegion:Q=Ui(j),onDeployRegionChange:L,deploymentTelemetry:D={source:"unknown",createMode:"unknown",aiAssisted:!1},onBack:N,backLabel:M="返回配置",onExportYaml:B,deploymentPrimaryPane:$,deployDisabled:I=!1}){var Yo,es,Ml,Go,re;const G=typeof o=="function",X=!!p,U=Hlt(i),Y=(r==null?void 0:r.trim())||(i==null?void 0:i.name)||e.name,ae=m??(X?Y:Pce(Y)),fe=X?null:b3(ae),ke=((es=(Yo=i==null?void 0:i.deployment)==null?void 0:Yo.modelApiKeyId)==null?void 0:es.trim())??"",[K,ie]=O.useState(((Go=(Ml=e==null?void 0:e.files)==null?void 0:Ml[0])==null?void 0:Go.path)??null),[le,ge]=O.useState(new Set),[Ee,Ce]=O.useState(!1),[_e,he]=O.useState(""),[te,Te]=O.useState(!1),[me,Be]=O.useState(!1),[je,Ue]=O.useState(!1),[st,ct]=O.useState(!1),[Tt,at]=O.useState(null),[q,oe]=O.useState(null),[de,Ie]=O.useState({}),[ce,Me]=O.useState(null),[Ye,dt]=O.useState(!1),[Gt,Ct]=O.useState([]),[Dt,vt]=O.useState(uR),Wt=O.useRef(null),gt=O.useRef(ke);gt.current=ke;const[ft,Rt]=O.useState({}),rn=w??ft,[ln,Ae]=O.useState(null),[qe,$e]=O.useState(_lt),[pn,bn]=O.useState(null),[It,pe]=O.useState(!1),Qe=O.useId(),yt=O.useId(),mn=O.useId(),wn=O.useId(),[Jt,ui]=O.useState("api_key"),[zn,xe]=O.useState(""),Ge=_T(j),Nt=ff(Q,j),[Kt,sn]=O.useState("1"),[Fn,xi]=O.useState(U?"1":"5"),[di,Hn]=O.useState(!0),En=j!=="byteplus",Zn=En&&di,[Si,Zt]=O.useState(null),Yn=O.useRef(!0),mr=E.map(ne=>`${ne.key}:${ne.label}`).join("|"),er=O.useRef(Q),gn=Ylt(Kt,Fn),Li=!X&&gn.valid&&(gn.min!==1||gn.max!==5),kn=$?Vlt:Flt,fn=Li?[...kn,Xlt]:kn,Di=Zn?[...fn,qlt]:fn;function Ft(){var ne;(ne=Wt.current)==null||ne.abort(),Wt.current=null,vt(uR)}async function vi(){var Ve;const ne=gt.current;if(!ne){vt({status:"error",apiKeyId:"",value:"",error:"请先在模型配置中选择 API Key。"});return}(Ve=Wt.current)==null||Ve.abort();const Pe=new AbortController;Wt.current=Pe,vt({status:"loading",apiKeyId:ne,value:"",error:""});try{const pt=await kZ(ne,Pe.signal);if(Pe.signal.aborted||gt.current!==ne)return;vt({status:"visible",apiKeyId:ne,value:pt.value,error:""})}catch(pt){if(Pe.signal.aborted)return;vt({status:"error",apiKeyId:ne,value:"",error:pt instanceof Error?pt.message:"加载 API Key 失败,请重试。"})}finally{Wt.current===Pe&&(Wt.current=null)}}O.useEffect(()=>{Ft()},[ke]),O.useEffect(()=>(window.addEventListener("pagehide",Ft),()=>{window.removeEventListener("pagehide",Ft),Ft()}),[]),O.useEffect(()=>{const ne=new Set(E.map(Pe=>Pe.key));w===void 0&&Rt(Pe=>Object.fromEntries(Object.entries(Pe).filter(([Ve])=>ne.has(Ve)))),Ae(Pe=>Pe&&ne.has(Pe)?Pe:null)},[mr,w]),O.useEffect(()=>{!L||X||Ge.some(ne=>ne.value===Q)||L(Ui(j))},[j,Q,Ge,X,L]),O.useEffect(()=>{if(!h){Zt(null);return}Zt(document.getElementById(h))},[h]);const Kn=ne=>c.jsxs("div",{className:`pp-network-region${It?" is-open":""}`,onKeyDown:Pe=>{Pe.key==="Escape"&&pe(!1)},children:[ne&&c.jsx("span",{children:"发布区域"}),c.jsxs("button",{type:"button",className:"pp-region-trigger","aria-label":"部署区域","aria-haspopup":"listbox","aria-expanded":It,"aria-describedby":X?Qe:void 0,disabled:te||X||!L,onClick:()=>pe(Pe=>!Pe),children:[c.jsx("span",{children:Nt}),c.jsx(Fxe,{className:`pp-region-chevron${It?" is-open":""}`})]}),It&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>pe(!1)}),c.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"部署区域",children:Ge.map(Pe=>{const Ve=Pe.value===Q;return c.jsxs("button",{type:"button",role:"option","aria-selected":Ve,className:`pp-region-option${Ve?" is-selected":""}`,onClick:()=>{L==null||L(Pe.value),pe(!1)},children:[c.jsx("span",{children:Pe.label}),Ve&&c.jsx(kc,{"aria-hidden":"true"})]},Pe.value)})})]}),X&&c.jsx("span",{id:Qe,className:"pp-region-help",children:"更新时沿用现有 Runtime 的部署区域,无法修改。"})]});O.useEffect(()=>(Yn.current=!0,()=>{Yn.current=!1}),[]),O.useEffect(()=>{sn("1"),xi(U?"1":"5")},[U]),O.useEffect(()=>{er.current!==Q&&(er.current=Q,$e(ne=>({tos:ne.tos.mode==="existing"?{mode:"existing"}:ne.tos,cr:ne.cr.mode==="existing"?{mode:"existing"}:ne.cr,codePipeline:ne.codePipeline.mode==="existing"?{mode:"existing"}:ne.codePipeline})),bn(null))},[Q]),O.useEffect(()=>{if(!je)return;const ne=document.body.style.overflow;document.body.style.overflow="hidden";const Pe=Ve=>{Ve.key==="Escape"&&Ue(!1)};return window.addEventListener("keydown",Pe),()=>{document.body.style.overflow=ne,window.removeEventListener("keydown",Pe)}},[je]);const $i=O.useMemo(()=>!(e!=null&&e.files)||!Array.isArray(e.files)?{name:"",children:new Map}:Glt(e.files),[e==null?void 0:e.files]);if(!e||!Array.isArray(e.files))return c.jsx("div",{className:"pp-error",children:"项目数据无效"});const Vt=e.files.find(ne=>ne.path===K)??null,Ai=(A==null?void 0:A.mode)??"public",ms=()=>({agentId:String((r==null?void 0:r.trim())||e.name||"unknown"),deployAction:p?"update":"create",deploySource:D.source,createMode:D.createMode,aiAssisted:D.aiAssisted?1:0,deployRegion:String(Q),runtimeNetworkType:Ai,feishuEnabled:S?1:0}),Fs=new Set(E.map(ne=>ne.key)),Kr=Dot(S?[...v,...bO]:v,_).filter(ne=>!Fs.has(ne.key)),gr=Kr.length+E.length+Gt.length,Ur=Dt.apiKeyId===ke?Dt:uR,or=Ur.status==="visible",Qi=ke?Ur.status==="loading"?"正在显示 API Key":or?"隐藏 API Key":Ur.status==="error"?"重试显示 API Key":"显示 API Key":"请先选择 API Key";function Jr(ne){ge(Pe=>{const Ve=new Set(Pe);return Ve.has(ne)?Ve.delete(ne):Ve.add(ne),Ve})}function zr(ne,Pe){o&&(o({...e,files:ne}),Pe!==void 0&&ie(Pe))}function tr(ne){Vt&&zr(e.files.map(Pe=>Pe.path===Vt.path?{...Pe,content:ne}:Pe))}function Fr(){const ne=_e.trim();if(Ce(!1),he(""),!!ne){if(e.files.some(Pe=>Pe.path===ne)){ie(ne);return}zr([...e.files,{path:ne,content:""}],ne)}}function Vs(){if(!Vt)return;const ne=window.prompt("重命名文件",Vt.path),Pe=ne==null?void 0:ne.trim();!Pe||Pe===Vt.path||e.files.some(Ve=>Ve.path===Pe)||zr(e.files.map(Ve=>Ve.path===Vt.path?{...Ve,path:Pe}:Ve),Pe)}function Zu(){var Pe;if(!Vt)return;const ne=e.files.filter(Ve=>Ve.path!==Vt.path);zr(ne,((Pe=ne[0])==null?void 0:Pe.path)??null)}function po(ne,Pe){Ct(Ve=>Ve.map(pt=>pt.id===ne?{...pt,...Pe}:pt))}function mo(ne){Ct(Pe=>Pe.filter(Ve=>Ve.id!==ne))}function Ni(){Ct(ne=>[...ne,Zlt()])}function Ic(ne){R&&R(ne==="public"?void 0:{...A??{mode:ne},mode:ne})}function He(ne){R==null||R({...A??{mode:"private"},...ne})}function gs(){var pt,Fe,Pt,In;const ne=new Map(Gt.map(At=>({key:At.key.trim(),value:At.value})).filter(At=>At.key.length>0).map(At=>[At.key,At.value])),Pe=S?[...v,...bO]:v;for(const At of Ede(Pe,_))ne.set(At.key,At.value);for(const At of E){const Dn=rn[At.key]??"";Dn.trim()&&ne.set(At.key,Dn)}const Ve=At=>At.agentType==="llm"&&F0(At,j)==="ark"||At.subAgents.some(Ve);if(i&&Ve(i)){const At=(Fe=(pt=i.deployment)==null?void 0:pt.modelApiKeyId)==null?void 0:Fe.trim(),Dn=(In=(Pt=i.deployment)==null?void 0:Pt.modelApiKeyName)==null?void 0:In.trim();At&&ne.set("MODEL_AGENT_API_KEY_ID",At),Dn&&ne.set("MODEL_AGENT_API_KEY_NAME",Dn)}return[...ne].map(([At,Dn])=>({key:At,value:Dn}))}async function Ma(){if(!(!x||te||st)){at(null),ct(!0);try{await x(!S)}catch(ne){Yn.current&&at(`更新飞书配置失败:${ne instanceof Error?ne.message:String(ne)}`)}finally{Yn.current&&ct(!1)}}}async function Or(){var pt;if(!l||te||I)return;if(fe){at(fe);return}if(!X){const Fe=Nlt(qe);if(Fe){bn(Fe),at(Fe);return}}if(bn(null),!gn.valid){at(gn.error);return}if(!X&&Jt==="user_pool"&&!zn){at("请选择用于 Runtime 鉴权的用户池。");return}if(Ai!=="public"&&!((pt=A==null?void 0:A.vpcId)!=null&&pt.trim())){at("使用 VPC 网络时,请填写 VPC ID。");return}const ne=E.find(Fe=>!(rn[Fe.key]??"").trim());if(ne){Ae(ne.key),at(`请填写 ${ne.label},用于访问对应的自定义模型地址。`);return}Ae(null);const Pe=CX(v,_);if(Pe){const Fe=v.find(Pt=>Pt.key===Pe.key);at(`请返回配置页填写 ${(Fe==null?void 0:Fe.comment)||(Fe==null?void 0:Fe.key)}(${Fe==null?void 0:Fe.key})。`);return}const Ve=kde(v,_);if(Ve){at(`${Ve.spec.comment||Ve.spec.key}:${Ve.error}`);return}if(S){const Fe=CX(bO,_);if(Fe){const Pt=bO.find(In=>In.key===Fe.key);at(`启用飞书后,请填写${(Pt==null?void 0:Pt.comment)||(Pt==null?void 0:Pt.key)}。`);return}}Be(!0)}async function Xs(){var Jn;if(!l||te)return;if(fe){Be(!1),at(fe);return}if(!gn.valid){Be(!1),at(gn.error);return}Be(!1);const ne=gs();Yn.current&&(at(null),oe(null),Ie({}),Me(null),Te(!0));const Pe=`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,Ve=(r==null?void 0:r.trim())||(i==null?void 0:i.name)||e.name,pt=ae.trim();let Fe=pt;const Pt=Date.now(),In=$ce(ms()),At={id:Pe,agentName:Ve,runtimeName:Fe,runtimeId:p,region:Q,startedAt:Pt,status:"running",phase:"prepare",label:"准备部署",agentDraft:i,instanceRange:Li?{min:gn.min,max:gn.max}:void 0,createEvaluationSets:Zn};b==null||b(At),y==null||y(At);let Dn,Z=At.phase??"prepare";const ve=Bt=>Dn?{...Dn,status:Bt,updatedAt:Date.now()}:void 0,Ze=Bt=>{const $t=ve(Bt);return $t?{buildLog:$t}:{}},Ot=()=>({source:"code-pipeline",status:"running",text:"",lineCount:0,truncated:!1,updatedAt:Date.now(),pendingMessage:"正在等待构建日志…"}),Ci=Bt=>{if(Z!=="build")return;const $t=["","----- 构建失败 -----",Bt].join(` -`);return Dn=MX(Dn,{source:"code-pipeline",status:"error",text:$t,lineCount:$t.split(` -`).length,truncated:!1,updatedAt:Date.now()}),Dn};try{const Bt=await l(e,$t=>{var an;$t.runtimeName&&(Fe=$t.runtimeName),Z=$t.phase,$t.buildLog?Dn=MX(Dn,$t.buildLog):$t.phase==="build"&&!Dn&&(Dn=Ot()),Yn.current&&(Ie($n=>({...$n,[$t.phase]:$t})),Me($t.phase)),b==null||b({id:Pe,agentName:Ve,runtimeName:Fe,runtimeId:p,region:Q,startedAt:Pt,status:"running",phase:$t.phase,label:((an=Di.find($n=>$n.phase===$t.phase))==null?void 0:an.label)??$t.phase,message:$t.message,pct:$t.pct,...Dn?{buildLog:Dn}:{}})},{taskId:Pe,runtimeName:pt,sessionStorage:U?"in-memory":"persistent",minInstance:gn.min,maxInstance:gn.max,...X?{}:{authentication:Jt==="user_pool"?{type:"user_pool",userPoolUid:zn}:{type:"api_key"}},createEvaluationSets:Zn,...S?{im:{feishu:{enabled:!0}}}:{},envs:ne,...X?{}:{resources:qe}});Yn.current&&(oe(Bt),Me(null)),In.succeed({runtimeId:String(Bt.runtimeId||p||"")}),b==null||b({id:Pe,agentName:Bt.agentName||Ve,runtimeName:Bt.runtimeName||Fe,runtimeId:Bt.runtimeId||p,region:Bt.region||Q,startedAt:Pt,status:"success",phase:"complete",label:"部署完成",message:(Jn=Bt.warnings)==null?void 0:Jn.join(";"),...Ze("complete")});try{await(d==null?void 0:d(Bt))}catch($t){if(!($t instanceof na))throw $t;b==null||b({id:Pe,agentName:Bt.agentName||Ve,runtimeName:Bt.runtimeName||Fe,runtimeId:Bt.runtimeId||p,region:Bt.region||Q,startedAt:Pt,status:"success",phase:"complete",label:"部署完成,暂未连接",message:$t.message,...Ze("complete")})}}catch(Bt){const $t=Bt instanceof Error?Bt.message:String(Bt);if(Bt instanceof DOMException&&Bt.name==="AbortError"){In.fail({failedPhase:LX(Z),...ya(Bt,{phase:Z})}),Yn.current&&(at(null),Me(null)),b==null||b({id:Pe,agentName:Ve,runtimeName:Fe,runtimeId:p,region:Q,startedAt:Pt,status:"cancelled",label:"已取消",message:"部署已取消,相关 Runtime 资源已请求销毁。",...Ze("complete")});return}Yn.current&&at($t);const an=Ci($t);In.fail({failedPhase:LX(Z),...ya(Bt,{phase:Z})}),b==null||b({id:Pe,agentName:Ve,runtimeName:Fe,runtimeId:p,region:Q,startedAt:Pt,status:"error",phase:Z,label:"部署失败",message:$t,...an?{buildLog:an}:Ze("complete"),retry:Or})}finally{Yn.current&&Te(!1)}}function Ku(){Be(!1)}async function jl(){if(!(!q||Ye)){dt(!0),at(null);try{const{addConnection:ne,addRuntimeConnection:Pe,remoteAppId:Ve,loadConnections:pt}=await ug(async()=>{const{addConnection:In,addRuntimeConnection:At,remoteAppId:Dn,loadConnections:Z}=await Promise.resolve().then(()=>TV);return{addConnection:In,addRuntimeConnection:At,remoteAppId:Dn,loadConnections:Z}},void 0),{probeRuntimeApps:Fe}=await ug(async()=>{const{probeRuntimeApps:In}=await Promise.resolve().then(()=>SSe);return{probeRuntimeApps:In}},void 0);let Pt;if(q.runtimeId){const In=q.region??Q,At=await Fe(q.runtimeId,In,{retryProbe:!0})??[];Pt=Pe(q.runtimeId,q.runtimeName,In,At,At.length>0?{[At[0]]:q.agentName}:void 0,q.version)}else Pt=await ne(q.agentName,q.url,q.apikey,"");if(Pt.apps.length===0)at("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。");else{const In={[Pt.apps[0]]:q.agentName},At={...Pt,appLabels:{...Pt.appLabels??{},...In}},Z=pt().map(Ze=>Ze.id===Pt.id?At:Ze);localStorage.setItem("veadk_agentkit_connections",JSON.stringify(Z));const{registerConnections:ve}=await ug(async()=>{const{registerConnections:Ze}=await Promise.resolve().then(()=>TV);return{registerConnections:Ze}},void 0);if(ve(Z),u){const Ze=Ve(Pt.id,Pt.apps[0]);u(Ze,q.agentName)}else alert(`🎉 Agent "${q.agentName}" 已添加到左上角下拉列表!`)}}catch(ne){at(`添加 Agent 失败:${ne instanceof Error?ne.message:String(ne)}`)}finally{dt(!1)}}}function Nr(){const ne=ms(),Pe=Btt({agentId:ne.agentId,deployAction:ne.deployAction,deploySource:ne.deploySource,createMode:ne.createMode,aiAssisted:ne.aiAssisted});try{const Ve=ylt(e.files),pt=URL.createObjectURL(Ve),Fe=document.createElement("a");Fe.href=pt,Fe.download=`${e.name||"project"}.zip`,document.body.appendChild(Fe),Fe.click(),document.body.removeChild(Fe),URL.revokeObjectURL(pt),Pe.succeed({fileCount:e.files.length,zipSizeBytes:Ve.size})}catch(Ve){throw Pe.fail({fileCount:e.files.length,...ya(Ve)}),Ve}}const go=c.jsxs("div",{className:`pp-artifact-actions${t?" is-rail":""}`,"aria-label":"发布产物操作",children:[B&&c.jsxs("button",{type:"button",className:"pp-secondary",onClick:B,children:[c.jsx(Gxe,{className:"pp-ic"}),"导出 YAML"]}),G&&o&&c.jsx(wlt,{project:e,onChange:o,className:"pp-artifact-source",label:"查看源代码"}),e.files.length>0&&c.jsxs("button",{type:"button",className:"pp-secondary",onClick:Nr,children:[c.jsx(ET,{className:"pp-ic"}),"下载源代码"]})]});function As(ne,Pe,Ve){return Wlt(ne).map(pt=>{const Fe=Ve?`${Ve}/${pt.name}`:pt.name,Pt=pt.path!==void 0,In={paddingLeft:8+Pe*14};if(Pt){const Dn=pt.path===K;return c.jsxs("button",{type:"button",className:`pp-row pp-file${Dn?" pp-active":""}`,style:In,onClick:()=>ie(pt.path),title:pt.path,children:[c.jsx(Kxe,{className:"pp-ic"}),c.jsx("span",{className:"pp-label",children:pt.name})]},Fe)}const At=le.has(Fe);return c.jsxs("div",{children:[c.jsxs("button",{type:"button",className:"pp-row pp-folder",style:In,onClick:()=>Jr(Fe),children:[c.jsx(p0,{className:`pp-ic pp-chevron${At?"":" pp-open"}`}),c.jsx(fZ,{className:"pp-ic"}),c.jsx("span",{className:"pp-label",children:pt.name})]}),!At&&As(pt,Pe+1,Fe)]},Fe)})}return c.jsxs("div",{className:`pp-root${l?" is-deploy":""}${t?" is-embedded":""}${$?" has-primary-pane":""}`,children:[l&&!t&&c.jsx(Klt,{left:c.jsxs("div",{className:"pp-toolbar-left",children:[N&&c.jsxs("button",{type:"button",className:"pp-toolbar-back",onClick:N,children:[c.jsx(aZ,{className:"pp-ic"}),M]}),c.jsxs("span",{className:"pp-toolbar-title",children:["部署 ",r||e.name||"未命名 Agent",s&&s>1?` 等 ${s} 个智能体`:""]})]}),right:null}),c.jsxs("div",{className:"pp-body",children:[l&&!$&&c.jsx("section",{className:"pp-release-overview","aria-label":"发布概览",children:c.jsxs("div",{className:`pp-release-preview${t?" is-embedded":""}`,children:[c.jsxs("div",{className:"pp-flow-thumbnail",children:[i&&c.jsx(My,{draft:i,direction:"horizontal",selectedPath:[],onSelect:md,onAdd:md,onInsert:md,onDelete:md,readOnly:!0,interactivePreview:!0}),c.jsx("button",{type:"button",className:"pp-flow-expand",onClick:()=>Ue(!0),"aria-label":"放大查看执行流程",title:"放大查看",children:c.jsx(Ih,{"aria-hidden":!0})})]}),t&&go,!t&&c.jsxs("div",{className:"pp-release-info",children:[c.jsx("div",{className:"pp-release-card-head",children:"Agent 概览"}),c.jsxs("div",{className:"pp-release-info-body",children:[c.jsxs("div",{className:"pp-release-info-main",children:[c.jsx("h2",{children:r||e.name||"未命名 Agent"}),(i==null?void 0:i.description)&&c.jsx("p",{className:"pp-release-description",title:i.description,children:i.description}),c.jsxs("dl",{className:"pp-release-facts",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"Agent 数量"}),c.jsx("dd",{children:s??1})]}),a&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{children:[c.jsx("dt",{children:"模型"}),c.jsx("dd",{children:a.modelName})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"描述"}),c.jsx("dd",{className:"pp-release-fact-long",children:a.description})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"系统提示词"}),c.jsx("dd",{className:"pp-release-fact-long pp-release-prompt",children:a.instruction})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"优化选项"}),c.jsx("dd",{children:a.optimizations.length>0?a.optimizations.join("、"):"未启用"})]})]})]})]}),go]})]})]})}),c.jsxs("div",{className:"pp-files-area",children:[c.jsxs("div",{className:"pp-sidebar",children:[c.jsxs("div",{className:"pp-sidebar-head",children:[c.jsx("span",{className:"pp-project-name",title:e.name,children:"文件预览"}),G&&c.jsx("button",{type:"button",className:"pp-icon-btn",title:"新建文件",onClick:()=>{Ce(!0),he("")},children:c.jsx(Wxe,{className:"pp-ic"})})]}),c.jsxs("div",{className:"pp-tree",children:[Ee&&c.jsx("input",{className:"pp-new-input",autoFocus:!0,placeholder:"path/to/file.py",value:_e,onChange:ne=>he(ne.target.value),onBlur:Fr,onKeyDown:ne=>{ne.key==="Enter"&&Fr(),ne.key==="Escape"&&(Ce(!1),he(""))}}),e.files.length===0&&!Ee?c.jsx("div",{className:"pp-empty",children:"暂无文件"}):As($i,0,"")]})]}),c.jsxs("div",{className:"pp-main",children:[c.jsxs("div",{className:"pp-main-head",children:[c.jsx("span",{className:"pp-path",title:Vt==null?void 0:Vt.path,children:(Vt==null?void 0:Vt.path)??"未选择文件"}),c.jsx("div",{className:"pp-actions",children:G&&Vt&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"pp-icon-btn",title:"重命名",onClick:Vs,children:c.jsx(u1e,{className:"pp-ic"})}),c.jsx("button",{type:"button",className:"pp-icon-btn pp-danger",title:"删除",onClick:Zu,children:c.jsx(df,{className:"pp-ic"})})]})})]}),c.jsx("div",{className:"pp-content",children:Vt==null?c.jsx("div",{className:"pp-placeholder",children:"选择左侧文件以查看内容"}):G?c.jsx("div",{className:"pp-codemirror",children:c.jsx(O.Suspense,{fallback:c.jsx("div",{className:"pp-editor-loading",children:"加载编辑器…"}),children:c.jsx(jlt,{value:Vt.content,path:Vt.path,onChange:tr})})}):c.jsx("pre",{className:"pp-pre hljs",dangerouslySetInnerHTML:{__html:zlt(Vt.content,Vt.path)}})})]})]}),l&&c.jsxs("aside",{className:"pp-config","aria-label":"部署配置",children:[c.jsx("div",{className:"pp-config-head",children:c.jsx("div",{className:"pp-config-title",children:"部署配置"})}),c.jsxs("div",{className:"pp-config-scroll",children:[$,!$&&c.jsxs("section",{className:"pp-config-section",children:[c.jsx("label",{className:"pp-config-label",htmlFor:yt,children:"Runtime 名称"}),c.jsxs("div",{className:"pp-runtime-name-field",children:[c.jsx("input",{id:yt,className:"pp-runtime-name-input",value:ae,disabled:te||X,maxLength:64,autoComplete:"off","aria-label":"Runtime 名称","aria-invalid":!!fe,"aria-describedby":`${mn}${fe?` ${wn}`:""}`,onChange:ne=>g==null?void 0:g(ne.currentTarget.value)}),c.jsx("p",{id:mn,className:"pp-config-note",children:X?"更新时保持现有 Runtime 名称不变。":"默认根据 Root Agent 名称生成,支持 4-64 位字母、数字、连字符和下划线"}),fe&&c.jsx("p",{id:wn,className:"pp-runtime-name-error",role:"alert",children:fe})]})]}),!$&&c.jsxs("section",{className:"pp-config-section",children:[c.jsx("div",{className:"pp-config-label",children:"发布区域"}),Kn(!1)]}),!$&&c.jsxs("section",{className:"pp-config-section pp-auth-section",children:[c.jsx("div",{className:"pp-config-label",children:"访问鉴权"}),X?c.jsx("p",{className:"pp-config-note pp-auth-preserved-note",children:"更新时保持现有 Runtime 的鉴权方式不变。"}):c.jsxs("div",{className:"pp-auth-fields",children:[c.jsxs("label",{children:[c.jsx("span",{children:"鉴权方式"}),c.jsx(rA,{ariaLabel:"部署鉴权方式",value:Jt,placeholder:"请选择鉴权方式",options:Qlt,disabled:te,onChange:ne=>{at(null),ui(ne)}})]}),Jt==="user_pool"&&c.jsxs("label",{children:[c.jsx("span",{children:"用户池"}),c.jsx($lt,{value:zn,disabled:te,onChange:ne=>{at(null),xe(ne)}})]})]})]}),!$&&c.jsxs("section",{className:"pp-config-section",children:[c.jsx("div",{className:"pp-config-label",children:"消息渠道"}),c.jsx("div",{className:`pp-channel-card${S?" is-flipped":""}`,children:c.jsxs("div",{className:"pp-channel-card-inner",children:[c.jsxs("button",{type:"button",className:"pp-channel-card-face pp-channel-card-front","aria-pressed":S,"aria-hidden":S,tabIndex:S?-1:0,onClick:()=>void Ma(),disabled:S||te||st||!x,children:[c.jsx("span",{className:"pp-channel-logo",children:c.jsx("img",{src:y3,alt:""})}),c.jsxs("span",{className:"pp-channel-card-copy",children:[c.jsx("strong",{children:"飞书"}),c.jsx("small",{children:st?"正在启用并更新配置…":"接收消息并通过飞书机器人回复"})]})]}),c.jsxs("div",{className:"pp-channel-card-face pp-channel-card-back","aria-hidden":!S,children:[c.jsxs("div",{className:"pp-channel-card-head",children:[c.jsx("strong",{children:"飞书配置"}),c.jsx("button",{type:"button",className:"pp-channel-remove",tabIndex:S?0:-1,onClick:()=>void Ma(),disabled:!S||te||st||!x,children:st?"取消中…":"取消"})]}),c.jsx("div",{className:"pp-channel-fields",children:bO.map(ne=>c.jsxs("label",{children:[c.jsxs("span",{children:[ne.comment||ne.key,ne.required&&c.jsx("small",{children:"必填"})]}),c.jsx("input",{type:ne.key.includes("SECRET")?"password":"text",value:_[ne.key]??"",placeholder:ne.placeholder,tabIndex:S?0:-1,disabled:!S||te||!C,autoComplete:"off",onChange:Pe=>C==null?void 0:C(ne.key,Pe.currentTarget.value)})]},ne.key))})]})]})})]}),!X&&c.jsxs("section",{className:"pp-config-section",children:[c.jsx("div",{className:"pp-config-label",children:"实例设置"}),c.jsxs("div",{className:"pp-instance-fields",children:[c.jsxs("label",{htmlFor:"runtime-min-instance",children:[c.jsx("span",{children:"最小实例数"}),c.jsx("input",{id:"runtime-min-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:Kt,disabled:te,"aria-invalid":!gn.valid,onChange:ne=>sn(ne.currentTarget.value)})]}),c.jsxs("label",{htmlFor:"runtime-max-instance",children:[c.jsx("span",{children:"最大实例数"}),c.jsx("input",{id:"runtime-max-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:Fn,disabled:te,"aria-invalid":!gn.valid,onChange:ne=>xi(ne.currentTarget.value)})]})]}),U&&c.jsx("p",{className:"pp-instance-note",role:"note",children:"为避免多实例间会话丢失,推荐将 Runtime 固定为 1~1"}),!gn.valid&&c.jsx("p",{className:"pp-instance-error",role:"alert",children:gn.error})]}),c.jsxs("section",{className:"pp-config-section",children:[c.jsx("div",{className:"pp-config-label",children:"网络"}),$&&Kn(!0),X&&c.jsx("p",{className:"pp-config-note",children:"现有 Runtime 的区域与网络模式保持不变。"}),c.jsxs("div",{className:"pp-network-layout",children:[c.jsx("div",{className:"pp-network-modes",role:"radiogroup","aria-label":"网络模式",children:["public","private","both"].map(ne=>c.jsxs("label",{className:"pp-network-option",children:[c.jsx("input",{type:"radio",name:"deployment-network-mode",value:ne,checked:Ai===ne,onChange:()=>Ic(ne),disabled:te||X||!R}),c.jsx("span",{children:ne==="public"?"公网":ne==="private"?"VPC":"公网 + VPC"})]},ne))}),Ai!=="public"&&c.jsxs("div",{className:"pp-network-fields",children:[c.jsxs("label",{children:[c.jsx("span",{children:"VPC ID"}),c.jsx("input",{value:(A==null?void 0:A.vpcId)??"",placeholder:"vpc-xxxxxxxx",disabled:te||X,onChange:ne=>He({vpcId:ne.target.value})})]}),c.jsxs("label",{children:[c.jsxs("span",{children:["子网 ID ",c.jsx("small",{children:"可选,多个用逗号分隔"})]}),c.jsx("input",{value:(A==null?void 0:A.subnetIds)??"",placeholder:"subnet-xxx, subnet-yyy",disabled:te||X,onChange:ne=>He({subnetIds:ne.target.value})})]}),c.jsxs("label",{className:"pp-network-check",children:[c.jsx("input",{type:"checkbox",checked:!!(A!=null&&A.enableSharedInternetAccess),disabled:te||X,onChange:ne=>He({enableSharedInternetAccess:ne.target.checked})}),"VPC 内共享公网出口"]})]})]})]}),En&&c.jsxs("section",{className:"pp-config-section",children:[c.jsx("div",{className:"pp-config-label",children:"评测集"}),c.jsxs("label",{className:"pp-evaluation-set-option",children:[c.jsx("input",{type:"checkbox",checked:di,disabled:te,onChange:ne=>Hn(ne.currentTarget.checked)}),c.jsxs("span",{children:[c.jsx("strong",{children:"自动创建评测集"}),c.jsx("small",{children:"部署成功后,自动创建 Good Case 和 Bad Case 评测集。"})]})]})]}),!X&&c.jsxs("section",{className:"pp-config-section pp-resource-section",children:[c.jsx("div",{className:"pp-config-label",children:"资源配置"}),c.jsx(Clt,{value:qe,agentName:r||e.name||"agentkit-app",runtimeName:ae,region:Q,disabled:te,validationError:pn,onChange:ne=>{$e(ne),bn(null)}})]}),c.jsxs("section",{className:"pp-config-section pp-env-section",children:[c.jsx("div",{className:"pp-env-head",children:c.jsxs("div",{children:[c.jsxs("div",{className:"pp-config-label",children:["环境变量",c.jsxs("span",{className:"pp-agent-child-count pp-env-count",children:[gr," 项"]})]}),c.jsx("div",{className:"pp-env-sub",children:"组件配置会自动同步到这里,部署前可核对最终值。"})]})}),c.jsxs("button",{type:"button",className:"pp-env-add",onClick:Ni,disabled:te,children:[c.jsx(Ls,{className:"pp-ic"}),"添加变量"]}),(Kr.length>0||E.length>0||Gt.length>0)&&c.jsxs("div",{className:"pp-env-table",children:[Kr.length>0&&c.jsxs("div",{className:"pp-env-group",children:[c.jsxs("div",{className:"pp-env-group-head",children:[c.jsx("span",{children:"组件自动生成"}),c.jsxs("small",{children:[Kr.length," 项"]})]}),Kr.map(ne=>{const Pe=ne.readOnly||ne.key.startsWith("ENABLE_"),Ve=ne.serverManaged&&ne.key==="MODEL_AGENT_API_KEY",pt=Ve?or?Ur.value:"由所选 API Key 注入":ne.value,Fe=H3(ne,_),Pt=ne.multiline||ne.format==="json";return c.jsxs("div",{className:`pp-env-row pp-env-row-derived${Pt?" is-multiline":""}`,children:[c.jsxs("div",{className:"pp-env-key-fixed pp-env-key-cell","aria-label":`${ne.key} 环境变量名`,"aria-disabled":te,children:[c.jsx("span",{title:ne.key,children:ne.key}),(ne.help||ne.comment)&&c.jsxs("span",{className:"pp-env-help",tabIndex:0,"data-help":ne.help||ne.comment,"aria-label":`${ne.key}说明:${ne.help||ne.comment}`,children:["?",c.jsx("span",{className:"pp-env-help-popover",role:"tooltip",children:ne.help||ne.comment})]}),ne.link&&c.jsx("a",{className:"pp-env-link",href:ne.link.url,target:"_blank",rel:"noopener noreferrer",title:`打开 OpenViking ${ne.link.label}`,"aria-label":`${ne.key}:打开 OpenViking ${ne.link.label}`,children:c.jsx(Ag,{"aria-hidden":"true"})})]}),c.jsxs("div",{className:"pp-env-value-wrap",children:[Pt?c.jsx("textarea",{className:"pp-env-value pp-env-json-value",value:ne.value,placeholder:ne.required?"必填,尚未填写":"可选,尚未填写",readOnly:Pe,disabled:te||!Pe&&!C,autoComplete:"off",spellCheck:!1,"aria-invalid":!!Fe,"aria-label":`${ne.key} 环境变量值`,onChange:In=>C==null?void 0:C(ne.key,In.currentTarget.value)}):c.jsxs("div",{className:Ve?"pp-env-secret-control":void 0,children:[c.jsx("input",{className:"pp-env-value",type:Ve?"text":ne.secret?"password":"text",value:pt,placeholder:ne.required?"必填,尚未填写":"可选,尚未填写",readOnly:Pe,disabled:te||!Pe&&!C,autoComplete:ne.secret?"new-password":"off",spellCheck:ne.secret?!1:void 0,"aria-invalid":!!Fe,"aria-label":`${ne.key} 环境变量值`,onChange:In=>C==null?void 0:C(ne.key,In.currentTarget.value)}),Ve&&c.jsx("button",{type:"button",className:"pp-env-secret-toggle","aria-label":Qi,title:Qi,"aria-pressed":or,disabled:Ur.status==="loading"||!ke,onClick:()=>{or?Ft():vi()},children:Ur.status==="loading"?c.jsx(qn,{className:"pp-env-secret-spinner","aria-hidden":"true"}):or?c.jsx(Llt,{}):c.jsx(Mlt,{})})]}),Fe&&c.jsx("span",{className:"pp-env-error",children:Fe}),Ve&&Ur.status==="error"&&c.jsx("span",{className:"pp-env-reveal-error",role:"alert",children:Ur.error})]}),c.jsx("span",{className:"pp-env-source",children:Pe?"自动":"同步"})]},ne.key)})]}),E.length>0&&c.jsxs("div",{className:"pp-env-group",children:[c.jsxs("div",{className:"pp-env-group-head",children:[c.jsx("span",{children:"自定义模型凭据"}),c.jsxs("small",{children:[E.length," 项"]})]}),E.map(ne=>{const Pe=ln===ne.key,Ve=`${ne.key.toLowerCase()}-error`;return c.jsxs("div",{className:"pp-env-row pp-env-row-derived",children:[c.jsx("label",{className:"pp-env-key-fixed pp-env-key-cell",htmlFor:ne.key,title:ne.label,children:c.jsx("span",{children:ne.key})}),c.jsxs("div",{className:"pp-env-value-wrap",children:[c.jsx("input",{id:ne.key,className:"pp-env-value",type:"password",value:rn[ne.key]??"",placeholder:"必填,仅用于本次发布",disabled:te,autoComplete:"new-password",spellCheck:!1,"aria-invalid":Pe,"aria-describedby":Pe?Ve:void 0,"aria-label":ne.label,onChange:pt=>{const Fe=pt.currentTarget.value;k?k(ne.key,Fe):Rt(Pt=>({...Pt,[ne.key]:Fe})),Pe&&Fe.trim()&&(Ae(null),at(null))}}),Pe&&c.jsx("span",{id:Ve,className:"pp-env-error",role:"alert",children:"请填写此模型地址对应的 API Key。"})]}),c.jsx("span",{className:"pp-env-source",children:"本次发布"})]},ne.key)})]}),Gt.length>0&&c.jsxs("div",{className:"pp-env-group-head pp-env-group-head-custom",children:[c.jsx("span",{children:"自定义变量"}),c.jsxs("small",{children:[Gt.length," 项"]})]}),Gt.map(ne=>c.jsxs("div",{className:"pp-env-row",children:[c.jsx("input",{value:ne.key,placeholder:"名称",disabled:te,autoComplete:"off",onChange:Pe=>po(ne.id,{key:Pe.currentTarget.value})}),c.jsx("input",{type:"text",value:ne.value,placeholder:"值",disabled:te,autoComplete:"off",onChange:Pe=>po(ne.id,{value:Pe.currentTarget.value})}),c.jsx("button",{type:"button",className:"pp-icon-btn pp-env-remove",title:"删除变量",disabled:te,onClick:()=>mo(ne.id),children:c.jsx(aa,{className:"pp-ic"})})]},ne.id))]})]}),(te||q||Object.keys(de).length>0)&&c.jsxs("section",{className:"pp-config-section pp-progress-section",children:[c.jsx("div",{className:"pp-config-label",children:"部署进度"}),c.jsx("ol",{className:"pp-steps",children:Di.map((ne,Pe)=>{const Ve=ce?Di.findIndex(In=>In.phase===ce):-1,pt=!!Tt&&(Ve===-1?Pe===0:Pe===Ve);let Fe;q?Fe="done":pt?Fe="failed":Ve===-1?Fe=te?"active":"pending":Pene.phase===ce))==null?void 0:re.label)??ce}阶段):`:""}${Tt}`,onRetry:Or,retryLabel:X?"重试更新":"重试部署"}),q&&c.jsxs("section",{className:"pp-deploy-result",children:[c.jsx("div",{className:"pp-deploy-result-header",children:X?"更新成功":"部署成功"}),c.jsxs("div",{className:"pp-deploy-result-body",children:[q.warnings&&q.warnings.length>0&&c.jsx("div",{className:"pp-deploy-result-warning",role:"status",children:q.warnings.map(ne=>c.jsx("span",{children:ne},ne))}),q.region&&c.jsxs("div",{className:"pp-deploy-result-field",children:[c.jsx("label",{children:"区域"}),c.jsx("code",{children:ff(q.region,j)})]}),c.jsxs("div",{className:"pp-deploy-result-field",children:[c.jsx("label",{children:"Agent 名称"}),c.jsx("code",{children:q.agentName})]}),c.jsxs("div",{className:"pp-deploy-result-field",children:[c.jsx("label",{children:"Runtime 名称"}),c.jsx("code",{children:q.runtimeName})]}),c.jsxs("div",{className:"pp-deploy-result-field",children:[c.jsx("label",{children:"API 端点"}),c.jsx("code",{className:"pp-deploy-result-url",children:q.url})]})]}),c.jsxs("div",{className:"pp-deploy-result-actions",children:[c.jsxs("button",{type:"button",className:"pp-deploy-result-btn",onClick:jl,disabled:Ye,children:[Ye?c.jsx(qn,{className:"pp-ic spin"}):c.jsx(pZ,{className:"pp-ic"}),Ye?"连接中…":"立即对话"]}),q.consoleUrl&&c.jsxs("a",{href:q.consoleUrl,target:"_blank",rel:"noopener noreferrer",className:"pp-console-link pp-console-link-btn",children:[c.jsx(Ag,{className:"pp-ic"}),"控制台"]})]})]})]}),c.jsx("div",{className:`pp-config-actions${Si?" is-external":""}`,children:Si?ar.createPortal(c.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:Or,disabled:te||st||I||!!n||!!fe,title:n||fe||void 0,children:te?`${f}中…`:Tt?`重试${f}`:f}),Si):c.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:Or,disabled:te||st||I||!!n||!!fe,title:n||fe||void 0,children:te?`${f}中…`:Tt?`重试${f}`:f})})]})]}),je&&i&&ar.createPortal(c.jsx("div",{className:"pp-flow-backdrop",onMouseDown:ne=>{ne.target===ne.currentTarget&&Ue(!1)},children:c.jsxs("section",{className:"pp-flow-dialog",role:"dialog","aria-modal":"true","aria-label":"执行流程预览",children:[c.jsxs("header",{children:[c.jsxs("div",{children:[c.jsx("strong",{children:"执行流程"}),c.jsx("span",{children:"只读预览,可缩放与拖动画布"})]}),c.jsx("button",{type:"button",onClick:()=>Ue(!1),"aria-label":"关闭执行流程预览",children:c.jsx(aa,{"aria-hidden":!0})})]}),c.jsx("div",{className:"pp-flow-dialog-canvas",children:c.jsx(My,{draft:i,direction:"horizontal",selectedPath:[],onSelect:md,onAdd:md,onInsert:md,onDelete:md,readOnly:!0,interactivePreview:!0})})]})}),document.body),c.jsx(Dlt,{open:me,isUpdate:X,onCancel:Ku,onConfirm:()=>void Xs()})]})}const QX=["#6366f1","#0ea5e9","#10b981","#f59e0b","#f43f5e","#a855f7","#14b8a6","#f472b6"];function dR(e){let t=0;for(let n=0;n>>0;return QX[t%QX.length]}function Jlt(e){const t=new Map;e.forEach(u=>t.set(u.span_id,u));const n=new Map,i=[];for(const u of e)u.parent_span_id!=null&&t.has(u.parent_span_id)?(n.get(u.parent_span_id)??n.set(u.parent_span_id,[]).get(u.parent_span_id)).push(u):i.push(u);const r=(u,d)=>u.start_time-d.start_time,s=(u,d)=>({span:u,depth:d,children:(n.get(u.span_id)??[]).sort(r).map(f=>s(f,d+1))}),a=i.sort(r).map(u=>s(u,0)),o=e.length?Math.min(...e.map(u=>u.start_time)):0,l=e.length?Math.max(...e.map(u=>u.end_time)):1;return{rootNodes:a,min:o,total:l-o||1}}function ect(e,t){const n=[],i=r=>{n.push(r),t.has(r.span.span_id)||r.children.forEach(i)};return e.forEach(i),n}function BX(e){const t=e/1e6;return t>=1e3?`${(t/1e3).toFixed(2)} s`:`${t.toFixed(t<10?2:1)} ms`}const tct=e=>e.replace(/^(gen_ai|a2ui|adk)\./,"");function UX(e){return Object.entries(e.attributes).filter(([,t])=>t!=null&&typeof t!="object").map(([t,n])=>{const i=String(n);return{key:tct(t),value:i,long:i.length>80||i.includes(` -`)}}).sort((t,n)=>Number(t.long)-Number(n.long))}function tfe({appName:e,testRunId:t,sessionId:n,endTimeMs:i,onClose:r,title:s="调用链路观测"}){const[a,o]=O.useState(null),[l,u]=O.useState(""),[d,f]=O.useState(new Set),[h,p]=O.useState(null);O.useEffect(()=>{o(null),u("");let E;if(t)E=SK(t,n);else if(e)E=_E(e,n,i);else{u("缺少调用链路来源");return}E.then(w=>{o(w),p(w.length?w.reduce((k,_)=>k.start_time<=_.start_time?k:_).span_id:null)}).catch(w=>u(w instanceof Error?w.message:String(w)))},[e,i,n,t]);const{rootNodes:m,min:g,total:y}=O.useMemo(()=>Jlt(a??[]),[a]),b=O.useMemo(()=>ect(m,d),[m,d]),S=(a==null?void 0:a.find(E=>E.span_id===h))??null,x=y/1e6,v=E=>f(w=>{const k=new Set(w);return k.has(E)?k.delete(E):k.add(E),k});return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"drawer-scrim",onClick:r}),c.jsxs("aside",{className:"drawer drawer--trace",children:[c.jsxs("header",{className:"drawer-head",children:[c.jsxs("div",{children:[c.jsx("div",{className:"drawer-title",children:s}),c.jsx("div",{className:"drawer-sub",children:a?`${a.length} 个调用 · ${x.toFixed(1)} ms`:"加载中"})]}),c.jsx("button",{className:"drawer-close",onClick:r,"aria-label":"关闭",children:c.jsx(aa,{className:"icon"})})]}),a==null&&!l&&c.jsxs("div",{className:"drawer-loading",children:[c.jsx(qn,{className:"icon spin"})," 加载调用链路…"]}),l&&c.jsx("div",{className:"error",children:l}),a&&a.length===0&&c.jsx("div",{className:"drawer-empty",children:"该会话暂无调用链路(可能尚未产生调用)。"}),b.length>0&&c.jsxs("div",{className:"trace-split",children:[c.jsx("div",{className:"trace-tree scroll",children:b.map(E=>{const w=E.span,k=(w.start_time-g)/y*100,_=Math.max((w.end_time-w.start_time)/y*100,.6),C=E.children.length>0;return c.jsxs("button",{className:`trace-row ${h===w.span_id?"active":""}`,onClick:()=>p(w.span_id),children:[c.jsxs("span",{className:"trace-label",style:{paddingLeft:E.depth*14},children:[c.jsx("span",{className:`trace-caret ${C?"":"hidden"} ${d.has(w.span_id)?"":"open"}`,onClick:A=>{A.stopPropagation(),C&&v(w.span_id)},children:c.jsx(p0,{className:"chev"})}),c.jsx("span",{className:"trace-dot",style:{background:dR(w.name)}}),c.jsx("span",{className:"trace-name",title:w.name,children:w.name})]}),c.jsx("span",{className:"trace-dur",children:BX(w.end_time-w.start_time)}),c.jsx("span",{className:"trace-track",children:c.jsx("span",{className:"trace-bar",style:{left:`${k}%`,width:`${_}%`,background:dR(w.name)}})})]},w.span_id)})}),c.jsx("div",{className:"trace-detail scroll",children:S?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"td-title",children:S.name}),c.jsxs("div",{className:"td-dur",children:[c.jsx("span",{className:"td-dot",style:{background:dR(S.name)}}),BX(S.end_time-S.start_time)]}),c.jsx("div",{className:"td-section",children:"属性"}),c.jsx("div",{className:"td-props",children:UX(S).filter(E=>!E.long).map(E=>c.jsxs("div",{className:"td-prop",children:[c.jsx("span",{className:"td-key",children:E.key}),c.jsx("span",{className:"td-val",children:E.value})]},E.key))}),UX(S).filter(E=>E.long).map(E=>c.jsxs("div",{className:"td-block",children:[c.jsx("div",{className:"td-section",children:E.key}),c.jsx("pre",{className:"td-pre",children:E.value})]},E.key))]}):c.jsx("div",{className:"drawer-empty",children:"选择左侧的一个调用查看详情"})})]})]})]})}const nct=O.lazy(()=>ug(()=>import("./MarkdownPromptEditor-Uj1POrdg.js"),__vite__mapDeps([0,1]))),EM="veadk.generatedAgentTestRuns",zX=4;function G3(){if(typeof window>"u")return[];try{const e=JSON.parse(window.sessionStorage.getItem(EM)??"[]");return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}catch{return[]}}function nfe(e){if(typeof window>"u")return;const t=Array.from(new Set(e)).slice(-20);try{t.length?window.sessionStorage.setItem(EM,JSON.stringify(t)):window.sessionStorage.removeItem(EM)}catch{}}function ict(e){nfe([...G3(),e])}function DO(e){nfe(G3().filter(t=>t!==e))}function rct(e,t,n="text/plain"){const i=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),r=document.createElement("a");r.href=i,r.download=e,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(i)}const sct=[{id:"type",label:"Agent 类型",hint:"选择 Agent 类型",icon:m1e,required:!0},{id:"basic",label:"基本信息",hint:"名称、描述与系统提示词",icon:Uu,required:!0},{id:"model",label:"模型配置",hint:"模型与服务(可选)",icon:Hxe},{id:"tools",label:"工具",hint:"可调用的能力",icon:b1e},{id:"skills",label:"技能",hint:"声明式技能",icon:Sy},{id:"knowledge",label:"知识库",hint:"外部知识检索",icon:Jv},{id:"memory",label:"记忆",hint:"短期与长期记忆",icon:hZ},{id:"subagents",label:"子 Agent",hint:"嵌套协作",icon:zxe},{id:"review",label:"完成",hint:"预览并创建",icon:h1e}];function act({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M9 7.15v9.7a1.15 1.15 0 0 0 1.78.96l7.2-4.85a1.15 1.15 0 0 0 0-1.92l-7.2-4.85A1.15 1.15 0 0 0 9 7.15Z"}),c.jsx("path",{d:"M5.75 8.25v7.5",opacity:"0.8"}),c.jsx("path",{d:"M3 10v4",opacity:"0.45"}),c.jsx("path",{d:"M17.9 5.25v2.2M19 6.35h-2.2",strokeWidth:"1.55"})]})}function FX({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M4.75 7.25h14.5"}),c.jsx("path",{d:"M9.1 4.75h5.8l.75 2.5h-7.3l.75-2.5Z"}),c.jsx("path",{d:"m6.75 7.25.75 12h9l.75-12"}),c.jsx("path",{d:"M10 10.25v5.75M14 10.25v5.75"})]})}function W3({className:e}){return c.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:c.jsx("path",{d:"m7 9 5 5 5-5"})})}function Z3({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M18.25 8.2A7.1 7.1 0 0 0 6.1 6.65L4.5 8.25"}),c.jsx("path",{d:"M4.5 4.75v3.5H8"}),c.jsx("path",{d:"M5.75 15.8A7.1 7.1 0 0 0 17.9 17.35l1.6-1.6"}),c.jsx("path",{d:"M19.5 19.25v-3.5H16"})]})}const oct={llm:"智能体",sequential:"分步协作",parallel:"同时处理",loop:"循环执行",a2a:"远程智能体"},VX={REGISTRY_SPACE_ID:"registrySpaceId",REGISTRY_TOP_K:"registryTopK",REGISTRY_REGION:"registryRegion",REGISTRY_ENDPOINT:"registryEndpoint"},ife="REGISTRY_SPACE_ID",lct=Xee.filter(e=>e.key!==ife);function rfe(e,t){var i,r,s;if(!(e!=null&&e.enabled))return{};const n={REGISTRY_SPACE_ID:e.registrySpaceId??""};return t.includeDefaults?(n.REGISTRY_TOP_K=((i=e.registryTopK)==null?void 0:i.trim())||bl.topK,n.REGISTRY_REGION=((r=e.registryRegion)==null?void 0:r.trim())||bl.region,n.REGISTRY_ENDPOINT=((s=e.registryEndpoint)==null?void 0:s.trim())||bl.endpoint):(n.REGISTRY_TOP_K=e.registryTopK??"",n.REGISTRY_REGION=e.registryRegion??"",n.REGISTRY_ENDPOINT=e.registryEndpoint??""),n}function Av(e,t){return t!=="byteplus"?e:e.map(n=>n.key==="MODEL_EMBEDDING_NAME"?{...n,placeholder:iSe(t)}:n.key==="MODEL_EMBEDDING_API_BASE"?{...n,placeholder:bc(t)}:n.key==="MODEL_IMAGE_NAME"?{...n,placeholder:sSe(t)}:n.key==="MODEL_EDIT_NAME"?{...n,placeholder:aSe(t)}:n.key==="MODEL_VIDEO_NAME"?{...n,placeholder:oSe(t)}:n.key==="MODEL_IMAGE_API_BASE"||n.key==="MODEL_EDIT_API_BASE"||n.key==="MODEL_VIDEO_API_BASE"?{...n,placeholder:bc(t)}:n)}function cct({items:e,selected:t,onToggle:n,scrollRows:i}){return c.jsx("div",{className:`cw-checklist ${i?"cw-checklist-tools":""}`,style:i?{"--cw-checklist-max-height":`${i*40+(i-1)*8}px`}:void 0,children:e.map(r=>{const s=t.includes(r.id);return c.jsx(q3,{id:`cw-check-${r.id}`,className:`cw-check ${s?"is-on":""}`,checked:s,onCheckedChange:a=>{a!==s&&n(r.id)},label:c.jsx("span",{className:"cw-check-text",children:c.jsx("span",{className:"cw-check-title",children:r.label})})},r.id)})})}function fR({options:e,value:t,onChange:n}){return c.jsx("div",{className:"cw-segmented",children:e.map(i=>{var s;const r=(t??((s=e[0])==null?void 0:s.id))===i.id;return c.jsx("button",{type:"button",className:`cw-seg ${r?"is-on":""}`,onClick:()=>n(i.id),"aria-pressed":r,children:c.jsx("span",{className:"cw-seg-title",children:i.label})},i.id)})})}function uct(e){return/(SECRET|PASSWORD|KEY|TOKEN)$/.test(e)}function $O({env:e,values:t,onChange:n,renderAfterField:i}){return e.length===0?c.jsx("p",{className:"cw-env-empty",children:"此后端无需额外运行参数。"}):c.jsx("div",{className:"cw-env-fields",children:e.map(r=>{const s=t[r.key]??r.defaultValue??"",a=H3(r,t),o=`cw-env-${r.key}`;return c.jsxs(O.Fragment,{children:[c.jsxs("label",{className:"cw-env-field",htmlFor:o,children:[c.jsxs("span",{className:"cw-env-field-head",children:[c.jsxs("span",{className:"cw-env-field-title",children:[c.jsxs("span",{className:"cw-env-field-label",children:[r.comment||r.key,r.required&&c.jsx("span",{className:"cw-req",children:"*"})]}),r.help&&c.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":r.help,"aria-label":`${r.comment||r.key}说明:${r.help}`,children:["?",c.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:r.help})]}),r.link&&c.jsx("a",{className:"cw-env-link",href:r.link.url,target:"_blank",rel:"noopener noreferrer",title:`打开 OpenViking ${r.link.label}`,"aria-label":`打开 OpenViking ${r.link.label}`,onClick:l=>l.stopPropagation(),children:c.jsx(Ag,{"aria-hidden":"true"})})]}),r.comment&&c.jsx("code",{title:r.key,children:r.key})]}),r.multiline||r.format==="json"?c.jsx("textarea",{id:o,className:"cw-input cw-env-textarea",value:s,placeholder:r.placeholder||"请输入参数值",autoComplete:"off",spellCheck:!1,"aria-invalid":!!a,onChange:l=>n(r.key,l.currentTarget.value)}):c.jsx("input",{id:o,className:"cw-input",type:uct(r.key)?"password":"text",value:s,placeholder:r.placeholder||"请输入参数值",autoComplete:"off","aria-invalid":!!a,onChange:l=>n(r.key,l.currentTarget.value)}),a&&c.jsx("span",{className:"cw-env-error",children:a})]}),i==null?void 0:i(r)]},r.key)})})}const hR="默认值:留空;生成项目时使用 Agent 名自动生成,例如 my_agent_kb。未配置 DATABASE_OPENVIKING_TARGET_URI 时,默认 URI 拼接为 viking://user/{知识库归属 ID,未填则 default}/resources/{资源索引}/;如果填写了 DATABASE_OPENVIKING_TARGET_URI,则直接使用该完整 URI。";function dct({value:e,onChange:t}){const n="cw-openviking-knowledge-index";return c.jsxs("label",{className:"cw-env-field",htmlFor:n,children:[c.jsx("span",{className:"cw-env-field-head",children:c.jsxs("span",{className:"cw-env-field-title",children:[c.jsx("span",{className:"cw-env-field-label",children:"OpenViking 资源索引"}),c.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":hR,"aria-label":`OpenViking 资源索引说明:${hR}`,children:["?",c.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:hR})]})]})}),c.jsx("input",{id:n,className:"cw-input",value:e,placeholder:"",autoComplete:"off",onChange:i=>t(i.currentTarget.value)})]})}function pR(e){return e.name.trim()||"未命名智能体中心"}function mR(e){const t=e.name.trim()||e.id||"未命名知识库",n=[e.sourceLabel,e.projectName].filter(Boolean);return n.length?`${t} · ${n.join(" · ")}`:t}function fct(e){return e.available?"已开通":e.lifecycleStatus==="Retiring"?"即将下线":e.activationState&&e.activationState!=="Available"?"未开通":"暂不可用"}function hct(e){return e.available||e.lifecycleStatus==="Retiring"}function XX({selectedLabel:e,placeholder:t,disabled:n,triggerAriaLabel:i,menuAriaLabel:r,searchAriaLabel:s,searchValue:a,searchPlaceholder:o,onSearchChange:l,empty:u,emptyLabel:d,triggerClassName:f="",optionsClassName:h="",renderOptions:p}){const[m,g]=O.useState(!1),y=O.useRef(null),b=O.useRef(null),S=O.useRef(null),x=O.useId(),[v,E]=O.useState(null);O.useEffect(()=>{if(!m)return;const _=A=>{var j;const R=A.target;R instanceof Node&&y.current&&!y.current.contains(R)&&!((j=S.current)!=null&&j.contains(R))&&g(!1)},C=A=>{var R;A.key==="Escape"&&(g(!1),(R=b.current)==null||R.focus())};return window.addEventListener("pointerdown",_),window.addEventListener("keydown",C),()=>{window.removeEventListener("pointerdown",_),window.removeEventListener("keydown",C)}},[m]),O.useEffect(()=>{if(!m){E(null);return}const _=()=>{const C=b.current;if(!C)return;const A=C.getBoundingClientRect(),R=12,j=6,Q=window.innerHeight-A.bottom-R-j,L=A.top-R-j,D=Q<300&&L>Q,N=Math.max(96,D?L:Q),M=Math.min(A.width,window.innerWidth-R*2),B=Math.min(Math.max(R,A.left),window.innerWidth-R-M);E({...D?{bottom:window.innerHeight-A.top+j}:{top:A.bottom+j},left:B,width:M,maxHeight:N,opensUp:D})};return _(),window.addEventListener("resize",_),window.addEventListener("scroll",_,!0),()=>{window.removeEventListener("resize",_),window.removeEventListener("scroll",_,!0)}},[m]);const w=()=>g(!1),k=_=>{var j,Q;if(!["ArrowDown","ArrowUp","Home","End"].includes(_.key))return;const C=Array.from(((j=S.current)==null?void 0:j.querySelectorAll('[role="option"]:not(:disabled)'))??[]);if(!C.length)return;_.preventDefault();const A=C.findIndex(L=>L===document.activeElement),R=_.key==="Home"?0:_.key==="End"?C.length-1:_.key==="ArrowUp"?A<=0?C.length-1:A-1:A<0||A===C.length-1?0:A+1;(Q=C[R])==null||Q.focus()};return c.jsxs("div",{className:`cw-a2a-space-select-wrap cw-catalog-select${m?" is-open":""}`,ref:y,children:[c.jsxs("button",{ref:b,type:"button",className:`cw-a2a-space-trigger ${f}`.trim(),disabled:n,"aria-haspopup":"listbox","aria-controls":m?x:void 0,"aria-expanded":m,"aria-label":i,title:e,onClick:()=>{m||l(""),g(_=>!_)},children:[c.jsx("span",{className:t?"is-placeholder":void 0,children:e}),c.jsx(W3,{className:"cw-a2a-space-trigger-icon"})]}),m&&v&&ar.createPortal(c.jsxs("div",{ref:S,className:`cw-a2a-space-menu cw-catalog-menu cw-catalog-menu-portal${v.opensUp?" is-up":""}`,style:{top:v.top,bottom:v.bottom,left:v.left,width:v.width,maxHeight:v.maxHeight},onKeyDown:k,children:[c.jsx("div",{className:"cw-picker-search",children:c.jsx("input",{className:"cw-picker-search-input",type:"search",value:a,autoFocus:!0,autoComplete:"off","aria-label":s,placeholder:o,onChange:_=>l(_.currentTarget.value)})}),c.jsxs("div",{id:x,className:`cw-picker-options cw-catalog-options ${h}`.trim(),role:"listbox","aria-label":r,children:[p(w),u&&c.jsx("div",{className:"cw-picker-empty",children:d})]})]}),document.body)]})}function pct({value:e,cloudProvider:t,apiKeyId:n,apiKeyName:i,onApiKeyChange:r,onChange:s}){const[a,o]=O.useState([]),[l,u]=O.useState(!1),[d,f]=O.useState([]),[h,p]=O.useState(null),[m,g]=O.useState(!1),[y,b]=O.useState(null),[S,x]=O.useState(0),[v,E]=O.useState(0),[w,k]=O.useState(""),[_,C]=O.useState("");O.useEffect(()=>{const U=new AbortController;return u(!0),b(null),EZ(U.signal,S>0).then(Y=>{if(U.signal.aborted)return;o(Y.keys);const ae=Y.keys.find(fe=>fe.id===n)??Y.keys.find(fe=>fe.name===i)??Y.keys.find(fe=>fe.id===Y.defaultKeyId)??Y.keys[0];ae&&r(ae)}).catch(Y=>{U.signal.aborted||b(Y instanceof Error?Y.message:"加载 Ark API Key 失败")}).finally(()=>{U.signal.aborted||u(!1)}),()=>U.abort()},[t,S]),O.useEffect(()=>{if(!n){f([]);return}const U=new AbortController;return g(!0),b(null),p(null),TZ({signal:U.signal,apiKeyId:n,refresh:S>0||v>0}).then(Y=>{U.signal.aborted||(f(Y.models),p(n))}).catch(Y=>{U.signal.aborted||b(Y instanceof Error?Y.message:"加载模型列表失败")}).finally(()=>{U.signal.aborted||g(!1)}),()=>U.abort()},[n,t,v,S]);const A=e.trim(),R=h===n,j=R?d:[],Q=a.find(U=>U.id===n),L=Q?Q.name:n?"当前 API Key":l?"正在加载 API Key…":a.length===0?"暂无可用 API Key":"请选择 API Key",D=O.useMemo(()=>a.filter(U=>Qh(w,[U.name])),[w,a]),N=j.find(U=>U.id===A),M=m&&!R?"正在刷新模型列表…":N?`${N.displayName} (${N.id})`:A||"请选择模型",B=O.useMemo(()=>j.filter(U=>Qh(_,[U.displayName,U.id,U.name,U.vendorName,U.activationState,U.lifecycleStatus])),[_,j]),$=!!(A&&!N&&Qh(_,[A])),I=j.filter(U=>U.available).length,G=t==="byteplus"?"BytePlus ModelArk":"火山方舟",X=nSe(t);return c.jsxs("div",{className:"cw-a2a-space-picker cw-model-picker",children:[c.jsxs("div",{className:"cw-model-picker-stack",children:[c.jsxs("div",{className:"cw-model-picker-field",children:[c.jsx("span",{className:"cw-model-picker-label",children:"API Key"}),c.jsx(XX,{selectedLabel:L,placeholder:!n,disabled:l,triggerAriaLabel:"选择 API Key",menuAriaLabel:"API Key 列表",searchAriaLabel:"搜索 API Key",searchValue:w,searchPlaceholder:"搜索 API Key 名称",onSearchChange:k,empty:D.length===0,emptyLabel:"未找到匹配的 API Key",optionsClassName:"cw-model-key-options",renderOptions:U=>D.map(Y=>{const ae=Y.id===n;return c.jsx("button",{type:"button",role:"option","aria-selected":ae,className:`cw-a2a-space-option cw-model-key-option ${ae?"is-selected":""}`,title:Y.name,onClick:()=>{E(fe=>fe+1),r(Y),U()},children:c.jsx("span",{children:Y.name})},Y.id)})})]}),c.jsxs("div",{className:"cw-model-picker-field",children:[c.jsx("span",{className:"cw-model-picker-label",children:"模型"}),c.jsxs("div",{className:"cw-a2a-space-row",children:[c.jsx(XX,{selectedLabel:M,placeholder:!A,disabled:m,triggerAriaLabel:`选择${G}模型`,menuAriaLabel:`${G}模型`,searchAriaLabel:"搜索模型",searchValue:_,searchPlaceholder:"搜索名称、Model ID 或服务商",onSearchChange:C,empty:!$&&B.length===0,emptyLabel:"未找到匹配的模型",triggerClassName:"cw-model-trigger",optionsClassName:"cw-model-options",renderOptions:U=>c.jsxs(c.Fragment,{children:[$&&c.jsxs("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option cw-model-option is-selected",onClick:()=>{s(A),U()},children:[c.jsxs("span",{className:"cw-model-option-copy",children:[c.jsx("strong",{children:"当前配置"}),c.jsx("small",{children:A})]}),c.jsx("span",{className:"cw-model-status is-unknown",children:"状态未知"})]}),B.map(Y=>{const ae=Y.id===A,fe=hct(Y);return!fe&&Y.activationState!=="Available"?c.jsxs("button",{type:"button",role:"option","aria-selected":!1,className:"cw-a2a-space-option cw-model-option is-activation-link",title:`前往${G}开通 ${Y.displayName}`,onClick:()=>{window.open(X,"_blank","noopener,noreferrer"),U()},children:[c.jsxs("span",{className:"cw-model-option-copy",children:[c.jsx("strong",{children:Y.displayName}),c.jsxs("small",{children:[Y.id,Y.vendorName?` · ${Y.vendorName}`:""]})]}),c.jsx("span",{className:"cw-model-status is-unavailable",children:"未开通,去开通"})]},Y.id):c.jsxs("button",{type:"button",role:"option","aria-selected":ae,disabled:!fe,className:`cw-a2a-space-option cw-model-option ${ae?"is-selected":""}`,title:`${Y.displayName} (${Y.id})`,onClick:()=>{s(Y.id),U()},children:[c.jsxs("span",{className:"cw-model-option-copy",children:[c.jsx("strong",{children:Y.displayName}),c.jsxs("small",{children:[Y.id,Y.vendorName?` · ${Y.vendorName}`:""]})]}),c.jsx("span",{className:`cw-model-status ${Y.available?"is-available":Y.lifecycleStatus==="Retiring"?"is-retiring":"is-unavailable"}`,children:fct(Y)})]},Y.id)})]})}),c.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新 API Key 和模型列表","aria-label":"刷新 API Key 和模型列表",disabled:m||l,onClick:()=>x(U=>U+1),children:m||l?c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}):c.jsx(Z3,{className:"cw-i cw-i-sm"})})]})]})]}),y?c.jsxs("div",{className:"cw-banner cw-a2a-space-error",role:"alert",children:[c.jsx(Uu,{className:"cw-i"}),c.jsx("span",{children:y})]}):m?c.jsxs("span",{className:"cw-help cw-a2a-space-status","aria-live":"polite",children:[c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载模型列表…"]}):j.length===0?c.jsx("span",{className:"cw-help",children:"当前账号下暂无可配置模型。"}):c.jsxs("span",{className:"cw-help",children:["已加载 ",j.length," 个模型,其中 ",I," 个已开通。"]})]})}function mct({value:e,region:t,invalid:n,onChange:i}){const r=t.trim()||bl.region,[s,a]=O.useState([]),[o,l]=O.useState(!1),[u,d]=O.useState(null),[f,h]=O.useState(0),[p,m]=O.useState(!1),[g,y]=O.useState(""),b=O.useRef(null);O.useEffect(()=>{let C=!1;return l(!0),d(null),plt({region:r}).then(A=>{C||a(A)}).catch(A=>{C||(a([]),d(A instanceof Error?A.message:"加载失败"))}).finally(()=>{C||l(!1)}),()=>{C=!0}},[r,f]);const S=!e||s.some(C=>C.id===e.trim()),x=s.find(C=>C.id===e.trim()),v=x?pR(x):e&&!S?"已选择的智能体中心":"请选择智能体中心",E=o&&s.length===0,w=O.useMemo(()=>s.filter(C=>Qh(g,[pR(C),C.id,C.projectName])),[g,s]),k=!!(e&&!S&&Qh(g,["已选择的智能体中心",e]));O.useEffect(()=>{if(!p)return;const C=R=>{const j=R.target;j instanceof Node&&b.current&&!b.current.contains(j)&&m(!1)},A=R=>{R.key==="Escape"&&m(!1)};return window.addEventListener("pointerdown",C),window.addEventListener("keydown",A),()=>{window.removeEventListener("pointerdown",C),window.removeEventListener("keydown",A)}},[p]);const _=C=>{i(C),m(!1)};return c.jsxs("div",{className:`cw-a2a-space-picker${p?" is-open":""}`,ref:b,children:[c.jsxs("div",{className:"cw-a2a-space-row",children:[c.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[c.jsxs("button",{type:"button",className:`cw-a2a-space-trigger ${n?"is-error":""}`,disabled:E,"aria-haspopup":"listbox","aria-expanded":p,"aria-label":"选择 AgentKit 智能体中心",onClick:()=>{y(""),m(C=>!C)},children:[c.jsx("span",{className:e?void 0:"is-placeholder",children:v}),c.jsx(W3,{className:"cw-a2a-space-trigger-icon"})]}),p&&c.jsxs("div",{className:"cw-a2a-space-menu",children:[c.jsx("div",{className:"cw-picker-search",children:c.jsx("input",{className:"cw-picker-search-input",type:"search",value:g,autoFocus:!0,autoComplete:"off","aria-label":"搜索 AgentKit 智能体中心",placeholder:"搜索名称或 ID",onChange:C=>y(C.currentTarget.value)})}),c.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"AgentKit 智能体中心",children:[k&&c.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>_(e),children:"已选择的智能体中心"}),w.map(C=>{const A=pR(C),R=C.id===e;return c.jsx("button",{type:"button",role:"option","aria-selected":R,className:`cw-a2a-space-option ${R?"is-selected":""}`,title:`${A} (${C.id})`,onClick:()=>_(C.id),children:A},C.id)}),!k&&w.length===0&&c.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的智能体中心"})]})]})]}),c.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新智能体中心列表","aria-label":"刷新智能体中心列表",disabled:o,onClick:()=>h(C=>C+1),children:o?c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}):c.jsx(Z3,{className:"cw-i cw-i-sm"})})]}),u?c.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[c.jsx(Uu,{className:"cw-i"}),c.jsx("span",{children:u})]}):o?c.jsxs("span",{className:"cw-help cw-a2a-space-status",children:[c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载 AgentKit 智能体中心…"]}):s.length===0?c.jsx("span",{className:"cw-help",children:"此账号下暂无 AgentKit 智能体中心。"}):c.jsxs("span",{className:"cw-help",children:["已加载 ",s.length," 个智能体中心,列表仅展示中心名称。"]})]})}function gct({value:e,onChange:t}){const[n,i]=O.useState([]),[r,s]=O.useState(!1),[a,o]=O.useState(null),[l,u]=O.useState(0),[d,f]=O.useState(!1),[h,p]=O.useState(""),m=O.useRef(null);O.useEffect(()=>{let w=!1;return s(!0),o(null),glt().then(k=>{w||i(k)}).catch(k=>{w||(i([]),o(k instanceof Error?k.message:"加载失败"))}).finally(()=>{w||s(!1)}),()=>{w=!0}},[l]);const g=!e||n.some(w=>w.id===e.trim()),y=n.find(w=>w.id===e.trim()),b=y?mR(y):e&&!g?e:"请选择 VikingDB 知识库",S=r&&n.length===0,x=O.useMemo(()=>n.filter(w=>Qh(h,[mR(w),w.id,w.description,w.projectName,w.resourceId,w.agentkitKnowledgeId,w.providerKnowledgeId,w.sourceLabel])),[n,h]),v=!!(e&&!g&&Qh(h,[e]));O.useEffect(()=>{if(!d)return;const w=_=>{const C=_.target;C instanceof Node&&m.current&&!m.current.contains(C)&&f(!1)},k=_=>{_.key==="Escape"&&f(!1)};return window.addEventListener("pointerdown",w),window.addEventListener("keydown",k),()=>{window.removeEventListener("pointerdown",w),window.removeEventListener("keydown",k)}},[d]);const E=w=>{t(w),f(!1)};return r&&n.length===0?c.jsxs("span",{className:"cw-viking-kb-inline-status",role:"status",children:[c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载…"]}):c.jsxs("div",{className:`cw-a2a-space-picker cw-viking-kb-picker${d?" is-open":""}`,ref:m,children:[c.jsxs("div",{className:"cw-a2a-space-row",children:[c.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[c.jsxs("button",{type:"button",className:"cw-a2a-space-trigger",disabled:S,"aria-haspopup":"listbox","aria-expanded":d,"aria-label":"选择 VikingDB 知识库",onClick:()=>{p(""),f(w=>!w)},children:[c.jsx("span",{className:e?void 0:"is-placeholder",children:b}),c.jsx(W3,{className:"cw-a2a-space-trigger-icon"})]}),d&&c.jsxs("div",{className:"cw-a2a-space-menu cw-viking-kb-menu",children:[c.jsx("div",{className:"cw-picker-search",children:c.jsx("input",{className:"cw-picker-search-input",type:"search",value:h,autoFocus:!0,autoComplete:"off","aria-label":"搜索 VikingDB 知识库",placeholder:"搜索名称或 ID",onChange:w=>p(w.currentTarget.value)})}),c.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"VikingDB 知识库",children:[v&&c.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>E({id:e,name:e,description:"",projectName:"",region:"",sourceKind:"knowledge",sourceLabel:"Knowledge Engine",resourceId:""}),children:e}),x.map(w=>{const k=mR(w),_=w.id===e,C=[w.id,w.resourceId,w.agentkitKnowledgeId,w.providerKnowledgeId].filter(Boolean).join(" / ");return c.jsx("button",{type:"button",role:"option","aria-selected":_,className:`cw-a2a-space-option ${_?"is-selected":""}`,title:C?`${k} (${C})`:k,onClick:()=>E(w),children:k},w.id)}),!v&&x.length===0&&c.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的知识库"})]})]})]}),c.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh cw-viking-kb-refresh",title:"刷新知识库列表","aria-label":"刷新知识库列表",disabled:r,onClick:()=>u(w=>w+1),children:r?c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}):c.jsx(Z3,{className:"cw-i cw-i-sm"})})]}),a?c.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[c.jsx(Uu,{className:"cw-i"}),c.jsx("span",{children:a})]}):n.length===0?c.jsx("span",{className:"cw-help",children:"此账号下暂无 VikingDB 知识库。"}):c.jsxs("span",{className:"cw-help",children:["已加载 ",n.length," 个知识库,选择的知识库会用于当前 Agent。"]})]})}function Oct({tools:e,onChange:t}){const n=(s,a)=>t(e.map((o,l)=>l===s?{...o,...a}:o)),i=s=>t(e.filter((a,o)=>o!==s)),r=()=>t([...e,{name:"",transport:"http",url:""}]);return c.jsxs("div",{className:"cw-mcp",children:[e.length>0&&c.jsx("div",{className:"cw-mcp-list",children:c.jsx(Zd,{initial:!1,children:e.map((s,a)=>c.jsxs(dr.div,{className:"cw-mcp-row",layout:!0,initial:{opacity:0,y:6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.16},children:[c.jsxs("div",{className:"cw-mcp-rowhead",children:[c.jsxs("div",{className:"cw-mcp-transport",children:[c.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="http"?"is-on":""}`,onClick:()=>n(a,{transport:"http"}),"aria-pressed":s.transport==="http",children:c.jsx("span",{className:"cw-seg-title",children:"HTTP"})}),c.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="stdio"?"is-on":""}`,onClick:()=>n(a,{transport:"stdio"}),"aria-pressed":s.transport==="stdio",children:c.jsx("span",{className:"cw-seg-title",children:"stdio"})})]}),c.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger",onClick:()=>i(a),"aria-label":"移除 MCP 工具",children:c.jsx(df,{className:"cw-i cw-i-sm"})})]}),c.jsx("input",{className:"cw-input",value:s.name,placeholder:"名称(用于命名,可留空)",onChange:o=>n(a,{name:o.target.value})}),s.transport==="http"?c.jsxs(c.Fragment,{children:[c.jsx("input",{className:"cw-input",value:s.url??"",placeholder:"MCP 服务地址(StreamableHTTP)",onChange:o=>n(a,{url:o.target.value})}),Hot(s.url??"")&&c.jsxs("p",{className:"cw-mcp-warning",children:[c.jsx(Uu,{"aria-hidden":"true"}),c.jsx("span",{children:"当前地址不是以 /mcp 结尾,请确认它是实际的 MCP Endpoint。Studio 会保留该地址,不会自动补充路径。"})]}),c.jsx("input",{className:"cw-input",value:Xot(s),placeholder:"Bearer Token(可选)",onChange:o=>t(e.map((l,u)=>u===a?qot(l,o.target.value):l))})]}):c.jsxs(c.Fragment,{children:[c.jsx("input",{className:"cw-input",value:s.command??"",placeholder:"启动命令,例如 npx",onChange:o=>n(a,{command:o.target.value})}),c.jsx("input",{className:"cw-input",value:(s.args??[]).join(" "),placeholder:"参数(用空格分隔),例如 -y @playwright/mcp@latest",onChange:o=>n(a,{args:o.target.value.split(/\s+/).filter(Boolean)})}),c.jsx("p",{className:"cw-mcp-note",children:"stdio MCP 暂不参与调试运行;点击“去部署”时会完整保留这项配置并生成对应代码。"})]})]},a))})}),c.jsxs("button",{type:"button",className:"cw-add-sub",onClick:r,children:[c.jsx(Ls,{className:"cw-i"}),"添加 MCP 工具"]})]})}function sfe({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[c.jsx("path",{d:"M5.5 7.5h10.75a2 2 0 0 1 2 2v7.75a2 2 0 0 1-2 2H5.5a2 2 0 0 1-2-2V9.5a2 2 0 0 1 2-2Z"}),c.jsx("path",{d:"M7 4.75h9.5a2 2 0 0 1 2 2",opacity:".58"}),c.jsx("path",{d:"m11 10.25.72 1.48 1.63.24-1.18 1.15.28 1.62-1.45-.77-1.45.77.28-1.62-1.18-1.15 1.63-.24.72-1.48Z"}),c.jsx("path",{d:"M19.25 11.25h1.5M20 10.5V12",opacity:".72"})]})}function bct({s:e,onRemove:t}){let n=Sy,i="火山 Find Skill 技能广场";return e.source==="local"?(n=gD,i="本地"):e.source==="skillspace"&&(n=sfe,i="AgentKit Skills 中心"),c.jsxs(dr.div,{className:"cw-selected-skill-row",layout:!0,initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.16},children:[c.jsx("span",{className:"cw-selected-skill-icon","aria-hidden":!0,children:c.jsx(n,{className:"cw-i cw-i-sm"})}),c.jsxs("span",{className:"cw-selected-skill-meta",children:[c.jsx("span",{className:"cw-selected-skill-name",children:e.name}),c.jsxs("span",{className:"cw-selected-skill-detail",children:[i,e.description?` · ${Ex(e.description)}`:""]})]}),c.jsx("button",{type:"button",className:"cw-selected-skill-remove",onClick:t,"aria-label":`移除 ${e.name}`,title:`移除 ${e.name}`,children:c.jsx(aa,{className:"cw-i cw-i-sm"})})]},`${e.source}:${e.folder}:${e.skillId||e.slug||""}:${e.version||""}`)}const gR=[{id:"local",label:"本地文件",icon:gD},{id:"skillspace",label:"AgentKit Skills 中心",icon:sfe},{id:"skillhub",label:"火山 Find Skill 技能广场",icon:kT}];function yct({selected:e,onChange:t,cloudProvider:n}){const[i,r]=O.useState("local"),[s,a]=O.useState(!1),o=gR.findIndex(u=>u.id===i),l=u=>t(e.filter(d=>OR(d)!==u));return O.useEffect(()=>{if(!s)return;const u=d=>{d.key==="Escape"&&a(!1)};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[s]),c.jsxs("div",{className:"cw-skillspane",children:[c.jsxs("button",{type:"button",className:"cw-skill-add","aria-haspopup":"dialog",onClick:()=>a(!0),children:[c.jsx("span",{className:"cw-skill-add-icon","aria-hidden":!0,children:c.jsx(Ls,{className:"cw-i"})}),c.jsx("span",{children:"添加 Skill"})]}),e.length>0&&c.jsxs("div",{className:"cw-skill-selected",children:[c.jsxs("span",{className:"cw-skill-selected-label",children:["已加入技能 · ",e.length]}),c.jsx("div",{className:"cw-selected-skill-list",children:c.jsx(Zd,{initial:!1,children:e.map(u=>c.jsx(bct,{s:u,onRemove:()=>l(OR(u))},OR(u)))})})]}),c.jsx(Zd,{children:s&&c.jsx(dr.div,{className:"cw-skill-dialog-backdrop",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},onMouseDown:u=>{u.target===u.currentTarget&&a(!1)},children:c.jsxs(dr.div,{className:"cw-skill-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"cw-skill-dialog-title",initial:{opacity:0,y:10,scale:.985},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:6,scale:.99},transition:{duration:.18,ease:"easeOut"},children:[c.jsxs("div",{className:"cw-skill-dialog-head",children:[c.jsx("h3",{id:"cw-skill-dialog-title",children:"添加 Skill"}),c.jsx("button",{type:"button",className:"cw-skill-dialog-close","aria-label":"关闭添加 Skill",onClick:()=>a(!1),children:c.jsx(aa,{className:"cw-i"})})]}),c.jsxs("div",{className:"cw-skill-dialog-body",children:[c.jsxs("div",{className:"cw-skill-sourcetabs",role:"tablist",style:{"--cw-skill-tab-slider-width":`calc((100% - 16px) / ${gR.length})`,"--cw-active-skill-tab-offset":`calc(${o*100}% + ${o*4}px)`},children:[c.jsx("span",{className:"cw-skill-tab-slider","aria-hidden":!0}),gR.map(({id:u,label:d,icon:f})=>c.jsxs("button",{type:"button",role:"tab",id:`cw-skill-tab-${u}`,"aria-controls":"cw-skill-tabpanel","aria-selected":i===u,className:`cw-skill-pickertab ${i===u?"is-on":""}`,onClick:()=>r(u),children:[c.jsx(f,{className:"cw-i cw-i-sm"}),d]},u))]}),c.jsxs("div",{id:"cw-skill-tabpanel",className:"cw-skill-tabbody",role:"tabpanel","aria-labelledby":`cw-skill-tab-${i}`,children:[i==="skillhub"&&c.jsx(elt,{selected:e,onChange:t}),i==="local"&&c.jsx(dlt,{selected:e,onChange:t}),i==="skillspace"&&c.jsx(flt,{selected:e,onChange:t,cloudProvider:n})]})]})]})})})]})}function OR(e){return e.source==="skillhub"?`hub:${e.namespace}/${e.slug}`:e.source==="local"?`local:${e.folder}`:`ss:${e.skillSpaceId}/${e.skillId}/${e.version||""}`}function Nv({checked:e,onChange:t,title:n,desc:i,showDescription:r=!1}){return c.jsxs("button",{type:"button",className:`cw-toggle ${e?"is-on":""}`,onClick:()=>t(!e),"aria-pressed":e,children:[c.jsxs("span",{className:"cw-toggle-text",children:[c.jsx("span",{className:"cw-toggle-title",children:n}),r&&c.jsx("span",{className:"cw-toggle-help",children:i})]}),c.jsx("span",{className:"cw-switch","aria-hidden":!0,children:c.jsx(dr.span,{className:"cw-switch-knob",layout:!0,transition:{type:"spring",stiffness:520,damping:34}})})]})}function xct(e,t){var i;let n=e;for(const r of t)if(n=(i=n.subAgents)==null?void 0:i[r],!n)return!1;return!0}function Cv(e,t){let n=e;for(const i of t)n=n.subAgents[i];return n}function v1(e,t,n){if(t.length===0)return n(e);const[i,...r]=t,s=e.subAgents.slice();return s[i]=v1(s[i],r,n),{...e,subAgents:s}}function Sct(e,t,n="volcengine"){return v1(e,t,i=>({...i,subAgents:[...i.subAgents,Bo(n)]}))}function vct(e,t,n,i="volcengine"){return v1(e,t,r=>{const s=r.subAgents.slice();return s.splice(n,0,Bo(i)),{...r,subAgents:s}})}function wct(e,t){if(t.length===0)return e;const n=t.slice(0,-1),i=t[t.length-1];return v1(e,n,r=>({...r,subAgents:r.subAgents.filter((s,a)=>a!==i)}))}const kM=e=>!nA(e.agentType),qX=3;function Ect(e,t,n=!1){var r;if(nA(e.agentType))return n?"远程 Agent 只能作为子 Agent":(r=e.a2aRegistry)!=null&&r.registrySpaceId.trim()?null:"缺少 AgentKit 智能体中心";const i=yx(e.name);return i||(t.has(e.name)?"Agent 名称在当前结构中必须唯一":e.description.trim().length===0?"缺少描述":_de(e.agentType)?e.subAgents.length===0?"缺少子 Agent":null:e.instruction.trim().length===0?"缺少系统提示词":null)}function afe(e,t,n=[]){const i=[],r=nA(e.agentType),s=Ect(e,t,n.length===0);return s&&i.push({path:n,name:r?"远程 Agent":e.name.trim()||"未命名",typeLabel:Tde(e.agentType).label,problem:s}),kM(e)&&e.subAgents.forEach((a,o)=>i.push(...afe(a,t,[...n,o]))),i}function kct(e){return`${e.typeLabel}至少需要添加一个子 Agent 后才能调试或发布。`}function ofe(e){return 1+e.subAgents.reduce((t,n)=>t+ofe(n),0)}function lfe(e){const t=iA(e),n=[],i={...t.envValues},r=t.draft.cloudProvider??"volcengine";let s=!1;for(const l of Vde(t.draft,bc(r))){const u=[{key:l.apiKeyKey,required:!0,comment:l.label}];l.providerKey&&(u.push({key:l.providerKey,required:!0}),i[l.providerKey]=l.provider),l.apiBaseKey&&(u.push({key:l.apiBaseKey,required:!0}),i[l.apiBaseKey]=l.apiBase),n.push({env:u})}const a=l=>{var u,d,f,h;l.agentType==="llm"&&F0(l,r)==="ark"&&(s=!0);for(const p of l.builtinTools??[]){const m=hp.find(g=>g.id===p);m&&n.push({env:Av(m.env,r)})}for(const p of l.mcpTools??[])p.authTokenEnv&&n.push({env:[{key:p.authTokenEnv,required:!1,comment:`${p.name.trim()||"MCP"} Bearer Token`}]});if((u=l.a2aRegistry)!=null&&u.enabled&&(n.push({env:Xee}),Object.assign(i,rfe(l.a2aRegistry,{includeDefaults:!0}))),l.memory.shortTerm&&n.push({env:Av(((d=yP.find(p=>p.id===(l.shortTermBackend??"local")))==null?void 0:d.env)??[],r)}),l.memory.longTerm&&n.push({env:Av(((f=xP.find(p=>p.id===(l.longTermBackend??"local")))==null?void 0:f.env)??[],r)}),l.knowledgebase&&n.push({env:Av(((h=SP.find(p=>p.id===(l.knowledgebaseBackend??Jd)))==null?void 0:h.env)??[],r)}),l.tracing)for(const p of l.tracingExporters??[]){const m=ERe.find(g=>g.id===p);m&&n.push({env:m.env,enableFlag:m.enableFlag})}l.subAgents.forEach(a)};a(t.draft),s&&(n.push({env:[{key:"MODEL_AGENT_PROVIDER",required:!0},{key:"MODEL_AGENT_API_BASE",required:!0},{key:"MODEL_AGENT_API_KEY",required:!0,comment:"Ark API Key",placeholder:"由所选 API Key 注入",secret:!0,readOnly:!0,serverManaged:!0}]}),i.MODEL_AGENT_PROVIDER="openai",i.MODEL_AGENT_API_BASE=bc(r));const o=wde(n);return{specs:o.specs,fixedValues:{...o.fixedValues,...i}}}function Tct(e,t){const n=i=>(i??"").trim().replace(/\/+$/,"");return n(e)===n(t)}function _ct(e,t,n){const i=(e??"").trim();return!i||i===vy(t)?!0:i===vy(n)?!1:n==="byteplus"&&i.includes("doubao-")}function mh(e,t){const n=e.cloudProvider??"volcengine",i=F0(e,n),r=e.subAgents.map(u=>mh(u,t)),s=i==="ark"&&_ct(e.modelName,n,t)?vy(t):e.modelName,o=Tct(e.modelApiBase,bc(n))||t==="byteplus"&&(e.modelApiBase??"").includes("volces.com")?bc(t):e.modelApiBase;return e.cloudProvider!==t||s!==e.modelName||o!==e.modelApiBase||r.some((u,d)=>u!==e.subAgents[d])?{...e,cloudProvider:t,modelName:s,modelApiBase:o,subAgents:r}:e}function Act(e,t){var o;const n=mh(e,t),i=Xde(n,bc(t)),r=new Set(i.map(({key:l})=>l)),s=((o=n.deployment)==null?void 0:o.envValues)??{},a=Object.fromEntries(Object.entries(s).filter(([l,u])=>r.has(l)&&!!u.trim()));return Object.keys(a).length===0?{draft:n,customModelSecretValues:a}:{draft:{...n,deployment:{...n.deployment??{feishuEnabled:!1},envValues:Object.fromEntries(Object.entries(s).filter(([l])=>!r.has(l)))}},customModelSecretValues:a}}function cfe(e){var i,r,s;const t=iA(e).draft;return{...Yde(t,t.cloudProvider??"volcengine"),deployment:{feishuEnabled:!!((i=e.deployment)!=null&&i.feishuEnabled),modelApiKeyId:((r=e.deployment)==null?void 0:r.modelApiKeyId)??"",modelApiKeyName:((s=e.deployment)==null?void 0:s.modelApiKeyName)??""}}}function TM(e){var n;const t=(n=e.modelName)==null?void 0:n.trim();if(t)return t;for(const i of e.subAgents){const r=TM(i);if(r)return r}return""}function ufe(e,t={}){var r,s,a,o;const n=lfe(e),i={...((r=e.deployment)==null?void 0:r.envValues)??{},...t,...n.fixedValues};return{...cfe(e),deployment:{feishuEnabled:!!((s=e.deployment)!=null&&s.feishuEnabled),modelApiKeyId:((a=e.deployment)==null?void 0:a.modelApiKeyId)??"",modelApiKeyName:((o=e.deployment)==null?void 0:o.modelApiKeyName)??"",envValues:Object.fromEntries(Ede(n.specs,i).map(({key:l,value:u})=>[l,u]))}}}function Nct(e,t={}){return JSON.stringify(ufe(e,t))}function Vk(e,t){return JSON.stringify({draftSnapshot:e,modelName:t.modelName,description:t.description,instruction:t.instruction,optimizations:t.optimizations})}function $m(e){return JSON.stringify({modelName:e.modelName.trim(),description:e.description.trim(),instruction:e.instruction.trim(),optimizations:e.optimizations})}function Cct({enabled:e,disabledReason:t,variants:n,draftSnapshot:i,input:r,onInput:s,onSend:a,onStartVariant:o,onDeployVariant:l,onAddVariant:u,onRemoveVariant:d,onToggleConfig:f,onCompleteConfig:h,onConfigChange:p,onOpenTrace:m}){const g=n.filter(S=>S.phase!=="ready"?!1:S.runtimeSnapshot===Vk(i,S)),y=n.some(S=>S.phase==="sending"),b=g.length>0&&!y;return c.jsxs("section",{className:"cw-ab-workspace","aria-label":"A/B 调试工作台",children:[c.jsx("div",{className:"cw-ab-stage",children:e?c.jsx("div",{className:"cw-ab-grid",style:{"--cw-ab-column-count":n.length},children:n.map((S,x)=>{const v=S.modelName.trim(),E=S.description.trim(),w=S.instruction.trim(),k=$m(S),_=!!(v&&E&&w&&n.findIndex(B=>$m(B)===k)!==x),C=!v||!E||!w||_,A=!!(S.runtimeSnapshot&&S.runtimeSnapshot!==Vk(i,S)),R=S.phase==="starting",j=S.phase==="ready"&&!A,Q=R||S.phase==="sending",L=j&&S.phase!=="sending"&&S.messages.some(B=>B.role==="assistant"),D=Q||S.configOpen||C,N=v?E?w?_?"该配置与已有测试组相同":"":"请填写系统提示词":"请填写描述":"请先选择模型",M=R?"正在启动":A?"应用配置并重启":j||S.phase==="error"?"重新启动环境":"启动环境";return c.jsx("article",{className:"cw-ab-card",children:c.jsxs("div",{className:`cw-ab-card-inner${S.configOpen?" is-flipped":""}`,children:[c.jsxs("section",{className:"cw-ab-card-face cw-ab-card-front","aria-hidden":S.configOpen,children:[c.jsxs("header",{className:"cw-ab-card-head",children:[c.jsxs("div",{className:"cw-ab-card-title",children:[c.jsx("strong",{children:S.name}),c.jsx("span",{children:S.modelName||"默认模型"})]}),c.jsxs("div",{className:"cw-ab-card-actions",children:[c.jsx("button",{type:"button",className:"cw-ab-config-trigger",disabled:S.configOpen||Q,onClick:()=>f(S.id),children:"测试配置"}),S.id!=="baseline"&&c.jsx("button",{type:"button",className:"cw-ab-remove","aria-label":`删除${S.name}`,disabled:S.configOpen||Q,onClick:()=>d(S.id),children:c.jsx(FX,{className:"cw-i"})})]})]}),c.jsx("div",{className:"cw-ab-conversation",children:S.error?c.jsx(Fk,{message:S.error,className:"cw-debug-error-detail",defaultExpanded:!0}):R?c.jsxs("div",{className:"cw-ab-empty cw-ab-starting",children:[c.jsx(qn,{className:"cw-i cw-spin"}),c.jsx("span",{children:"正在创建独立测试环境"})]}):A?c.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:c.jsx("span",{children:"配置已变更,请重新启动此环境"})}):S.messages.length===0?c.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:j?c.jsxs(c.Fragment,{children:[c.jsx("strong",{className:"cw-ab-ready-title",children:"已就绪"}),c.jsx("span",{className:"cw-ab-launch-hint",children:"可在下方输入测试消息"})]}):c.jsx("span",{className:"cw-ab-launch-hint",children:N||"启动环境后即可加入本轮测试"})}):S.messages.map((B,$)=>c.jsx("div",{className:`cw-debug-msg cw-debug-msg-${B.role}`,children:c.jsx("div",{className:"cw-debug-content",children:B.role==="user"?B.content:B.error?c.jsx(Fk,{message:B.error,className:"cw-debug-msg-error",defaultExpanded:!0}):B.blocks&&B.blocks.length>0?c.jsx(z$,{blocks:B.blocks,onAction:()=>{}}):B.content?B.content:$===S.messages.length-1&&S.phase==="sending"?c.jsx(Zie,{}):null})},$))}),c.jsxs("footer",{className:"cw-ab-deploy-footer",children:[c.jsx("button",{type:"button",className:"cw-ab-trace",disabled:!L,title:L?`查看${S.name}调用链路`:"完成一次调试后可查看调用链路",onClick:()=>m(S.id),children:"调用链路"}),c.jsxs("button",{type:"button",className:"cw-ab-start cw-ab-footer-start",disabled:D,title:N||void 0,onClick:()=>o(S.id),children:[j||A||S.phase==="error"?c.jsx(f1e,{className:"cw-i"}):c.jsx(act,{className:"cw-i cw-debug-run-icon"}),M]}),c.jsx("button",{type:"button",className:"cw-ab-deploy",disabled:Q||!v,onClick:()=>l(S.id),children:"部署该配置"})]})]}),c.jsxs("section",{className:"cw-ab-card-face cw-ab-card-back","aria-hidden":!S.configOpen,children:[c.jsxs("header",{className:"cw-ab-config-head",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"测试配置"}),c.jsx("span",{children:S.name})]}),c.jsxs("div",{className:"cw-ab-config-head-actions",children:[S.id!=="baseline"&&c.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger cw-ab-config-remove","aria-label":`删除${S.name}`,title:"删除配置组",disabled:Q,onClick:()=>d(S.id),children:c.jsx(FX,{className:"cw-i cw-i-sm"})}),c.jsxs("span",{className:`cw-ab-config-done-wrap${N?" is-disabled":""}`,tabIndex:N?0:void 0,children:[c.jsx("button",{type:"button",className:"cw-ab-config-done",disabled:!S.configOpen||C,onClick:()=>h(S.id),children:S.id==="baseline"?"完成配置":"完成并启动"}),N&&c.jsx("span",{className:"cw-ab-config-done-tip",role:"tooltip",children:N})]})]})]}),c.jsxs("div",{className:"cw-ab-config",children:[c.jsxs("label",{children:[c.jsx("span",{children:"模型"}),c.jsx("input",{value:S.modelName,placeholder:"使用 Agent 当前模型",disabled:!S.configOpen,onChange:B=>p(S.id,"modelName",B.target.value)})]}),c.jsxs("label",{children:[c.jsx("span",{children:"描述"}),c.jsx("textarea",{rows:2,value:S.description,disabled:!S.configOpen,onChange:B=>p(S.id,"description",B.target.value)})]}),c.jsxs("label",{children:[c.jsx("span",{children:"系统提示词"}),c.jsx("textarea",{rows:5,value:S.instruction,disabled:!S.configOpen,onChange:B=>p(S.id,"instruction",B.target.value)})]}),c.jsxs("fieldset",{className:"cw-ab-optimizations-disabled",children:[c.jsxs("legend",{children:[c.jsx("span",{children:"优化选项"}),c.jsx("em",{children:"待开放"})]}),c.jsx("div",{className:"cw-ab-optimization-list",children:dfe.map(B=>c.jsx(q3,{checked:S.optimizations.includes(B.id),disabled:!0,label:B.label,className:"cw-ab-optimization-checkbox"},B.id))})]}),c.jsx("p",{children:"设置完成后返回正面,再启动当前测试环境。"})]})]})]})},S.id)})}):c.jsx("div",{className:"cw-debug-empty",children:t})}),c.jsxs("div",{className:"cw-ab-composer",children:[c.jsxs("div",{className:"cw-debug-composerbox",children:[c.jsx("textarea",{className:"cw-debug-input",rows:1,value:r,placeholder:b?"输入测试消息,将发送到所有已启动测试组...":"请先启动至少一个测试组",disabled:!b,onChange:S=>s(S.target.value),onKeyDown:S=>{v3(S.nativeEvent)||S.key==="Enter"&&!S.shiftKey&&(S.preventDefault(),a())}}),c.jsx("button",{type:"button",className:"cw-debug-send",title:"发送",disabled:!b||!r.trim(),onClick:a,children:y?c.jsx(qn,{className:"cw-i cw-spin"}):c.jsx(Uxe,{className:"cw-i"})})]}),e&&n.length<3&&c.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft cw-ab-add",onClick:u,children:[c.jsx(Ls,{className:"cw-i"}),"添加对照组"]})]})]})}const Rv=[{id:"build",label:"架构"},{id:"validate",label:"调试"},{id:"publish",label:"发布"}],dfe=[{id:"context",label:"上下文优化",description:"压缩历史对话,保留与当前任务相关的信息"},{id:"grounding",label:"幻觉抑制",description:"对不确定内容要求依据,并明确表达未知"},{id:"tools",label:"工具调用优化",description:"减少重复调用,优先复用可信的工具结果"},{id:"latency",label:"响应加速",description:"缓存稳定上下文,降低重复推理开销"}];function Rct({mode:e}){const t=e==="validate"?"调试您的智能体":e==="publish"?"准备好部署您的智能体":"个性化您的智能体架构";return c.jsx("header",{className:"cw-workspace-header",children:c.jsx("h1",{children:t})})}function Ict({mode:e,busy:t,onChange:n,assistant:i}){const r=Rv.findIndex(o=>o.id===e),s=Rv[r-1],a=Rv[r+1];return c.jsxs("footer",{className:"cw-workspace-footer",children:[c.jsxs("div",{className:`cw-workspace-nav-actions${i?" has-assistant":""}`,children:[c.jsx("button",{type:"button",className:`cw-workspace-nav-button${e==="build"?" is-placeholder":""}`,"aria-hidden":e==="build"||void 0,tabIndex:e==="build"?-1:0,disabled:!s||t,onClick:()=>s&&n(s.id),children:"上一步"}),c.jsx("span",{"aria-hidden":"true"}),i?c.jsx("div",{className:"cw-workspace-ai-slot",children:i}):null,e==="publish"?c.jsx("div",{id:"cw-publish-primary-action",className:"cw-publish-action-slot"}):c.jsx("button",{type:"button",className:"cw-workspace-nav-button is-primary",disabled:!a||t,onClick:()=>a&&n(a.id),children:"下一步"})]}),c.jsx("nav",{className:"cw-workspace-progress","aria-label":"Agent 创建进度",children:Rv.map((o,l)=>{const u=o.id===e;return c.jsx("button",{type:"button",className:`${u?"is-active":""}${ln(o.id),children:c.jsx("span",{"aria-hidden":"true"})},o.id)})})]})}function Pct({onBack:e,onCreate:t,onAgentAdded:n,initialDraft:i,features:r,onDeploymentTaskChange:s,createMode:a="custom",deploymentTarget:o,cloudProvider:l="volcengine",initialDeployRegion:u=Ui(l),onDeploymentComplete:d,onDeploymentStarted:f,onDraftChange:h,onDiscard:p}){var jl,Nr,go,As,Yo,es,Ml,Go,re,ne,Pe,Ve,pt,Fe,Pt,In,At,Dn;const[m]=O.useState(()=>Act(i??Bo(l),l)),[g,y]=O.useState(m.draft),[b,S]=O.useState(m.customModelSecretValues),x=((jl=g.deployment)==null?void 0:jl.runtimeName)??"",v=o?o.name:Zet(g.name,x,(Nr=g.deployment)==null?void 0:Nr.runtimeNameCustomized),E=b;O.useEffect(()=>{y(Z=>mh(Z,l))},[l]);const[w,k]=O.useState(""),[_,C]=O.useState(!1),[A,R]=O.useState(!1),[j,Q]=O.useState(!1),[L,D]=O.useState(null),N=w.trim(),M=N.length>0&&N.length{X.current=h},[h]),O.useEffect(()=>{var Z;I!==$.current&&($.current=I,(Z=X.current)==null||Z.call(X,mh(g,l),G))},[l,g,G,I]);const[U,Y]=O.useState("build"),[ae,fe]=O.useState(!1),[ke,K]=O.useState(0),[ie,le]=O.useState(null),[ge,Ee]=O.useState(!1),[Ce,_e]=O.useState((o==null?void 0:o.region)??u),he=(r==null?void 0:r.generatedAgentTestRun)===!0,te=(r==null?void 0:r.generatedAgentTestRunDisabledReason)||"当前后端暂不支持生成 Agent 调试运行。",[Te,me]=O.useState(()=>{const Z=mh(i??Bo(l),l);return[{id:"baseline",name:"基准组",modelName:TM(Z),description:Z.description,instruction:Z.instruction,optimizations:[],configOpen:!1,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]}),[Be,je]=O.useState("baseline"),Ue=O.useRef(1),st=O.useRef(!1),ct=O.useRef(new Map),[Tt,at]=O.useState(0),[q,oe]=O.useState(""),[de,Ie]=O.useState(null),[ce,Me]=O.useState(!1),[Ye,dt]=O.useState(!1),Gt=O.useRef(null),[Ct,Dt]=O.useState(""),[vt,Wt]=O.useState(!1),[gt,ft]=O.useState([]),Rt=O.useRef(null),rn=O.useRef({});async function ln(){const Z=new Set([...ct.current.values()].map(({run:Ze})=>Ze.runId)),ve=G3().filter(Ze=>!Z.has(Ze));ve.length&&await Promise.all(ve.map(async Ze=>{try{await Jp(Ze),DO(Ze)}catch(Ot){console.warn("清理遗留调试运行失败",Ot)}}))}O.useEffect(()=>(ln(),()=>{for(const{run:Z}of ct.current.values())Jp(Z.runId).then(()=>DO(Z.runId)).catch(ve=>console.warn("清理调试运行失败",ve));ct.current.clear()}),[]),O.useEffect(()=>()=>{var Z;(Z=Gt.current)==null||Z.call(Gt,!1),Gt.current=null},[]);const Ae=O.useRef(null);Ae.current||(Ae.current=({meta:Z,children:ve})=>c.jsxs("section",{ref:Ze=>{rn.current[Z.id]=Ze},id:`cw-sec-${Z.id}`,"data-step-id":Z.id,className:"cw-section",children:[c.jsx("header",{className:"cw-sec-head",children:c.jsx("h2",{className:"cw-sec-title",children:Z.label})}),c.jsx("div",{className:"cw-sec-body",children:ve})]}));const qe=xct(g,gt)?gt:[],$e=Cv(g,qe),pn=qe.length===0,bn=`cw-a2a-registry-advanced-${qe.join("-")||"root"}`,It=Z=>y(ve=>v1(ve,qe,Ze=>({...Ze,...Z}))),pe=(Z,ve)=>y(Ze=>{var Ot;return{...Ze,deployment:{...Ze.deployment??{feishuEnabled:!1},envValues:{...((Ot=Ze.deployment)==null?void 0:Ot.envValues)??{},[Z]:ve}}}}),Qe=Z=>It({a2aRegistry:{...$e.a2aRegistry??{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},...Z}}),yt=(Z,ve)=>{if(!(Z in VX))return;const Ze=VX[Z];Qe({[Ze]:ve}),pe(Z,ve)},mn=Z=>{if(!(pn&&Z==="a2a")){if(Z==="a2a"){It({agentType:Z,a2aRegistry:{...$e.a2aRegistry??{registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},enabled:!0}});return}It({agentType:Z,a2aRegistry:$e.a2aRegistry?{...$e.a2aRegistry,enabled:!1}:void 0})}},wn=(Z,ve)=>{y(Z),ve&&ft(ve)},Jt=async()=>{const Z=w.trim();if(!(!Z||_)&&!(Z.length{const ve=Cv(g,Z);if(!kM(ve)||Z.length>=qX)return;const Ze=Sct(g,Z,l),Ot=Cv(Ze,Z).subAgents.length-1;wn(Ze,[...Z,Ot])},zn=(Z,ve)=>{const Ze=Cv(g,Z);if(!kM(Ze)||Z.length>=qX)return;const Ot=Math.max(0,Math.min(ve,Ze.subAgents.length)),Ci=vct(g,Z,Ot,l);wn(Ci,[...Z,Ot])},xe=()=>{window.confirm("清空根 Agent 的全部配置和子 Agent?此操作无法撤销。")&&(y(Bo(l)),ft([]),fe(!1))},Ge=Z=>{if(Z.length===0){xe();return}wn(wct(g,Z),Z.slice(0,-1))},Nt=$e.builtinTools??[],Kt=O.useMemo(()=>qee(l),[l]),sn=O.useMemo(()=>new Set(Kt.map(Z=>Z.id)),[Kt]),Fn=$e.mcpTools??[],xi=$e.selectedSkills??[],di=Z=>{sn.has(Z)&&It({builtinTools:Nt.includes(Z)?Nt.filter(ve=>ve!==Z):[...Nt,Z]})},Hn=_de($e.agentType),En=nA($e.agentType),Zn=F0($e,l),Si=Z=>{var Ze;const ve=Z==="custom"&&Zn==="ark"?"":Z==="ark"&&!((Ze=$e.modelName)!=null&&Ze.trim())?vy(l):$e.modelName;It({modelSource:Z,modelName:ve})},Zt=O.useMemo(()=>ztt(g),[g]),Yn=En?null:yx($e.name)??(Zt.has($e.name)?"Agent 名称在当前结构中必须唯一":null),mr=Yn!==null,er=!En&&$e.description.trim().length===0,gn=$e.instruction.trim().length===0,Li=En&&!((go=$e.a2aRegistry)!=null&&go.registrySpaceId.trim()),kn=Z=>ae&&Z?`is-error cw-error-shake-${ke%2}`:"",fn=O.useMemo(()=>afe(g,Zt),[g,Zt]),Di=fn.length===0,Ft=O.useMemo(()=>mh(g,l),[l,g]),vi=O.useMemo(()=>Nct(Ft,E),[Ft,E]),Kn=Te.find(Z=>Z.id===Be)??Te[0],$i=O.useMemo(()=>lfe(Ft),[Ft]),Vt=O.useMemo(()=>Xde(Ft,bc(l)),[l,Ft]),Ai=Vt.find(Z=>Z.label===`${$e.name.trim()||"自定义模型"} 模型 API Key`),ms=Z=>{var ve;(ve=rn.current[Z])==null||ve.scrollIntoView({behavior:"smooth",block:"start"})},Fs=()=>Di?!0:(fe(!0),K(Z=>Z+1),fn[0]&&(ft(fn[0].path),window.requestAnimationFrame(()=>ms(fn[0].problem==="缺少子 Agent"?"type":"basic"))),!1),Kr=async()=>{Ie(null);const Z=[...ct.current.values()];ct.current.clear(),at(0),me(ve=>ve.map(Ze=>({...Ze,phase:"idle",runtimeSnapshot:"",messages:[],error:null}))),await Promise.all(Z.map(async({run:ve})=>{try{await Jp(ve.runId),DO(ve.runId)}catch(Ze){console.warn("清理调试运行失败",Ze)}}))},gr=async Z=>{const ve=ct.current.get(Z);if(ve){ct.current.delete(Z),at(ct.current.size);try{await Jp(ve.run.runId),DO(ve.run.runId)}catch(Ze){console.warn("清理调试运行失败",Ze)}}},Ur=Z=>{const ve=ct.current.get(Z),Ze=Te.find(Ot=>Ot.id===Z);!ve||!Ze||Ie({runId:ve.run.runId,sessionId:ve.sessionId,variantName:Ze.name})},or=Z=>{const ve=Gt.current;Gt.current=null,ve==null||ve(Z)},Qi=()=>{Ye||(Me(!1),or(!1))},Jr=async()=>{if(!Ye){dt(!0);try{await Kr(),Me(!1),or(!0)}finally{dt(!1)}}},zr=async()=>U!=="validate"||Tt===0?!0:Gt.current?!1:new Promise(Z=>{Gt.current=Z,Me(!0)}),tr=async Z=>{var Ze;if(!await zr())return;if(Dt(""),!Fs()){Y("build");return}const ve=kde($i.specs,((Ze=Ft.deployment)==null?void 0:Ze.envValues)??{});if(ve){Dt(`${ve.spec.comment||ve.spec.key}:${ve.error}`),Y("build");return}Ee(!0);try{const Ot=Z?Te.find(Bt=>Bt.id===Z):Kn;Ot&&je(Ot.id);const Ci=Ot?{...Ft,modelName:Ot.modelName||Ft.modelName,description:Ot.description,instruction:Ot.instruction}:Ft,Jn=await jD(cfe(Ci));Ci!==g&&y(Ci),le(Jn),Y("publish")}catch(Ot){Dt(Ot instanceof Error?Ot.message:String(Ot))}finally{Ee(!1)}},Fr=async Z=>{if(!he||ge||!Fs())return;const ve=Te.find(nr=>nr.id===Z);if(!ve||ve.phase==="starting"||ve.phase==="sending")return;const Ze=ve.modelName.trim(),Ot=ve.description.trim(),Ci=ve.instruction.trim(),Jn=$m(ve),Bt=Te.findIndex(nr=>nr.id===Z),$t=Te.findIndex(nr=>$m(nr)===Jn);if(!Ze||!Ot||!Ci||$t!==Bt)return;const an=Vk(vi,ve);me(nr=>nr.map(Vr=>Vr.id===Z?{...Vr,configOpen:!1,phase:"starting",messages:[],error:null}:Vr)),oe("");let $n=null,Ns="unknown";const it=Z==="baseline"?"baseline":"comparison",ua=Qtt({agentId:String(Ft.name||"unknown"),variantType:it});try{await gr(Z),await ln();const nr={...Ft,modelName:ve.modelName||Ft.modelName,description:ve.description,instruction:ve.instruction};Ns="create_test_run",$n=await yK(ufe(nr,E),o?{runtimeId:o.runtimeId,region:o.region}:void 0),ict($n.runId),Ns="create_test_session";const Vr=await xK($n.runId,"test_user");ct.current.set(Z,{run:$n,sessionId:Vr}),at(ct.current.size),me(Vn=>Vn.map(qs=>qs.id===Z?{...qs,phase:"ready",runtimeSnapshot:an}:qs)),ua.succeed({debugRunId:String($n.runId)})}catch(nr){if($n)try{await Jp($n.runId),DO($n.runId)}catch(Vr){console.warn("清理调试运行失败",Vr)}me(Vr=>Vr.map(Vn=>Vn.id===Z?{...Vn,phase:"error",runtimeSnapshot:"",error:nr instanceof Error?nr.message:String(nr)}:Vn)),ua.fail({failedPhase:Ns,...ya(nr,{phase:Ns})})}},Vs=async()=>{const Z=q.trim(),ve=Te.filter(Ot=>Ot.phase==="ready"&&Ot.runtimeSnapshot===Vk(vi,Ot)&&ct.current.has(Ot.id));if(!Z||ve.length===0)return;oe("");const Ze=new Set(ve.map(Ot=>Ot.id));me(Ot=>Ot.map(Ci=>Ze.has(Ci.id)?{...Ci,phase:"sending",messages:[...Ci.messages,{role:"user",content:Z},{role:"assistant",content:"",blocks:[]}]}:Ci)),await Promise.all(ve.map(async Ot=>{const Ci=ct.current.get(Ot.id);if(Ci)try{let Jn=cu();for await(const Bt of vK({runId:Ci.run.runId,userId:"test_user",sessionId:Ci.sessionId,text:Z})){const $t=Bt.error||Bt.errorMessage||Bt.error_message;if($t||(Jn=NE(Jn,Bt)),me(an=>an.map($n=>{if($n.id!==Ot.id)return $n;const Ns=[...$n.messages],it={...Ns[Ns.length-1]};return $t?it.error=String($t):(it.content=Jn.blocks.filter(ua=>ua.kind==="text").map(ua=>ua.text).join(""),it.blocks=Jn.blocks),Ns[Ns.length-1]=it,{...$n,messages:Ns}})),$t)break}}catch(Jn){me(Bt=>Bt.map($t=>{if($t.id!==Ot.id)return $t;const an=[...$t.messages],$n={...an[an.length-1]};return $n.error=Jn instanceof Error?Jn.message:String(Jn),an[an.length-1]=$n,{...$t,messages:an}}))}finally{me(Jn=>Jn.map(Bt=>Bt.id===Ot.id?{...Bt,phase:"ready"}:Bt))}}))},Zu=()=>{me(Z=>{if(Z.length>=3)return Z;const ve=Ue.current++,Ze=`variant-${ve}`;return[...Z,{id:Ze,name:`对照组 ${ve}`,modelName:g.modelName??"",description:g.description,instruction:g.instruction,optimizations:[],configOpen:!0,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]})},po=async Z=>{await gr(Z),me(ve=>ve.filter(Ze=>Ze.id!==Z)),Be===Z&&je("baseline")},mo=(Z,ve)=>me(Ze=>Ze.map(Ot=>Ot.id===Z?{...Ot,...ve}:Ot)),Ni=(Z,ve,Ze)=>{Z==="baseline"&&ve==="modelName"&&(st.current=!0),mo(Z,{[ve]:Ze}),!(Be!==Z||Z==="baseline")&&je("baseline")},Ic=Z=>{const ve=Te.find(an=>an.id===Z);if(!ve)return;const Ze=ve.modelName.trim(),Ot=ve.description.trim(),Ci=ve.instruction.trim(),Jn=$m(ve),Bt=Te.findIndex(an=>an.id===Z),$t=Te.findIndex(an=>$m(an)===Jn);if(!(!Ze||!Ot||!Ci||$t!==Bt)){if(Z==="baseline"){mo(Z,{configOpen:!1});return}Fr(Z)}},He=async(Z,ve,Ze)=>{var Jn;const Ot=(Jn=g.deployment)==null?void 0:Jn.network,Ci=Ot&&Ot.mode&&Ot.mode!=="public"?{mode:Ot.mode,vpc_id:Ot.vpcId,subnet_ids:Ot.subnetIds,enable_shared_internet_access:Ot.enableSharedInternetAccess}:void 0;return RT(Z.name,Z.files,{region:(o==null?void 0:o.region)??Ce,projectName:"default",network:Ci},{...Ze,onStage:ve,runtimeId:o==null?void 0:o.runtimeId,runtimeName:v,appName:o==null?void 0:o.appName,description:g.description})},gs=()=>{Fs()&&(me(Z=>Z.map(ve=>ve.id==="baseline"&&!ct.current.has(ve.id)?{...ve,modelName:st.current?ve.modelName:TM(Ft),description:Ft.description,instruction:Ft.instruction}:ve)),Y("validate"))},Ma=async Z=>{if(Z==="publish"){if(!Fs())return;ie?Y("publish"):tr();return}if(Z==="validate"){gs();return}await zr()&&Y(Z)},Or=Ae.current,Xs=Z=>sct.find(ve=>ve.id===Z),Ku=c.jsx("section",{className:`cw-ai-compose${_?" is-generating":""}${A?" is-success":""}`,"aria-label":"AI 自动填写 Agent 配置",children:c.jsx(Zd,{initial:!1,mode:"wait",children:A?c.jsxs(dr.div,{className:"cw-ai-compose-success",role:"status",initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.22,ease:[.22,1,.36,1]},children:[c.jsx("span",{className:"cw-ai-success-check","aria-hidden":!0}),c.jsx("strong",{children:"生成成功"}),c.jsx("button",{type:"button",className:"cw-ai-regenerate",onClick:()=>R(!1),children:"重新生成"})]},"success"):c.jsxs(dr.div,{className:"cw-ai-compose-entry",initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.2,ease:[.22,1,.36,1]},children:[c.jsxs("form",{className:"cw-ai-compose-form",onSubmit:Z=>{Z.preventDefault(),Jt()},children:[c.jsx("input",{type:"text",value:w,maxLength:8e3,disabled:_,placeholder:`描述目标,使用 ${rSe(l)} 模型一键生成配置`,"aria-invalid":!!M,"aria-describedby":M?"ai-requirement-error":void 0,onChange:Z=>k(Z.target.value),onKeyDown:Z=>{Z.key==="Enter"&&(Z.preventDefault(),Jt())}}),c.jsx("button",{type:"submit",disabled:_||!N||!!M,"aria-label":_?"正在智能生成":"智能生成",children:_?c.jsx("span",{className:"cw-ai-orb","aria-hidden":!0,children:c.jsx("span",{})}):"智能生成"})]}),M&&c.jsx("p",{className:"cw-ai-requirement-error",id:"ai-requirement-error",role:"alert",children:M})]},"compose")})});return c.jsxs("div",{className:`cw-root is-${U}`,children:[c.jsx(Rct,{mode:U}),Ct&&c.jsx(Fk,{className:"cw-workspace-alert",message:Ct}),c.jsxs("main",{className:"cw-workspace-main",id:"cw-workspace-main",children:[U==="build"&&c.jsx("div",{className:"cw-build-workspace",children:c.jsxs("div",{className:"cw-editor",children:[c.jsx(My,{draft:g,direction:"horizontal",selectedPath:qe,onSelect:ft,onAdd:ui,onInsert:zn,onDelete:Ge}),c.jsx("div",{className:"cw-detail",children:c.jsx("div",{className:"cw-detail-scroll",ref:Rt,children:c.jsx("div",{className:"cw-detail-inner",children:c.jsx("div",{className:"cw-lower",children:c.jsxs("div",{className:"cw-form-col",children:[c.jsxs(Or,{meta:Xs("type"),children:[c.jsx(lb,{className:"cw-agent-type-options","aria-label":"Agent 类型",value:$e.agentType??"llm",onChange:mn,children:Qot.map(Z=>{const ve=($e.agentType??"llm")===Z.id,Ze=pn&&Z.id==="a2a",Ot=Ze?"cw-remote-agent-disabled-hint":void 0;return c.jsxs("div",{"data-agent-type":Z.id,className:`cw-agent-type-option ${ve?"is-on":""} ${Ze?"is-disabled":""}`,tabIndex:Ze?0:void 0,"aria-describedby":Ot,children:[c.jsx(lb.Item,{value:Z.id,disabled:Ze,block:!0,className:"cw-agent-type-control",children:c.jsx("span",{className:"cw-agent-type-copy",children:c.jsx("strong",{children:oct[Z.id]})})}),Ze&&c.jsx("span",{id:Ot,className:"cw-agent-type-disabled-hint",role:"tooltip",children:"远程智能体只能作为子步骤使用"})]},Z.id)})}),ae&&Hn&&$e.subAgents.length===0&&c.jsx("span",{className:"cw-error-text",children:kct({name:$e.name.trim()||"未命名",typeLabel:Tde($e.agentType).label})})]}),c.jsx(Or,{meta:Xs("basic"),children:c.jsxs("div",{className:"cw-form",children:[!En&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"cw-field",children:[c.jsxs("label",{className:"cw-label",children:[pn?"Agent 名称":"名称",c.jsx("span",{className:"cw-req",children:"*"})]}),c.jsx("input",{className:`cw-input ${kn(mr)}`,value:$e.name,placeholder:"assistant",onChange:Z=>It({name:Z.target.value})}),ae&&Yn?c.jsx("span",{className:"cw-error-text",children:Yn}):c.jsx("span",{className:"cw-help",children:"遵循 Google ADK 命名规则,且在执行流程中保持唯一。"})]}),c.jsxs("div",{className:"cw-field",children:[c.jsxs("label",{className:"cw-label",children:[pn?"描述":"智能体描述",c.jsx("span",{className:"cw-req",children:"*"})]}),c.jsx("textarea",{className:`cw-textarea cw-textarea-sm ${kn(er)}`,value:$e.description,placeholder:"简要描述这个 Agent 的用途,便于团队识别…",onChange:Z=>It({description:Z.target.value})}),ae&&er?c.jsx("span",{className:"cw-error-text",children:"描述为必填项"}):c.jsx("span",{className:"cw-help",children:pn?"完整描述会保留;部署时会自动整理为符合 Runtime 规范的单行描述。":"描述会显示在 Agent 列表与选择器中。"})]})]}),Hn?c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"cw-section-desc cw-dependency-hint",children:"这是一个协作容器,本身不生成回答。请在左侧画布中 添加任务步骤,并通过拖拽调整它们的位置。"}),$e.agentType==="loop"&&c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"最大轮次"}),c.jsx("input",{className:"cw-input",type:"number",min:1,value:$e.maxIterations??3,onChange:Z=>It({maxIterations:Math.max(1,Number(Z.target.value)||1)})}),c.jsx("span",{className:"cw-help",children:"循环编排反复执行子 Agent,直到满足条件或达到该轮次上限。"})]})]}):En?c.jsxs("div",{className:"cw-field cw-remote-center-fields",children:[c.jsxs("div",{className:"cw-remote-center-head",children:[c.jsxs("div",{className:"cw-label",children:["AgentKit 智能体中心",c.jsx("span",{className:"cw-req",children:"*"})]}),c.jsx("p",{className:"cw-help cw-remote-center-description",children:"远程 Agent 的名称、描述和能力来自中心返回的 Agent Card。 系统会根据每轮任务动态发现并挂载匹配的 Agent。"})]}),c.jsx(mct,{value:((As=$e.a2aRegistry)==null?void 0:As.registrySpaceId)??"",region:((Yo=$e.a2aRegistry)==null?void 0:Yo.registryRegion)||bl.region,invalid:ae&&Li,onChange:Z=>yt(ife,Z)}),c.jsxs("button",{type:"button",className:"cw-more-options","aria-expanded":vt,"aria-controls":bn,onClick:()=>Wt(Z=>!Z),children:[c.jsx("span",{children:"更多选项"}),c.jsx(p0,{className:`cw-more-options-chevron ${vt?"is-open":""}`,"aria-hidden":!0})]}),c.jsx(Zd,{initial:!1,children:vt&&c.jsx(dr.div,{id:bn,className:"cw-model-advanced",initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.18,ease:"easeOut"},children:c.jsx($O,{env:lct,values:rfe($e.a2aRegistry,{includeDefaults:!1}),onChange:yt})})}),ae&&Li&&c.jsx("span",{className:"cw-error-text",children:"请选择 AgentKit 智能体中心"})]}):c.jsxs("div",{className:"cw-field",children:[c.jsxs("label",{className:"cw-label",children:["系统提示词",c.jsx("span",{className:"cw-req",children:"*"})]}),c.jsx(O.Suspense,{fallback:c.jsx("div",{className:"cw-markdown-loading",role:"status",children:"正在加载 Markdown 编辑器…"}),children:c.jsx(nct,{value:$e.instruction,invalid:gn,onChange:Z=>It({instruction:Z})})}),ae&&gn?c.jsx("span",{className:"cw-error-text",children:"系统提示词为必填项"}):c.jsx("span",{className:"cw-help",children:"支持 Markdown 快捷输入,例如键入 ## 加空格创建二级标题。"})]})]})}),!Hn&&!En&&c.jsxs(c.Fragment,{children:[c.jsx(Or,{meta:Xs("model"),children:c.jsxs("div",{className:"cw-form",children:[c.jsxs("div",{className:"cw-field cw-model-source-field",children:[c.jsx("label",{className:"cw-label",children:"模型来源"}),c.jsx(lb,{className:"cw-model-source-options","aria-label":"模型来源",value:Zn,onChange:Z=>{Z!=="gateway"&&Si(Z)},children:[{value:"ark",label:l==="byteplus"?"BytePlus ModelArk":"火山方舟"},{value:"custom",label:"自定义"},{value:"gateway",label:"模型网关",disabled:!0}].map(Z=>c.jsx("div",{className:`cw-model-source-option ${Zn===Z.value?"is-on":""}${Z.disabled?" is-disabled":""}`,children:c.jsxs(lb.Item,{value:Z.value,disabled:Z.disabled,block:!0,className:"cw-model-source-control",children:[c.jsx("span",{children:Z.label}),Z.disabled&&c.jsx("span",{className:"cw-model-source-coming-soon",children:"待上线"})]})},Z.value))})]}),Zn==="ark"?c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"模型配置"}),c.jsx(pct,{value:$e.modelName??"",cloudProvider:l,apiKeyId:(es=g.deployment)==null?void 0:es.modelApiKeyId,apiKeyName:(Ml=g.deployment)==null?void 0:Ml.modelApiKeyName,onApiKeyChange:Z=>y(ve=>({...ve,deployment:{...ve.deployment??{feishuEnabled:!1},modelApiKeyId:Z.id,modelApiKeyName:Z.name}})),onChange:Z=>It({modelName:Z})})]}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"模型名称"}),c.jsx("input",{className:"cw-input",value:$e.modelName??"",onChange:Z=>It({modelName:Z.target.value})})]}),c.jsxs("div",{className:"cw-field",children:[c.jsxs("label",{className:"cw-label cw-label-with-link",children:[c.jsx("span",{children:"服务商 Provider"}),c.jsxs("a",{href:"https://docs.litellm.ai/docs/providers",target:"_blank",rel:"noopener noreferrer",onClick:Z=>Z.stopPropagation(),children:["LiteLLM 支持列表",c.jsx(Ag,{"aria-hidden":"true"})]})]}),c.jsx("input",{className:"cw-input",value:$e.modelProvider??"",placeholder:"openai",onChange:Z=>It({modelProvider:Z.target.value})})]}),c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"API Base"}),c.jsx("input",{className:"cw-input",value:$e.modelApiBase??"",placeholder:bc(l),onChange:Z=>It({modelApiBase:Z.target.value})})]}),c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"API Key"}),c.jsx("input",{className:"cw-input",type:"password",value:Ai?b[Ai.key]??"":"",placeholder:"请输入模型 API Key",autoComplete:"new-password",onChange:Z=>{if(!Ai)return;const ve=Z.currentTarget.value;S(Ze=>({...Ze,[Ai.key]:ve}))}})]})]})]})}),c.jsx(Or,{meta:Xs("tools"),children:c.jsxs("div",{className:"cw-form",children:[c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"内置工具"}),c.jsx("span",{className:"cw-help",children:"勾选 VeADK 提供的内置能力,生成时会自动补全 import 与所需环境变量。"}),c.jsx("div",{className:"cw-tools-list-shell",children:c.jsx(cct,{items:Kt,selected:Nt,onToggle:di,scrollRows:6})}),c.jsx(Zd,{initial:!1,children:Nt.includes("run_code")&&c.jsxs(dr.div,{className:"cw-tool-config",initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.16,ease:"easeOut"},children:[c.jsxs("div",{className:"cw-tool-config-head",children:[c.jsx("span",{className:"cw-label",children:"代码执行配置"}),c.jsx("span",{className:"cw-help",children:"指定 AgentKit 代码执行沙箱。"})]}),c.jsx($O,{env:((Go=hp.find(Z=>Z.id==="run_code"))==null?void 0:Go.env)??[],values:((re=g.deployment)==null?void 0:re.envValues)??{},onChange:pe})]})})]}),c.jsxs("div",{className:"cw-field cw-mcp-field",children:[c.jsx("label",{className:"cw-label",children:"MCP 工具"}),c.jsx(Oct,{tools:Fn,onChange:Z=>It({mcpTools:Z})})]})]})}),c.jsx(Or,{meta:Xs("skills"),children:c.jsx("div",{className:"cw-form",children:c.jsx(yct,{selected:xi,onChange:Z=>It({selectedSkills:Z}),cloudProvider:l})})}),c.jsx(Or,{meta:Xs("knowledge"),children:c.jsxs("div",{className:"cw-form cw-toggle-stack",children:[c.jsx(Nv,{checked:$e.knowledgebase,onChange:Z=>It({knowledgebase:Z}),title:"知识库",desc:"启用外部知识检索(RAG),让 Agent 基于你的资料作答。",icon:Jv}),$e.knowledgebase&&c.jsxs("div",{className:"cw-field cw-subfield",children:[c.jsx("label",{className:"cw-label",children:"知识库后端"}),c.jsx(fR,{options:SP,value:$e.knowledgebaseBackend,onChange:Z=>It({knowledgebaseBackend:Z,knowledgebaseIndex:Z==="viking"||Z==="openviking"?$e.knowledgebaseIndex:""})}),($e.knowledgebaseBackend??Jd)==="viking"&&c.jsxs("div",{className:"cw-field cw-subfield",children:[c.jsx("label",{className:"cw-label",children:"VikingDB 知识库"}),c.jsx(gct,{value:$e.knowledgebaseIndex??"",onChange:Z=>{It({knowledgebaseIndex:Z.id}),Z.projectName&&pe("DATABASE_VIKING_PROJECT",Z.projectName),Z.region&&pe("DATABASE_VIKING_REGION",Z.region),Z.sourceKind&&pe("DATABASE_VIKING_COLLECTION_KIND",Z.sourceKind),pe("DATABASE_VIKING_RESOURCE_ID",Z.resourceId??"")}})]}),c.jsx($O,{env:((ne=SP.find(Z=>Z.id===($e.knowledgebaseBackend??Jd)))==null?void 0:ne.env)??[],values:((Pe=g.deployment)==null?void 0:Pe.envValues)??{},onChange:pe,renderAfterField:($e.knowledgebaseBackend??Jd)==="openviking"?Z=>Z.key==="DATABASE_OPENVIKING_USER_ID"?c.jsx(dct,{value:$e.knowledgebaseIndex??"",onChange:ve=>It({knowledgebaseIndex:ve})}):null:void 0})]})]})}),pn&&c.jsx(Or,{meta:Xs("memory"),children:c.jsxs("div",{className:"cw-form cw-toggle-stack",children:[c.jsx(Nv,{checked:$e.memory.shortTerm,onChange:Z=>It({memory:{...$e.memory,shortTerm:Z}}),title:"短期记忆",desc:"存储单会话上下文",showDescription:!0,icon:hZ}),$e.memory.shortTerm&&c.jsxs("div",{className:"cw-field cw-subfield",children:[c.jsx("label",{className:"cw-label",children:"短期记忆后端"}),c.jsx(fR,{options:yP,value:$e.shortTermBackend,onChange:Z=>It({shortTermBackend:Z})}),c.jsx($O,{env:((Ve=yP.find(Z=>Z.id===($e.shortTermBackend??"local")))==null?void 0:Ve.env)??[],values:((pt=g.deployment)==null?void 0:pt.envValues)??{},onChange:pe})]}),c.jsx(Nv,{checked:$e.memory.longTerm,onChange:Z=>It({memory:{...$e.memory,longTerm:Z}}),title:"长期记忆",desc:"存储跨会话上下文,通常使用向量化检索",showDescription:!0,icon:Jv}),$e.memory.longTerm&&c.jsxs("div",{className:"cw-field cw-subfield",children:[c.jsx("label",{className:"cw-label",children:"长期记忆后端"}),c.jsx(fR,{options:xP,value:$e.longTermBackend,onChange:Z=>It({longTermBackend:Z})}),c.jsx($O,{env:((Fe=xP.find(Z=>Z.id===($e.longTermBackend??"local")))==null?void 0:Fe.env)??[],values:((Pt=g.deployment)==null?void 0:Pt.envValues)??{},onChange:pe}),c.jsx(Nv,{checked:!!$e.autoSaveSession,onChange:Z=>It({autoSaveSession:Z}),title:"自动保存会话到长期记忆",desc:"会话结束时自动把内容写入长期记忆,无需手动调用。",icon:Jv})]})]})})]})]})})})})})]})}),U==="validate"&&c.jsx("div",{className:"cw-validation-workspace",children:c.jsx("div",{className:"cw-validation-content",children:c.jsx(Cct,{enabled:he,disabledReason:te,variants:Te,draftSnapshot:vi,input:q,onInput:oe,onSend:Vs,onStartVariant:Fr,onDeployVariant:Z=>void tr(Z),onAddVariant:Zu,onRemoveVariant:po,onToggleConfig:Z=>{const ve=Te.find(Ze=>Ze.id===Z);ve&&mo(Z,{configOpen:!ve.configOpen})},onCompleteConfig:Ic,onConfigChange:Ni,onOpenTrace:Ur})})}),U==="publish"&&c.jsx("div",{className:"cw-preview-body",children:ie?c.jsx(efe,{embedded:!0,cloudProvider:l,project:ie,agentDraft:g,agentName:g.name||"未命名 Agent",agentCount:ofe(g),releaseConfiguration:Kn?{modelName:Kn.modelName||g.modelName||"默认模型",description:Kn.description,instruction:Kn.instruction,optimizations:Kn.optimizations.flatMap(Z=>{const ve=dfe.find(Ze=>Ze.id===Z);return ve?[ve.label]:[]})}:void 0,onChange:le,onDeploy:He,onAgentAdded:n,onDeploymentTaskChange:s,deploymentActionLabel:o?"更新并发布":"部署",deploymentActionTargetId:"cw-publish-primary-action",deploymentRuntimeId:o==null?void 0:o.runtimeId,deploymentRuntimeName:v,onDeploymentRuntimeNameChange:Z=>y(ve=>({...ve,deployment:{...ve.deployment??{feishuEnabled:!1},runtimeName:Z,runtimeNameCustomized:!0}})),onDeploymentStarted:f,onDeploymentComplete:d,feishuEnabled:!!((In=g.deployment)!=null&&In.feishuEnabled),onFeishuEnabledChange:Z=>{const ve={...g,deployment:{...g.deployment??{feishuEnabled:!1},feishuEnabled:Z}};y(ve)},deploymentEnv:$i.specs,requiredSecretEnv:Vt,requiredSecretEnvValues:b,onRequiredSecretEnvChange:(Z,ve)=>S(Ze=>({...Ze,[Z]:ve})),deploymentEnvValues:{...(At=Ft.deployment)==null?void 0:At.envValues,...b,...$i.fixedValues},onDeploymentEnvChange:pe,network:(Dn=g.deployment)==null?void 0:Dn.network,onNetworkChange:Z=>y(ve=>({...ve,deployment:{...ve.deployment??{feishuEnabled:!1},network:Z}})),deployRegion:Ce,onDeployRegionChange:_e,deploymentTelemetry:{source:"scratch",createMode:a,aiAssisted:j},onExportYaml:()=>rct(`${Ft.name||"agent"}.yaml`,Yot(Ft),"text/yaml")}):c.jsxs("div",{className:"cw-publish-loading",role:"status",children:[c.jsx(qn,{className:"cw-i cw-spin"}),c.jsx("strong",{children:"正在生成发布配置"}),c.jsx("span",{children:"校验 Agent 结构并准备部署快照…"})]})})]}),c.jsx(Ict,{mode:U,busy:ge,onChange:Ma,assistant:U==="build"?Ku:void 0}),de&&c.jsx(tfe,{testRunId:de.runId,sessionId:de.sessionId,title:`调用链路 · ${de.variantName}`,onClose:()=>Ie(null)}),ce&&c.jsx($_,{variant:"warning",title:"离开调试?",description:"离开调试页面后,当前环境将被清理。您可以通过重新启动环境进行新的测试。",confirmLabel:Ye?"清理中...":"确定离开",closeLabel:"关闭离开调试确认",busy:Ye,onCancel:Qi,onConfirm:()=>void Jr()}),L&&c.jsx("div",{className:"confirm-scrim",onClick:()=>D(null),children:c.jsxs("div",{className:"confirm-box cw-ai-error-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"ai-generate-error-title","aria-describedby":"ai-generate-error-message",onClick:Z=>Z.stopPropagation(),children:[c.jsx("div",{className:"confirm-title",id:"ai-generate-error-title",children:"智能生成失败"}),c.jsx("div",{className:"cw-ai-error-message",id:"ai-generate-error-message",children:L}),c.jsx("div",{className:"confirm-actions",children:c.jsx("button",{type:"button",className:"confirm-btn cw-ai-error-close",onClick:()=>D(null),children:"关闭"})})]})})]})}const HX=50*1024*1024,_M=800,jct={name:"code_package",files:[]};function Mct(e){let n=e.replace(/\.zip$/i,"").trim().replace(/[^A-Za-z0-9_]+/g,"_").replace(/^_+|_+$/g,"");return n||(n="uploaded_agent"),/^[A-Za-z_]/.test(n)||(n=`agent_${n}`),n==="user"&&(n="uploaded_agent"),n.slice(0,64)}function Lct(e){const t=e.replace(/\\/g,"/").replace(/^\.\//,"");if(!t||t.endsWith("/"))return null;if(t.startsWith("/")||t.includes("\0"))throw new Error(`压缩包包含非法路径:${e}`);const n=t.split("/");if(n.some(i=>!i||i==="."||i===".."))throw new Error(`压缩包包含非法路径:${e}`);return n[0]==="__MACOSX"||n[n.length-1]===".DS_Store"?null:n.join("/")}function Dct(e){const t=e.flatMap(a=>{const o=Lct(a.name);return o?[{path:o,content:a.text}]:[]});if(t.length===0)throw new Error("压缩包中没有可部署的文件。");if(t.length>_M)throw new Error(`代码包文件数不能超过 ${_M} 个。`);const r=new Set(t.map(a=>a.path.split("/")[0])).size===1&&t.every(a=>a.path.includes("/"))?t.map(a=>({...a,path:a.path.split("/").slice(1).join("/")})):t,s=new Set;for(const a of r){if(s.has(a.path))throw new Error(`代码包包含重复文件:${a.path}`);s.add(a.path)}if(!s.has("app.py"))throw new Error("代码包根目录必须包含 app.py,作为 AgentKit 启动入口。");return r}function $ct({onBack:e,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,cloudProvider:s="volcengine",initialDeployRegion:a=Ui(s)}){const o=O.useRef(null),l=O.useRef(0),[u,d]=O.useState(null),[f,h]=O.useState(""),[p,m]=O.useState(!1),[g,y]=O.useState(!1),[b,S]=O.useState(!1),[x,v]=O.useState(""),[E,w]=O.useState(a),[k,_]=O.useState();O.useEffect(()=>()=>{l.current+=1},[]);async function C(Q){const L=++l.current;if(v(""),!Q.name.toLowerCase().endsWith(".zip")){v("请选择 .zip 格式的代码包。");return}if(Q.size>HX){v("代码包不能超过 50 MB。");return}y(!0);try{const D=await Gde(new Uint8Array(await Q.arrayBuffer()),{maxEntries:_M,maxUncompressedBytes:HX}),N=Dct(D);if(L!==l.current)return;h(Q.name),d({name:Mct(Q.name),files:N})}catch(D){if(L!==l.current)return;h(""),d(null),v(D instanceof Error?D.message:String(D))}finally{L===l.current&&y(!1)}}function A(Q){var D;const L=(D=Q.currentTarget.files)==null?void 0:D[0];Q.currentTarget.value="",L&&C(L)}function R(Q){var D;Q.preventDefault(),S(!1);const L=(D=Q.dataTransfer.files)==null?void 0:D[0];L&&C(L)}async function j(Q,L,D){const N=k&&k.mode!=="public"?{mode:k.mode,vpc_id:k.vpcId,subnet_ids:k.subnetIds,enable_shared_internet_access:k.enableSharedInternetAccess}:void 0;return RT(Q.name,Q.files,{region:E,projectName:"default",network:N},{...D,onStage:L})}return c.jsxs("div",{className:"package-create package-create-preview",children:[c.jsx(efe,{cloudProvider:s,project:u??jct,agentName:(u==null?void 0:u.name)||"代码包",onChange:u?d:void 0,onDeploy:j,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,network:k,onNetworkChange:_,deployRegion:E,onDeployRegionChange:w,deploymentTelemetry:{source:"code_package",createMode:"code_package",aiAssisted:!1},onBack:e,backLabel:"返回创建方式",deployDisabled:!u||g,deployDisabledReason:g?"正在读取代码包":u?void 0:"请先上传代码包",deploymentPrimaryPane:c.jsxs("section",{className:"package-source-pane","aria-label":"代码包上传",children:[c.jsx("div",{className:"package-source-label",children:"代码包"}),c.jsxs("div",{className:`package-dropzone${b?" is-dragging":""}${u?" is-ready":""}`,onDragEnter:Q=>{Q.preventDefault(),S(!0)},onDragOver:Q=>Q.preventDefault(),onDragLeave:Q=>{Q.currentTarget.contains(Q.relatedTarget)||S(!1)},onDrop:R,onClick:()=>{var Q;g||(Q=o.current)==null||Q.click()},onKeyDown:Q=>{var L;!g&&(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),(L=o.current)==null||L.click())},role:"button",tabIndex:g?-1:0,"aria-label":u?"重新上传代码包":"上传代码包","aria-disabled":g,children:[c.jsx("strong",{children:g?"正在读取代码包…":u?f:"请上传代码包"}),c.jsx("span",{children:u?`已识别 ${u.files.length} 个文件,点击区域可重新上传`:"点击或拖拽上传,支持 .zip 格式,最大 50 MB,根目录需包含 app.py"}),c.jsx("div",{className:"package-upload-actions",children:u&&c.jsx("button",{type:"button",className:"package-upload-secondary",onClick:Q=>{Q.stopPropagation(),m(!0)},onKeyDown:Q=>Q.stopPropagation(),children:"查看文件"})}),c.jsx("input",{ref:o,type:"file",accept:".zip,application/zip","aria-label":"选择代码包",onChange:A})]}),x&&c.jsx("div",{className:"package-create-error",role:"alert",children:x})]})}),u&&c.jsx(Jde,{project:u,open:p,onClose:()=>m(!1),onChange:d})]})}const ffe=1,Qct="MODEL_AGENT_API_KEY";function Xk(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Bct(e){return Xk(e)&&typeof e.id=="string"&&typeof e.updatedAt=="number"&&Xk(e.draft)}function sA(e){return`veadk.agentDrafts.${encodeURIComponent(e)}`}function qk(e){const t=e.deployment,n=t==null?void 0:t.envValues,i=t?{...t,...n?{envValues:Object.fromEntries(Object.entries(n).filter(([r])=>r!==Qct))}:{}}:void 0;return{...e,...i?{deployment:i}:{},subAgents:e.subAgents.map(qk),...e.workflow?{workflow:{...e.workflow,nodes:e.workflow.nodes.map(r=>({...r,agent:qk(r.agent)}))}}:{}}}function Uct(e){var i;const t=iA(e),n={...((i=t.draft.deployment)==null?void 0:i.envValues)??{},...t.envValues};return!t.draft.deployment&&Object.keys(n).length===0?qk(t.draft):qk({...t.draft,deployment:{...t.draft.deployment??{feishuEnabled:!1},envValues:n}})}function hfe(e){return{...e,draft:Uct(e.draft)}}function zct(e){const t=Array.isArray(e)?e:Xk(e)&&e.version===ffe?e.drafts:void 0;if(!Array.isArray(t)||!t.every(Bct))throw Xk(e)&&typeof e.version=="number"?new Error("本机草稿版本暂不受支持,请升级 Studio 后重试。"):new Error("本机草稿数据格式无效。");return t.map(hfe)}function Fct(e,t){if(!t)return[];const n=e.getItem(sA(t));if(!n)return[];try{return zct(JSON.parse(n))}catch(i){throw i instanceof Error&&i.message.startsWith("本机草稿")?i:new Error("无法读取本机草稿,浏览器中的草稿数据可能已损坏。")}}function YX(e,t,n){if(!t)return;const i={version:ffe,drafts:n.map(hfe)};try{e.setItem(sA(t),JSON.stringify(i))}catch(r){throw r instanceof DOMException&&(r.name==="QuotaExceededError"||r.name==="NS_ERROR_DOM_QUOTA_REACHED")?new Error("浏览器存储空间不足,草稿未保存。请删除不需要的草稿或清理此站点的浏览器存储后重试。"):new Error("浏览器拒绝保存草稿,请检查站点存储权限后重试。")}}const Vct=/[;;]/;function Xct(e){const t=new Set;for(const n of e)for(const i of n.split(Vct)){const r=i.trim();r&&t.add(r)}return[...t]}function qct(e){return[]}const Hct=3*60*1e3,Yct=3e3,Gct=10*60*1e3,Wct=45e3,Hk="veadk.studio.pending-update",K3="veadk.studio.update-handoff",GX=[{id:"resolving",label:"读取目标版本信息"},{id:"downloading",label:"下载并校验完整更新包"},{id:"preparing",label:"准备 VeFaaS Function 代码"},{id:"provisioning",label:"检查并补齐 Studio 云资源"},{id:"submitting",label:"提交 Function 更新"},{id:"publishing",label:"发布新 Revision 并重启服务"}],Zct={resolving:"读取版本信息",downloading:"下载更新包",preparing:"准备 Function 代码",provisioning:"补齐 Studio 云资源",submitting:"提交 Function 更新",publishing:"发布 Revision",checking:"检查更新",unknown:"未知阶段"};function Kct(e){return e<60?`${e} 秒`:`${Math.floor(e/60)} 分 ${e%60} 秒`}function Jct(e,t){return e===t?!0:/^\d{14}$/.test(e)&&/^\d{14}$/.test(t)&&e>t}function eut(e){return!!(e!=null&&e.some(t=>t.includes("部署应用成功")||t.toLowerCase().includes("application deployed successfully")))}function tut(){if(typeof window>"u")return null;const e=window.localStorage.getItem(Hk);if(!e)return null;try{const t=JSON.parse(e);if(typeof t.targetVersion=="string"&&typeof t.startedAt=="number")return{targetVersion:t.targetVersion,startedAt:t.startedAt}}catch{}return window.localStorage.removeItem(Hk),null}function bR(e,t){window.localStorage.setItem(Hk,JSON.stringify({targetVersion:e,startedAt:t}))}function Iv(){window.localStorage.removeItem(Hk)}function nut(){return typeof window>"u"?"":window.sessionStorage.getItem(K3)??""}function iut(e){window.sessionStorage.setItem(K3,e)}function WX(){window.sessionStorage.removeItem(K3)}function ZX({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[c.jsx("path",{d:"M19.2 8.3A8 8 0 1 0 20 13"}),c.jsx("path",{d:"M19.2 4.8v3.5h-3.5"}),c.jsx("path",{d:"M12 7.8v7.7"}),c.jsx("path",{d:"m9.2 12.7 2.8 2.8 2.8-2.8"})]})}function rut(){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:c.jsx("path",{d:"m4 6 4 4 4-4"})})}function sut(){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:c.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})})}function KX({lines:e,phase:t,copyState:n,onCopy:i}){const r=O.useRef(null),s=O.useRef(!0),[a,o]=O.useState(e);return O.useEffect(()=>{e.length&&o(e)},[e]),O.useEffect(()=>{const l=r.current;l&&s.current&&(l.scrollTop=l.scrollHeight)},[a]),c.jsxs("section",{className:"studio-update-live-log","aria-label":"部署进度",children:[c.jsxs("div",{className:"studio-update-log-header",children:[c.jsxs("span",{children:[c.jsx("i",{className:`is-${t}`,"aria-hidden":!0}),"部署进度",c.jsx("small",{children:t==="active"?"实时":t==="complete"?"已完成":"已停止"})]}),c.jsx("button",{type:"button",onClick:()=>i(a),disabled:!a.length,children:n==="copied"?"已复制":n==="error"?"复制失败":"复制日志"})]}),c.jsx("div",{ref:r,className:"studio-update-log-lines",role:"log","aria-live":"off","aria-busy":t==="active",tabIndex:0,onScroll:l=>{const u=l.currentTarget;s.current=u.scrollHeight-u.scrollTop-u.clientHeight<24},children:a.length?a.map((l,u)=>c.jsx("div",{children:l},`${u}-${l}`)):c.jsx("p",{children:t==="active"?"等待 VeFaaS 返回更新日志…":"本次更新未返回发布日志"})})]})}function aut({variant:e="default"}){var M,B;const[t]=O.useState(tut),[n,i]=O.useState(null),[r,s]=O.useState(t?"submitting":"idle"),[a,o]=O.useState(!!t),[l,u]=O.useState(""),[d,f]=O.useState((t==null?void 0:t.targetVersion)??""),[h,p]=O.useState(!1),[m,g]=O.useState("idle"),[y,b]=O.useState(0),S=O.useRef(null),x=O.useRef((t==null?void 0:t.targetVersion)??""),v=O.useRef((t==null?void 0:t.startedAt)??0),E=O.useRef(nut()),w=O.useRef(0);O.useEffect(()=>{if(!h)return;const $=G=>{var X;G.target instanceof Node&&!((X=S.current)!=null&&X.contains(G.target))&&p(!1)},I=G=>{G.key==="Escape"&&p(!1)};return window.addEventListener("pointerdown",$),window.addEventListener("keydown",I),()=>{window.removeEventListener("pointerdown",$),window.removeEventListener("keydown",I)}},[h]);const k=O.useCallback(async()=>{const $=await cK(x.current||void 0,v.current||void 0);return i($),$},[]);if(O.useEffect(()=>{let $=!0;const I=()=>{k().catch(()=>{$&&i(X=>X)})};I();const G=window.setInterval(I,Hct);return()=>{$=!1,window.clearInterval(G)}},[k]),O.useEffect(()=>{if(r!=="submitting")return;const $=window.setInterval(()=>{k().then(I=>{const G=x.current;if(G&&Jct(I.currentVersion,G)||!G&&!I.available&&I.latestVersion){const X=Date.now();if(w.current||(w.current=X),!eut(I.updateLogs)&&X-w.currentGct&&(window.clearInterval($),Iv(),s("error"),u("等待 VeFaaS 发布超时,请稍后重新检查版本"))}).catch(()=>{})},Yct);return()=>window.clearInterval($)},[r,k]),O.useEffect(()=>{r!=="idle"||(n==null?void 0:n.state)!=="updating"||(x.current=n.targetVersion,v.current=n.startedAt||Date.now(),bR(n.targetVersion,v.current),f(n.targetVersion),s("submitting"))},[r,n]),O.useEffect(()=>{if(r!=="submitting"){b(0);return}const $=()=>{const G=v.current||Date.now();b(Math.max(0,Math.floor((Date.now()-G)/1e3)))};$();const I=window.setInterval($,1e3);return()=>window.clearInterval(I)},[r]),!(n!=null&&n.enabled)||!(n.available||n.state==="updating"||r!=="idle"))return null;const C=n.releases??[],A=d||((M=C[0])==null?void 0:M.version)||n.latestVersion,R=C.find($=>$.version===A),j=Xct((R==null?void 0:R.changelog)??[]),Q=async()=>{WX(),E.current="",x.current=A,v.current=Date.now(),bR(A,v.current),s("submitting"),u(""),g("idle");try{const $=await uK(A);x.current=$.version,bR($.version,v.current),u("更新已提交,正在等待 VeFaaS 发布新版本")}catch($){if($ instanceof TypeError){u("连接已切换,正在确认新版本状态");return}Iv(),s("error");const I=$ instanceof Error?$.message:"Studio 更新失败";try{const G=await k();u(G.message||I)}catch{u(I)}}},L=(B=n.updateLogs)!=null&&B.length?n.updateLogs:(n.errorLog||n.progressMessage||l).split(` +${t}`}function jlt(e,t){if(e.length<=t)return{text:e,omitted:!1};let n=e.slice(-t);const i=n.indexOf(` +`);return i>=0&&(n=n.slice(i+1)),{text:n,omitted:!0}}function DX(e,t,n=Ilt){const i=Plt((e==null?void 0:e.text)??"",t.text??""),r=jlt(i,n),s=r.text?r.text.split(` +`).length:0,a=!!(t.snapshotTruncated||t.truncated),o=!!(e!=null&&e.omittedEarly||r.omitted);return{...t,text:r.text,lineCount:s,truncated:!!(e!=null&&e.truncated||t.truncated||o),omittedEarly:o,snapshotTruncated:!!(e!=null&&e.snapshotTruncated||a)}}Na.registerLanguage("python",Dne);Na.registerLanguage("typescript",Gne);Na.registerLanguage("javascript",Rne);Na.registerLanguage("json",Ine);Na.registerLanguage("yaml",Wne);Na.registerLanguage("markdown",Lne);Na.registerLanguage("bash",kne);Na.registerLanguage("ini",Tne);Na.registerLanguage("dockerfile",i3e);Na.registerLanguage("makefile",Mne);function $X(e){switch(e){case"prepare":case"upload":case"build":case"deploy":case"publish":case"update":case"evaluation":return e;default:return"unknown"}}const Mlt=O.lazy(()=>dg(()=>Promise.resolve().then(()=>dce),void 0)),md=()=>{};function Llt({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M2.75 12s3.35-5.25 9.25-5.25S21.25 12 21.25 12 17.9 17.25 12 17.25 2.75 12 2.75 12Z"}),c.jsx("circle",{cx:"12",cy:"12",r:"2.5"})]})}function Dlt({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M3 3l18 18"}),c.jsx("path",{d:"M9.7 6.95A9.7 9.7 0 0 1 12 6.68c5.9 0 9.25 5.32 9.25 5.32a16 16 0 0 1-2.28 2.85"}),c.jsx("path",{d:"M14.35 14.55A3.25 3.25 0 0 1 9.5 10.2"}),c.jsx("path",{d:"M6.25 8.12A16.4 16.4 0 0 0 2.75 12S6.1 17.32 12 17.32c.8 0 1.55-.1 2.25-.27"})]})}const uR={status:"hidden",apiKeyId:"",value:"",error:""};function $lt({open:e,isUpdate:t,onCancel:n,onConfirm:i}){const r=O.useRef(null);return O.useEffect(()=>{var o;if(!e)return;const s=document.body.style.overflow;document.body.style.overflow="hidden",(o=r.current)==null||o.focus();const a=l=>{l.key==="Escape"&&n()};return window.addEventListener("keydown",a),()=>{document.body.style.overflow=s,window.removeEventListener("keydown",a)}},[n,e]),e?ar.createPortal(c.jsx("div",{className:"code-browser-backdrop pp-confirm-backdrop",onMouseDown:s=>{s.target===s.currentTarget&&n()},children:c.jsxs("section",{className:"code-browser-dialog pp-confirm-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"pp-confirm-title","aria-describedby":"pp-confirm-description",children:[c.jsxs("header",{className:"code-browser-head pp-confirm-head",children:[c.jsxs("div",{className:"code-browser-title-wrap",children:[c.jsx("span",{className:"code-browser-title-icon pp-confirm-icon","aria-hidden":"true",children:c.jsx(y1e,{})}),c.jsx("h2",{id:"pp-confirm-title",children:t?"确认更新":"确认部署"})]}),c.jsx("button",{type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭部署确认",children:c.jsx(aa,{"aria-hidden":"true"})})]}),c.jsx("div",{className:"pp-confirm-body",children:c.jsx("p",{id:"pp-confirm-description",children:t?"将更新并发布到当前云端 Runtime,过程可能需要几分钟。确定继续吗?":"将创建新的云端 Runtime,部署过程可能需要几分钟。确定继续吗?"})}),c.jsxs("footer",{className:"pp-confirm-actions",children:[c.jsx("button",{ref:r,type:"button",onClick:n,children:"取消"}),c.jsx("button",{type:"button",className:"is-primary",onClick:i,children:t?"确定更新":"确定部署"})]})]})}),document.body):null}function Qlt({value:e,disabled:t,onChange:n}){const[i,r]=O.useState([]),[s,a]=O.useState(!0),[o,l]=O.useState(null),[u,d]=O.useState(0);O.useEffect(()=>{const p=new AbortController;return a(!0),l(null),RD(p.signal).then(m=>r(m)).catch(m=>{m instanceof DOMException&&m.name==="AbortError"||(r([]),l(m instanceof Error?m.message:String(m)))}).finally(()=>{p.signal.aborted||a(!1)}),()=>p.abort()},[u]);const f=O.useMemo(()=>[...i].sort((p,m)=>Number(m.isCurrent)-Number(p.isCurrent)).map(p=>({value:p.uid,label:p.name.trim()||"未命名用户池",description:p.domain||p.uid,badge:p.isCurrent?"当前用户池":void 0})),[i]),h=i.find(p=>p.uid===e);return c.jsxs("div",{className:"pp-user-pool-picker",children:[c.jsx(rA,{ariaLabel:"部署用户池",value:e,placeholder:s?"正在加载用户池…":"请选择用户池",options:f,disabled:t||s||!!o,onChange:n}),o?c.jsxs("div",{className:"pp-user-pool-error",role:"alert",children:[c.jsx("span",{children:o}),c.jsx("button",{type:"button",onClick:()=>d(p=>p+1),children:"重试"})]}):s?c.jsxs("span",{className:"pp-user-pool-status","aria-live":"polite",children:[c.jsx(qn,{"aria-hidden":"true",className:"pp-user-pool-spinner"}),"正在加载 Identity 用户池…"]}):i.length===0?c.jsx("span",{className:"pp-user-pool-status",children:"当前账号下暂无 Identity 用户池。"}):h!=null&&h.isCurrent?c.jsx("span",{className:"pp-user-pool-status",children:"当前 Studio 的登录 JWT 将透传访问此 Runtime。"}):h?c.jsx("div",{className:"pp-user-pool-error",role:"alert",children:c.jsx("span",{children:"所选用户池不是当前 Studio 使用的用户池,部署后无法从 Studio 调用此 Runtime。"})}):c.jsx("span",{className:"pp-user-pool-status",children:"当前 Studio 使用的用户池已在列表中标注。"})]})}const Blt=[{value:"api_key",label:"API Key",description:"默认方式,使用 Runtime API Key 访问"},{value:"user_pool",label:"用户池",description:"使用 Identity 用户池签发的 JWT"}],Ult={py:"python",pyi:"python",ts:"typescript",tsx:"typescript",mts:"typescript",cts:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",json:"json",jsonc:"json",yaml:"yaml",yml:"yaml",md:"markdown",markdown:"markdown",sh:"bash",bash:"bash",zsh:"bash",toml:"ini",ini:"ini",cfg:"ini",conf:"ini",env:"ini",txt:"plaintext"},QX={dockerfile:"dockerfile","requirements.txt":"plaintext","requirements-dev.txt":"plaintext",".env":"ini",".gitignore":"plaintext",makefile:"makefile"};function BX(e){return e.replace(/&/g,"&").replace(//g,">")}function zlt(e){const n=(e.split("/").pop()??e).toLowerCase();if(QX[n])return QX[n];if(n.startsWith("dockerfile"))return"dockerfile";if(n.startsWith(".env"))return"ini";const i=n.lastIndexOf(".");if(i===-1)return null;const r=n.slice(i+1);return Ult[r]??null}function Flt(e,t){try{const n=zlt(t);return n&&Na.getLanguage(n)?Na.highlight(e,{language:n,ignoreIllegals:!0}).value:n===null?Na.highlightAuto(e).value:BX(e)}catch{return BX(e)}}const Vlt=[{phase:"build",label:"构建镜像"},{phase:"deploy",label:"部署"},{phase:"publish",label:"发布"}],Xlt=[{phase:"upload",label:"上传代码包"},{phase:"build",label:"镜像打包"},{phase:"deploy",label:"创建 Runtime"},{phase:"publish",label:"发布服务"}],qlt={phase:"update",label:"更新实例配置"},Hlt={phase:"evaluation",label:"创建评测集"};function Ylt(e){return e?!e.memory.shortTerm||(e.shortTermBackend||"local")==="local":!1}function Glt(e,t){const n=Number(e),i=Number(t);return!e.trim()||!t.trim()||!Number.isSafeInteger(n)||!Number.isSafeInteger(i)||n<1||i<1?{valid:!1,error:"实例数必须为大于 0 的整数。"}:n>i?{valid:!1,error:"最小实例数不能大于最大实例数。"}:{valid:!0,min:n,max:i}}function Wlt(e){const t={name:"",children:new Map};for(const n of e){const i=n.path.split("/").filter(Boolean);let r=t;i.forEach((s,a)=>{let o=r.children.get(s);o||(o={name:s,children:new Map},r.children.set(s,o)),a===i.length-1&&(o.path=n.path),r=o})}return t}function Zlt(e){return[...e.children.values()].sort((t,n)=>{const i=t.children.size>0&&t.path===void 0,r=n.children.size>0&&n.path===void 0;return i!==r?i?-1:1:t.name.localeCompare(n.name)})}function Klt(e="",t=""){return{id:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,key:e,value:t}}function Jlt({left:e,right:t}){const[n,i]=O.useState(null);return O.useLayoutEffect(()=>{const r=document.getElementById("veadk-page-header-left"),s=document.getElementById("veadk-page-header-actions");r&&s&&i({left:r,right:s})},[]),n?c.jsxs(c.Fragment,{children:[ar.createPortal(e,n.left),ar.createPortal(t,n.right)]}):c.jsxs("header",{className:"pp-toolbar",children:[e,t]})}function nfe({project:e,embedded:t=!1,deployDisabledReason:n,agentDraft:i,agentName:r,agentCount:s,releaseConfiguration:a,onChange:o,onDeploy:l,onAgentAdded:u,onDeploymentComplete:d,deploymentActionLabel:f="部署",deploymentActionTargetId:h,deploymentRuntimeId:p,deploymentRuntimeName:m,onDeploymentRuntimeNameChange:g,onDeploymentStarted:y,onDeploymentTaskChange:b,feishuEnabled:S=!1,onFeishuEnabledChange:x,deploymentEnv:v=[],requiredSecretEnv:E=[],requiredSecretEnvValues:w,onRequiredSecretEnvChange:k,deploymentEnvValues:_={},onDeploymentEnvChange:C,network:A,onNetworkChange:R,cloudProvider:j="volcengine",deployRegion:Q=Ui(j),onDeployRegionChange:L,deploymentTelemetry:D={source:"unknown",createMode:"unknown",aiAssisted:!1},onBack:N,backLabel:M="返回配置",onExportYaml:B,deploymentPrimaryPane:$,deployDisabled:I=!1}){var Yo,es,Ml,Go,re;const G=typeof o=="function",X=!!p,U=Ylt(i),Y=(r==null?void 0:r.trim())||(i==null?void 0:i.name)||e.name,ae=m??(X?Y:Mce(Y)),fe=X?null:b3(ae),ke=((es=(Yo=i==null?void 0:i.deployment)==null?void 0:Yo.modelApiKeyId)==null?void 0:es.trim())??"",[K,ie]=O.useState(((Go=(Ml=e==null?void 0:e.files)==null?void 0:Ml[0])==null?void 0:Go.path)??null),[le,ge]=O.useState(new Set),[Ee,Ce]=O.useState(!1),[_e,he]=O.useState(""),[te,Te]=O.useState(!1),[me,Be]=O.useState(!1),[je,Ue]=O.useState(!1),[st,ct]=O.useState(!1),[Tt,at]=O.useState(null),[q,oe]=O.useState(null),[de,Ie]=O.useState({}),[ce,Me]=O.useState(null),[Ye,dt]=O.useState(!1),[Gt,Ct]=O.useState([]),[Dt,vt]=O.useState(uR),Wt=O.useRef(null),gt=O.useRef(ke);gt.current=ke;const[ft,Rt]=O.useState({}),rn=w??ft,[ln,Ae]=O.useState(null),[qe,$e]=O.useState(Alt),[pn,bn]=O.useState(null),[It,pe]=O.useState(!1),Qe=O.useId(),yt=O.useId(),mn=O.useId(),wn=O.useId(),[Jt,ui]=O.useState("api_key"),[Fn,xe]=O.useState(""),Ge=_T(j),Nt=ff(Q,j),[Kt,sn]=O.useState("1"),[Vn,xi]=O.useState(U?"1":"5"),[di,Hn]=O.useState(!0),En=j!=="byteplus",Zn=En&&di,[Si,Zt]=O.useState(null),Yn=O.useRef(!0),mr=E.map(ne=>`${ne.key}:${ne.label}`).join("|"),er=O.useRef(Q),gn=Glt(Kt,Vn),Li=!X&&gn.valid&&(gn.min!==1||gn.max!==5),kn=$?Xlt:Vlt,fn=Li?[...kn,qlt]:kn,Di=Zn?[...fn,Hlt]:fn;function Ft(){var ne;(ne=Wt.current)==null||ne.abort(),Wt.current=null,vt(uR)}async function vi(){var Ve;const ne=gt.current;if(!ne){vt({status:"error",apiKeyId:"",value:"",error:"请先在模型配置中选择 API Key。"});return}(Ve=Wt.current)==null||Ve.abort();const Pe=new AbortController;Wt.current=Pe,vt({status:"loading",apiKeyId:ne,value:"",error:""});try{const pt=await _Z(ne,Pe.signal);if(Pe.signal.aborted||gt.current!==ne)return;vt({status:"visible",apiKeyId:ne,value:pt.value,error:""})}catch(pt){if(Pe.signal.aborted)return;vt({status:"error",apiKeyId:ne,value:"",error:pt instanceof Error?pt.message:"加载 API Key 失败,请重试。"})}finally{Wt.current===Pe&&(Wt.current=null)}}O.useEffect(()=>{Ft()},[ke]),O.useEffect(()=>(window.addEventListener("pagehide",Ft),()=>{window.removeEventListener("pagehide",Ft),Ft()}),[]),O.useEffect(()=>{const ne=new Set(E.map(Pe=>Pe.key));w===void 0&&Rt(Pe=>Object.fromEntries(Object.entries(Pe).filter(([Ve])=>ne.has(Ve)))),Ae(Pe=>Pe&&ne.has(Pe)?Pe:null)},[mr,w]),O.useEffect(()=>{!L||X||Ge.some(ne=>ne.value===Q)||L(Ui(j))},[j,Q,Ge,X,L]),O.useEffect(()=>{if(!h){Zt(null);return}Zt(document.getElementById(h))},[h]);const Kn=ne=>c.jsxs("div",{className:`pp-network-region${It?" is-open":""}`,onKeyDown:Pe=>{Pe.key==="Escape"&&pe(!1)},children:[ne&&c.jsx("span",{children:"发布区域"}),c.jsxs("button",{type:"button",className:"pp-region-trigger","aria-label":"部署区域","aria-haspopup":"listbox","aria-expanded":It,"aria-describedby":X?Qe:void 0,disabled:te||X||!L,onClick:()=>pe(Pe=>!Pe),children:[c.jsx("span",{children:Nt}),c.jsx(Xxe,{className:`pp-region-chevron${It?" is-open":""}`})]}),It&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>pe(!1)}),c.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"部署区域",children:Ge.map(Pe=>{const Ve=Pe.value===Q;return c.jsxs("button",{type:"button",role:"option","aria-selected":Ve,className:`pp-region-option${Ve?" is-selected":""}`,onClick:()=>{L==null||L(Pe.value),pe(!1)},children:[c.jsx("span",{children:Pe.label}),Ve&&c.jsx(kc,{"aria-hidden":"true"})]},Pe.value)})})]}),X&&c.jsx("span",{id:Qe,className:"pp-region-help",children:"更新时沿用现有 Runtime 的部署区域,无法修改。"})]});O.useEffect(()=>(Yn.current=!0,()=>{Yn.current=!1}),[]),O.useEffect(()=>{sn("1"),xi(U?"1":"5")},[U]),O.useEffect(()=>{er.current!==Q&&(er.current=Q,$e(ne=>({tos:ne.tos.mode==="existing"?{mode:"existing"}:ne.tos,cr:ne.cr.mode==="existing"?{mode:"existing"}:ne.cr,codePipeline:ne.codePipeline.mode==="existing"?{mode:"existing"}:ne.codePipeline})),bn(null))},[Q]),O.useEffect(()=>{if(!je)return;const ne=document.body.style.overflow;document.body.style.overflow="hidden";const Pe=Ve=>{Ve.key==="Escape"&&Ue(!1)};return window.addEventListener("keydown",Pe),()=>{document.body.style.overflow=ne,window.removeEventListener("keydown",Pe)}},[je]);const $i=O.useMemo(()=>!(e!=null&&e.files)||!Array.isArray(e.files)?{name:"",children:new Map}:Wlt(e.files),[e==null?void 0:e.files]);if(!e||!Array.isArray(e.files))return c.jsx("div",{className:"pp-error",children:"项目数据无效"});const Vt=e.files.find(ne=>ne.path===K)??null,Ai=(A==null?void 0:A.mode)??"public",ms=()=>({agentId:String((r==null?void 0:r.trim())||e.name||"unknown"),deployAction:p?"update":"create",deploySource:D.source,createMode:D.createMode,aiAssisted:D.aiAssisted?1:0,deployRegion:String(Q),runtimeNetworkType:Ai,feishuEnabled:S?1:0}),Fs=new Set(E.map(ne=>ne.key)),Kr=$ot(S?[...v,...yO]:v,_).filter(ne=>!Fs.has(ne.key)),gr=Kr.length+E.length+Gt.length,Ur=Dt.apiKeyId===ke?Dt:uR,or=Ur.status==="visible",Qi=ke?Ur.status==="loading"?"正在显示 API Key":or?"隐藏 API Key":Ur.status==="error"?"重试显示 API Key":"显示 API Key":"请先选择 API Key";function Jr(ne){ge(Pe=>{const Ve=new Set(Pe);return Ve.has(ne)?Ve.delete(ne):Ve.add(ne),Ve})}function zr(ne,Pe){o&&(o({...e,files:ne}),Pe!==void 0&&ie(Pe))}function tr(ne){Vt&&zr(e.files.map(Pe=>Pe.path===Vt.path?{...Pe,content:ne}:Pe))}function Fr(){const ne=_e.trim();if(Ce(!1),he(""),!!ne){if(e.files.some(Pe=>Pe.path===ne)){ie(ne);return}zr([...e.files,{path:ne,content:""}],ne)}}function Vs(){if(!Vt)return;const ne=window.prompt("重命名文件",Vt.path),Pe=ne==null?void 0:ne.trim();!Pe||Pe===Vt.path||e.files.some(Ve=>Ve.path===Pe)||zr(e.files.map(Ve=>Ve.path===Vt.path?{...Ve,path:Pe}:Ve),Pe)}function Zu(){var Pe;if(!Vt)return;const ne=e.files.filter(Ve=>Ve.path!==Vt.path);zr(ne,((Pe=ne[0])==null?void 0:Pe.path)??null)}function po(ne,Pe){Ct(Ve=>Ve.map(pt=>pt.id===ne?{...pt,...Pe}:pt))}function mo(ne){Ct(Pe=>Pe.filter(Ve=>Ve.id!==ne))}function Ni(){Ct(ne=>[...ne,Klt()])}function Pc(ne){R&&R(ne==="public"?void 0:{...A??{mode:ne},mode:ne})}function He(ne){R==null||R({...A??{mode:"private"},...ne})}function gs(){var pt,Fe,Pt,In;const ne=new Map(Gt.map(At=>({key:At.key.trim(),value:At.value})).filter(At=>At.key.length>0).map(At=>[At.key,At.value])),Pe=S?[...v,...yO]:v;for(const At of Tde(Pe,_))ne.set(At.key,At.value);for(const At of E){const Dn=rn[At.key]??"";Dn.trim()&&ne.set(At.key,Dn)}const Ve=At=>At.agentType==="llm"&&V0(At,j)==="ark"||At.subAgents.some(Ve);if(i&&Ve(i)){const At=(Fe=(pt=i.deployment)==null?void 0:pt.modelApiKeyId)==null?void 0:Fe.trim(),Dn=(In=(Pt=i.deployment)==null?void 0:Pt.modelApiKeyName)==null?void 0:In.trim();At&&ne.set("MODEL_AGENT_API_KEY_ID",At),Dn&&ne.set("MODEL_AGENT_API_KEY_NAME",Dn)}return[...ne].map(([At,Dn])=>({key:At,value:Dn}))}async function La(){if(!(!x||te||st)){at(null),ct(!0);try{await x(!S)}catch(ne){Yn.current&&at(`更新飞书配置失败:${ne instanceof Error?ne.message:String(ne)}`)}finally{Yn.current&&ct(!1)}}}async function Or(){var pt;if(!l||te||I)return;if(fe){at(fe);return}if(!X){const Fe=Clt(qe);if(Fe){bn(Fe),at(Fe);return}}if(bn(null),!gn.valid){at(gn.error);return}if(!X&&Jt==="user_pool"&&!Fn){at("请选择用于 Runtime 鉴权的用户池。");return}if(Ai!=="public"&&!((pt=A==null?void 0:A.vpcId)!=null&&pt.trim())){at("使用 VPC 网络时,请填写 VPC ID。");return}const ne=E.find(Fe=>!(rn[Fe.key]??"").trim());if(ne){Ae(ne.key),at(`请填写 ${ne.label},用于访问对应的自定义模型地址。`);return}Ae(null);const Pe=IX(v,_);if(Pe){const Fe=v.find(Pt=>Pt.key===Pe.key);at(`请返回配置页填写 ${(Fe==null?void 0:Fe.comment)||(Fe==null?void 0:Fe.key)}(${Fe==null?void 0:Fe.key})。`);return}const Ve=_de(v,_);if(Ve){at(`${Ve.spec.comment||Ve.spec.key}:${Ve.error}`);return}if(S){const Fe=IX(yO,_);if(Fe){const Pt=yO.find(In=>In.key===Fe.key);at(`启用飞书后,请填写${(Pt==null?void 0:Pt.comment)||(Pt==null?void 0:Pt.key)}。`);return}}Be(!0)}async function Xs(){var Jn;if(!l||te)return;if(fe){Be(!1),at(fe);return}if(!gn.valid){Be(!1),at(gn.error);return}Be(!1);const ne=gs();Yn.current&&(at(null),oe(null),Ie({}),Me(null),Te(!0));const Pe=`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,Ve=(r==null?void 0:r.trim())||(i==null?void 0:i.name)||e.name,pt=ae.trim();let Fe=pt;const Pt=Date.now(),In=Bce(ms()),At={id:Pe,agentName:Ve,runtimeName:Fe,runtimeId:p,region:Q,startedAt:Pt,status:"running",phase:"prepare",label:"准备部署",agentDraft:i,instanceRange:Li?{min:gn.min,max:gn.max}:void 0,createEvaluationSets:Zn};b==null||b(At),y==null||y(At);let Dn,Z=At.phase??"prepare";const ve=Bt=>Dn?{...Dn,status:Bt,updatedAt:Date.now()}:void 0,Ze=Bt=>{const $t=ve(Bt);return $t?{buildLog:$t}:{}},Ot=()=>({source:"code-pipeline",status:"running",text:"",lineCount:0,truncated:!1,updatedAt:Date.now(),pendingMessage:"正在等待构建日志…"}),Ci=Bt=>{if(Z!=="build")return;const $t=["","----- 构建失败 -----",Bt].join(` +`);return Dn=DX(Dn,{source:"code-pipeline",status:"error",text:$t,lineCount:$t.split(` +`).length,truncated:!1,updatedAt:Date.now()}),Dn};try{const Bt=await l(e,$t=>{var an;$t.runtimeName&&(Fe=$t.runtimeName),Z=$t.phase,$t.buildLog?Dn=DX(Dn,$t.buildLog):$t.phase==="build"&&!Dn&&(Dn=Ot()),Yn.current&&(Ie($n=>({...$n,[$t.phase]:$t})),Me($t.phase)),b==null||b({id:Pe,agentName:Ve,runtimeName:Fe,runtimeId:p,region:Q,startedAt:Pt,status:"running",phase:$t.phase,label:((an=Di.find($n=>$n.phase===$t.phase))==null?void 0:an.label)??$t.phase,message:$t.message,pct:$t.pct,...Dn?{buildLog:Dn}:{}})},{taskId:Pe,runtimeName:pt,sessionStorage:U?"in-memory":"persistent",minInstance:gn.min,maxInstance:gn.max,...X?{}:{authentication:Jt==="user_pool"?{type:"user_pool",userPoolUid:Fn}:{type:"api_key"}},createEvaluationSets:Zn,...S?{im:{feishu:{enabled:!0}}}:{},envs:ne,...X?{}:{resources:qe}});Yn.current&&(oe(Bt),Me(null)),In.succeed({runtimeId:String(Bt.runtimeId||p||"")}),b==null||b({id:Pe,agentName:Bt.agentName||Ve,runtimeName:Bt.runtimeName||Fe,runtimeId:Bt.runtimeId||p,region:Bt.region||Q,startedAt:Pt,status:"success",phase:"complete",label:"部署完成",message:(Jn=Bt.warnings)==null?void 0:Jn.join(";"),...Ze("complete")});try{await(d==null?void 0:d(Bt))}catch($t){if(!($t instanceof na))throw $t;b==null||b({id:Pe,agentName:Bt.agentName||Ve,runtimeName:Bt.runtimeName||Fe,runtimeId:Bt.runtimeId||p,region:Bt.region||Q,startedAt:Pt,status:"success",phase:"complete",label:"部署完成,暂未连接",message:$t.message,...Ze("complete")})}}catch(Bt){const $t=Bt instanceof Error?Bt.message:String(Bt);if(Bt instanceof DOMException&&Bt.name==="AbortError"){In.fail({failedPhase:$X(Z),...xa(Bt,{phase:Z})}),Yn.current&&(at(null),Me(null)),b==null||b({id:Pe,agentName:Ve,runtimeName:Fe,runtimeId:p,region:Q,startedAt:Pt,status:"cancelled",label:"已取消",message:"部署已取消,相关 Runtime 资源已请求销毁。",...Ze("complete")});return}Yn.current&&at($t);const an=Ci($t);In.fail({failedPhase:$X(Z),...xa(Bt,{phase:Z})}),b==null||b({id:Pe,agentName:Ve,runtimeName:Fe,runtimeId:p,region:Q,startedAt:Pt,status:"error",phase:Z,label:"部署失败",message:$t,...an?{buildLog:an}:Ze("complete"),retry:Or})}finally{Yn.current&&Te(!1)}}function Ku(){Be(!1)}async function jl(){if(!(!q||Ye)){dt(!0),at(null);try{const{addConnection:ne,addRuntimeConnection:Pe,remoteAppId:Ve,loadConnections:pt}=await dg(async()=>{const{addConnection:In,addRuntimeConnection:At,remoteAppId:Dn,loadConnections:Z}=await Promise.resolve().then(()=>TV);return{addConnection:In,addRuntimeConnection:At,remoteAppId:Dn,loadConnections:Z}},void 0),{probeRuntimeApps:Fe}=await dg(async()=>{const{probeRuntimeApps:In}=await Promise.resolve().then(()=>wSe);return{probeRuntimeApps:In}},void 0);let Pt;if(q.runtimeId){const In=q.region??Q,At=await Fe(q.runtimeId,In,{retryProbe:!0})??[];Pt=Pe(q.runtimeId,q.runtimeName,In,At,At.length>0?{[At[0]]:q.agentName}:void 0,q.version)}else Pt=await ne(q.agentName,q.url,q.apikey,"");if(Pt.apps.length===0)at("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。");else{const In={[Pt.apps[0]]:q.agentName},At={...Pt,appLabels:{...Pt.appLabels??{},...In}},Z=pt().map(Ze=>Ze.id===Pt.id?At:Ze);localStorage.setItem("veadk_agentkit_connections",JSON.stringify(Z));const{registerConnections:ve}=await dg(async()=>{const{registerConnections:Ze}=await Promise.resolve().then(()=>TV);return{registerConnections:Ze}},void 0);if(ve(Z),u){const Ze=Ve(Pt.id,Pt.apps[0]);u(Ze,q.agentName)}else alert(`🎉 Agent "${q.agentName}" 已添加到左上角下拉列表!`)}}catch(ne){at(`添加 Agent 失败:${ne instanceof Error?ne.message:String(ne)}`)}finally{dt(!1)}}}function Nr(){const ne=ms(),Pe=Utt({agentId:ne.agentId,deployAction:ne.deployAction,deploySource:ne.deploySource,createMode:ne.createMode,aiAssisted:ne.aiAssisted});try{const Ve=xlt(e.files),pt=URL.createObjectURL(Ve),Fe=document.createElement("a");Fe.href=pt,Fe.download=`${e.name||"project"}.zip`,document.body.appendChild(Fe),Fe.click(),document.body.removeChild(Fe),URL.revokeObjectURL(pt),Pe.succeed({fileCount:e.files.length,zipSizeBytes:Ve.size})}catch(Ve){throw Pe.fail({fileCount:e.files.length,...xa(Ve)}),Ve}}const go=c.jsxs("div",{className:`pp-artifact-actions${t?" is-rail":""}`,"aria-label":"发布产物操作",children:[B&&c.jsxs("button",{type:"button",className:"pp-secondary",onClick:B,children:[c.jsx(Zxe,{className:"pp-ic"}),"导出 YAML"]}),G&&o&&c.jsx(Elt,{project:e,onChange:o,className:"pp-artifact-source",label:"查看源代码"}),e.files.length>0&&c.jsxs("button",{type:"button",className:"pp-secondary",onClick:Nr,children:[c.jsx(ET,{className:"pp-ic"}),"下载源代码"]})]});function As(ne,Pe,Ve){return Zlt(ne).map(pt=>{const Fe=Ve?`${Ve}/${pt.name}`:pt.name,Pt=pt.path!==void 0,In={paddingLeft:8+Pe*14};if(Pt){const Dn=pt.path===K;return c.jsxs("button",{type:"button",className:`pp-row pp-file${Dn?" pp-active":""}`,style:In,onClick:()=>ie(pt.path),title:pt.path,children:[c.jsx(e1e,{className:"pp-ic"}),c.jsx("span",{className:"pp-label",children:pt.name})]},Fe)}const At=le.has(Fe);return c.jsxs("div",{children:[c.jsxs("button",{type:"button",className:"pp-row pp-folder",style:In,onClick:()=>Jr(Fe),children:[c.jsx(m0,{className:`pp-ic pp-chevron${At?"":" pp-open"}`}),c.jsx(pZ,{className:"pp-ic"}),c.jsx("span",{className:"pp-label",children:pt.name})]}),!At&&As(pt,Pe+1,Fe)]},Fe)})}return c.jsxs("div",{className:`pp-root${l?" is-deploy":""}${t?" is-embedded":""}${$?" has-primary-pane":""}`,children:[l&&!t&&c.jsx(Jlt,{left:c.jsxs("div",{className:"pp-toolbar-left",children:[N&&c.jsxs("button",{type:"button",className:"pp-toolbar-back",onClick:N,children:[c.jsx(lZ,{className:"pp-ic"}),M]}),c.jsxs("span",{className:"pp-toolbar-title",children:["部署 ",r||e.name||"未命名 Agent",s&&s>1?` 等 ${s} 个智能体`:""]})]}),right:null}),c.jsxs("div",{className:"pp-body",children:[l&&!$&&c.jsx("section",{className:"pp-release-overview","aria-label":"发布概览",children:c.jsxs("div",{className:`pp-release-preview${t?" is-embedded":""}`,children:[c.jsxs("div",{className:"pp-flow-thumbnail",children:[i&&c.jsx(My,{draft:i,direction:"horizontal",selectedPath:[],onSelect:md,onAdd:md,onInsert:md,onDelete:md,readOnly:!0,interactivePreview:!0}),c.jsx("button",{type:"button",className:"pp-flow-expand",onClick:()=>Ue(!0),"aria-label":"放大查看执行流程",title:"放大查看",children:c.jsx(Ih,{"aria-hidden":!0})})]}),t&&go,!t&&c.jsxs("div",{className:"pp-release-info",children:[c.jsx("div",{className:"pp-release-card-head",children:"Agent 概览"}),c.jsxs("div",{className:"pp-release-info-body",children:[c.jsxs("div",{className:"pp-release-info-main",children:[c.jsx("h2",{children:r||e.name||"未命名 Agent"}),(i==null?void 0:i.description)&&c.jsx("p",{className:"pp-release-description",title:i.description,children:i.description}),c.jsxs("dl",{className:"pp-release-facts",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"Agent 数量"}),c.jsx("dd",{children:s??1})]}),a&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{children:[c.jsx("dt",{children:"模型"}),c.jsx("dd",{children:a.modelName})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"描述"}),c.jsx("dd",{className:"pp-release-fact-long",children:a.description})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"系统提示词"}),c.jsx("dd",{className:"pp-release-fact-long pp-release-prompt",children:a.instruction})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"优化选项"}),c.jsx("dd",{children:a.optimizations.length>0?a.optimizations.join("、"):"未启用"})]})]})]})]}),go]})]})]})}),c.jsxs("div",{className:"pp-files-area",children:[c.jsxs("div",{className:"pp-sidebar",children:[c.jsxs("div",{className:"pp-sidebar-head",children:[c.jsx("span",{className:"pp-project-name",title:e.name,children:"文件预览"}),G&&c.jsx("button",{type:"button",className:"pp-icon-btn",title:"新建文件",onClick:()=>{Ce(!0),he("")},children:c.jsx(Kxe,{className:"pp-ic"})})]}),c.jsxs("div",{className:"pp-tree",children:[Ee&&c.jsx("input",{className:"pp-new-input",autoFocus:!0,placeholder:"path/to/file.py",value:_e,onChange:ne=>he(ne.target.value),onBlur:Fr,onKeyDown:ne=>{ne.key==="Enter"&&Fr(),ne.key==="Escape"&&(Ce(!1),he(""))}}),e.files.length===0&&!Ee?c.jsx("div",{className:"pp-empty",children:"暂无文件"}):As($i,0,"")]})]}),c.jsxs("div",{className:"pp-main",children:[c.jsxs("div",{className:"pp-main-head",children:[c.jsx("span",{className:"pp-path",title:Vt==null?void 0:Vt.path,children:(Vt==null?void 0:Vt.path)??"未选择文件"}),c.jsx("div",{className:"pp-actions",children:G&&Vt&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"pp-icon-btn",title:"重命名",onClick:Vs,children:c.jsx(f1e,{className:"pp-ic"})}),c.jsx("button",{type:"button",className:"pp-icon-btn pp-danger",title:"删除",onClick:Zu,children:c.jsx(df,{className:"pp-ic"})})]})})]}),c.jsx("div",{className:"pp-content",children:Vt==null?c.jsx("div",{className:"pp-placeholder",children:"选择左侧文件以查看内容"}):G?c.jsx("div",{className:"pp-codemirror",children:c.jsx(O.Suspense,{fallback:c.jsx("div",{className:"pp-editor-loading",children:"加载编辑器…"}),children:c.jsx(Mlt,{value:Vt.content,path:Vt.path,onChange:tr})})}):c.jsx("pre",{className:"pp-pre hljs",dangerouslySetInnerHTML:{__html:Flt(Vt.content,Vt.path)}})})]})]}),l&&c.jsxs("aside",{className:"pp-config","aria-label":"部署配置",children:[c.jsx("div",{className:"pp-config-head",children:c.jsx("div",{className:"pp-config-title",children:"部署配置"})}),c.jsxs("div",{className:"pp-config-scroll",children:[$,!$&&c.jsxs("section",{className:"pp-config-section",children:[c.jsx("label",{className:"pp-config-label",htmlFor:yt,children:"Runtime 名称"}),c.jsxs("div",{className:"pp-runtime-name-field",children:[c.jsx("input",{id:yt,className:"pp-runtime-name-input",value:ae,disabled:te||X,maxLength:64,autoComplete:"off","aria-label":"Runtime 名称","aria-invalid":!!fe,"aria-describedby":`${mn}${fe?` ${wn}`:""}`,onChange:ne=>g==null?void 0:g(ne.currentTarget.value)}),c.jsx("p",{id:mn,className:"pp-config-note",children:X?"更新时保持现有 Runtime 名称不变。":"默认根据 Root Agent 名称生成,支持 4-64 位字母、数字、连字符和下划线"}),fe&&c.jsx("p",{id:wn,className:"pp-runtime-name-error",role:"alert",children:fe})]})]}),!$&&c.jsxs("section",{className:"pp-config-section",children:[c.jsx("div",{className:"pp-config-label",children:"发布区域"}),Kn(!1)]}),!$&&c.jsxs("section",{className:"pp-config-section pp-auth-section",children:[c.jsx("div",{className:"pp-config-label",children:"访问鉴权"}),X?c.jsx("p",{className:"pp-config-note pp-auth-preserved-note",children:"更新时保持现有 Runtime 的鉴权方式不变。"}):c.jsxs("div",{className:"pp-auth-fields",children:[c.jsxs("label",{children:[c.jsx("span",{children:"鉴权方式"}),c.jsx(rA,{ariaLabel:"部署鉴权方式",value:Jt,placeholder:"请选择鉴权方式",options:Blt,disabled:te,onChange:ne=>{at(null),ui(ne)}})]}),Jt==="user_pool"&&c.jsxs("label",{children:[c.jsx("span",{children:"用户池"}),c.jsx(Qlt,{value:Fn,disabled:te,onChange:ne=>{at(null),xe(ne)}})]})]})]}),!$&&c.jsxs("section",{className:"pp-config-section",children:[c.jsx("div",{className:"pp-config-label",children:"消息渠道"}),c.jsx("div",{className:`pp-channel-card${S?" is-flipped":""}`,children:c.jsxs("div",{className:"pp-channel-card-inner",children:[c.jsxs("button",{type:"button",className:"pp-channel-card-face pp-channel-card-front","aria-pressed":S,"aria-hidden":S,tabIndex:S?-1:0,onClick:()=>void La(),disabled:S||te||st||!x,children:[c.jsx("span",{className:"pp-channel-logo",children:c.jsx("img",{src:y3,alt:""})}),c.jsxs("span",{className:"pp-channel-card-copy",children:[c.jsx("strong",{children:"飞书"}),c.jsx("small",{children:st?"正在启用并更新配置…":"接收消息并通过飞书机器人回复"})]})]}),c.jsxs("div",{className:"pp-channel-card-face pp-channel-card-back","aria-hidden":!S,children:[c.jsxs("div",{className:"pp-channel-card-head",children:[c.jsx("strong",{children:"飞书配置"}),c.jsx("button",{type:"button",className:"pp-channel-remove",tabIndex:S?0:-1,onClick:()=>void La(),disabled:!S||te||st||!x,children:st?"取消中…":"取消"})]}),c.jsx("div",{className:"pp-channel-fields",children:yO.map(ne=>c.jsxs("label",{children:[c.jsxs("span",{children:[ne.comment||ne.key,ne.required&&c.jsx("small",{children:"必填"})]}),c.jsx("input",{type:ne.key.includes("SECRET")?"password":"text",value:_[ne.key]??"",placeholder:ne.placeholder,tabIndex:S?0:-1,disabled:!S||te||!C,autoComplete:"off",onChange:Pe=>C==null?void 0:C(ne.key,Pe.currentTarget.value)})]},ne.key))})]})]})})]}),!X&&c.jsxs("section",{className:"pp-config-section",children:[c.jsx("div",{className:"pp-config-label",children:"实例设置"}),c.jsxs("div",{className:"pp-instance-fields",children:[c.jsxs("label",{htmlFor:"runtime-min-instance",children:[c.jsx("span",{children:"最小实例数"}),c.jsx("input",{id:"runtime-min-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:Kt,disabled:te,"aria-invalid":!gn.valid,onChange:ne=>sn(ne.currentTarget.value)})]}),c.jsxs("label",{htmlFor:"runtime-max-instance",children:[c.jsx("span",{children:"最大实例数"}),c.jsx("input",{id:"runtime-max-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:Vn,disabled:te,"aria-invalid":!gn.valid,onChange:ne=>xi(ne.currentTarget.value)})]})]}),U&&c.jsx("p",{className:"pp-instance-note",role:"note",children:"为避免多实例间会话丢失,推荐将 Runtime 固定为 1~1"}),!gn.valid&&c.jsx("p",{className:"pp-instance-error",role:"alert",children:gn.error})]}),c.jsxs("section",{className:"pp-config-section",children:[c.jsx("div",{className:"pp-config-label",children:"网络"}),$&&Kn(!0),X&&c.jsx("p",{className:"pp-config-note",children:"现有 Runtime 的区域与网络模式保持不变。"}),c.jsxs("div",{className:"pp-network-layout",children:[c.jsx("div",{className:"pp-network-modes",role:"radiogroup","aria-label":"网络模式",children:["public","private","both"].map(ne=>c.jsxs("label",{className:"pp-network-option",children:[c.jsx("input",{type:"radio",name:"deployment-network-mode",value:ne,checked:Ai===ne,onChange:()=>Pc(ne),disabled:te||X||!R}),c.jsx("span",{children:ne==="public"?"公网":ne==="private"?"VPC":"公网 + VPC"})]},ne))}),Ai!=="public"&&c.jsxs("div",{className:"pp-network-fields",children:[c.jsxs("label",{children:[c.jsx("span",{children:"VPC ID"}),c.jsx("input",{value:(A==null?void 0:A.vpcId)??"",placeholder:"vpc-xxxxxxxx",disabled:te||X,onChange:ne=>He({vpcId:ne.target.value})})]}),c.jsxs("label",{children:[c.jsxs("span",{children:["子网 ID ",c.jsx("small",{children:"可选,多个用逗号分隔"})]}),c.jsx("input",{value:(A==null?void 0:A.subnetIds)??"",placeholder:"subnet-xxx, subnet-yyy",disabled:te||X,onChange:ne=>He({subnetIds:ne.target.value})})]}),c.jsxs("label",{className:"pp-network-check",children:[c.jsx("input",{type:"checkbox",checked:!!(A!=null&&A.enableSharedInternetAccess),disabled:te||X,onChange:ne=>He({enableSharedInternetAccess:ne.target.checked})}),"VPC 内共享公网出口"]})]})]})]}),En&&c.jsxs("section",{className:"pp-config-section",children:[c.jsx("div",{className:"pp-config-label",children:"评测集"}),c.jsxs("label",{className:"pp-evaluation-set-option",children:[c.jsx("input",{type:"checkbox",checked:di,disabled:te,onChange:ne=>Hn(ne.currentTarget.checked)}),c.jsxs("span",{children:[c.jsx("strong",{children:"自动创建评测集"}),c.jsx("small",{children:"部署成功后,自动创建 Good Case 和 Bad Case 评测集。"})]})]})]}),!X&&c.jsxs("section",{className:"pp-config-section pp-resource-section",children:[c.jsx("div",{className:"pp-config-label",children:"资源配置"}),c.jsx(Rlt,{value:qe,agentName:r||e.name||"agentkit-app",runtimeName:ae,region:Q,disabled:te,validationError:pn,onChange:ne=>{$e(ne),bn(null)}})]}),c.jsxs("section",{className:"pp-config-section pp-env-section",children:[c.jsx("div",{className:"pp-env-head",children:c.jsxs("div",{children:[c.jsxs("div",{className:"pp-config-label",children:["环境变量",c.jsxs("span",{className:"pp-agent-child-count pp-env-count",children:[gr," 项"]})]}),c.jsx("div",{className:"pp-env-sub",children:"组件配置会自动同步到这里,部署前可核对最终值。"})]})}),c.jsxs("button",{type:"button",className:"pp-env-add",onClick:Ni,disabled:te,children:[c.jsx(Ls,{className:"pp-ic"}),"添加变量"]}),(Kr.length>0||E.length>0||Gt.length>0)&&c.jsxs("div",{className:"pp-env-table",children:[Kr.length>0&&c.jsxs("div",{className:"pp-env-group",children:[c.jsxs("div",{className:"pp-env-group-head",children:[c.jsx("span",{children:"组件自动生成"}),c.jsxs("small",{children:[Kr.length," 项"]})]}),Kr.map(ne=>{const Pe=ne.readOnly||ne.key.startsWith("ENABLE_"),Ve=ne.serverManaged&&ne.key==="MODEL_AGENT_API_KEY",pt=Ve?or?Ur.value:"由所选 API Key 注入":ne.value,Fe=H3(ne,_),Pt=ne.multiline||ne.format==="json";return c.jsxs("div",{className:`pp-env-row pp-env-row-derived${Pt?" is-multiline":""}`,children:[c.jsxs("div",{className:"pp-env-key-fixed pp-env-key-cell","aria-label":`${ne.key} 环境变量名`,"aria-disabled":te,children:[c.jsx("span",{title:ne.key,children:ne.key}),(ne.help||ne.comment)&&c.jsxs("span",{className:"pp-env-help",tabIndex:0,"data-help":ne.help||ne.comment,"aria-label":`${ne.key}说明:${ne.help||ne.comment}`,children:["?",c.jsx("span",{className:"pp-env-help-popover",role:"tooltip",children:ne.help||ne.comment})]}),ne.link&&c.jsx("a",{className:"pp-env-link",href:ne.link.url,target:"_blank",rel:"noopener noreferrer",title:`打开 OpenViking ${ne.link.label}`,"aria-label":`${ne.key}:打开 OpenViking ${ne.link.label}`,children:c.jsx(Ng,{"aria-hidden":"true"})})]}),c.jsxs("div",{className:"pp-env-value-wrap",children:[Pt?c.jsx("textarea",{className:"pp-env-value pp-env-json-value",value:ne.value,placeholder:ne.required?"必填,尚未填写":"可选,尚未填写",readOnly:Pe,disabled:te||!Pe&&!C,autoComplete:"off",spellCheck:!1,"aria-invalid":!!Fe,"aria-label":`${ne.key} 环境变量值`,onChange:In=>C==null?void 0:C(ne.key,In.currentTarget.value)}):c.jsxs("div",{className:Ve?"pp-env-secret-control":void 0,children:[c.jsx("input",{className:"pp-env-value",type:Ve?"text":ne.secret?"password":"text",value:pt,placeholder:ne.required?"必填,尚未填写":"可选,尚未填写",readOnly:Pe,disabled:te||!Pe&&!C,autoComplete:ne.secret?"new-password":"off",spellCheck:ne.secret?!1:void 0,"aria-invalid":!!Fe,"aria-label":`${ne.key} 环境变量值`,onChange:In=>C==null?void 0:C(ne.key,In.currentTarget.value)}),Ve&&c.jsx("button",{type:"button",className:"pp-env-secret-toggle","aria-label":Qi,title:Qi,"aria-pressed":or,disabled:Ur.status==="loading"||!ke,onClick:()=>{or?Ft():vi()},children:Ur.status==="loading"?c.jsx(qn,{className:"pp-env-secret-spinner","aria-hidden":"true"}):or?c.jsx(Dlt,{}):c.jsx(Llt,{})})]}),Fe&&c.jsx("span",{className:"pp-env-error",children:Fe}),Ve&&Ur.status==="error"&&c.jsx("span",{className:"pp-env-reveal-error",role:"alert",children:Ur.error})]}),c.jsx("span",{className:"pp-env-source",children:Pe?"自动":"同步"})]},ne.key)})]}),E.length>0&&c.jsxs("div",{className:"pp-env-group",children:[c.jsxs("div",{className:"pp-env-group-head",children:[c.jsx("span",{children:"自定义模型凭据"}),c.jsxs("small",{children:[E.length," 项"]})]}),E.map(ne=>{const Pe=ln===ne.key,Ve=`${ne.key.toLowerCase()}-error`;return c.jsxs("div",{className:"pp-env-row pp-env-row-derived",children:[c.jsx("label",{className:"pp-env-key-fixed pp-env-key-cell",htmlFor:ne.key,title:ne.label,children:c.jsx("span",{children:ne.key})}),c.jsxs("div",{className:"pp-env-value-wrap",children:[c.jsx("input",{id:ne.key,className:"pp-env-value",type:"password",value:rn[ne.key]??"",placeholder:"必填,仅用于本次发布",disabled:te,autoComplete:"new-password",spellCheck:!1,"aria-invalid":Pe,"aria-describedby":Pe?Ve:void 0,"aria-label":ne.label,onChange:pt=>{const Fe=pt.currentTarget.value;k?k(ne.key,Fe):Rt(Pt=>({...Pt,[ne.key]:Fe})),Pe&&Fe.trim()&&(Ae(null),at(null))}}),Pe&&c.jsx("span",{id:Ve,className:"pp-env-error",role:"alert",children:"请填写此模型地址对应的 API Key。"})]}),c.jsx("span",{className:"pp-env-source",children:"本次发布"})]},ne.key)})]}),Gt.length>0&&c.jsxs("div",{className:"pp-env-group-head pp-env-group-head-custom",children:[c.jsx("span",{children:"自定义变量"}),c.jsxs("small",{children:[Gt.length," 项"]})]}),Gt.map(ne=>c.jsxs("div",{className:"pp-env-row",children:[c.jsx("input",{value:ne.key,placeholder:"名称",disabled:te,autoComplete:"off",onChange:Pe=>po(ne.id,{key:Pe.currentTarget.value})}),c.jsx("input",{type:"text",value:ne.value,placeholder:"值",disabled:te,autoComplete:"off",onChange:Pe=>po(ne.id,{value:Pe.currentTarget.value})}),c.jsx("button",{type:"button",className:"pp-icon-btn pp-env-remove",title:"删除变量",disabled:te,onClick:()=>mo(ne.id),children:c.jsx(aa,{className:"pp-ic"})})]},ne.id))]})]}),(te||q||Object.keys(de).length>0)&&c.jsxs("section",{className:"pp-config-section pp-progress-section",children:[c.jsx("div",{className:"pp-config-label",children:"部署进度"}),c.jsx("ol",{className:"pp-steps",children:Di.map((ne,Pe)=>{const Ve=ce?Di.findIndex(In=>In.phase===ce):-1,pt=!!Tt&&(Ve===-1?Pe===0:Pe===Ve);let Fe;q?Fe="done":pt?Fe="failed":Ve===-1?Fe=te?"active":"pending":Pene.phase===ce))==null?void 0:re.label)??ce}阶段):`:""}${Tt}`,onRetry:Or,retryLabel:X?"重试更新":"重试部署"}),q&&c.jsxs("section",{className:"pp-deploy-result",children:[c.jsx("div",{className:"pp-deploy-result-header",children:X?"更新成功":"部署成功"}),c.jsxs("div",{className:"pp-deploy-result-body",children:[q.warnings&&q.warnings.length>0&&c.jsx("div",{className:"pp-deploy-result-warning",role:"status",children:q.warnings.map(ne=>c.jsx("span",{children:ne},ne))}),q.region&&c.jsxs("div",{className:"pp-deploy-result-field",children:[c.jsx("label",{children:"区域"}),c.jsx("code",{children:ff(q.region,j)})]}),c.jsxs("div",{className:"pp-deploy-result-field",children:[c.jsx("label",{children:"Agent 名称"}),c.jsx("code",{children:q.agentName})]}),c.jsxs("div",{className:"pp-deploy-result-field",children:[c.jsx("label",{children:"Runtime 名称"}),c.jsx("code",{children:q.runtimeName})]}),c.jsxs("div",{className:"pp-deploy-result-field",children:[c.jsx("label",{children:"API 端点"}),c.jsx("code",{className:"pp-deploy-result-url",children:q.url})]})]}),c.jsxs("div",{className:"pp-deploy-result-actions",children:[c.jsxs("button",{type:"button",className:"pp-deploy-result-btn",onClick:jl,disabled:Ye,children:[Ye?c.jsx(qn,{className:"pp-ic spin"}):c.jsx(gZ,{className:"pp-ic"}),Ye?"连接中…":"立即对话"]}),q.consoleUrl&&c.jsxs("a",{href:q.consoleUrl,target:"_blank",rel:"noopener noreferrer",className:"pp-console-link pp-console-link-btn",children:[c.jsx(Ng,{className:"pp-ic"}),"控制台"]})]})]})]}),c.jsx("div",{className:`pp-config-actions${Si?" is-external":""}`,children:Si?ar.createPortal(c.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:Or,disabled:te||st||I||!!n||!!fe,title:n||fe||void 0,children:te?`${f}中…`:Tt?`重试${f}`:f}),Si):c.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:Or,disabled:te||st||I||!!n||!!fe,title:n||fe||void 0,children:te?`${f}中…`:Tt?`重试${f}`:f})})]})]}),je&&i&&ar.createPortal(c.jsx("div",{className:"pp-flow-backdrop",onMouseDown:ne=>{ne.target===ne.currentTarget&&Ue(!1)},children:c.jsxs("section",{className:"pp-flow-dialog",role:"dialog","aria-modal":"true","aria-label":"执行流程预览",children:[c.jsxs("header",{children:[c.jsxs("div",{children:[c.jsx("strong",{children:"执行流程"}),c.jsx("span",{children:"只读预览,可缩放与拖动画布"})]}),c.jsx("button",{type:"button",onClick:()=>Ue(!1),"aria-label":"关闭执行流程预览",children:c.jsx(aa,{"aria-hidden":!0})})]}),c.jsx("div",{className:"pp-flow-dialog-canvas",children:c.jsx(My,{draft:i,direction:"horizontal",selectedPath:[],onSelect:md,onAdd:md,onInsert:md,onDelete:md,readOnly:!0,interactivePreview:!0})})]})}),document.body),c.jsx($lt,{open:me,isUpdate:X,onCancel:Ku,onConfirm:()=>void Xs()})]})}const UX=["#6366f1","#0ea5e9","#10b981","#f59e0b","#f43f5e","#a855f7","#14b8a6","#f472b6"];function dR(e){let t=0;for(let n=0;n>>0;return UX[t%UX.length]}function ect(e){const t=new Map;e.forEach(u=>t.set(u.span_id,u));const n=new Map,i=[];for(const u of e)u.parent_span_id!=null&&t.has(u.parent_span_id)?(n.get(u.parent_span_id)??n.set(u.parent_span_id,[]).get(u.parent_span_id)).push(u):i.push(u);const r=(u,d)=>u.start_time-d.start_time,s=(u,d)=>({span:u,depth:d,children:(n.get(u.span_id)??[]).sort(r).map(f=>s(f,d+1))}),a=i.sort(r).map(u=>s(u,0)),o=e.length?Math.min(...e.map(u=>u.start_time)):0,l=e.length?Math.max(...e.map(u=>u.end_time)):1;return{rootNodes:a,min:o,total:l-o||1}}function tct(e,t){const n=[],i=r=>{n.push(r),t.has(r.span.span_id)||r.children.forEach(i)};return e.forEach(i),n}function zX(e){const t=e/1e6;return t>=1e3?`${(t/1e3).toFixed(2)} s`:`${t.toFixed(t<10?2:1)} ms`}const nct=e=>e.replace(/^(gen_ai|a2ui|adk)\./,"");function FX(e){return Object.entries(e.attributes).filter(([,t])=>t!=null&&typeof t!="object").map(([t,n])=>{const i=String(n);return{key:nct(t),value:i,long:i.length>80||i.includes(` +`)}}).sort((t,n)=>Number(t.long)-Number(n.long))}function ife({appName:e,testRunId:t,sessionId:n,endTimeMs:i,onClose:r,title:s="调用链路观测"}){const[a,o]=O.useState(null),[l,u]=O.useState(""),[d,f]=O.useState(new Set),[h,p]=O.useState(null);O.useEffect(()=>{o(null),u("");let E;if(t)E=wK(t,n);else if(e)E=_E(e,n,i);else{u("缺少调用链路来源");return}E.then(w=>{o(w),p(w.length?w.reduce((k,_)=>k.start_time<=_.start_time?k:_).span_id:null)}).catch(w=>u(w instanceof Error?w.message:String(w)))},[e,i,n,t]);const{rootNodes:m,min:g,total:y}=O.useMemo(()=>ect(a??[]),[a]),b=O.useMemo(()=>tct(m,d),[m,d]),S=(a==null?void 0:a.find(E=>E.span_id===h))??null,x=y/1e6,v=E=>f(w=>{const k=new Set(w);return k.has(E)?k.delete(E):k.add(E),k});return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"drawer-scrim",onClick:r}),c.jsxs("aside",{className:"drawer drawer--trace",children:[c.jsxs("header",{className:"drawer-head",children:[c.jsxs("div",{children:[c.jsx("div",{className:"drawer-title",children:s}),c.jsx("div",{className:"drawer-sub",children:a?`${a.length} 个调用 · ${x.toFixed(1)} ms`:"加载中"})]}),c.jsx("button",{className:"drawer-close",onClick:r,"aria-label":"关闭",children:c.jsx(aa,{className:"icon"})})]}),a==null&&!l&&c.jsxs("div",{className:"drawer-loading",children:[c.jsx(qn,{className:"icon spin"})," 加载调用链路…"]}),l&&c.jsx("div",{className:"error",children:l}),a&&a.length===0&&c.jsx("div",{className:"drawer-empty",children:"该会话暂无调用链路(可能尚未产生调用)。"}),b.length>0&&c.jsxs("div",{className:"trace-split",children:[c.jsx("div",{className:"trace-tree scroll",children:b.map(E=>{const w=E.span,k=(w.start_time-g)/y*100,_=Math.max((w.end_time-w.start_time)/y*100,.6),C=E.children.length>0;return c.jsxs("button",{className:`trace-row ${h===w.span_id?"active":""}`,onClick:()=>p(w.span_id),children:[c.jsxs("span",{className:"trace-label",style:{paddingLeft:E.depth*14},children:[c.jsx("span",{className:`trace-caret ${C?"":"hidden"} ${d.has(w.span_id)?"":"open"}`,onClick:A=>{A.stopPropagation(),C&&v(w.span_id)},children:c.jsx(m0,{className:"chev"})}),c.jsx("span",{className:"trace-dot",style:{background:dR(w.name)}}),c.jsx("span",{className:"trace-name",title:w.name,children:w.name})]}),c.jsx("span",{className:"trace-dur",children:zX(w.end_time-w.start_time)}),c.jsx("span",{className:"trace-track",children:c.jsx("span",{className:"trace-bar",style:{left:`${k}%`,width:`${_}%`,background:dR(w.name)}})})]},w.span_id)})}),c.jsx("div",{className:"trace-detail scroll",children:S?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"td-title",children:S.name}),c.jsxs("div",{className:"td-dur",children:[c.jsx("span",{className:"td-dot",style:{background:dR(S.name)}}),zX(S.end_time-S.start_time)]}),c.jsx("div",{className:"td-section",children:"属性"}),c.jsx("div",{className:"td-props",children:FX(S).filter(E=>!E.long).map(E=>c.jsxs("div",{className:"td-prop",children:[c.jsx("span",{className:"td-key",children:E.key}),c.jsx("span",{className:"td-val",children:E.value})]},E.key))}),FX(S).filter(E=>E.long).map(E=>c.jsxs("div",{className:"td-block",children:[c.jsx("div",{className:"td-section",children:E.key}),c.jsx("pre",{className:"td-pre",children:E.value})]},E.key))]}):c.jsx("div",{className:"drawer-empty",children:"选择左侧的一个调用查看详情"})})]})]})]})}const ict=O.lazy(()=>dg(()=>import("./MarkdownPromptEditor-CoCxG4pJ.js"),__vite__mapDeps([0,1]))),EM="veadk.generatedAgentTestRuns",VX=4;function G3(){if(typeof window>"u")return[];try{const e=JSON.parse(window.sessionStorage.getItem(EM)??"[]");return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}catch{return[]}}function rfe(e){if(typeof window>"u")return;const t=Array.from(new Set(e)).slice(-20);try{t.length?window.sessionStorage.setItem(EM,JSON.stringify(t)):window.sessionStorage.removeItem(EM)}catch{}}function rct(e){rfe([...G3(),e])}function DO(e){rfe(G3().filter(t=>t!==e))}function sct(e,t,n="text/plain"){const i=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),r=document.createElement("a");r.href=i,r.download=e,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(i)}const act=[{id:"type",label:"Agent 类型",hint:"选择 Agent 类型",icon:O1e,required:!0},{id:"basic",label:"基本信息",hint:"名称、描述与系统提示词",icon:zu,required:!0},{id:"model",label:"模型配置",hint:"模型与服务(可选)",icon:Gxe},{id:"tools",label:"工具",hint:"可调用的能力",icon:x1e},{id:"skills",label:"技能",hint:"声明式技能",icon:Sy},{id:"knowledge",label:"知识库",hint:"外部知识检索",icon:Jv},{id:"memory",label:"记忆",hint:"短期与长期记忆",icon:mZ},{id:"subagents",label:"子 Agent",hint:"嵌套协作",icon:Vxe},{id:"review",label:"完成",hint:"预览并创建",icon:m1e}];function oct({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M9 7.15v9.7a1.15 1.15 0 0 0 1.78.96l7.2-4.85a1.15 1.15 0 0 0 0-1.92l-7.2-4.85A1.15 1.15 0 0 0 9 7.15Z"}),c.jsx("path",{d:"M5.75 8.25v7.5",opacity:"0.8"}),c.jsx("path",{d:"M3 10v4",opacity:"0.45"}),c.jsx("path",{d:"M17.9 5.25v2.2M19 6.35h-2.2",strokeWidth:"1.55"})]})}function XX({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M4.75 7.25h14.5"}),c.jsx("path",{d:"M9.1 4.75h5.8l.75 2.5h-7.3l.75-2.5Z"}),c.jsx("path",{d:"m6.75 7.25.75 12h9l.75-12"}),c.jsx("path",{d:"M10 10.25v5.75M14 10.25v5.75"})]})}function W3({className:e}){return c.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:c.jsx("path",{d:"m7 9 5 5 5-5"})})}function Z3({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("path",{d:"M18.25 8.2A7.1 7.1 0 0 0 6.1 6.65L4.5 8.25"}),c.jsx("path",{d:"M4.5 4.75v3.5H8"}),c.jsx("path",{d:"M5.75 15.8A7.1 7.1 0 0 0 17.9 17.35l1.6-1.6"}),c.jsx("path",{d:"M19.5 19.25v-3.5H16"})]})}const lct={llm:"智能体",sequential:"分步协作",parallel:"同时处理",loop:"循环执行",a2a:"远程智能体"},qX={REGISTRY_SPACE_ID:"registrySpaceId",REGISTRY_TOP_K:"registryTopK",REGISTRY_REGION:"registryRegion",REGISTRY_ENDPOINT:"registryEndpoint"},sfe="REGISTRY_SPACE_ID",cct=Hee.filter(e=>e.key!==sfe);function afe(e,t){var i,r,s;if(!(e!=null&&e.enabled))return{};const n={REGISTRY_SPACE_ID:e.registrySpaceId??""};return t.includeDefaults?(n.REGISTRY_TOP_K=((i=e.registryTopK)==null?void 0:i.trim())||bl.topK,n.REGISTRY_REGION=((r=e.registryRegion)==null?void 0:r.trim())||bl.region,n.REGISTRY_ENDPOINT=((s=e.registryEndpoint)==null?void 0:s.trim())||bl.endpoint):(n.REGISTRY_TOP_K=e.registryTopK??"",n.REGISTRY_REGION=e.registryRegion??"",n.REGISTRY_ENDPOINT=e.registryEndpoint??""),n}function Av(e,t){return t!=="byteplus"?e:e.map(n=>n.key==="MODEL_EMBEDDING_NAME"?{...n,placeholder:sSe(t)}:n.key==="MODEL_EMBEDDING_API_BASE"?{...n,placeholder:bc(t)}:n.key==="MODEL_IMAGE_NAME"?{...n,placeholder:oSe(t)}:n.key==="MODEL_EDIT_NAME"?{...n,placeholder:lSe(t)}:n.key==="MODEL_VIDEO_NAME"?{...n,placeholder:cSe(t)}:n.key==="MODEL_IMAGE_API_BASE"||n.key==="MODEL_EDIT_API_BASE"||n.key==="MODEL_VIDEO_API_BASE"?{...n,placeholder:bc(t)}:n)}function uct({items:e,selected:t,onToggle:n,scrollRows:i}){return c.jsx("div",{className:`cw-checklist ${i?"cw-checklist-tools":""}`,style:i?{"--cw-checklist-max-height":`${i*40+(i-1)*8}px`}:void 0,children:e.map(r=>{const s=t.includes(r.id);return c.jsx(q3,{id:`cw-check-${r.id}`,className:`cw-check ${s?"is-on":""}`,checked:s,onCheckedChange:a=>{a!==s&&n(r.id)},label:c.jsx("span",{className:"cw-check-text",children:c.jsx("span",{className:"cw-check-title",children:r.label})})},r.id)})})}function fR({options:e,value:t,onChange:n}){return c.jsx("div",{className:"cw-segmented",children:e.map(i=>{var s;const r=(t??((s=e[0])==null?void 0:s.id))===i.id;return c.jsx("button",{type:"button",className:`cw-seg ${r?"is-on":""}`,onClick:()=>n(i.id),"aria-pressed":r,children:c.jsx("span",{className:"cw-seg-title",children:i.label})},i.id)})})}function dct(e){return/(SECRET|PASSWORD|KEY|TOKEN)$/.test(e)}function $O({env:e,values:t,onChange:n,renderAfterField:i}){return e.length===0?c.jsx("p",{className:"cw-env-empty",children:"此后端无需额外运行参数。"}):c.jsx("div",{className:"cw-env-fields",children:e.map(r=>{const s=t[r.key]??r.defaultValue??"",a=H3(r,t),o=`cw-env-${r.key}`;return c.jsxs(O.Fragment,{children:[c.jsxs("label",{className:"cw-env-field",htmlFor:o,children:[c.jsxs("span",{className:"cw-env-field-head",children:[c.jsxs("span",{className:"cw-env-field-title",children:[c.jsxs("span",{className:"cw-env-field-label",children:[r.comment||r.key,r.required&&c.jsx("span",{className:"cw-req",children:"*"})]}),r.help&&c.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":r.help,"aria-label":`${r.comment||r.key}说明:${r.help}`,children:["?",c.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:r.help})]}),r.link&&c.jsx("a",{className:"cw-env-link",href:r.link.url,target:"_blank",rel:"noopener noreferrer",title:`打开 OpenViking ${r.link.label}`,"aria-label":`打开 OpenViking ${r.link.label}`,onClick:l=>l.stopPropagation(),children:c.jsx(Ng,{"aria-hidden":"true"})})]}),r.comment&&c.jsx("code",{title:r.key,children:r.key})]}),r.multiline||r.format==="json"?c.jsx("textarea",{id:o,className:"cw-input cw-env-textarea",value:s,placeholder:r.placeholder||"请输入参数值",autoComplete:"off",spellCheck:!1,"aria-invalid":!!a,onChange:l=>n(r.key,l.currentTarget.value)}):c.jsx("input",{id:o,className:"cw-input",type:dct(r.key)?"password":"text",value:s,placeholder:r.placeholder||"请输入参数值",autoComplete:"off","aria-invalid":!!a,onChange:l=>n(r.key,l.currentTarget.value)}),a&&c.jsx("span",{className:"cw-env-error",children:a})]}),i==null?void 0:i(r)]},r.key)})})}const hR="默认值:留空;生成项目时使用 Agent 名自动生成,例如 my_agent_kb。未配置 DATABASE_OPENVIKING_TARGET_URI 时,默认 URI 拼接为 viking://user/{知识库归属 ID,未填则 default}/resources/{资源索引}/;如果填写了 DATABASE_OPENVIKING_TARGET_URI,则直接使用该完整 URI。";function fct({value:e,onChange:t}){const n="cw-openviking-knowledge-index";return c.jsxs("label",{className:"cw-env-field",htmlFor:n,children:[c.jsx("span",{className:"cw-env-field-head",children:c.jsxs("span",{className:"cw-env-field-title",children:[c.jsx("span",{className:"cw-env-field-label",children:"OpenViking 资源索引"}),c.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":hR,"aria-label":`OpenViking 资源索引说明:${hR}`,children:["?",c.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:hR})]})]})}),c.jsx("input",{id:n,className:"cw-input",value:e,placeholder:"",autoComplete:"off",onChange:i=>t(i.currentTarget.value)})]})}function pR(e){return e.name.trim()||"未命名智能体中心"}function mR(e){const t=e.name.trim()||e.id||"未命名知识库",n=[e.sourceLabel,e.projectName].filter(Boolean);return n.length?`${t} · ${n.join(" · ")}`:t}function hct(e){return e.available?"已开通":e.lifecycleStatus==="Retiring"?"即将下线":e.activationState&&e.activationState!=="Available"?"未开通":"暂不可用"}function pct(e){return e.available||e.lifecycleStatus==="Retiring"}function HX({selectedLabel:e,placeholder:t,disabled:n,triggerAriaLabel:i,menuAriaLabel:r,searchAriaLabel:s,searchValue:a,searchPlaceholder:o,onSearchChange:l,empty:u,emptyLabel:d,triggerClassName:f="",optionsClassName:h="",renderOptions:p}){const[m,g]=O.useState(!1),y=O.useRef(null),b=O.useRef(null),S=O.useRef(null),x=O.useId(),[v,E]=O.useState(null);O.useEffect(()=>{if(!m)return;const _=A=>{var j;const R=A.target;R instanceof Node&&y.current&&!y.current.contains(R)&&!((j=S.current)!=null&&j.contains(R))&&g(!1)},C=A=>{var R;A.key==="Escape"&&(g(!1),(R=b.current)==null||R.focus())};return window.addEventListener("pointerdown",_),window.addEventListener("keydown",C),()=>{window.removeEventListener("pointerdown",_),window.removeEventListener("keydown",C)}},[m]),O.useEffect(()=>{if(!m){E(null);return}const _=()=>{const C=b.current;if(!C)return;const A=C.getBoundingClientRect(),R=12,j=6,Q=window.innerHeight-A.bottom-R-j,L=A.top-R-j,D=Q<300&&L>Q,N=Math.max(96,D?L:Q),M=Math.min(A.width,window.innerWidth-R*2),B=Math.min(Math.max(R,A.left),window.innerWidth-R-M);E({...D?{bottom:window.innerHeight-A.top+j}:{top:A.bottom+j},left:B,width:M,maxHeight:N,opensUp:D})};return _(),window.addEventListener("resize",_),window.addEventListener("scroll",_,!0),()=>{window.removeEventListener("resize",_),window.removeEventListener("scroll",_,!0)}},[m]);const w=()=>g(!1),k=_=>{var j,Q;if(!["ArrowDown","ArrowUp","Home","End"].includes(_.key))return;const C=Array.from(((j=S.current)==null?void 0:j.querySelectorAll('[role="option"]:not(:disabled)'))??[]);if(!C.length)return;_.preventDefault();const A=C.findIndex(L=>L===document.activeElement),R=_.key==="Home"?0:_.key==="End"?C.length-1:_.key==="ArrowUp"?A<=0?C.length-1:A-1:A<0||A===C.length-1?0:A+1;(Q=C[R])==null||Q.focus()};return c.jsxs("div",{className:`cw-a2a-space-select-wrap cw-catalog-select${m?" is-open":""}`,ref:y,children:[c.jsxs("button",{ref:b,type:"button",className:`cw-a2a-space-trigger ${f}`.trim(),disabled:n,"aria-haspopup":"listbox","aria-controls":m?x:void 0,"aria-expanded":m,"aria-label":i,title:e,onClick:()=>{m||l(""),g(_=>!_)},children:[c.jsx("span",{className:t?"is-placeholder":void 0,children:e}),c.jsx(W3,{className:"cw-a2a-space-trigger-icon"})]}),m&&v&&ar.createPortal(c.jsxs("div",{ref:S,className:`cw-a2a-space-menu cw-catalog-menu cw-catalog-menu-portal${v.opensUp?" is-up":""}`,style:{top:v.top,bottom:v.bottom,left:v.left,width:v.width,maxHeight:v.maxHeight},onKeyDown:k,children:[c.jsx("div",{className:"cw-picker-search",children:c.jsx("input",{className:"cw-picker-search-input",type:"search",value:a,autoFocus:!0,autoComplete:"off","aria-label":s,placeholder:o,onChange:_=>l(_.currentTarget.value)})}),c.jsxs("div",{id:x,className:`cw-picker-options cw-catalog-options ${h}`.trim(),role:"listbox","aria-label":r,children:[p(w),u&&c.jsx("div",{className:"cw-picker-empty",children:d})]})]}),document.body)]})}function mct({value:e,cloudProvider:t,apiKeyId:n,apiKeyName:i,onApiKeyChange:r,onChange:s}){const[a,o]=O.useState([]),[l,u]=O.useState(!1),[d,f]=O.useState([]),[h,p]=O.useState(null),[m,g]=O.useState(!1),[y,b]=O.useState(null),[S,x]=O.useState(0),[v,E]=O.useState(0),[w,k]=O.useState(""),[_,C]=O.useState("");O.useEffect(()=>{const U=new AbortController;return u(!0),b(null),TZ(U.signal,S>0).then(Y=>{if(U.signal.aborted)return;o(Y.keys);const ae=Y.keys.find(fe=>fe.id===n)??Y.keys.find(fe=>fe.name===i)??Y.keys.find(fe=>fe.id===Y.defaultKeyId)??Y.keys[0];ae&&r(ae)}).catch(Y=>{U.signal.aborted||b(Y instanceof Error?Y.message:"加载 Ark API Key 失败")}).finally(()=>{U.signal.aborted||u(!1)}),()=>U.abort()},[t,S]),O.useEffect(()=>{if(!n){f([]);return}const U=new AbortController;return g(!0),b(null),p(null),AZ({signal:U.signal,apiKeyId:n,refresh:S>0||v>0}).then(Y=>{U.signal.aborted||(f(Y.models),p(n))}).catch(Y=>{U.signal.aborted||b(Y instanceof Error?Y.message:"加载模型列表失败")}).finally(()=>{U.signal.aborted||g(!1)}),()=>U.abort()},[n,t,v,S]);const A=e.trim(),R=h===n,j=R?d:[],Q=a.find(U=>U.id===n),L=Q?Q.name:n?"当前 API Key":l?"正在加载 API Key…":a.length===0?"暂无可用 API Key":"请选择 API Key",D=O.useMemo(()=>a.filter(U=>Qh(w,[U.name])),[w,a]),N=j.find(U=>U.id===A),M=m&&!R?"正在刷新模型列表…":N?`${N.displayName} (${N.id})`:A||"请选择模型",B=O.useMemo(()=>j.filter(U=>Qh(_,[U.displayName,U.id,U.name,U.vendorName,U.activationState,U.lifecycleStatus])),[_,j]),$=!!(A&&!N&&Qh(_,[A])),I=j.filter(U=>U.available).length,G=t==="byteplus"?"BytePlus ModelArk":"火山方舟",X=rSe(t);return c.jsxs("div",{className:"cw-a2a-space-picker cw-model-picker",children:[c.jsxs("div",{className:"cw-model-picker-stack",children:[c.jsxs("div",{className:"cw-model-picker-field",children:[c.jsx("span",{className:"cw-model-picker-label",children:"API Key"}),c.jsx(HX,{selectedLabel:L,placeholder:!n,disabled:l,triggerAriaLabel:"选择 API Key",menuAriaLabel:"API Key 列表",searchAriaLabel:"搜索 API Key",searchValue:w,searchPlaceholder:"搜索 API Key 名称",onSearchChange:k,empty:D.length===0,emptyLabel:"未找到匹配的 API Key",optionsClassName:"cw-model-key-options",renderOptions:U=>D.map(Y=>{const ae=Y.id===n;return c.jsx("button",{type:"button",role:"option","aria-selected":ae,className:`cw-a2a-space-option cw-model-key-option ${ae?"is-selected":""}`,title:Y.name,onClick:()=>{E(fe=>fe+1),r(Y),U()},children:c.jsx("span",{children:Y.name})},Y.id)})})]}),c.jsxs("div",{className:"cw-model-picker-field",children:[c.jsx("span",{className:"cw-model-picker-label",children:"模型"}),c.jsxs("div",{className:"cw-a2a-space-row",children:[c.jsx(HX,{selectedLabel:M,placeholder:!A,disabled:m,triggerAriaLabel:`选择${G}模型`,menuAriaLabel:`${G}模型`,searchAriaLabel:"搜索模型",searchValue:_,searchPlaceholder:"搜索名称、Model ID 或服务商",onSearchChange:C,empty:!$&&B.length===0,emptyLabel:"未找到匹配的模型",triggerClassName:"cw-model-trigger",optionsClassName:"cw-model-options",renderOptions:U=>c.jsxs(c.Fragment,{children:[$&&c.jsxs("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option cw-model-option is-selected",onClick:()=>{s(A),U()},children:[c.jsxs("span",{className:"cw-model-option-copy",children:[c.jsx("strong",{children:"当前配置"}),c.jsx("small",{children:A})]}),c.jsx("span",{className:"cw-model-status is-unknown",children:"状态未知"})]}),B.map(Y=>{const ae=Y.id===A,fe=pct(Y);return!fe&&Y.activationState!=="Available"?c.jsxs("button",{type:"button",role:"option","aria-selected":!1,className:"cw-a2a-space-option cw-model-option is-activation-link",title:`前往${G}开通 ${Y.displayName}`,onClick:()=>{window.open(X,"_blank","noopener,noreferrer"),U()},children:[c.jsxs("span",{className:"cw-model-option-copy",children:[c.jsx("strong",{children:Y.displayName}),c.jsxs("small",{children:[Y.id,Y.vendorName?` · ${Y.vendorName}`:""]})]}),c.jsx("span",{className:"cw-model-status is-unavailable",children:"未开通,去开通"})]},Y.id):c.jsxs("button",{type:"button",role:"option","aria-selected":ae,disabled:!fe,className:`cw-a2a-space-option cw-model-option ${ae?"is-selected":""}`,title:`${Y.displayName} (${Y.id})`,onClick:()=>{s(Y.id),U()},children:[c.jsxs("span",{className:"cw-model-option-copy",children:[c.jsx("strong",{children:Y.displayName}),c.jsxs("small",{children:[Y.id,Y.vendorName?` · ${Y.vendorName}`:""]})]}),c.jsx("span",{className:`cw-model-status ${Y.available?"is-available":Y.lifecycleStatus==="Retiring"?"is-retiring":"is-unavailable"}`,children:hct(Y)})]},Y.id)})]})}),c.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新 API Key 和模型列表","aria-label":"刷新 API Key 和模型列表",disabled:m||l,onClick:()=>x(U=>U+1),children:m||l?c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}):c.jsx(Z3,{className:"cw-i cw-i-sm"})})]})]})]}),y?c.jsxs("div",{className:"cw-banner cw-a2a-space-error",role:"alert",children:[c.jsx(zu,{className:"cw-i"}),c.jsx("span",{children:y})]}):m?c.jsxs("span",{className:"cw-help cw-a2a-space-status","aria-live":"polite",children:[c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载模型列表…"]}):j.length===0?c.jsx("span",{className:"cw-help",children:"当前账号下暂无可配置模型。"}):c.jsxs("span",{className:"cw-help",children:["已加载 ",j.length," 个模型,其中 ",I," 个已开通。"]})]})}function gct({value:e,region:t,invalid:n,onChange:i}){const r=t.trim()||bl.region,[s,a]=O.useState([]),[o,l]=O.useState(!1),[u,d]=O.useState(null),[f,h]=O.useState(0),[p,m]=O.useState(!1),[g,y]=O.useState(""),b=O.useRef(null);O.useEffect(()=>{let C=!1;return l(!0),d(null),mlt({region:r}).then(A=>{C||a(A)}).catch(A=>{C||(a([]),d(A instanceof Error?A.message:"加载失败"))}).finally(()=>{C||l(!1)}),()=>{C=!0}},[r,f]);const S=!e||s.some(C=>C.id===e.trim()),x=s.find(C=>C.id===e.trim()),v=x?pR(x):e&&!S?"已选择的智能体中心":"请选择智能体中心",E=o&&s.length===0,w=O.useMemo(()=>s.filter(C=>Qh(g,[pR(C),C.id,C.projectName])),[g,s]),k=!!(e&&!S&&Qh(g,["已选择的智能体中心",e]));O.useEffect(()=>{if(!p)return;const C=R=>{const j=R.target;j instanceof Node&&b.current&&!b.current.contains(j)&&m(!1)},A=R=>{R.key==="Escape"&&m(!1)};return window.addEventListener("pointerdown",C),window.addEventListener("keydown",A),()=>{window.removeEventListener("pointerdown",C),window.removeEventListener("keydown",A)}},[p]);const _=C=>{i(C),m(!1)};return c.jsxs("div",{className:`cw-a2a-space-picker${p?" is-open":""}`,ref:b,children:[c.jsxs("div",{className:"cw-a2a-space-row",children:[c.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[c.jsxs("button",{type:"button",className:`cw-a2a-space-trigger ${n?"is-error":""}`,disabled:E,"aria-haspopup":"listbox","aria-expanded":p,"aria-label":"选择 AgentKit 智能体中心",onClick:()=>{y(""),m(C=>!C)},children:[c.jsx("span",{className:e?void 0:"is-placeholder",children:v}),c.jsx(W3,{className:"cw-a2a-space-trigger-icon"})]}),p&&c.jsxs("div",{className:"cw-a2a-space-menu",children:[c.jsx("div",{className:"cw-picker-search",children:c.jsx("input",{className:"cw-picker-search-input",type:"search",value:g,autoFocus:!0,autoComplete:"off","aria-label":"搜索 AgentKit 智能体中心",placeholder:"搜索名称或 ID",onChange:C=>y(C.currentTarget.value)})}),c.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"AgentKit 智能体中心",children:[k&&c.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>_(e),children:"已选择的智能体中心"}),w.map(C=>{const A=pR(C),R=C.id===e;return c.jsx("button",{type:"button",role:"option","aria-selected":R,className:`cw-a2a-space-option ${R?"is-selected":""}`,title:`${A} (${C.id})`,onClick:()=>_(C.id),children:A},C.id)}),!k&&w.length===0&&c.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的智能体中心"})]})]})]}),c.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新智能体中心列表","aria-label":"刷新智能体中心列表",disabled:o,onClick:()=>h(C=>C+1),children:o?c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}):c.jsx(Z3,{className:"cw-i cw-i-sm"})})]}),u?c.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[c.jsx(zu,{className:"cw-i"}),c.jsx("span",{children:u})]}):o?c.jsxs("span",{className:"cw-help cw-a2a-space-status",children:[c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载 AgentKit 智能体中心…"]}):s.length===0?c.jsx("span",{className:"cw-help",children:"此账号下暂无 AgentKit 智能体中心。"}):c.jsxs("span",{className:"cw-help",children:["已加载 ",s.length," 个智能体中心,列表仅展示中心名称。"]})]})}function Oct({value:e,onChange:t}){const[n,i]=O.useState([]),[r,s]=O.useState(!1),[a,o]=O.useState(null),[l,u]=O.useState(0),[d,f]=O.useState(!1),[h,p]=O.useState(""),m=O.useRef(null);O.useEffect(()=>{let w=!1;return s(!0),o(null),Olt().then(k=>{w||i(k)}).catch(k=>{w||(i([]),o(k instanceof Error?k.message:"加载失败"))}).finally(()=>{w||s(!1)}),()=>{w=!0}},[l]);const g=!e||n.some(w=>w.id===e.trim()),y=n.find(w=>w.id===e.trim()),b=y?mR(y):e&&!g?e:"请选择 VikingDB 知识库",S=r&&n.length===0,x=O.useMemo(()=>n.filter(w=>Qh(h,[mR(w),w.id,w.description,w.projectName,w.resourceId,w.agentkitKnowledgeId,w.providerKnowledgeId,w.sourceLabel])),[n,h]),v=!!(e&&!g&&Qh(h,[e]));O.useEffect(()=>{if(!d)return;const w=_=>{const C=_.target;C instanceof Node&&m.current&&!m.current.contains(C)&&f(!1)},k=_=>{_.key==="Escape"&&f(!1)};return window.addEventListener("pointerdown",w),window.addEventListener("keydown",k),()=>{window.removeEventListener("pointerdown",w),window.removeEventListener("keydown",k)}},[d]);const E=w=>{t(w),f(!1)};return r&&n.length===0?c.jsxs("span",{className:"cw-viking-kb-inline-status",role:"status",children:[c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载…"]}):c.jsxs("div",{className:`cw-a2a-space-picker cw-viking-kb-picker${d?" is-open":""}`,ref:m,children:[c.jsxs("div",{className:"cw-a2a-space-row",children:[c.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[c.jsxs("button",{type:"button",className:"cw-a2a-space-trigger",disabled:S,"aria-haspopup":"listbox","aria-expanded":d,"aria-label":"选择 VikingDB 知识库",onClick:()=>{p(""),f(w=>!w)},children:[c.jsx("span",{className:e?void 0:"is-placeholder",children:b}),c.jsx(W3,{className:"cw-a2a-space-trigger-icon"})]}),d&&c.jsxs("div",{className:"cw-a2a-space-menu cw-viking-kb-menu",children:[c.jsx("div",{className:"cw-picker-search",children:c.jsx("input",{className:"cw-picker-search-input",type:"search",value:h,autoFocus:!0,autoComplete:"off","aria-label":"搜索 VikingDB 知识库",placeholder:"搜索名称或 ID",onChange:w=>p(w.currentTarget.value)})}),c.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"VikingDB 知识库",children:[v&&c.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>E({id:e,name:e,description:"",projectName:"",region:"",sourceKind:"knowledge",sourceLabel:"Knowledge Engine",resourceId:""}),children:e}),x.map(w=>{const k=mR(w),_=w.id===e,C=[w.id,w.resourceId,w.agentkitKnowledgeId,w.providerKnowledgeId].filter(Boolean).join(" / ");return c.jsx("button",{type:"button",role:"option","aria-selected":_,className:`cw-a2a-space-option ${_?"is-selected":""}`,title:C?`${k} (${C})`:k,onClick:()=>E(w),children:k},w.id)}),!v&&x.length===0&&c.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的知识库"})]})]})]}),c.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh cw-viking-kb-refresh",title:"刷新知识库列表","aria-label":"刷新知识库列表",disabled:r,onClick:()=>u(w=>w+1),children:r?c.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}):c.jsx(Z3,{className:"cw-i cw-i-sm"})})]}),a?c.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[c.jsx(zu,{className:"cw-i"}),c.jsx("span",{children:a})]}):n.length===0?c.jsx("span",{className:"cw-help",children:"此账号下暂无 VikingDB 知识库。"}):c.jsxs("span",{className:"cw-help",children:["已加载 ",n.length," 个知识库,选择的知识库会用于当前 Agent。"]})]})}function bct({tools:e,onChange:t}){const n=(s,a)=>t(e.map((o,l)=>l===s?{...o,...a}:o)),i=s=>t(e.filter((a,o)=>o!==s)),r=()=>t([...e,{name:"",transport:"http",url:""}]);return c.jsxs("div",{className:"cw-mcp",children:[e.length>0&&c.jsx("div",{className:"cw-mcp-list",children:c.jsx(Zd,{initial:!1,children:e.map((s,a)=>c.jsxs(dr.div,{className:"cw-mcp-row",layout:!0,initial:{opacity:0,y:6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.16},children:[c.jsxs("div",{className:"cw-mcp-rowhead",children:[c.jsxs("div",{className:"cw-mcp-transport",children:[c.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="http"?"is-on":""}`,onClick:()=>n(a,{transport:"http"}),"aria-pressed":s.transport==="http",children:c.jsx("span",{className:"cw-seg-title",children:"HTTP"})}),c.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="stdio"?"is-on":""}`,onClick:()=>n(a,{transport:"stdio"}),"aria-pressed":s.transport==="stdio",children:c.jsx("span",{className:"cw-seg-title",children:"stdio"})})]}),c.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger",onClick:()=>i(a),"aria-label":"移除 MCP 工具",children:c.jsx(df,{className:"cw-i cw-i-sm"})})]}),c.jsx("input",{className:"cw-input",value:s.name,placeholder:"名称(用于命名,可留空)",onChange:o=>n(a,{name:o.target.value})}),s.transport==="http"?c.jsxs(c.Fragment,{children:[c.jsx("input",{className:"cw-input",value:s.url??"",placeholder:"MCP 服务地址(StreamableHTTP)",onChange:o=>n(a,{url:o.target.value})}),Yot(s.url??"")&&c.jsxs("p",{className:"cw-mcp-warning",children:[c.jsx(zu,{"aria-hidden":"true"}),c.jsx("span",{children:"当前地址不是以 /mcp 结尾,请确认它是实际的 MCP Endpoint。Studio 会保留该地址,不会自动补充路径。"})]}),c.jsx("input",{className:"cw-input",value:qot(s),placeholder:"Bearer Token(可选)",onChange:o=>t(e.map((l,u)=>u===a?Hot(l,o.target.value):l))})]}):c.jsxs(c.Fragment,{children:[c.jsx("input",{className:"cw-input",value:s.command??"",placeholder:"启动命令,例如 npx",onChange:o=>n(a,{command:o.target.value})}),c.jsx("input",{className:"cw-input",value:(s.args??[]).join(" "),placeholder:"参数(用空格分隔),例如 -y @playwright/mcp@latest",onChange:o=>n(a,{args:o.target.value.split(/\s+/).filter(Boolean)})}),c.jsx("p",{className:"cw-mcp-note",children:"stdio MCP 暂不参与调试运行;点击“去部署”时会完整保留这项配置并生成对应代码。"})]})]},a))})}),c.jsxs("button",{type:"button",className:"cw-add-sub",onClick:r,children:[c.jsx(Ls,{className:"cw-i"}),"添加 MCP 工具"]})]})}function ofe({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[c.jsx("path",{d:"M5.5 7.5h10.75a2 2 0 0 1 2 2v7.75a2 2 0 0 1-2 2H5.5a2 2 0 0 1-2-2V9.5a2 2 0 0 1 2-2Z"}),c.jsx("path",{d:"M7 4.75h9.5a2 2 0 0 1 2 2",opacity:".58"}),c.jsx("path",{d:"m11 10.25.72 1.48 1.63.24-1.18 1.15.28 1.62-1.45-.77-1.45.77.28-1.62-1.18-1.15 1.63-.24.72-1.48Z"}),c.jsx("path",{d:"M19.25 11.25h1.5M20 10.5V12",opacity:".72"})]})}function yct({s:e,onRemove:t}){let n=Sy,i="火山 Find Skill 技能广场";return e.source==="local"?(n=gD,i="本地"):e.source==="skillspace"&&(n=ofe,i="AgentKit Skills 中心"),c.jsxs(dr.div,{className:"cw-selected-skill-row",layout:!0,initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.16},children:[c.jsx("span",{className:"cw-selected-skill-icon","aria-hidden":!0,children:c.jsx(n,{className:"cw-i cw-i-sm"})}),c.jsxs("span",{className:"cw-selected-skill-meta",children:[c.jsx("span",{className:"cw-selected-skill-name",children:e.name}),c.jsxs("span",{className:"cw-selected-skill-detail",children:[i,e.description?` · ${Ex(e.description)}`:""]})]}),c.jsx("button",{type:"button",className:"cw-selected-skill-remove",onClick:t,"aria-label":`移除 ${e.name}`,title:`移除 ${e.name}`,children:c.jsx(aa,{className:"cw-i cw-i-sm"})})]},`${e.source}:${e.folder}:${e.skillId||e.slug||""}:${e.version||""}`)}const gR=[{id:"local",label:"本地文件",icon:gD},{id:"skillspace",label:"AgentKit Skills 中心",icon:ofe},{id:"skillhub",label:"火山 Find Skill 技能广场",icon:kT}];function xct({selected:e,onChange:t,cloudProvider:n}){const[i,r]=O.useState("local"),[s,a]=O.useState(!1),o=gR.findIndex(u=>u.id===i),l=u=>t(e.filter(d=>OR(d)!==u));return O.useEffect(()=>{if(!s)return;const u=d=>{d.key==="Escape"&&a(!1)};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[s]),c.jsxs("div",{className:"cw-skillspane",children:[c.jsxs("button",{type:"button",className:"cw-skill-add","aria-haspopup":"dialog",onClick:()=>a(!0),children:[c.jsx("span",{className:"cw-skill-add-icon","aria-hidden":!0,children:c.jsx(Ls,{className:"cw-i"})}),c.jsx("span",{children:"添加 Skill"})]}),e.length>0&&c.jsxs("div",{className:"cw-skill-selected",children:[c.jsxs("span",{className:"cw-skill-selected-label",children:["已加入技能 · ",e.length]}),c.jsx("div",{className:"cw-selected-skill-list",children:c.jsx(Zd,{initial:!1,children:e.map(u=>c.jsx(yct,{s:u,onRemove:()=>l(OR(u))},OR(u)))})})]}),c.jsx(Zd,{children:s&&c.jsx(dr.div,{className:"cw-skill-dialog-backdrop",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},onMouseDown:u=>{u.target===u.currentTarget&&a(!1)},children:c.jsxs(dr.div,{className:"cw-skill-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"cw-skill-dialog-title",initial:{opacity:0,y:10,scale:.985},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:6,scale:.99},transition:{duration:.18,ease:"easeOut"},children:[c.jsxs("div",{className:"cw-skill-dialog-head",children:[c.jsx("h3",{id:"cw-skill-dialog-title",children:"添加 Skill"}),c.jsx("button",{type:"button",className:"cw-skill-dialog-close","aria-label":"关闭添加 Skill",onClick:()=>a(!1),children:c.jsx(aa,{className:"cw-i"})})]}),c.jsxs("div",{className:"cw-skill-dialog-body",children:[c.jsxs("div",{className:"cw-skill-sourcetabs",role:"tablist",style:{"--cw-skill-tab-slider-width":`calc((100% - 16px) / ${gR.length})`,"--cw-active-skill-tab-offset":`calc(${o*100}% + ${o*4}px)`},children:[c.jsx("span",{className:"cw-skill-tab-slider","aria-hidden":!0}),gR.map(({id:u,label:d,icon:f})=>c.jsxs("button",{type:"button",role:"tab",id:`cw-skill-tab-${u}`,"aria-controls":"cw-skill-tabpanel","aria-selected":i===u,className:`cw-skill-pickertab ${i===u?"is-on":""}`,onClick:()=>r(u),children:[c.jsx(f,{className:"cw-i cw-i-sm"}),d]},u))]}),c.jsxs("div",{id:"cw-skill-tabpanel",className:"cw-skill-tabbody",role:"tabpanel","aria-labelledby":`cw-skill-tab-${i}`,children:[i==="skillhub"&&c.jsx(tlt,{selected:e,onChange:t}),i==="local"&&c.jsx(flt,{selected:e,onChange:t}),i==="skillspace"&&c.jsx(hlt,{selected:e,onChange:t,cloudProvider:n})]})]})]})})})]})}function OR(e){return e.source==="skillhub"?`hub:${e.namespace}/${e.slug}`:e.source==="local"?`local:${e.folder}`:`ss:${e.skillSpaceId}/${e.skillId}/${e.version||""}`}function Nv({checked:e,onChange:t,title:n,desc:i,showDescription:r=!1}){return c.jsxs("button",{type:"button",className:`cw-toggle ${e?"is-on":""}`,onClick:()=>t(!e),"aria-pressed":e,children:[c.jsxs("span",{className:"cw-toggle-text",children:[c.jsx("span",{className:"cw-toggle-title",children:n}),r&&c.jsx("span",{className:"cw-toggle-help",children:i})]}),c.jsx("span",{className:"cw-switch","aria-hidden":!0,children:c.jsx(dr.span,{className:"cw-switch-knob",layout:!0,transition:{type:"spring",stiffness:520,damping:34}})})]})}function Sct(e,t){var i;let n=e;for(const r of t)if(n=(i=n.subAgents)==null?void 0:i[r],!n)return!1;return!0}function Cv(e,t){let n=e;for(const i of t)n=n.subAgents[i];return n}function v1(e,t,n){if(t.length===0)return n(e);const[i,...r]=t,s=e.subAgents.slice();return s[i]=v1(s[i],r,n),{...e,subAgents:s}}function vct(e,t,n="volcengine"){return v1(e,t,i=>({...i,subAgents:[...i.subAgents,Bo(n)]}))}function wct(e,t,n,i="volcengine"){return v1(e,t,r=>{const s=r.subAgents.slice();return s.splice(n,0,Bo(i)),{...r,subAgents:s}})}function Ect(e,t){if(t.length===0)return e;const n=t.slice(0,-1),i=t[t.length-1];return v1(e,n,r=>({...r,subAgents:r.subAgents.filter((s,a)=>a!==i)}))}const kM=e=>!nA(e.agentType),YX=3;function kct(e,t,n=!1){var r;if(nA(e.agentType))return n?"远程 Agent 只能作为子 Agent":(r=e.a2aRegistry)!=null&&r.registrySpaceId.trim()?null:"缺少 AgentKit 智能体中心";const i=yx(e.name);return i||(t.has(e.name)?"Agent 名称在当前结构中必须唯一":e.description.trim().length===0?"缺少描述":Nde(e.agentType)?e.subAgents.length===0?"缺少子 Agent":null:e.instruction.trim().length===0?"缺少系统提示词":null)}function lfe(e,t,n=[]){const i=[],r=nA(e.agentType),s=kct(e,t,n.length===0);return s&&i.push({path:n,name:r?"远程 Agent":e.name.trim()||"未命名",typeLabel:Ade(e.agentType).label,problem:s}),kM(e)&&e.subAgents.forEach((a,o)=>i.push(...lfe(a,t,[...n,o]))),i}function Tct(e){return`${e.typeLabel}至少需要添加一个子 Agent 后才能调试或发布。`}function cfe(e){return 1+e.subAgents.reduce((t,n)=>t+cfe(n),0)}function ufe(e){const t=iA(e),n=[],i={...t.envValues},r=t.draft.cloudProvider??"volcengine";let s=!1;for(const l of qde(t.draft,bc(r))){const u=[{key:l.apiKeyKey,required:!0,comment:l.label}];l.providerKey&&(u.push({key:l.providerKey,required:!0}),i[l.providerKey]=l.provider),l.apiBaseKey&&(u.push({key:l.apiBaseKey,required:!0}),i[l.apiBaseKey]=l.apiBase),n.push({env:u})}const a=l=>{var u,d,f,h;l.agentType==="llm"&&V0(l,r)==="ark"&&(s=!0);for(const p of l.builtinTools??[]){const m=hp.find(g=>g.id===p);m&&n.push({env:Av(m.env,r)})}for(const p of l.mcpTools??[])p.authTokenEnv&&n.push({env:[{key:p.authTokenEnv,required:!1,comment:`${p.name.trim()||"MCP"} Bearer Token`}]});if((u=l.a2aRegistry)!=null&&u.enabled&&(n.push({env:Hee}),Object.assign(i,afe(l.a2aRegistry,{includeDefaults:!0}))),l.memory.shortTerm&&n.push({env:Av(((d=yP.find(p=>p.id===(l.shortTermBackend??"local")))==null?void 0:d.env)??[],r)}),l.memory.longTerm&&n.push({env:Av(((f=xP.find(p=>p.id===(l.longTermBackend??"local")))==null?void 0:f.env)??[],r)}),l.knowledgebase&&n.push({env:Av(((h=SP.find(p=>p.id===(l.knowledgebaseBackend??Jd)))==null?void 0:h.env)??[],r)}),l.tracing)for(const p of l.tracingExporters??[]){const m=TRe.find(g=>g.id===p);m&&n.push({env:m.env,enableFlag:m.enableFlag})}l.subAgents.forEach(a)};a(t.draft),s&&(n.push({env:[{key:"MODEL_AGENT_PROVIDER",required:!0},{key:"MODEL_AGENT_API_BASE",required:!0},{key:"MODEL_AGENT_API_KEY",required:!0,comment:"Ark API Key",placeholder:"由所选 API Key 注入",secret:!0,readOnly:!0,serverManaged:!0}]}),i.MODEL_AGENT_PROVIDER="openai",i.MODEL_AGENT_API_BASE=bc(r));const o=kde(n);return{specs:o.specs,fixedValues:{...o.fixedValues,...i}}}function _ct(e,t){const n=i=>(i??"").trim().replace(/\/+$/,"");return n(e)===n(t)}function Act(e,t,n){const i=(e??"").trim();return!i||i===vy(t)?!0:i===vy(n)?!1:n==="byteplus"&&i.includes("doubao-")}function mh(e,t){const n=e.cloudProvider??"volcengine",i=V0(e,n),r=e.subAgents.map(u=>mh(u,t)),s=i==="ark"&&Act(e.modelName,n,t)?vy(t):e.modelName,o=_ct(e.modelApiBase,bc(n))||t==="byteplus"&&(e.modelApiBase??"").includes("volces.com")?bc(t):e.modelApiBase;return e.cloudProvider!==t||s!==e.modelName||o!==e.modelApiBase||r.some((u,d)=>u!==e.subAgents[d])?{...e,cloudProvider:t,modelName:s,modelApiBase:o,subAgents:r}:e}function Nct(e,t){var o;const n=mh(e,t),i=Hde(n,bc(t)),r=new Set(i.map(({key:l})=>l)),s=((o=n.deployment)==null?void 0:o.envValues)??{},a=Object.fromEntries(Object.entries(s).filter(([l,u])=>r.has(l)&&!!u.trim()));return Object.keys(a).length===0?{draft:n,customModelSecretValues:a}:{draft:{...n,deployment:{...n.deployment??{feishuEnabled:!1},envValues:Object.fromEntries(Object.entries(s).filter(([l])=>!r.has(l)))}},customModelSecretValues:a}}function dfe(e){var i,r,s;const t=iA(e).draft;return{...Wde(t,t.cloudProvider??"volcengine"),deployment:{feishuEnabled:!!((i=e.deployment)!=null&&i.feishuEnabled),modelApiKeyId:((r=e.deployment)==null?void 0:r.modelApiKeyId)??"",modelApiKeyName:((s=e.deployment)==null?void 0:s.modelApiKeyName)??""}}}function TM(e){var n;const t=(n=e.modelName)==null?void 0:n.trim();if(t)return t;for(const i of e.subAgents){const r=TM(i);if(r)return r}return""}function ffe(e,t={}){var r,s,a,o;const n=ufe(e),i={...((r=e.deployment)==null?void 0:r.envValues)??{},...t,...n.fixedValues};return{...dfe(e),deployment:{feishuEnabled:!!((s=e.deployment)!=null&&s.feishuEnabled),modelApiKeyId:((a=e.deployment)==null?void 0:a.modelApiKeyId)??"",modelApiKeyName:((o=e.deployment)==null?void 0:o.modelApiKeyName)??"",envValues:Object.fromEntries(Tde(n.specs,i).map(({key:l,value:u})=>[l,u]))}}}function Cct(e,t={}){return JSON.stringify(ffe(e,t))}function Vk(e,t){return JSON.stringify({draftSnapshot:e,modelName:t.modelName,description:t.description,instruction:t.instruction,optimizations:t.optimizations})}function Qm(e){return JSON.stringify({modelName:e.modelName.trim(),description:e.description.trim(),instruction:e.instruction.trim(),optimizations:e.optimizations})}function Rct({enabled:e,disabledReason:t,variants:n,draftSnapshot:i,input:r,onInput:s,onSend:a,onStartVariant:o,onDeployVariant:l,onAddVariant:u,onRemoveVariant:d,onToggleConfig:f,onCompleteConfig:h,onConfigChange:p,onOpenTrace:m}){const g=n.filter(S=>S.phase!=="ready"?!1:S.runtimeSnapshot===Vk(i,S)),y=n.some(S=>S.phase==="sending"),b=g.length>0&&!y;return c.jsxs("section",{className:"cw-ab-workspace","aria-label":"A/B 调试工作台",children:[c.jsx("div",{className:"cw-ab-stage",children:e?c.jsx("div",{className:"cw-ab-grid",style:{"--cw-ab-column-count":n.length},children:n.map((S,x)=>{const v=S.modelName.trim(),E=S.description.trim(),w=S.instruction.trim(),k=Qm(S),_=!!(v&&E&&w&&n.findIndex(B=>Qm(B)===k)!==x),C=!v||!E||!w||_,A=!!(S.runtimeSnapshot&&S.runtimeSnapshot!==Vk(i,S)),R=S.phase==="starting",j=S.phase==="ready"&&!A,Q=R||S.phase==="sending",L=j&&S.phase!=="sending"&&S.messages.some(B=>B.role==="assistant"),D=Q||S.configOpen||C,N=v?E?w?_?"该配置与已有测试组相同":"":"请填写系统提示词":"请填写描述":"请先选择模型",M=R?"正在启动":A?"应用配置并重启":j||S.phase==="error"?"重新启动环境":"启动环境";return c.jsx("article",{className:"cw-ab-card",children:c.jsxs("div",{className:`cw-ab-card-inner${S.configOpen?" is-flipped":""}`,children:[c.jsxs("section",{className:"cw-ab-card-face cw-ab-card-front","aria-hidden":S.configOpen,children:[c.jsxs("header",{className:"cw-ab-card-head",children:[c.jsxs("div",{className:"cw-ab-card-title",children:[c.jsx("strong",{children:S.name}),c.jsx("span",{children:S.modelName||"默认模型"})]}),c.jsxs("div",{className:"cw-ab-card-actions",children:[c.jsx("button",{type:"button",className:"cw-ab-config-trigger",disabled:S.configOpen||Q,onClick:()=>f(S.id),children:"测试配置"}),S.id!=="baseline"&&c.jsx("button",{type:"button",className:"cw-ab-remove","aria-label":`删除${S.name}`,disabled:S.configOpen||Q,onClick:()=>d(S.id),children:c.jsx(XX,{className:"cw-i"})})]})]}),c.jsx("div",{className:"cw-ab-conversation",children:S.error?c.jsx(Fk,{message:S.error,className:"cw-debug-error-detail",defaultExpanded:!0}):R?c.jsxs("div",{className:"cw-ab-empty cw-ab-starting",children:[c.jsx(qn,{className:"cw-i cw-spin"}),c.jsx("span",{children:"正在创建独立测试环境"})]}):A?c.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:c.jsx("span",{children:"配置已变更,请重新启动此环境"})}):S.messages.length===0?c.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:j?c.jsxs(c.Fragment,{children:[c.jsx("strong",{className:"cw-ab-ready-title",children:"已就绪"}),c.jsx("span",{className:"cw-ab-launch-hint",children:"可在下方输入测试消息"})]}):c.jsx("span",{className:"cw-ab-launch-hint",children:N||"启动环境后即可加入本轮测试"})}):S.messages.map((B,$)=>c.jsx("div",{className:`cw-debug-msg cw-debug-msg-${B.role}`,children:c.jsx("div",{className:"cw-debug-content",children:B.role==="user"?B.content:B.error?c.jsx(Fk,{message:B.error,className:"cw-debug-msg-error",defaultExpanded:!0}):B.blocks&&B.blocks.length>0?c.jsx(z5,{blocks:B.blocks,onAction:()=>{}}):B.content?B.content:$===S.messages.length-1&&S.phase==="sending"?c.jsx(Jie,{}):null})},$))}),c.jsxs("footer",{className:"cw-ab-deploy-footer",children:[c.jsx("button",{type:"button",className:"cw-ab-trace",disabled:!L,title:L?`查看${S.name}调用链路`:"完成一次调试后可查看调用链路",onClick:()=>m(S.id),children:"调用链路"}),c.jsxs("button",{type:"button",className:"cw-ab-start cw-ab-footer-start",disabled:D,title:N||void 0,onClick:()=>o(S.id),children:[j||A||S.phase==="error"?c.jsx(p1e,{className:"cw-i"}):c.jsx(oct,{className:"cw-i cw-debug-run-icon"}),M]}),c.jsx("button",{type:"button",className:"cw-ab-deploy",disabled:Q||!v,onClick:()=>l(S.id),children:"部署该配置"})]})]}),c.jsxs("section",{className:"cw-ab-card-face cw-ab-card-back","aria-hidden":!S.configOpen,children:[c.jsxs("header",{className:"cw-ab-config-head",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"测试配置"}),c.jsx("span",{children:S.name})]}),c.jsxs("div",{className:"cw-ab-config-head-actions",children:[S.id!=="baseline"&&c.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger cw-ab-config-remove","aria-label":`删除${S.name}`,title:"删除配置组",disabled:Q,onClick:()=>d(S.id),children:c.jsx(XX,{className:"cw-i cw-i-sm"})}),c.jsxs("span",{className:`cw-ab-config-done-wrap${N?" is-disabled":""}`,tabIndex:N?0:void 0,children:[c.jsx("button",{type:"button",className:"cw-ab-config-done",disabled:!S.configOpen||C,onClick:()=>h(S.id),children:S.id==="baseline"?"完成配置":"完成并启动"}),N&&c.jsx("span",{className:"cw-ab-config-done-tip",role:"tooltip",children:N})]})]})]}),c.jsxs("div",{className:"cw-ab-config",children:[c.jsxs("label",{children:[c.jsx("span",{children:"模型"}),c.jsx("input",{value:S.modelName,placeholder:"使用 Agent 当前模型",disabled:!S.configOpen,onChange:B=>p(S.id,"modelName",B.target.value)})]}),c.jsxs("label",{children:[c.jsx("span",{children:"描述"}),c.jsx("textarea",{rows:2,value:S.description,disabled:!S.configOpen,onChange:B=>p(S.id,"description",B.target.value)})]}),c.jsxs("label",{children:[c.jsx("span",{children:"系统提示词"}),c.jsx("textarea",{rows:5,value:S.instruction,disabled:!S.configOpen,onChange:B=>p(S.id,"instruction",B.target.value)})]}),c.jsxs("fieldset",{className:"cw-ab-optimizations-disabled",children:[c.jsxs("legend",{children:[c.jsx("span",{children:"优化选项"}),c.jsx("em",{children:"待开放"})]}),c.jsx("div",{className:"cw-ab-optimization-list",children:hfe.map(B=>c.jsx(q3,{checked:S.optimizations.includes(B.id),disabled:!0,label:B.label,className:"cw-ab-optimization-checkbox"},B.id))})]}),c.jsx("p",{children:"设置完成后返回正面,再启动当前测试环境。"})]})]})]})},S.id)})}):c.jsx("div",{className:"cw-debug-empty",children:t})}),c.jsxs("div",{className:"cw-ab-composer",children:[c.jsxs("div",{className:"cw-debug-composerbox",children:[c.jsx("textarea",{className:"cw-debug-input",rows:1,value:r,placeholder:b?"输入测试消息,将发送到所有已启动测试组...":"请先启动至少一个测试组",disabled:!b,onChange:S=>s(S.target.value),onKeyDown:S=>{v3(S.nativeEvent)||S.key==="Enter"&&!S.shiftKey&&(S.preventDefault(),a())}}),c.jsx("button",{type:"button",className:"cw-debug-send",title:"发送",disabled:!b||!r.trim(),onClick:a,children:y?c.jsx(qn,{className:"cw-i cw-spin"}):c.jsx(Fxe,{className:"cw-i"})})]}),e&&n.length<3&&c.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft cw-ab-add",onClick:u,children:[c.jsx(Ls,{className:"cw-i"}),"添加对照组"]})]})]})}const Rv=[{id:"build",label:"架构"},{id:"validate",label:"调试"},{id:"publish",label:"发布"}],hfe=[{id:"context",label:"上下文优化",description:"压缩历史对话,保留与当前任务相关的信息"},{id:"grounding",label:"幻觉抑制",description:"对不确定内容要求依据,并明确表达未知"},{id:"tools",label:"工具调用优化",description:"减少重复调用,优先复用可信的工具结果"},{id:"latency",label:"响应加速",description:"缓存稳定上下文,降低重复推理开销"}];function Ict({mode:e}){const t=e==="validate"?"调试您的智能体":e==="publish"?"准备好部署您的智能体":"个性化您的智能体架构";return c.jsx("header",{className:"cw-workspace-header",children:c.jsx("h1",{children:t})})}function Pct({mode:e,busy:t,onChange:n,assistant:i}){const r=Rv.findIndex(o=>o.id===e),s=Rv[r-1],a=Rv[r+1];return c.jsxs("footer",{className:"cw-workspace-footer",children:[c.jsxs("div",{className:`cw-workspace-nav-actions${i?" has-assistant":""}`,children:[c.jsx("button",{type:"button",className:`cw-workspace-nav-button${e==="build"?" is-placeholder":""}`,"aria-hidden":e==="build"||void 0,tabIndex:e==="build"?-1:0,disabled:!s||t,onClick:()=>s&&n(s.id),children:"上一步"}),c.jsx("span",{"aria-hidden":"true"}),i?c.jsx("div",{className:"cw-workspace-ai-slot",children:i}):null,e==="publish"?c.jsx("div",{id:"cw-publish-primary-action",className:"cw-publish-action-slot"}):c.jsx("button",{type:"button",className:"cw-workspace-nav-button is-primary",disabled:!a||t,onClick:()=>a&&n(a.id),children:"下一步"})]}),c.jsx("nav",{className:"cw-workspace-progress","aria-label":"Agent 创建进度",children:Rv.map((o,l)=>{const u=o.id===e;return c.jsx("button",{type:"button",className:`${u?"is-active":""}${ln(o.id),children:c.jsx("span",{"aria-hidden":"true"})},o.id)})})]})}function jct({onBack:e,onCreate:t,onAgentAdded:n,initialDraft:i,features:r,onDeploymentTaskChange:s,createMode:a="custom",deploymentTarget:o,cloudProvider:l="volcengine",initialDeployRegion:u=Ui(l),onDeploymentComplete:d,onDeploymentStarted:f,onDraftChange:h,onDiscard:p}){var jl,Nr,go,As,Yo,es,Ml,Go,re,ne,Pe,Ve,pt,Fe,Pt,In,At,Dn;const[m]=O.useState(()=>Nct(i??Bo(l),l)),[g,y]=O.useState(m.draft),[b,S]=O.useState(m.customModelSecretValues),x=((jl=g.deployment)==null?void 0:jl.runtimeName)??"",v=o?o.name:Jet(g.name,x,(Nr=g.deployment)==null?void 0:Nr.runtimeNameCustomized),E=b;O.useEffect(()=>{y(Z=>mh(Z,l))},[l]);const[w,k]=O.useState(""),[_,C]=O.useState(!1),[A,R]=O.useState(!1),[j,Q]=O.useState(!1),[L,D]=O.useState(null),N=w.trim(),M=N.length>0&&N.length{X.current=h},[h]),O.useEffect(()=>{var Z;I!==$.current&&($.current=I,(Z=X.current)==null||Z.call(X,mh(g,l),G))},[l,g,G,I]);const[U,Y]=O.useState("build"),[ae,fe]=O.useState(!1),[ke,K]=O.useState(0),[ie,le]=O.useState(null),[ge,Ee]=O.useState(!1),[Ce,_e]=O.useState((o==null?void 0:o.region)??u),he=(r==null?void 0:r.generatedAgentTestRun)===!0,te=(r==null?void 0:r.generatedAgentTestRunDisabledReason)||"当前后端暂不支持生成 Agent 调试运行。",[Te,me]=O.useState(()=>{const Z=mh(i??Bo(l),l);return[{id:"baseline",name:"基准组",modelName:TM(Z),description:Z.description,instruction:Z.instruction,optimizations:[],configOpen:!1,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]}),[Be,je]=O.useState("baseline"),Ue=O.useRef(1),st=O.useRef(!1),ct=O.useRef(new Map),[Tt,at]=O.useState(0),[q,oe]=O.useState(""),[de,Ie]=O.useState(null),[ce,Me]=O.useState(!1),[Ye,dt]=O.useState(!1),Gt=O.useRef(null),[Ct,Dt]=O.useState(""),[vt,Wt]=O.useState(!1),[gt,ft]=O.useState([]),Rt=O.useRef(null),rn=O.useRef({});async function ln(){const Z=new Set([...ct.current.values()].map(({run:Ze})=>Ze.runId)),ve=G3().filter(Ze=>!Z.has(Ze));ve.length&&await Promise.all(ve.map(async Ze=>{try{await em(Ze),DO(Ze)}catch(Ot){console.warn("清理遗留调试运行失败",Ot)}}))}O.useEffect(()=>(ln(),()=>{for(const{run:Z}of ct.current.values())em(Z.runId).then(()=>DO(Z.runId)).catch(ve=>console.warn("清理调试运行失败",ve));ct.current.clear()}),[]),O.useEffect(()=>()=>{var Z;(Z=Gt.current)==null||Z.call(Gt,!1),Gt.current=null},[]);const Ae=O.useRef(null);Ae.current||(Ae.current=({meta:Z,children:ve})=>c.jsxs("section",{ref:Ze=>{rn.current[Z.id]=Ze},id:`cw-sec-${Z.id}`,"data-step-id":Z.id,className:"cw-section",children:[c.jsx("header",{className:"cw-sec-head",children:c.jsx("h2",{className:"cw-sec-title",children:Z.label})}),c.jsx("div",{className:"cw-sec-body",children:ve})]}));const qe=Sct(g,gt)?gt:[],$e=Cv(g,qe),pn=qe.length===0,bn=`cw-a2a-registry-advanced-${qe.join("-")||"root"}`,It=Z=>y(ve=>v1(ve,qe,Ze=>({...Ze,...Z}))),pe=(Z,ve)=>y(Ze=>{var Ot;return{...Ze,deployment:{...Ze.deployment??{feishuEnabled:!1},envValues:{...((Ot=Ze.deployment)==null?void 0:Ot.envValues)??{},[Z]:ve}}}}),Qe=Z=>It({a2aRegistry:{...$e.a2aRegistry??{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},...Z}}),yt=(Z,ve)=>{if(!(Z in qX))return;const Ze=qX[Z];Qe({[Ze]:ve}),pe(Z,ve)},mn=Z=>{if(!(pn&&Z==="a2a")){if(Z==="a2a"){It({agentType:Z,a2aRegistry:{...$e.a2aRegistry??{registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},enabled:!0}});return}It({agentType:Z,a2aRegistry:$e.a2aRegistry?{...$e.a2aRegistry,enabled:!1}:void 0})}},wn=(Z,ve)=>{y(Z),ve&&ft(ve)},Jt=async()=>{const Z=w.trim();if(!(!Z||_)&&!(Z.length{const ve=Cv(g,Z);if(!kM(ve)||Z.length>=YX)return;const Ze=vct(g,Z,l),Ot=Cv(Ze,Z).subAgents.length-1;wn(Ze,[...Z,Ot])},Fn=(Z,ve)=>{const Ze=Cv(g,Z);if(!kM(Ze)||Z.length>=YX)return;const Ot=Math.max(0,Math.min(ve,Ze.subAgents.length)),Ci=wct(g,Z,Ot,l);wn(Ci,[...Z,Ot])},xe=()=>{window.confirm("清空根 Agent 的全部配置和子 Agent?此操作无法撤销。")&&(y(Bo(l)),ft([]),fe(!1))},Ge=Z=>{if(Z.length===0){xe();return}wn(Ect(g,Z),Z.slice(0,-1))},Nt=$e.builtinTools??[],Kt=O.useMemo(()=>Yee(l),[l]),sn=O.useMemo(()=>new Set(Kt.map(Z=>Z.id)),[Kt]),Vn=$e.mcpTools??[],xi=$e.selectedSkills??[],di=Z=>{sn.has(Z)&&It({builtinTools:Nt.includes(Z)?Nt.filter(ve=>ve!==Z):[...Nt,Z]})},Hn=Nde($e.agentType),En=nA($e.agentType),Zn=V0($e,l),Si=Z=>{var Ze;const ve=Z==="custom"&&Zn==="ark"?"":Z==="ark"&&!((Ze=$e.modelName)!=null&&Ze.trim())?vy(l):$e.modelName;It({modelSource:Z,modelName:ve})},Zt=O.useMemo(()=>Ftt(g),[g]),Yn=En?null:yx($e.name)??(Zt.has($e.name)?"Agent 名称在当前结构中必须唯一":null),mr=Yn!==null,er=!En&&$e.description.trim().length===0,gn=$e.instruction.trim().length===0,Li=En&&!((go=$e.a2aRegistry)!=null&&go.registrySpaceId.trim()),kn=Z=>ae&&Z?`is-error cw-error-shake-${ke%2}`:"",fn=O.useMemo(()=>lfe(g,Zt),[g,Zt]),Di=fn.length===0,Ft=O.useMemo(()=>mh(g,l),[l,g]),vi=O.useMemo(()=>Cct(Ft,E),[Ft,E]),Kn=Te.find(Z=>Z.id===Be)??Te[0],$i=O.useMemo(()=>ufe(Ft),[Ft]),Vt=O.useMemo(()=>Hde(Ft,bc(l)),[l,Ft]),Ai=Vt.find(Z=>Z.label===`${$e.name.trim()||"自定义模型"} 模型 API Key`),ms=Z=>{var ve;(ve=rn.current[Z])==null||ve.scrollIntoView({behavior:"smooth",block:"start"})},Fs=()=>Di?!0:(fe(!0),K(Z=>Z+1),fn[0]&&(ft(fn[0].path),window.requestAnimationFrame(()=>ms(fn[0].problem==="缺少子 Agent"?"type":"basic"))),!1),Kr=async()=>{Ie(null);const Z=[...ct.current.values()];ct.current.clear(),at(0),me(ve=>ve.map(Ze=>({...Ze,phase:"idle",runtimeSnapshot:"",messages:[],error:null}))),await Promise.all(Z.map(async({run:ve})=>{try{await em(ve.runId),DO(ve.runId)}catch(Ze){console.warn("清理调试运行失败",Ze)}}))},gr=async Z=>{const ve=ct.current.get(Z);if(ve){ct.current.delete(Z),at(ct.current.size);try{await em(ve.run.runId),DO(ve.run.runId)}catch(Ze){console.warn("清理调试运行失败",Ze)}}},Ur=Z=>{const ve=ct.current.get(Z),Ze=Te.find(Ot=>Ot.id===Z);!ve||!Ze||Ie({runId:ve.run.runId,sessionId:ve.sessionId,variantName:Ze.name})},or=Z=>{const ve=Gt.current;Gt.current=null,ve==null||ve(Z)},Qi=()=>{Ye||(Me(!1),or(!1))},Jr=async()=>{if(!Ye){dt(!0);try{await Kr(),Me(!1),or(!0)}finally{dt(!1)}}},zr=async()=>U!=="validate"||Tt===0?!0:Gt.current?!1:new Promise(Z=>{Gt.current=Z,Me(!0)}),tr=async Z=>{var Ze;if(!await zr())return;if(Dt(""),!Fs()){Y("build");return}const ve=_de($i.specs,((Ze=Ft.deployment)==null?void 0:Ze.envValues)??{});if(ve){Dt(`${ve.spec.comment||ve.spec.key}:${ve.error}`),Y("build");return}Ee(!0);try{const Ot=Z?Te.find(Bt=>Bt.id===Z):Kn;Ot&&je(Ot.id);const Ci=Ot?{...Ft,modelName:Ot.modelName||Ft.modelName,description:Ot.description,instruction:Ot.instruction}:Ft,Jn=await jD(dfe(Ci));Ci!==g&&y(Ci),le(Jn),Y("publish")}catch(Ot){Dt(Ot instanceof Error?Ot.message:String(Ot))}finally{Ee(!1)}},Fr=async Z=>{if(!he||ge||!Fs())return;const ve=Te.find(nr=>nr.id===Z);if(!ve||ve.phase==="starting"||ve.phase==="sending")return;const Ze=ve.modelName.trim(),Ot=ve.description.trim(),Ci=ve.instruction.trim(),Jn=Qm(ve),Bt=Te.findIndex(nr=>nr.id===Z),$t=Te.findIndex(nr=>Qm(nr)===Jn);if(!Ze||!Ot||!Ci||$t!==Bt)return;const an=Vk(vi,ve);me(nr=>nr.map(Vr=>Vr.id===Z?{...Vr,configOpen:!1,phase:"starting",messages:[],error:null}:Vr)),oe("");let $n=null,Ns="unknown";const it=Z==="baseline"?"baseline":"comparison",ua=Btt({agentId:String(Ft.name||"unknown"),variantType:it});try{await gr(Z),await ln();const nr={...Ft,modelName:ve.modelName||Ft.modelName,description:ve.description,instruction:ve.instruction};Ns="create_test_run",$n=await SK(ffe(nr,E),o?{runtimeId:o.runtimeId,region:o.region}:void 0),rct($n.runId),Ns="create_test_session";const Vr=await vK($n.runId,"test_user");ct.current.set(Z,{run:$n,sessionId:Vr}),at(ct.current.size),me(Qn=>Qn.map(qs=>qs.id===Z?{...qs,phase:"ready",runtimeSnapshot:an}:qs)),ua.succeed({debugRunId:String($n.runId)})}catch(nr){if($n)try{await em($n.runId),DO($n.runId)}catch(Vr){console.warn("清理调试运行失败",Vr)}me(Vr=>Vr.map(Qn=>Qn.id===Z?{...Qn,phase:"error",runtimeSnapshot:"",error:nr instanceof Error?nr.message:String(nr)}:Qn)),ua.fail({failedPhase:Ns,...xa(nr,{phase:Ns})})}},Vs=async()=>{const Z=q.trim(),ve=Te.filter(Ot=>Ot.phase==="ready"&&Ot.runtimeSnapshot===Vk(vi,Ot)&&ct.current.has(Ot.id));if(!Z||ve.length===0)return;oe("");const Ze=new Set(ve.map(Ot=>Ot.id));me(Ot=>Ot.map(Ci=>Ze.has(Ci.id)?{...Ci,phase:"sending",messages:[...Ci.messages,{role:"user",content:Z},{role:"assistant",content:"",blocks:[]}]}:Ci)),await Promise.all(ve.map(async Ot=>{const Ci=ct.current.get(Ot.id);if(Ci)try{let Jn=uu();for await(const Bt of EK({runId:Ci.run.runId,userId:"test_user",sessionId:Ci.sessionId,text:Z})){const $t=Bt.error||Bt.errorMessage||Bt.error_message;if($t||(Jn=NE(Jn,Bt)),me(an=>an.map($n=>{if($n.id!==Ot.id)return $n;const Ns=[...$n.messages],it={...Ns[Ns.length-1]};return $t?it.error=String($t):(it.content=Jn.blocks.filter(ua=>ua.kind==="text").map(ua=>ua.text).join(""),it.blocks=Jn.blocks),Ns[Ns.length-1]=it,{...$n,messages:Ns}})),$t)break}}catch(Jn){me(Bt=>Bt.map($t=>{if($t.id!==Ot.id)return $t;const an=[...$t.messages],$n={...an[an.length-1]};return $n.error=Jn instanceof Error?Jn.message:String(Jn),an[an.length-1]=$n,{...$t,messages:an}}))}finally{me(Jn=>Jn.map(Bt=>Bt.id===Ot.id?{...Bt,phase:"ready"}:Bt))}}))},Zu=()=>{me(Z=>{if(Z.length>=3)return Z;const ve=Ue.current++,Ze=`variant-${ve}`;return[...Z,{id:Ze,name:`对照组 ${ve}`,modelName:g.modelName??"",description:g.description,instruction:g.instruction,optimizations:[],configOpen:!0,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]})},po=async Z=>{await gr(Z),me(ve=>ve.filter(Ze=>Ze.id!==Z)),Be===Z&&je("baseline")},mo=(Z,ve)=>me(Ze=>Ze.map(Ot=>Ot.id===Z?{...Ot,...ve}:Ot)),Ni=(Z,ve,Ze)=>{Z==="baseline"&&ve==="modelName"&&(st.current=!0),mo(Z,{[ve]:Ze}),!(Be!==Z||Z==="baseline")&&je("baseline")},Pc=Z=>{const ve=Te.find(an=>an.id===Z);if(!ve)return;const Ze=ve.modelName.trim(),Ot=ve.description.trim(),Ci=ve.instruction.trim(),Jn=Qm(ve),Bt=Te.findIndex(an=>an.id===Z),$t=Te.findIndex(an=>Qm(an)===Jn);if(!(!Ze||!Ot||!Ci||$t!==Bt)){if(Z==="baseline"){mo(Z,{configOpen:!1});return}Fr(Z)}},He=async(Z,ve,Ze)=>{var Jn;const Ot=(Jn=g.deployment)==null?void 0:Jn.network,Ci=Ot&&Ot.mode&&Ot.mode!=="public"?{mode:Ot.mode,vpc_id:Ot.vpcId,subnet_ids:Ot.subnetIds,enable_shared_internet_access:Ot.enableSharedInternetAccess}:void 0;return RT(Z.name,Z.files,{region:(o==null?void 0:o.region)??Ce,projectName:"default",network:Ci},{...Ze,onStage:ve,runtimeId:o==null?void 0:o.runtimeId,runtimeName:v,appName:o==null?void 0:o.appName,description:g.description})},gs=()=>{Fs()&&(me(Z=>Z.map(ve=>ve.id==="baseline"&&!ct.current.has(ve.id)?{...ve,modelName:st.current?ve.modelName:TM(Ft),description:Ft.description,instruction:Ft.instruction}:ve)),Y("validate"))},La=async Z=>{if(Z==="publish"){if(!Fs())return;ie?Y("publish"):tr();return}if(Z==="validate"){gs();return}await zr()&&Y(Z)},Or=Ae.current,Xs=Z=>act.find(ve=>ve.id===Z),Ku=c.jsx("section",{className:`cw-ai-compose${_?" is-generating":""}${A?" is-success":""}`,"aria-label":"AI 自动填写 Agent 配置",children:c.jsx(Zd,{initial:!1,mode:"wait",children:A?c.jsxs(dr.div,{className:"cw-ai-compose-success",role:"status",initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.22,ease:[.22,1,.36,1]},children:[c.jsx("span",{className:"cw-ai-success-check","aria-hidden":!0}),c.jsx("strong",{children:"生成成功"}),c.jsx("button",{type:"button",className:"cw-ai-regenerate",onClick:()=>R(!1),children:"重新生成"})]},"success"):c.jsxs(dr.div,{className:"cw-ai-compose-entry",initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.2,ease:[.22,1,.36,1]},children:[c.jsxs("form",{className:"cw-ai-compose-form",onSubmit:Z=>{Z.preventDefault(),Jt()},children:[c.jsx("input",{type:"text",value:w,maxLength:8e3,disabled:_,placeholder:`描述目标,使用 ${aSe(l)} 模型一键生成配置`,"aria-invalid":!!M,"aria-describedby":M?"ai-requirement-error":void 0,onChange:Z=>k(Z.target.value),onKeyDown:Z=>{Z.key==="Enter"&&(Z.preventDefault(),Jt())}}),c.jsx("button",{type:"submit",disabled:_||!N||!!M,"aria-label":_?"正在智能生成":"智能生成",children:_?c.jsx("span",{className:"cw-ai-orb","aria-hidden":!0,children:c.jsx("span",{})}):"智能生成"})]}),M&&c.jsx("p",{className:"cw-ai-requirement-error",id:"ai-requirement-error",role:"alert",children:M})]},"compose")})});return c.jsxs("div",{className:`cw-root is-${U}`,children:[c.jsx(Ict,{mode:U}),Ct&&c.jsx(Fk,{className:"cw-workspace-alert",message:Ct}),c.jsxs("main",{className:"cw-workspace-main",id:"cw-workspace-main",children:[U==="build"&&c.jsx("div",{className:"cw-build-workspace",children:c.jsxs("div",{className:"cw-editor",children:[c.jsx(My,{draft:g,direction:"horizontal",selectedPath:qe,onSelect:ft,onAdd:ui,onInsert:Fn,onDelete:Ge}),c.jsx("div",{className:"cw-detail",children:c.jsx("div",{className:"cw-detail-scroll",ref:Rt,children:c.jsx("div",{className:"cw-detail-inner",children:c.jsx("div",{className:"cw-lower",children:c.jsxs("div",{className:"cw-form-col",children:[c.jsxs(Or,{meta:Xs("type"),children:[c.jsx(lb,{className:"cw-agent-type-options","aria-label":"Agent 类型",value:$e.agentType??"llm",onChange:mn,children:Bot.map(Z=>{const ve=($e.agentType??"llm")===Z.id,Ze=pn&&Z.id==="a2a",Ot=Ze?"cw-remote-agent-disabled-hint":void 0;return c.jsxs("div",{"data-agent-type":Z.id,className:`cw-agent-type-option ${ve?"is-on":""} ${Ze?"is-disabled":""}`,tabIndex:Ze?0:void 0,"aria-describedby":Ot,children:[c.jsx(lb.Item,{value:Z.id,disabled:Ze,block:!0,className:"cw-agent-type-control",children:c.jsx("span",{className:"cw-agent-type-copy",children:c.jsx("strong",{children:lct[Z.id]})})}),Ze&&c.jsx("span",{id:Ot,className:"cw-agent-type-disabled-hint",role:"tooltip",children:"远程智能体只能作为子步骤使用"})]},Z.id)})}),ae&&Hn&&$e.subAgents.length===0&&c.jsx("span",{className:"cw-error-text",children:Tct({name:$e.name.trim()||"未命名",typeLabel:Ade($e.agentType).label})})]}),c.jsx(Or,{meta:Xs("basic"),children:c.jsxs("div",{className:"cw-form",children:[!En&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"cw-field",children:[c.jsxs("label",{className:"cw-label",children:[pn?"Agent 名称":"名称",c.jsx("span",{className:"cw-req",children:"*"})]}),c.jsx("input",{className:`cw-input ${kn(mr)}`,value:$e.name,placeholder:"assistant",onChange:Z=>It({name:Z.target.value})}),ae&&Yn?c.jsx("span",{className:"cw-error-text",children:Yn}):c.jsx("span",{className:"cw-help",children:"遵循 Google ADK 命名规则,且在执行流程中保持唯一。"})]}),c.jsxs("div",{className:"cw-field",children:[c.jsxs("label",{className:"cw-label",children:[pn?"描述":"智能体描述",c.jsx("span",{className:"cw-req",children:"*"})]}),c.jsx("textarea",{className:`cw-textarea cw-textarea-sm ${kn(er)}`,value:$e.description,placeholder:"简要描述这个 Agent 的用途,便于团队识别…",onChange:Z=>It({description:Z.target.value})}),ae&&er?c.jsx("span",{className:"cw-error-text",children:"描述为必填项"}):c.jsx("span",{className:"cw-help",children:pn?"完整描述会保留;部署时会自动整理为符合 Runtime 规范的单行描述。":"描述会显示在 Agent 列表与选择器中。"})]})]}),Hn?c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"cw-section-desc cw-dependency-hint",children:"这是一个协作容器,本身不生成回答。请在左侧画布中 添加任务步骤,并通过拖拽调整它们的位置。"}),$e.agentType==="loop"&&c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"最大轮次"}),c.jsx("input",{className:"cw-input",type:"number",min:1,value:$e.maxIterations??3,onChange:Z=>It({maxIterations:Math.max(1,Number(Z.target.value)||1)})}),c.jsx("span",{className:"cw-help",children:"循环编排反复执行子 Agent,直到满足条件或达到该轮次上限。"})]})]}):En?c.jsxs("div",{className:"cw-field cw-remote-center-fields",children:[c.jsxs("div",{className:"cw-remote-center-head",children:[c.jsxs("div",{className:"cw-label",children:["AgentKit 智能体中心",c.jsx("span",{className:"cw-req",children:"*"})]}),c.jsx("p",{className:"cw-help cw-remote-center-description",children:"远程 Agent 的名称、描述和能力来自中心返回的 Agent Card。 系统会根据每轮任务动态发现并挂载匹配的 Agent。"})]}),c.jsx(gct,{value:((As=$e.a2aRegistry)==null?void 0:As.registrySpaceId)??"",region:((Yo=$e.a2aRegistry)==null?void 0:Yo.registryRegion)||bl.region,invalid:ae&&Li,onChange:Z=>yt(sfe,Z)}),c.jsxs("button",{type:"button",className:"cw-more-options","aria-expanded":vt,"aria-controls":bn,onClick:()=>Wt(Z=>!Z),children:[c.jsx("span",{children:"更多选项"}),c.jsx(m0,{className:`cw-more-options-chevron ${vt?"is-open":""}`,"aria-hidden":!0})]}),c.jsx(Zd,{initial:!1,children:vt&&c.jsx(dr.div,{id:bn,className:"cw-model-advanced",initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.18,ease:"easeOut"},children:c.jsx($O,{env:cct,values:afe($e.a2aRegistry,{includeDefaults:!1}),onChange:yt})})}),ae&&Li&&c.jsx("span",{className:"cw-error-text",children:"请选择 AgentKit 智能体中心"})]}):c.jsxs("div",{className:"cw-field",children:[c.jsxs("label",{className:"cw-label",children:["系统提示词",c.jsx("span",{className:"cw-req",children:"*"})]}),c.jsx(O.Suspense,{fallback:c.jsx("div",{className:"cw-markdown-loading",role:"status",children:"正在加载 Markdown 编辑器…"}),children:c.jsx(ict,{value:$e.instruction,invalid:gn,onChange:Z=>It({instruction:Z})})}),ae&&gn?c.jsx("span",{className:"cw-error-text",children:"系统提示词为必填项"}):c.jsx("span",{className:"cw-help",children:"支持 Markdown 快捷输入,例如键入 ## 加空格创建二级标题。"})]})]})}),!Hn&&!En&&c.jsxs(c.Fragment,{children:[c.jsx(Or,{meta:Xs("model"),children:c.jsxs("div",{className:"cw-form",children:[c.jsxs("div",{className:"cw-field cw-model-source-field",children:[c.jsx("label",{className:"cw-label",children:"模型来源"}),c.jsx(lb,{className:"cw-model-source-options","aria-label":"模型来源",value:Zn,onChange:Z=>{Z!=="gateway"&&Si(Z)},children:[{value:"ark",label:l==="byteplus"?"BytePlus ModelArk":"火山方舟"},{value:"custom",label:"自定义"},{value:"gateway",label:"模型网关",disabled:!0}].map(Z=>c.jsx("div",{className:`cw-model-source-option ${Zn===Z.value?"is-on":""}${Z.disabled?" is-disabled":""}`,children:c.jsxs(lb.Item,{value:Z.value,disabled:Z.disabled,block:!0,className:"cw-model-source-control",children:[c.jsx("span",{children:Z.label}),Z.disabled&&c.jsx("span",{className:"cw-model-source-coming-soon",children:"待上线"})]})},Z.value))})]}),Zn==="ark"?c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"模型配置"}),c.jsx(mct,{value:$e.modelName??"",cloudProvider:l,apiKeyId:(es=g.deployment)==null?void 0:es.modelApiKeyId,apiKeyName:(Ml=g.deployment)==null?void 0:Ml.modelApiKeyName,onApiKeyChange:Z=>y(ve=>({...ve,deployment:{...ve.deployment??{feishuEnabled:!1},modelApiKeyId:Z.id,modelApiKeyName:Z.name}})),onChange:Z=>It({modelName:Z})})]}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"模型名称"}),c.jsx("input",{className:"cw-input",value:$e.modelName??"",onChange:Z=>It({modelName:Z.target.value})})]}),c.jsxs("div",{className:"cw-field",children:[c.jsxs("label",{className:"cw-label cw-label-with-link",children:[c.jsx("span",{children:"服务商 Provider"}),c.jsxs("a",{href:"https://docs.litellm.ai/docs/providers",target:"_blank",rel:"noopener noreferrer",onClick:Z=>Z.stopPropagation(),children:["LiteLLM 支持列表",c.jsx(Ng,{"aria-hidden":"true"})]})]}),c.jsx("input",{className:"cw-input",value:$e.modelProvider??"",placeholder:"openai",onChange:Z=>It({modelProvider:Z.target.value})})]}),c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"API Base"}),c.jsx("input",{className:"cw-input",value:$e.modelApiBase??"",placeholder:bc(l),onChange:Z=>It({modelApiBase:Z.target.value})})]}),c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"API Key"}),c.jsx("input",{className:"cw-input",type:"password",value:Ai?b[Ai.key]??"":"",placeholder:"请输入模型 API Key",autoComplete:"new-password",onChange:Z=>{if(!Ai)return;const ve=Z.currentTarget.value;S(Ze=>({...Ze,[Ai.key]:ve}))}})]})]})]})}),c.jsx(Or,{meta:Xs("tools"),children:c.jsxs("div",{className:"cw-form",children:[c.jsxs("div",{className:"cw-field",children:[c.jsx("label",{className:"cw-label",children:"内置工具"}),c.jsx("span",{className:"cw-help",children:"勾选 VeADK 提供的内置能力,生成时会自动补全 import 与所需环境变量。"}),c.jsx("div",{className:"cw-tools-list-shell",children:c.jsx(uct,{items:Kt,selected:Nt,onToggle:di,scrollRows:6})}),c.jsx(Zd,{initial:!1,children:Nt.includes("run_code")&&c.jsxs(dr.div,{className:"cw-tool-config",initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.16,ease:"easeOut"},children:[c.jsxs("div",{className:"cw-tool-config-head",children:[c.jsx("span",{className:"cw-label",children:"代码执行配置"}),c.jsx("span",{className:"cw-help",children:"指定 AgentKit 代码执行沙箱。"})]}),c.jsx($O,{env:((Go=hp.find(Z=>Z.id==="run_code"))==null?void 0:Go.env)??[],values:((re=g.deployment)==null?void 0:re.envValues)??{},onChange:pe})]})})]}),c.jsxs("div",{className:"cw-field cw-mcp-field",children:[c.jsx("label",{className:"cw-label",children:"MCP 工具"}),c.jsx(bct,{tools:Vn,onChange:Z=>It({mcpTools:Z})})]})]})}),c.jsx(Or,{meta:Xs("skills"),children:c.jsx("div",{className:"cw-form",children:c.jsx(xct,{selected:xi,onChange:Z=>It({selectedSkills:Z}),cloudProvider:l})})}),c.jsx(Or,{meta:Xs("knowledge"),children:c.jsxs("div",{className:"cw-form cw-toggle-stack",children:[c.jsx(Nv,{checked:$e.knowledgebase,onChange:Z=>It({knowledgebase:Z}),title:"知识库",desc:"启用外部知识检索(RAG),让 Agent 基于你的资料作答。",icon:Jv}),$e.knowledgebase&&c.jsxs("div",{className:"cw-field cw-subfield",children:[c.jsx("label",{className:"cw-label",children:"知识库后端"}),c.jsx(fR,{options:SP,value:$e.knowledgebaseBackend,onChange:Z=>It({knowledgebaseBackend:Z,knowledgebaseIndex:Z==="viking"||Z==="openviking"?$e.knowledgebaseIndex:""})}),($e.knowledgebaseBackend??Jd)==="viking"&&c.jsxs("div",{className:"cw-field cw-subfield",children:[c.jsx("label",{className:"cw-label",children:"VikingDB 知识库"}),c.jsx(Oct,{value:$e.knowledgebaseIndex??"",onChange:Z=>{It({knowledgebaseIndex:Z.id}),Z.projectName&&pe("DATABASE_VIKING_PROJECT",Z.projectName),Z.region&&pe("DATABASE_VIKING_REGION",Z.region),Z.sourceKind&&pe("DATABASE_VIKING_COLLECTION_KIND",Z.sourceKind),pe("DATABASE_VIKING_RESOURCE_ID",Z.resourceId??"")}})]}),c.jsx($O,{env:((ne=SP.find(Z=>Z.id===($e.knowledgebaseBackend??Jd)))==null?void 0:ne.env)??[],values:((Pe=g.deployment)==null?void 0:Pe.envValues)??{},onChange:pe,renderAfterField:($e.knowledgebaseBackend??Jd)==="openviking"?Z=>Z.key==="DATABASE_OPENVIKING_USER_ID"?c.jsx(fct,{value:$e.knowledgebaseIndex??"",onChange:ve=>It({knowledgebaseIndex:ve})}):null:void 0})]})]})}),pn&&c.jsx(Or,{meta:Xs("memory"),children:c.jsxs("div",{className:"cw-form cw-toggle-stack",children:[c.jsx(Nv,{checked:$e.memory.shortTerm,onChange:Z=>It({memory:{...$e.memory,shortTerm:Z}}),title:"短期记忆",desc:"存储单会话上下文",showDescription:!0,icon:mZ}),$e.memory.shortTerm&&c.jsxs("div",{className:"cw-field cw-subfield",children:[c.jsx("label",{className:"cw-label",children:"短期记忆后端"}),c.jsx(fR,{options:yP,value:$e.shortTermBackend,onChange:Z=>It({shortTermBackend:Z})}),c.jsx($O,{env:((Ve=yP.find(Z=>Z.id===($e.shortTermBackend??"local")))==null?void 0:Ve.env)??[],values:((pt=g.deployment)==null?void 0:pt.envValues)??{},onChange:pe})]}),c.jsx(Nv,{checked:$e.memory.longTerm,onChange:Z=>It({memory:{...$e.memory,longTerm:Z}}),title:"长期记忆",desc:"存储跨会话上下文,通常使用向量化检索",showDescription:!0,icon:Jv}),$e.memory.longTerm&&c.jsxs("div",{className:"cw-field cw-subfield",children:[c.jsx("label",{className:"cw-label",children:"长期记忆后端"}),c.jsx(fR,{options:xP,value:$e.longTermBackend,onChange:Z=>It({longTermBackend:Z})}),c.jsx($O,{env:((Fe=xP.find(Z=>Z.id===($e.longTermBackend??"local")))==null?void 0:Fe.env)??[],values:((Pt=g.deployment)==null?void 0:Pt.envValues)??{},onChange:pe}),c.jsx(Nv,{checked:!!$e.autoSaveSession,onChange:Z=>It({autoSaveSession:Z}),title:"自动保存会话到长期记忆",desc:"会话结束时自动把内容写入长期记忆,无需手动调用。",icon:Jv})]})]})})]})]})})})})})]})}),U==="validate"&&c.jsx("div",{className:"cw-validation-workspace",children:c.jsx("div",{className:"cw-validation-content",children:c.jsx(Rct,{enabled:he,disabledReason:te,variants:Te,draftSnapshot:vi,input:q,onInput:oe,onSend:Vs,onStartVariant:Fr,onDeployVariant:Z=>void tr(Z),onAddVariant:Zu,onRemoveVariant:po,onToggleConfig:Z=>{const ve=Te.find(Ze=>Ze.id===Z);ve&&mo(Z,{configOpen:!ve.configOpen})},onCompleteConfig:Pc,onConfigChange:Ni,onOpenTrace:Ur})})}),U==="publish"&&c.jsx("div",{className:"cw-preview-body",children:ie?c.jsx(nfe,{embedded:!0,cloudProvider:l,project:ie,agentDraft:g,agentName:g.name||"未命名 Agent",agentCount:cfe(g),releaseConfiguration:Kn?{modelName:Kn.modelName||g.modelName||"默认模型",description:Kn.description,instruction:Kn.instruction,optimizations:Kn.optimizations.flatMap(Z=>{const ve=hfe.find(Ze=>Ze.id===Z);return ve?[ve.label]:[]})}:void 0,onChange:le,onDeploy:He,onAgentAdded:n,onDeploymentTaskChange:s,deploymentActionLabel:o?"更新并发布":"部署",deploymentActionTargetId:"cw-publish-primary-action",deploymentRuntimeId:o==null?void 0:o.runtimeId,deploymentRuntimeName:v,onDeploymentRuntimeNameChange:Z=>y(ve=>({...ve,deployment:{...ve.deployment??{feishuEnabled:!1},runtimeName:Z,runtimeNameCustomized:!0}})),onDeploymentStarted:f,onDeploymentComplete:d,feishuEnabled:!!((In=g.deployment)!=null&&In.feishuEnabled),onFeishuEnabledChange:Z=>{const ve={...g,deployment:{...g.deployment??{feishuEnabled:!1},feishuEnabled:Z}};y(ve)},deploymentEnv:$i.specs,requiredSecretEnv:Vt,requiredSecretEnvValues:b,onRequiredSecretEnvChange:(Z,ve)=>S(Ze=>({...Ze,[Z]:ve})),deploymentEnvValues:{...(At=Ft.deployment)==null?void 0:At.envValues,...b,...$i.fixedValues},onDeploymentEnvChange:pe,network:(Dn=g.deployment)==null?void 0:Dn.network,onNetworkChange:Z=>y(ve=>({...ve,deployment:{...ve.deployment??{feishuEnabled:!1},network:Z}})),deployRegion:Ce,onDeployRegionChange:_e,deploymentTelemetry:{source:"scratch",createMode:a,aiAssisted:j},onExportYaml:()=>sct(`${Ft.name||"agent"}.yaml`,Got(Ft),"text/yaml")}):c.jsxs("div",{className:"cw-publish-loading",role:"status",children:[c.jsx(qn,{className:"cw-i cw-spin"}),c.jsx("strong",{children:"正在生成发布配置"}),c.jsx("span",{children:"校验 Agent 结构并准备部署快照…"})]})})]}),c.jsx(Pct,{mode:U,busy:ge,onChange:La,assistant:U==="build"?Ku:void 0}),de&&c.jsx(ife,{testRunId:de.runId,sessionId:de.sessionId,title:`调用链路 · ${de.variantName}`,onClose:()=>Ie(null)}),ce&&c.jsx($_,{variant:"warning",title:"离开调试?",description:"离开调试页面后,当前环境将被清理。您可以通过重新启动环境进行新的测试。",confirmLabel:Ye?"清理中...":"确定离开",closeLabel:"关闭离开调试确认",busy:Ye,onCancel:Qi,onConfirm:()=>void Jr()}),L&&c.jsx("div",{className:"confirm-scrim",onClick:()=>D(null),children:c.jsxs("div",{className:"confirm-box cw-ai-error-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"ai-generate-error-title","aria-describedby":"ai-generate-error-message",onClick:Z=>Z.stopPropagation(),children:[c.jsx("div",{className:"confirm-title",id:"ai-generate-error-title",children:"智能生成失败"}),c.jsx("div",{className:"cw-ai-error-message",id:"ai-generate-error-message",children:L}),c.jsx("div",{className:"confirm-actions",children:c.jsx("button",{type:"button",className:"confirm-btn cw-ai-error-close",onClick:()=>D(null),children:"关闭"})})]})})]})}const GX=50*1024*1024,_M=800,Mct={name:"code_package",files:[]};function Lct(e){let n=e.replace(/\.zip$/i,"").trim().replace(/[^A-Za-z0-9_]+/g,"_").replace(/^_+|_+$/g,"");return n||(n="uploaded_agent"),/^[A-Za-z_]/.test(n)||(n=`agent_${n}`),n==="user"&&(n="uploaded_agent"),n.slice(0,64)}function Dct(e){const t=e.replace(/\\/g,"/").replace(/^\.\//,"");if(!t||t.endsWith("/"))return null;if(t.startsWith("/")||t.includes("\0"))throw new Error(`压缩包包含非法路径:${e}`);const n=t.split("/");if(n.some(i=>!i||i==="."||i===".."))throw new Error(`压缩包包含非法路径:${e}`);return n[0]==="__MACOSX"||n[n.length-1]===".DS_Store"?null:n.join("/")}function $ct(e){const t=e.flatMap(a=>{const o=Dct(a.name);return o?[{path:o,content:a.text}]:[]});if(t.length===0)throw new Error("压缩包中没有可部署的文件。");if(t.length>_M)throw new Error(`代码包文件数不能超过 ${_M} 个。`);const r=new Set(t.map(a=>a.path.split("/")[0])).size===1&&t.every(a=>a.path.includes("/"))?t.map(a=>({...a,path:a.path.split("/").slice(1).join("/")})):t,s=new Set;for(const a of r){if(s.has(a.path))throw new Error(`代码包包含重复文件:${a.path}`);s.add(a.path)}if(!s.has("app.py"))throw new Error("代码包根目录必须包含 app.py,作为 AgentKit 启动入口。");return r}function Qct({onBack:e,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,cloudProvider:s="volcengine",initialDeployRegion:a=Ui(s)}){const o=O.useRef(null),l=O.useRef(0),[u,d]=O.useState(null),[f,h]=O.useState(""),[p,m]=O.useState(!1),[g,y]=O.useState(!1),[b,S]=O.useState(!1),[x,v]=O.useState(""),[E,w]=O.useState(a),[k,_]=O.useState();O.useEffect(()=>()=>{l.current+=1},[]);async function C(Q){const L=++l.current;if(v(""),!Q.name.toLowerCase().endsWith(".zip")){v("请选择 .zip 格式的代码包。");return}if(Q.size>GX){v("代码包不能超过 50 MB。");return}y(!0);try{const D=await Zde(new Uint8Array(await Q.arrayBuffer()),{maxEntries:_M,maxUncompressedBytes:GX}),N=$ct(D);if(L!==l.current)return;h(Q.name),d({name:Lct(Q.name),files:N})}catch(D){if(L!==l.current)return;h(""),d(null),v(D instanceof Error?D.message:String(D))}finally{L===l.current&&y(!1)}}function A(Q){var D;const L=(D=Q.currentTarget.files)==null?void 0:D[0];Q.currentTarget.value="",L&&C(L)}function R(Q){var D;Q.preventDefault(),S(!1);const L=(D=Q.dataTransfer.files)==null?void 0:D[0];L&&C(L)}async function j(Q,L,D){const N=k&&k.mode!=="public"?{mode:k.mode,vpc_id:k.vpcId,subnet_ids:k.subnetIds,enable_shared_internet_access:k.enableSharedInternetAccess}:void 0;return RT(Q.name,Q.files,{region:E,projectName:"default",network:N},{...D,onStage:L})}return c.jsxs("div",{className:"package-create package-create-preview",children:[c.jsx(nfe,{cloudProvider:s,project:u??Mct,agentName:(u==null?void 0:u.name)||"代码包",onChange:u?d:void 0,onDeploy:j,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,network:k,onNetworkChange:_,deployRegion:E,onDeployRegionChange:w,deploymentTelemetry:{source:"code_package",createMode:"code_package",aiAssisted:!1},onBack:e,backLabel:"返回创建方式",deployDisabled:!u||g,deployDisabledReason:g?"正在读取代码包":u?void 0:"请先上传代码包",deploymentPrimaryPane:c.jsxs("section",{className:"package-source-pane","aria-label":"代码包上传",children:[c.jsx("div",{className:"package-source-label",children:"代码包"}),c.jsxs("div",{className:`package-dropzone${b?" is-dragging":""}${u?" is-ready":""}`,onDragEnter:Q=>{Q.preventDefault(),S(!0)},onDragOver:Q=>Q.preventDefault(),onDragLeave:Q=>{Q.currentTarget.contains(Q.relatedTarget)||S(!1)},onDrop:R,onClick:()=>{var Q;g||(Q=o.current)==null||Q.click()},onKeyDown:Q=>{var L;!g&&(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),(L=o.current)==null||L.click())},role:"button",tabIndex:g?-1:0,"aria-label":u?"重新上传代码包":"上传代码包","aria-disabled":g,children:[c.jsx("strong",{children:g?"正在读取代码包…":u?f:"请上传代码包"}),c.jsx("span",{children:u?`已识别 ${u.files.length} 个文件,点击区域可重新上传`:"点击或拖拽上传,支持 .zip 格式,最大 50 MB,根目录需包含 app.py"}),c.jsx("div",{className:"package-upload-actions",children:u&&c.jsx("button",{type:"button",className:"package-upload-secondary",onClick:Q=>{Q.stopPropagation(),m(!0)},onKeyDown:Q=>Q.stopPropagation(),children:"查看文件"})}),c.jsx("input",{ref:o,type:"file",accept:".zip,application/zip","aria-label":"选择代码包",onChange:A})]}),x&&c.jsx("div",{className:"package-create-error",role:"alert",children:x})]})}),u&&c.jsx(tfe,{project:u,open:p,onClose:()=>m(!1),onChange:d})]})}const pfe=1,Bct="MODEL_AGENT_API_KEY";function Xk(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Uct(e){return Xk(e)&&typeof e.id=="string"&&typeof e.updatedAt=="number"&&Xk(e.draft)}function sA(e){return`veadk.agentDrafts.${encodeURIComponent(e)}`}function qk(e){const t=e.deployment,n=t==null?void 0:t.envValues,i=t?{...t,...n?{envValues:Object.fromEntries(Object.entries(n).filter(([r])=>r!==Bct))}:{}}:void 0;return{...e,...i?{deployment:i}:{},subAgents:e.subAgents.map(qk),...e.workflow?{workflow:{...e.workflow,nodes:e.workflow.nodes.map(r=>({...r,agent:qk(r.agent)}))}}:{}}}function zct(e){var i;const t=iA(e),n={...((i=t.draft.deployment)==null?void 0:i.envValues)??{},...t.envValues};return!t.draft.deployment&&Object.keys(n).length===0?qk(t.draft):qk({...t.draft,deployment:{...t.draft.deployment??{feishuEnabled:!1},envValues:n}})}function mfe(e){return{...e,draft:zct(e.draft)}}function Fct(e){const t=Array.isArray(e)?e:Xk(e)&&e.version===pfe?e.drafts:void 0;if(!Array.isArray(t)||!t.every(Uct))throw Xk(e)&&typeof e.version=="number"?new Error("本机草稿版本暂不受支持,请升级 Studio 后重试。"):new Error("本机草稿数据格式无效。");return t.map(mfe)}function Vct(e,t){if(!t)return[];const n=e.getItem(sA(t));if(!n)return[];try{return Fct(JSON.parse(n))}catch(i){throw i instanceof Error&&i.message.startsWith("本机草稿")?i:new Error("无法读取本机草稿,浏览器中的草稿数据可能已损坏。")}}function WX(e,t,n){if(!t)return;const i={version:pfe,drafts:n.map(mfe)};try{e.setItem(sA(t),JSON.stringify(i))}catch(r){throw r instanceof DOMException&&(r.name==="QuotaExceededError"||r.name==="NS_ERROR_DOM_QUOTA_REACHED")?new Error("浏览器存储空间不足,草稿未保存。请删除不需要的草稿或清理此站点的浏览器存储后重试。"):new Error("浏览器拒绝保存草稿,请检查站点存储权限后重试。")}}const Xct=/[;;]/;function qct(e){const t=new Set;for(const n of e)for(const i of n.split(Xct)){const r=i.trim();r&&t.add(r)}return[...t]}function Hct(e){return[]}const Yct=3*60*1e3,Gct=3e3,Wct=10*60*1e3,Zct=45e3,Hk="veadk.studio.pending-update",K3="veadk.studio.update-handoff",ZX=[{id:"resolving",label:"读取目标版本信息"},{id:"downloading",label:"下载并校验完整更新包"},{id:"preparing",label:"准备 VeFaaS Function 代码"},{id:"provisioning",label:"检查并补齐 Studio 云资源"},{id:"submitting",label:"提交 Function 更新"},{id:"publishing",label:"发布新 Revision 并重启服务"}],Kct={resolving:"读取版本信息",downloading:"下载更新包",preparing:"准备 Function 代码",provisioning:"补齐 Studio 云资源",submitting:"提交 Function 更新",publishing:"发布 Revision",checking:"检查更新",unknown:"未知阶段"};function Jct(e){return e<60?`${e} 秒`:`${Math.floor(e/60)} 分 ${e%60} 秒`}function eut(e,t){return e===t?!0:/^\d{14}$/.test(e)&&/^\d{14}$/.test(t)&&e>t}function tut(e){return!!(e!=null&&e.some(t=>t.includes("部署应用成功")||t.toLowerCase().includes("application deployed successfully")))}function nut(){if(typeof window>"u")return null;const e=window.localStorage.getItem(Hk);if(!e)return null;try{const t=JSON.parse(e);if(typeof t.targetVersion=="string"&&typeof t.startedAt=="number")return{targetVersion:t.targetVersion,startedAt:t.startedAt}}catch{}return window.localStorage.removeItem(Hk),null}function bR(e,t){window.localStorage.setItem(Hk,JSON.stringify({targetVersion:e,startedAt:t}))}function Iv(){window.localStorage.removeItem(Hk)}function iut(){return typeof window>"u"?"":window.sessionStorage.getItem(K3)??""}function rut(e){window.sessionStorage.setItem(K3,e)}function KX(){window.sessionStorage.removeItem(K3)}function JX({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[c.jsx("path",{d:"M19.2 8.3A8 8 0 1 0 20 13"}),c.jsx("path",{d:"M19.2 4.8v3.5h-3.5"}),c.jsx("path",{d:"M12 7.8v7.7"}),c.jsx("path",{d:"m9.2 12.7 2.8 2.8 2.8-2.8"})]})}function sut(){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:c.jsx("path",{d:"m4 6 4 4 4-4"})})}function aut(){return c.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:c.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})})}function eq({lines:e,phase:t,copyState:n,onCopy:i}){const r=O.useRef(null),s=O.useRef(!0),[a,o]=O.useState(e);return O.useEffect(()=>{e.length&&o(e)},[e]),O.useEffect(()=>{const l=r.current;l&&s.current&&(l.scrollTop=l.scrollHeight)},[a]),c.jsxs("section",{className:"studio-update-live-log","aria-label":"部署进度",children:[c.jsxs("div",{className:"studio-update-log-header",children:[c.jsxs("span",{children:[c.jsx("i",{className:`is-${t}`,"aria-hidden":!0}),"部署进度",c.jsx("small",{children:t==="active"?"实时":t==="complete"?"已完成":"已停止"})]}),c.jsx("button",{type:"button",onClick:()=>i(a),disabled:!a.length,children:n==="copied"?"已复制":n==="error"?"复制失败":"复制日志"})]}),c.jsx("div",{ref:r,className:"studio-update-log-lines",role:"log","aria-live":"off","aria-busy":t==="active",tabIndex:0,onScroll:l=>{const u=l.currentTarget;s.current=u.scrollHeight-u.scrollTop-u.clientHeight<24},children:a.length?a.map((l,u)=>c.jsx("div",{children:l},`${u}-${l}`)):c.jsx("p",{children:t==="active"?"等待 VeFaaS 返回更新日志…":"本次更新未返回发布日志"})})]})}function out({variant:e="default"}){var M,B;const[t]=O.useState(nut),[n,i]=O.useState(null),[r,s]=O.useState(t?"submitting":"idle"),[a,o]=O.useState(!!t),[l,u]=O.useState(""),[d,f]=O.useState((t==null?void 0:t.targetVersion)??""),[h,p]=O.useState(!1),[m,g]=O.useState("idle"),[y,b]=O.useState(0),S=O.useRef(null),x=O.useRef((t==null?void 0:t.targetVersion)??""),v=O.useRef((t==null?void 0:t.startedAt)??0),E=O.useRef(iut()),w=O.useRef(0);O.useEffect(()=>{if(!h)return;const $=G=>{var X;G.target instanceof Node&&!((X=S.current)!=null&&X.contains(G.target))&&p(!1)},I=G=>{G.key==="Escape"&&p(!1)};return window.addEventListener("pointerdown",$),window.addEventListener("keydown",I),()=>{window.removeEventListener("pointerdown",$),window.removeEventListener("keydown",I)}},[h]);const k=O.useCallback(async()=>{const $=await dK(x.current||void 0,v.current||void 0);return i($),$},[]);if(O.useEffect(()=>{let $=!0;const I=()=>{k().catch(()=>{$&&i(X=>X)})};I();const G=window.setInterval(I,Yct);return()=>{$=!1,window.clearInterval(G)}},[k]),O.useEffect(()=>{if(r!=="submitting")return;const $=window.setInterval(()=>{k().then(I=>{const G=x.current;if(G&&eut(I.currentVersion,G)||!G&&!I.available&&I.latestVersion){const X=Date.now();if(w.current||(w.current=X),!tut(I.updateLogs)&&X-w.currentWct&&(window.clearInterval($),Iv(),s("error"),u("等待 VeFaaS 发布超时,请稍后重新检查版本"))}).catch(()=>{})},Gct);return()=>window.clearInterval($)},[r,k]),O.useEffect(()=>{r!=="idle"||(n==null?void 0:n.state)!=="updating"||(x.current=n.targetVersion,v.current=n.startedAt||Date.now(),bR(n.targetVersion,v.current),f(n.targetVersion),s("submitting"))},[r,n]),O.useEffect(()=>{if(r!=="submitting"){b(0);return}const $=()=>{const G=v.current||Date.now();b(Math.max(0,Math.floor((Date.now()-G)/1e3)))};$();const I=window.setInterval($,1e3);return()=>window.clearInterval(I)},[r]),!(n!=null&&n.enabled)||!(n.available||n.state==="updating"||r!=="idle"))return null;const C=n.releases??[],A=d||((M=C[0])==null?void 0:M.version)||n.latestVersion,R=C.find($=>$.version===A),j=qct((R==null?void 0:R.changelog)??[]),Q=async()=>{KX(),E.current="",x.current=A,v.current=Date.now(),bR(A,v.current),s("submitting"),u(""),g("idle");try{const $=await fK(A);x.current=$.version,bR($.version,v.current),u("更新已提交,正在等待 VeFaaS 发布新版本")}catch($){if($ instanceof TypeError){u("连接已切换,正在确认新版本状态");return}Iv(),s("error");const I=$ instanceof Error?$.message:"Studio 更新失败";try{const G=await k();u(G.message||I)}catch{u(I)}}},L=(B=n.updateLogs)!=null&&B.length?n.updateLogs:(n.errorLog||n.progressMessage||l).split(` `).filter(Boolean),D=async $=>{try{await navigator.clipboard.writeText($.join(` -`)),g("copied")}catch{g("error")}},N=()=>{var $;p(!1),g("idle"),u(""),f(x.current||(($=C[0])==null?void 0:$.version)||""),s("confirm")};return c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",className:e==="feature-link"?"welcome-feature-link studio-update-trigger--feature":`studio-update-trigger is-${r}`,title:r==="submitting"?"正在更新 Studio":r==="published"?"Studio 已更新":`更新 Studio 至 ${n.latestVersion}`,onClick:()=>{var $;r==="published"?window.location.reload():(r==="submitting"||r==="error"||(f((($=C[0])==null?void 0:$.version)||n.latestVersion),s("confirm")),o(!0))},children:[e!=="feature-link"&&c.jsx(ZX,{className:"studio-update-icon"}),r==="submitting"?c.jsx(hs,{as:"span",children:"正在更新"}):r==="published"?c.jsx("span",{children:"刷新使用新版"}):r==="error"?c.jsx("span",{children:"更新失败"}):e==="feature-link"?c.jsx("span",{children:"立即更新"}):c.jsx("span",{children:"有新版更新"})]}),a&&r!=="idle"&&ar.createPortal(c.jsx("div",{className:"confirm-scrim",role:"presentation",children:c.jsxs("section",{className:`confirm-box studio-update-dialog${r==="confirm"?"":" is-progress"}`,role:"dialog","aria-modal":"true","aria-labelledby":"studio-update-title",children:[c.jsx("div",{className:"studio-update-dialog-mark",children:c.jsx(ZX,{})}),c.jsx("div",{id:"studio-update-title",className:"confirm-title",children:r==="error"?"Studio 更新失败":r==="submitting"?"正在更新 Studio":r==="published"?"Studio 更新完成":"发现新版本"}),r==="error"?c.jsxs("div",{className:"studio-update-error-panel",children:[c.jsx("p",{className:"confirm-text studio-update-error",children:l}),c.jsxs("dl",{className:"studio-update-error-meta",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"失败阶段"}),c.jsx("dd",{children:Zct[n.errorStage]||n.errorStage||"未知阶段"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"错误 ID"}),c.jsx("dd",{children:n.errorId||"未生成"})]})]}),n.updateLogsVisible!==!1&&c.jsx(KX,{lines:L,phase:"error",copyState:m,onCopy:$=>void D($)}),n.consoleUrl&&c.jsxs("a",{className:"studio-update-console-link",href:n.consoleUrl,target:"_blank",rel:"noreferrer",children:["前往 VeFaaS 控制台查看 Function 日志",c.jsx("span",{"aria-hidden":!0,children:"↗"})]})]}):r==="submitting"||r==="published"?c.jsxs("div",{className:"studio-update-progress-body",children:[c.jsxs("div",{className:"studio-update-progress-summary",children:[c.jsxs("div",{children:[c.jsx("span",{children:"目标版本"}),c.jsx("strong",{children:x.current||A})]}),c.jsxs("div",{children:[c.jsx("span",{children:r==="published"?"更新状态":"已用时"}),c.jsx("strong",{children:r==="published"?"已完成":Kct(y)})]})]}),c.jsx("ol",{className:"studio-update-progress","aria-label":"Studio 更新进度",children:GX.map(($,I)=>{const G=GX.findIndex(Y=>Y.id===n.progressStage),X=r==="published"||Ivoid D($)}),c.jsx("p",{className:"studio-update-progress-note",children:"发布阶段会短暂中断连接;关闭此窗口不会停止更新,可随时点击右上角按钮重新查看。"})]}):c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"confirm-text",children:"更新会重启 Studio 服务,预计约 3–5 分钟完成更新与发布。期间正在进行的对话、 流式响应或部署任务可能中断,登录态不会受到影响。"}),c.jsxs("div",{className:"studio-update-field",ref:S,children:[c.jsx("span",{children:"选择版本"}),c.jsxs("button",{type:"button",className:"studio-update-version-trigger","aria-label":"选择版本","aria-haspopup":"listbox","aria-expanded":h,onClick:()=>p($=>!$),onKeyDown:$=>{($.key==="ArrowDown"||$.key==="ArrowUp")&&($.preventDefault(),p(!0))},children:[c.jsx("span",{children:A}),c.jsx(rut,{})]}),h&&c.jsx("div",{className:"studio-update-version-menu",role:"listbox","aria-label":"选择版本",children:C.map($=>{const I=$.version===A;return c.jsxs("button",{type:"button",role:"option","aria-selected":I,className:`studio-update-version-option${I?" is-selected":""}`,onClick:()=>{f($.version),p(!1)},children:[c.jsx("span",{children:$.version}),I&&c.jsx(sut,{})]},$.version)})})]}),c.jsxs("dl",{className:"studio-update-versions",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"当前版本"}),c.jsx("dd",{children:n.currentVersion})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"目标版本"}),c.jsx("dd",{children:A})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"Commit"}),c.jsx("dd",{children:((R==null?void 0:R.gitSha)||n.latestGitSha).slice(0,8)})]})]}),c.jsxs("section",{className:"studio-update-changelog","aria-labelledby":"studio-update-changelog-title",children:[c.jsx("div",{id:"studio-update-changelog-title",children:"更新内容"}),j.length?c.jsx("ul",{children:j.map($=>c.jsx("li",{children:$},$))}):c.jsx("p",{children:"暂无更新说明"})]})]}),c.jsxs("div",{className:"confirm-actions",children:[c.jsx("button",{type:"button",className:"confirm-btn",onClick:()=>{o(!1),p(!1),r==="confirm"&&(s("idle"),u(""))},children:r==="submitting"?"后台运行":r==="confirm"?"取消":"关闭"}),r==="confirm"&&c.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:()=>void Q(),children:"立即更新"}),r==="error"&&c.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:N,children:"重新尝试"})]})]})}),document.body)]})}const out=["多地域智能体:并行加载北京与上海 Runtime,列表下滑即可继续加载。","会话内切换:在输入框旁选择智能体,并直接开启一段新会话。","可视化执行画布:通过横向画布查看多智能体结构,并支持全屏浏览。"],JX=qct(),lut=JX.length?JX:out;function cut({canUpdate:e=!1}){return c.jsxs("div",{className:"welcome-feature-pill",children:[c.jsx("span",{children:"焕然一新"}),c.jsx("span",{className:"welcome-feature-divider","aria-hidden":"true"}),c.jsx("button",{type:"button",className:"welcome-feature-link","aria-describedby":"welcome-feature-popover",children:"查看新特性"}),c.jsxs("section",{id:"welcome-feature-popover",className:"welcome-feature-popover",role:"tooltip",children:[c.jsx("strong",{children:"本次更新"}),c.jsx("ul",{children:lut.map(t=>c.jsx("li",{children:t},t))})]}),e&&c.jsx(aut,{variant:"feature-link"})]})}const uut=1e4;async function dut(e){const t=await fetch(Xn(e),{headers:m0({Accept:"application/json"}),signal:Gn(void 0,uut)});if(!t.ok)throw new Error(`读取会话模式能力失败(HTTP ${t.status})`);const n=await t.json();if(typeof n.enabled!="boolean")throw new Error("会话模式能力响应格式错误");return{enabled:n.enabled,reason:typeof n.reason=="string"?n.reason:void 0}}async function fut(){return dut("/web/sandbox/capabilities")}function hut(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m7 7 10 10M17 7 7 17"})})}function put(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M12 3.5v11m-4-4 4 4 4-4"}),c.jsx("path",{d:"M5 19.5h14"})]})}function eq(e){return c.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"8",cy:"8",r:"5.5",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.22"}),c.jsx("path",{d:"M8 2.5A5.5 5.5 0 0 1 13.5 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function mut({open:e,task:t,onClose:n,onRetry:i,onDownload:r}){const s=O.useId(),a=O.useRef(null),o=O.useRef(null),l=O.useRef(null),u=O.useRef(n);if(u.current=n,O.useEffect(()=>{if(!e||!t)return;l.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const g=document.body.style.overflow;document.body.style.overflow="hidden";const y=window.requestAnimationFrame(()=>{var S;return(S=o.current)==null?void 0:S.focus()}),b=S=>{var w;if(S.key==="Escape"){S.preventDefault(),u.current();return}if(S.key!=="Tab")return;const x=Array.from(((w=a.current)==null?void 0:w.querySelectorAll('button:not(:disabled), a[href], video[controls], [tabindex]:not([tabindex="-1"])'))??[]);if(x.length===0)return;const v=x[0],E=x[x.length-1];if(document.activeElement===o.current){S.preventDefault(),(S.shiftKey?E:v).focus();return}S.shiftKey&&document.activeElement===v?(S.preventDefault(),E.focus()):!S.shiftKey&&document.activeElement===E&&(S.preventDefault(),v.focus())};return window.addEventListener("keydown",b),()=>{var S;window.cancelAnimationFrame(y),document.body.style.overflow=g,window.removeEventListener("keydown",b),(S=l.current)!=null&&S.isConnected&&l.current.focus()}},[e,t==null?void 0:t.localId]),!e||!t)return null;const d=rit(t),f=t.status==="optimizing"||t.status==="generating",h=t.errorStage==="optimization"?"重试提示词优化":"重试视频生成",p=Fce(t.resolvedMode??t.requestedMode),m=t.error.includes("尚未开通");return ar.createPortal(c.jsx("div",{className:"new-chat-video-task-backdrop",onMouseDown:g=>{g.target===g.currentTarget&&n()},children:c.jsxs("section",{ref:a,className:`new-chat-video-task-dialog is-${t.status}`,role:"dialog","aria-modal":"true","aria-labelledby":s,"aria-busy":f||void 0,children:[c.jsxs("header",{className:"new-chat-video-task-dialog__head",children:[c.jsxs("div",{children:[c.jsx("h2",{ref:o,id:s,tabIndex:-1,children:"视频生成任务"}),c.jsxs("p",{children:[p," · ",t.generationModel]})]}),c.jsx("button",{type:"button",className:"new-chat-video-task-dialog__close",onClick:n,"aria-label":"关闭视频生成任务弹窗",children:c.jsx(hut,{})})]}),c.jsxs("div",{className:"new-chat-video-task-dialog__body",children:[c.jsx("ol",{className:"new-chat-video-task-steps","aria-label":"视频生成进度","aria-live":"polite","aria-atomic":"true",children:d.map(g=>c.jsx("li",{className:`is-${g.status}`,children:c.jsxs("span",{className:"new-chat-video-task-step__label",children:[g.status==="active"?c.jsx(eq,{className:"new-chat-video-task-step__loading"}):null,c.jsx("span",{children:g.label})]})},g.id))}),t.error?c.jsx("div",{className:"new-chat-video-task-error",role:"alert",children:c.jsx("p",{children:t.error})}):null,t.optimizedPrompt?c.jsxs("section",{className:"new-chat-video-task-prompt","aria-labelledby":`${s}-prompt`,children:[c.jsx("h3",{id:`${s}-prompt`,children:"优化后的提示词"}),c.jsx("p",{children:t.optimizedPrompt})]}):null,t.status==="generating"?c.jsxs("div",{className:"new-chat-video-task-preview is-loading",role:"status",children:[c.jsx(eq,{className:"new-chat-video-task-preview__loading"}),c.jsxs(hs,{as:"strong",duration:2.2,spread:18,children:[p,"进行中"]}),c.jsx("span",{children:"这可能持续数分钟,生成完成后将在这里显示视频预览"})]}):t.output?c.jsx("div",{className:"new-chat-video-task-preview",children:c.jsx("video",{src:t.output.previewUrl,controls:!0,playsInline:!0,preload:"metadata","aria-label":"生成结果预览"})}):null]}),c.jsxs("footer",{className:"new-chat-video-task-dialog__actions",children:[c.jsx("p",{className:f?"is-warning":void 0,children:f?"请勿关闭弹窗,关闭后任务将丢失":t.status==="success"?"视频已生成,可预览或下载":m?"请先在模型控制台开通服务,再重试生成":"修正问题后可重试当前步骤"}),c.jsxs("div",{children:[c.jsx("button",{type:"button",className:"new-chat-video-task-button",onClick:n,children:"关闭"}),t.status==="error"?c.jsx("button",{type:"button",className:"new-chat-video-task-button is-primary",onClick:i,children:h}):t.output?c.jsxs("button",{type:"button",className:"new-chat-video-task-button is-primary",onClick:r,children:[c.jsx(put,{}),"下载视频"]}):null]})]})]})}),document.body)}const gut="我的智能体";function Out({open:e,state:t,agentKind:n="codex",error:i,onCancel:r,onConfirm:s}){const a=n==="codex"?"Codex":n==="openclaw"?"OpenClaw":"Hermes",o=n==="codex"?gut:`我的 ${a}`,l=O.useRef(null),u=O.useRef(null),d=O.useRef(null),f=O.useRef(!1),h=O.useRef(r),[p,m]=O.useState(o),[g,y]=O.useState(!0);if(h.current=r,O.useEffect(()=>{if(!e)return;m(o),y(!0);const v=document.body.style.overflow;document.body.style.overflow="hidden";const E=window.requestAnimationFrame(()=>{var k,_;(k=u.current)==null||k.focus(),(_=u.current)==null||_.select()}),w=k=>{var R;if(k.key==="Escape"){k.preventDefault(),h.current();return}if(k.key!=="Tab")return;const _=(R=l.current)==null?void 0:R.querySelectorAll("input:not(:disabled), button:not(:disabled)");if(!(_!=null&&_.length))return;const C=_[0],A=_[_.length-1];k.shiftKey&&document.activeElement===C?(k.preventDefault(),A.focus()):!k.shiftKey&&document.activeElement===A&&(k.preventDefault(),C.focus())};return window.addEventListener("keydown",w),()=>{window.cancelAnimationFrame(E),document.body.style.overflow=v,window.removeEventListener("keydown",w)}},[o,e]),!e)return null;const b=t==="loading",S=p.trim(),x=b?`正在创建 ${a} 智能体`:t==="error"?"启动失败":`创建 ${a} 智能体`;return ar.createPortal(c.jsx("div",{className:"sandbox-dialog-backdrop",onMouseDown:v=>{v.target===v.currentTarget&&!b&&r()},children:c.jsxs("form",{ref:l,className:"sandbox-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"sandbox-dialog-title","aria-describedby":t==="confirm"?void 0:"sandbox-dialog-description",onSubmit:v=>{v.preventDefault(),!b&&!f.current&&S&&s(S,g)},children:[c.jsxs("div",{className:"sandbox-dialog-visual","aria-hidden":"true",children:[c.jsx("span",{className:"sandbox-dialog-orbit"}),c.jsx("span",{className:"sandbox-dialog-icon",children:b?c.jsx("span",{className:"sandbox-spinner"}):c.jsx(Ox,{kind:n})})]}),c.jsxs("div",{className:"sandbox-dialog-copy",children:[c.jsx("h2",{id:"sandbox-dialog-title",children:x}),t==="error"?c.jsx("p",{id:"sandbox-dialog-description",className:"sandbox-dialog-error",role:"alert",children:i||"AgentKit 沙箱初始化失败,请稍后重新尝试。"}):b?c.jsxs("p",{id:"sandbox-dialog-description","aria-live":"polite",children:["正在创建并等待 ",a," 智能体就绪,这通常需要半分钟"]}):null,c.jsxs("label",{className:"sandbox-dialog-field",children:[c.jsxs("span",{className:"sandbox-dialog-field-label",children:[c.jsx("span",{children:"智能体名称"}),c.jsxs("span",{"aria-hidden":"true",children:[p.length,"/",PV]})]}),c.jsx("input",{ref:u,type:"text",required:!0,value:p,maxLength:PV,disabled:b,placeholder:o,autoComplete:"off",onChange:v=>m(v.target.value),onCompositionStart:()=>{f.current=!0},onCompositionEnd:()=>{f.current=!1},onKeyDown:v=>{const{nativeEvent:E}=v;v.key==="Enter"&&(f.current||E.isComposing||E.keyCode===229)&&v.preventDefault()}})]}),c.jsxs("div",{className:"sandbox-dialog-persistence",role:"group","aria-describedby":"sandbox-persistence-description",children:[c.jsx(q3,{id:"sandbox-persistence",className:"sandbox-dialog-persistence-control",checked:g,disabled:b,onCheckedChange:y,label:"持久化"}),c.jsx("p",{id:"sandbox-persistence-description",className:`sandbox-dialog-persistence-description${g?"":" is-warning"}`,role:g?void 0:"status",children:g?"保留智能体数据,后续可继续使用。":"智能体将在 8 小时后清空"})]})]}),c.jsxs("footer",{className:"sandbox-dialog-actions",children:[c.jsx("button",{ref:d,type:"button",onClick:r,children:b?"取消创建":"取消"}),!b&&c.jsx("button",{type:"submit",className:"is-primary",disabled:!S,children:t==="error"?"重新尝试":"确认创建"})]})]})}),document.body)}function but({agentName:e,onExit:t}){return c.jsxs("div",{className:"sandbox-session-warning",role:"status",children:[c.jsx("span",{className:"sandbox-session-warning-dot","aria-hidden":"true"}),c.jsxs("span",{className:"sandbox-session-warning-copy",children:["当前您在使用 ",e," 智能体"]}),c.jsx("button",{type:"button",onClick:t,children:"退出当前智能体"})]})}function yut({activity:e,time:t}){var n;return c.jsxs("aside",{className:"sandbox-activity-record",role:"status","aria-label":"Sandbox 操作记录",children:[c.jsxs("div",{className:"sandbox-activity-summary",children:[c.jsx("span",{className:"sandbox-activity-dot","aria-hidden":"true"}),c.jsx("span",{className:"sandbox-activity-label",children:"操作记录"}),c.jsx("strong",{children:e.title}),t?c.jsx("time",{children:t}):null]}),(n=e.details)!=null&&n.length?c.jsx("dl",{className:"sandbox-activity-details",children:e.details.map(i=>c.jsxs("div",{children:[c.jsx("dt",{children:i.label}),c.jsx("dd",{title:i.value,children:i.code?c.jsx("code",{children:i.value}):i.value})]},`${i.label}:${i.value}`))}):null]})}function xut(e){return e>=1e6?`${(e/1e6).toFixed(e>=1e7?0:1)}m`:e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}k`:String(e)}function Sut({usage:e}){const t=[["Total",e.totalTokens],["Input",e.inputTokens],...e.cachedInputTokens>0?[["Cached input",e.cachedInputTokens]]:[],["Output",e.outputTokens],...e.reasoningOutputTokens>0?[["Reasoning output",e.reasoningOutputTokens]]:[]];return c.jsx("div",{className:"sandbox-token-usage","aria-label":"Codex Token 用量",children:t.map(([n,i])=>c.jsxs("span",{title:`${n}: ${i.toLocaleString()} tokens`,children:[c.jsx("small",{children:n}),c.jsx("strong",{children:xut(i)})]},n))})}function pfe(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),c.jsx("path",{d:"m7.5 9 2.7 2.5L7.5 14M12.7 14h3.8"}),c.jsx("path",{d:"M3.8 7.5h16.4",opacity:".55"})]})}function mfe(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),c.jsx("path",{d:"M3.8 8h16.4"}),c.jsx("circle",{cx:"6.5",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"8.8",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),c.jsx("path",{d:"m9 15 2.2-4 1.6 2.4 1.1-1.2L16 15H9Z"})]})}function J3(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M12 3.4 19 6v5.3c0 4.3-2.7 7.6-7 9.3-4.3-1.7-7-5-7-9.3V6l7-2.6Z"}),c.jsx("path",{d:"m8.8 12 2 2 4.4-4.4"})]})}function Dw(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M3.5 7.7h6.1l1.7 2h9.2v7.5a2.3 2.3 0 0 1-2.3 2.3H5.8a2.3 2.3 0 0 1-2.3-2.3V7.7Z"}),c.jsx("path",{d:"M3.8 7.7V6.8a2.3 2.3 0 0 1 2.3-2.3h3l1.8 2h6.9a2.3 2.3 0 0 1 2.3 2.3v.9"}),c.jsx("path",{d:"M12 13v3M10.5 14.5h3"})]})}function vut(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"M12 5v14M5 12h14"})})}function wut(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function Eut(e){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",...e,children:c.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"1.75",fill:"currentColor"})})}function kut(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),c.jsx("circle",{cx:"8.5",cy:"9",r:"1.4"}),c.jsx("path",{d:"m5.5 17 4.2-4.2 2.6 2.4 2.1-2.1 4.1 3.9"})]})}function Tut(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M6 3.5h7l5 5v12H6z"}),c.jsx("path",{d:"M13 3.5v5h5M9 13h6M9 16h5"})]})}function _ut(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"5",width:"13.5",height:"14",rx:"2.5"}),c.jsx("path",{d:"m17 10 3.5-2v8L17 14zM7 8.5h4.5"})]})}function Aut(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m12 3 1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM18.5 15.5l.7 2.1 2.1.7-2.1.7-.7 2.1-.7-2.1-2.1-.7 2.1-.7z"})})}function Nut(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}function AM(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m9 6 6 6-6 6"})})}function Cut(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M4.8 8.2A8 8 0 1 1 4 12M4.8 8.2V4.5M4.8 8.2h3.7"}),c.jsx("path",{d:"M12 8v4.5l3 1.8"})]})}function wu(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"M20 12a8 8 0 1 1-2.35-5.65"})})}function w1({open:e,title:t,subtitle:n,icon:i,className:r="",onClose:s,children:a}){const o=O.useId(),l=O.useRef(null),u=O.useRef(null),d=O.useRef(s);return d.current=s,O.useEffect(()=>{var p;if(!e)return;u.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const f=document.body.style.overflow;document.body.style.overflow="hidden",(p=l.current)==null||p.focus();const h=m=>{var x;if(m.key==="Escape"){m.preventDefault(),d.current();return}if(m.key!=="Tab")return;const g=(x=l.current)==null?void 0:x.closest("[role=dialog]"),y=Array.from((g==null?void 0:g.querySelectorAll('button:not(:disabled), input:not(:disabled), iframe, [tabindex]:not([tabindex="-1"])'))??[]);if(y.length===0)return;const b=y[0],S=y[y.length-1];m.shiftKey&&document.activeElement===b?(m.preventDefault(),S.focus()):!m.shiftKey&&document.activeElement===S&&(m.preventDefault(),b.focus())};return window.addEventListener("keydown",h),()=>{var m;document.body.style.overflow=f,window.removeEventListener("keydown",h),(m=u.current)==null||m.focus()}},[e]),e?ar.createPortal(c.jsx("div",{className:"sandbox-control-backdrop",onMouseDown:f=>{f.target===f.currentTarget&&s()},children:c.jsxs("section",{className:`sandbox-control-dialog ${r}`.trim(),role:"dialog","aria-modal":"true","aria-labelledby":o,children:[c.jsxs("header",{className:"sandbox-control-head",children:[c.jsx("span",{className:"sandbox-control-head-icon","aria-hidden":"true",children:i}),c.jsxs("div",{children:[c.jsx("h2",{id:o,children:t}),c.jsx("p",{children:n})]}),c.jsx("button",{ref:l,type:"button",className:"sandbox-control-close","aria-label":`关闭${t}`,onClick:s,children:c.jsx(Nut,{})})]}),a]})}),document.body):null}function Rut({open:e,kind:t,launch:n,loading:i,error:r,onReload:s,onClose:a}){const o=t==="terminal",l=o?"Terminal":"Sandbox Browser";return c.jsxs(w1,{open:e,title:l,subtitle:o?"连接当前 AgentKit Session 的交互式终端":"在当前 AgentKit Session 中查看与操作浏览器",icon:o?c.jsx(pfe,{}):c.jsx(mfe,{}),className:`sandbox-tool-dialog sandbox-tool-dialog--${t}`,onClose:a,children:[c.jsx("div",{className:"sandbox-tool-toolbar",children:c.jsxs("span",{children:[c.jsx("i",{className:i?"is-loading":n?"is-ready":""}),i?"正在连接…":n?"已连接":"尚未连接"]})}),c.jsx("div",{className:"sandbox-tool-surface",children:i?c.jsxs("div",{className:"sandbox-control-state",children:[c.jsx(wu,{className:"spin"}),c.jsxs("strong",{children:["正在打开 ",l]}),c.jsx("span",{children:"工具正在连接当前 AgentKit Session。"})]}):r?c.jsxs("div",{className:"sandbox-control-state is-error",children:[c.jsxs("strong",{children:[l," 打开失败"]}),c.jsx("span",{children:r}),c.jsx("button",{type:"button",onClick:s,children:"重试"})]}):n?c.jsx("iframe",{src:n.url,title:l,allow:"clipboard-read; clipboard-write",sandbox:"allow-downloads allow-forms allow-modals allow-popups allow-pointer-lock allow-same-origin allow-scripts"}):null})]})}function Iut({open:e,threads:t,currentThreadId:n,loading:i,error:r,onSelect:s,onClose:a}){return c.jsx(w1,{open:e,title:"恢复 Codex 对话",subtitle:"选择当前 Sandbox Session 中最近更新的 Thread",icon:c.jsx(Cut,{}),className:"sandbox-threads-dialog",onClose:a,children:c.jsx("div",{className:"sandbox-thread-list",children:i?c.jsxs("div",{className:"sandbox-control-state",children:[c.jsx(wu,{className:"spin"}),c.jsx("strong",{children:"正在读取历史对话"})]}):r?c.jsxs("div",{className:"sandbox-control-state is-error",children:[c.jsx("strong",{children:"历史对话读取失败"}),c.jsx("span",{children:r})]}):t.length===0?c.jsx("div",{className:"sandbox-control-state",children:c.jsx("strong",{children:"暂无可恢复的对话"})}):t.map(o=>{const l=o.id===n,u=o.name||o.preview||`Thread ${o.id.slice(0,8)}`;return c.jsxs("button",{type:"button",className:l?"is-active":"",disabled:l,onClick:()=>s(o.id),children:[c.jsxs("span",{children:[c.jsx("strong",{children:u}),c.jsx("small",{children:o.preview||o.cwd||o.id})]}),c.jsx("time",{children:o.updatedAt?new Date(o.updatedAt*1e3).toLocaleString():""}),c.jsx(AM,{})]},o.id)})})})}const Put=[{value:"read-only",label:"只读",detail:"允许读取文件,不允许写入工作空间。"},{value:"workspace-write",label:"工作区写入",detail:"允许在当前工作空间内读取与修改文件。"},{value:"danger-full-access",label:"完全访问",detail:"不启用沙箱隔离,适合明确可信的任务。",danger:!0}],jut=[{value:"untrusted",label:"仅不可信命令",detail:"只对 Codex 判断为不可信的操作发起审批。"},{value:"on-request",label:"按需审批",detail:"Codex 可在必要时请求你确认命令或文件修改。"},{value:"never",label:"不审批",detail:"Codex 不会暂停并请求人工批准。",danger:!0}],Mut=[{value:"user",label:"由我审批",detail:"审批请求会显示在 Studio 中,由你决定。"},{value:"auto_review",label:"自动审查",detail:"使用 Codex 自动审查流程处理审批请求。"}];function Lut({open:e,value:t,busy:n,error:i,onSave:r,onClose:s}){const[a,o]=O.useState(t);return O.useEffect(()=>{e&&o(t)},[e,t]),c.jsxs(w1,{open:e,title:"Codex 权限",subtitle:"设置会保存到当前 Sandbox Session,并同步到其中的所有 Thread",icon:c.jsx(J3,{}),className:"sandbox-settings-dialog",onClose:s,children:[c.jsxs("div",{className:"sandbox-control-body",children:[c.jsx(yR,{label:"沙箱模式",choices:Put,value:a.sandboxMode,disabled:n,onChange:l=>o(u=>({...u,sandboxMode:l,networkAccess:l==="danger-full-access"?!0:u.networkAccess}))}),c.jsx(yR,{label:"审批策略",choices:jut,value:a.approvalPolicy,disabled:n,onChange:l=>o(u=>({...u,approvalPolicy:l}))}),c.jsx(yR,{label:"审批方式",choices:Mut,value:a.approvalsReviewer,disabled:n,onChange:l=>o(u=>({...u,approvalsReviewer:l}))}),c.jsxs("label",{className:`sandbox-network-toggle${a.sandboxMode==="danger-full-access"?" is-disabled":""}`,children:[c.jsxs("span",{children:[c.jsx("strong",{children:"允许网络访问"}),c.jsx("small",{children:"控制 workspace-write 与只读模式中的外部网络访问。"})]}),c.jsx("input",{type:"checkbox",checked:a.networkAccess,disabled:n||a.sandboxMode==="danger-full-access",onChange:l=>o(u=>({...u,networkAccess:l.target.checked}))})]}),a.sandboxMode==="danger-full-access"?c.jsx("div",{className:"sandbox-control-note is-danger",children:"完全访问会关闭文件系统与网络隔离,请只在可信任务中使用。"}):null,i?c.jsx("div",{className:"sandbox-control-error",children:i}):null]}),c.jsxs("footer",{className:"sandbox-control-actions",children:[c.jsx("button",{type:"button",onClick:s,disabled:n,children:"取消"}),c.jsxs("button",{type:"button",className:"is-primary",disabled:n,onClick:()=>r(a),children:[n?c.jsx(wu,{className:"spin"}):null,"保存权限"]})]})]})}function yR({label:e,choices:t,value:n,disabled:i,onChange:r}){return c.jsxs("fieldset",{className:"sandbox-choice-group",disabled:i,role:"radiogroup","aria-label":e,children:[c.jsx("legend",{children:e}),c.jsx("div",{className:"sandbox-choice-list",children:t.map(s=>c.jsxs("button",{type:"button",role:"radio",className:`${n===s.value?"is-active":""}${s.danger?" is-danger":""}`.trim(),"aria-checked":n===s.value,onClick:()=>r(s.value),onKeyDown:a=>{var d,f;const o=t.findIndex(h=>h.value===s.value);let l=o;if(a.key==="ArrowRight"||a.key==="ArrowDown")l=(o+1)%t.length;else if(a.key==="ArrowLeft"||a.key==="ArrowUp")l=(o-1+t.length)%t.length;else if(a.key==="Home")l=0;else if(a.key==="End")l=t.length-1;else return;a.preventDefault(),r(t[l].value);const u=(d=a.currentTarget.parentElement)==null?void 0:d.querySelectorAll('[role="radio"]');(f=u==null?void 0:u[l])==null||f.focus()},children:[c.jsx("i",{}),c.jsxs("span",{children:[c.jsx("strong",{children:s.label}),c.jsx("small",{children:s.detail})]})]},s.value))})]})}function Dut({open:e,cwd:t,locked:n,busy:i,error:r,browse:s,onSave:a,onClose:o}){const[l,u]=O.useState(t||"/"),[d,f]=O.useState(null),[h,p]=O.useState(!1),[m,g]=O.useState("");O.useEffect(()=>{if(!e)return;const b=t||"/";u(b),y(b)},[t,e]);async function y(b){p(!0),g("");try{const S=await s(b);f(S),u(S.path)}catch(S){g(S instanceof Error?S.message:String(S))}finally{p(!1)}}return c.jsxs(w1,{open:e,title:"工作空间",subtitle:"选择当前 Codex Thread 执行命令与修改文件的目录",icon:c.jsx(Dw,{}),className:"sandbox-workspace-dialog",onClose:o,children:[c.jsxs("div",{className:"sandbox-control-body",children:[c.jsxs("label",{className:"sandbox-workspace-input",children:[c.jsx("span",{children:"绝对路径"}),c.jsxs("div",{children:[c.jsx("input",{value:l,disabled:i||n,spellCheck:!1,onChange:b=>u(b.target.value),onKeyDown:b=>{b.key==="Enter"&&l.startsWith("/")&&(b.preventDefault(),y(l))}}),c.jsx("button",{type:"button",disabled:i||h||!l.startsWith("/"),onClick:()=>void y(l),children:"浏览"})]})]}),c.jsxs("div",{className:"sandbox-directory-browser",children:[c.jsxs("div",{className:"sandbox-directory-head",children:[c.jsx("span",{title:d==null?void 0:d.path,children:(d==null?void 0:d.path)??l}),h?c.jsx(wu,{className:"spin"}):null]}),c.jsxs("div",{className:"sandbox-directory-list",children:[d!=null&&d.parent?c.jsxs("button",{type:"button",disabled:h,onClick:()=>void y(d.parent??"/"),children:[c.jsx(Dw,{}),c.jsx("span",{children:"上一级"}),c.jsx("small",{children:d.parent}),c.jsx(AM,{})]}):null,d==null?void 0:d.directories.map(b=>c.jsxs("button",{type:"button",disabled:h,onClick:()=>void y(b.path),children:[c.jsx(Dw,{}),c.jsx("span",{children:b.name}),c.jsx(AM,{})]},b.path)),!h&&(d==null?void 0:d.directories.length)===0?c.jsx("div",{className:"sandbox-directory-empty",children:"当前目录没有子目录"}):null]})]}),n?c.jsx("div",{className:"sandbox-control-note",children:"当前对话已经开始,工作空间已锁定。新建 Sandbox 会话后可重新选择。"}):null,m||r?c.jsx("div",{className:"sandbox-control-error",children:m||r}):null]}),c.jsxs("footer",{className:"sandbox-control-actions",children:[c.jsx("button",{type:"button",onClick:o,disabled:i,children:"取消"}),c.jsxs("button",{type:"button",className:"is-primary",disabled:i||n||!l.startsWith("/"),onClick:()=>a(l),children:[i?c.jsx(wu,{className:"spin"}):null,"使用此目录"]})]})]})}function $ut({approval:e,busy:t,error:n,onDecision:i}){var a;const r=(a=e==null?void 0:e.command)==null?void 0:a.trim(),s=(e==null?void 0:e.changes)===void 0?"":JSON.stringify(e.changes,null,2);return c.jsxs(w1,{open:e!==null,title:(e==null?void 0:e.kind)==="file"?"允许修改文件?":"允许执行命令?",subtitle:"Codex 正在等待你的决定",icon:c.jsx(J3,{}),className:"sandbox-approval-dialog",onClose:()=>{t||i("cancel")},children:[c.jsxs("div",{className:"sandbox-control-body",children:[e!=null&&e.reason?c.jsx("div",{className:"sandbox-approval-reason",children:e.reason}):null,r?c.jsx("pre",{children:r}):null,s?c.jsx("pre",{children:s}):null,e!=null&&e.cwd?c.jsxs("div",{className:"sandbox-approval-meta",children:["执行目录 ",c.jsx("code",{children:e.cwd})]}):null,n?c.jsx("div",{className:"sandbox-control-error",children:n}):null]}),c.jsxs("footer",{className:"sandbox-control-actions sandbox-approval-actions",children:[c.jsx("button",{type:"button",disabled:t,onClick:()=>i("decline"),children:"拒绝"}),c.jsx("button",{type:"button",disabled:t,onClick:()=>i("accept"),children:"仅本次允许"}),c.jsxs("button",{type:"button",className:"is-primary",disabled:t,onClick:()=>i("acceptForSession"),children:[t?c.jsx(wu,{className:"spin"}):null,"本会话允许"]})]})]})}const Qut={codex:"Codex",openclaw:"OpenClaw",hermes:"Hermes"};function tq(e){if(!e)return"—";const t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(t)}function But({session:e,onBack:t,onOpen:n,onDelete:i}){const[r,s]=O.useState(!1),[a,o]=O.useState(!1),[l,u]=O.useState(!1),[d,f]=O.useState(""),h=Qut[e.toolName],p=e.resourceType==="snapshot",m=p?e.sourceSessionId||e.snapshotId:e.id,g=async()=>{if(!(a||l)){o(!0),f("");try{await n()}catch(b){f(b instanceof Error?b.message:String(b))}finally{o(!1)}}},y=async()=>{if(!(l||a)){u(!0),f("");try{await i()}catch(b){f(b instanceof Error?b.message:String(b)),s(!1)}finally{u(!1)}}};return c.jsxs("section",{className:"sandbox-agent-details",children:[c.jsxs("header",{className:"sandbox-agent-details-header",children:[c.jsxs("button",{type:"button",className:"sandbox-agent-back",onClick:t,children:[c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})}),"返回智能体"]}),c.jsxs("div",{children:[c.jsx("h1",{children:e.displayName||`${h} 智能体`}),c.jsxs("p",{children:[h," AgentKit Session 详情"]})]})]}),d?c.jsx("div",{className:"sandbox-agent-detail-error",role:"alert",children:d}):null,c.jsxs("div",{className:"sandbox-agent-detail-panel",children:[c.jsxs("dl",{children:[c.jsxs("div",{children:[c.jsx("dt",{children:"智能体类型"}),c.jsx("dd",{children:h})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"状态"}),c.jsx("dd",{children:Q_(e.status)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"创建人"}),c.jsx("dd",{children:e.createdBy||"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:p?"快照状态":"工具类型"}),c.jsx("dd",{children:p?e.snapshotStatus||"—":e.toolType||"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"创建时间"}),c.jsx("dd",{children:tq(e.createdAt)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:p?"快照原因":"过期时间"}),c.jsx("dd",{children:p?e.reason||"—":tq(e.expireAt)})]}),c.jsxs("div",{className:"is-wide",children:[c.jsx("dt",{children:p?"Snapshot ID":"Session ID"}),c.jsx("dd",{children:p?e.snapshotId:m})]}),p&&e.sourceSessionId?c.jsxs("div",{className:"is-wide",children:[c.jsx("dt",{children:"来源 Session ID"}),c.jsx("dd",{children:e.sourceSessionId})]}):null]}),c.jsxs("footer",{children:[c.jsx("button",{type:"button",className:"sandbox-agent-delete",disabled:a||l,onClick:()=>s(!0),children:"删除智能体"}),c.jsx("button",{type:"button",className:"sandbox-agent-open",disabled:a||l,"aria-busy":a||void 0,onClick:()=>void g(),children:a?p?"唤醒中…":"打开中…":p?"唤醒智能体":"打开智能体"})]})]}),r?c.jsx("div",{className:"confirm-scrim",onClick:()=>!l&&s(!1),children:c.jsxs("div",{className:"confirm-box",role:"alertdialog","aria-modal":"true","aria-labelledby":"sandbox-agent-delete-title",onClick:b=>b.stopPropagation(),children:[c.jsx("div",{className:"confirm-title",id:"sandbox-agent-delete-title",children:"删除智能体?"}),c.jsxs("div",{className:"confirm-text",children:["将删除“",e.displayName||`${h} 智能体`,"”及其 AgentKit ",p?"Snapshot":"Session",",此操作无法撤销。"]}),c.jsxs("div",{className:"confirm-actions",children:[c.jsx("button",{type:"button",className:"confirm-btn",disabled:l,onClick:()=>s(!1),children:"取消"}),c.jsx("button",{type:"button",className:"confirm-btn confirm-btn--danger",disabled:l,onClick:()=>void y(),children:l?"删除中…":"确认删除"})]})]})}):null]})}const Uut="_SegmentedControl_1sl7d_1",zut="_SegmentedControlOption_1sl7d_140",Fut="_SegmentedControlThumb_1sl7d_219",NM={SegmentedControl:Uut,SegmentedControlOption:zut,SegmentedControlThumb:Fut},$w=({value:e,onChange:t,children:n,block:i,pill:r=!0,size:s="md",gutterSize:a,className:o,onClick:l,...u})=>{const d=O.useRef(null),f=O.useRef(null),h=O.useCallback(m=>{const g=d.current,y=f.current;if(!g||!y)return;const b=g==null?void 0:g.querySelector('[data-state="on"]');if(!b)return;const S=g.clientWidth;let x=Math.floor(b.clientWidth);const v=b.offsetLeft;if(S-(x+v)<2&&(x=x-1),y.style.width=`${Math.floor(x)}px`,y.style.transform=`translateX(${v}px)`,g.scrollWidth>S){const E=S*.15,w=g.scrollLeft,k=b.offsetLeft,_=k+x;(kw+S-E)&&m&&b.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"})}},[]);oIe({ref:d,onResize:()=>{const m=f.current;if(!m)return;const g=m.style.transition;m.style.transition="",h(!1),m.style.transition=g}}),O.useLayoutEffect(()=>{const m=d.current,g=f.current;!m||!g||(h(!!g.style.transition),g.style.transition||wP(()=>{g.style.transition="width 300ms var(--cubic-enter), transform 300ms var(--cubic-enter)"}))},[h,e,s,a,r]);const p=m=>{m&&t&&t(m)};return c.jsxs(xot,{ref:d,className:Pa(NM.SegmentedControl,o),type:"single",value:e,loop:!1,onValueChange:p,onClick:l,"data-block":i?"":void 0,"data-pill":r?"":void 0,"data-size":s,"data-gutter-size":a,...u,children:[c.jsx("div",{className:NM.SegmentedControlThumb,ref:f}),n]})},Vut=({children:e,...t})=>c.jsx(kot,{className:NM.SegmentedControlOption,...t,onPointerEnter:nte,children:c.jsx("span",{className:"relative",children:e})});$w.Option=Vut;function Xut({workspace:e,onBack:t}){const[n,i]=O.useState("main"),[r,s]=O.useState(""),[a,o]=O.useState(!1),[l,u]=O.useState(""),d=e.kind==="openclaw"?"OpenClaw":"Hermes";O.useEffect(()=>{i("main"),s(""),u(""),o(!1)},[e.session.id]);const f=async()=>{if(i("terminal"),!(r||a)){o(!0),u("");try{const h=await An.launchAgentTerminal(e.kind,e.session.id);s(h.url)}catch(h){u(h instanceof Error?h.message:String(h))}finally{o(!1)}}};return c.jsxs("section",{className:"sandbox-agent-workspace",children:[c.jsxs("header",{children:[c.jsxs("div",{className:"sandbox-agent-workspace-title",children:[c.jsx("button",{type:"button",onClick:t,"aria-label":"返回智能体列表",children:c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}),c.jsxs("div",{children:[c.jsx("h1",{children:e.session.displayName||`${d} 智能体`}),c.jsxs("p",{children:[c.jsxs("span",{children:["创建人 ",e.session.createdBy||"未知"]}),c.jsx("span",{className:"sandbox-agent-workspace-status","data-ready":e.session.status.toLowerCase()==="ready"||void 0,children:Q_(e.session.status)})]})]})]}),c.jsxs($w,{className:"sandbox-agent-workspace-tabs",value:n,size:"lg",gutterSize:"lg",block:!0,pill:!1,"aria-label":"智能体工作区",onChange:h=>{h==="terminal"?f():i("main")},children:[c.jsx($w.Option,{value:"main",children:"主界面"}),c.jsx($w.Option,{value:"terminal",children:"终端"})]})]}),c.jsx("div",{className:"sandbox-agent-workspace-surface",children:n==="main"?c.jsx("iframe",{src:e.webuiUrl,title:`${d} 主界面`,allow:"clipboard-read; clipboard-write"}):a?c.jsx("div",{className:"sandbox-agent-workspace-state",role:"status",children:"正在打开终端…"}):l?c.jsxs("div",{className:"sandbox-agent-workspace-state is-error",role:"alert",children:[c.jsx("p",{children:l}),c.jsx("button",{type:"button",onClick:()=>void f(),children:"重新尝试"})]}):r?c.jsx("iframe",{src:r,title:`${d} 终端`}):null})]})}const aA=[{name:"model",usage:"/model [model]",description:"显示或切换当前对话模型",keywords:["模型","switch"]},{name:"models",usage:"/models",description:"列出 app-server 可用模型",keywords:["模型列表","list"]},{name:"skill",usage:"/skill",description:"浏览并调用当前工作区可用的 Skill",keywords:["技能","workflow"]},{name:"skills",usage:"/skills",description:"浏览并调用当前工作区可用的 Skills",keywords:["技能列表","workflow","list"]},{name:"new",usage:"/new",description:"开始一个新对话",keywords:["新建","对话"]},{name:"resume",usage:"/resume [thread]",description:"打开历史会话或恢复指定 thread",keywords:["历史","恢复","session"]},{name:"fork",usage:"/fork",description:"从当前上下文分叉一个新对话",keywords:["分叉","branch"]},{name:"compact",usage:"/compact",description:"压缩当前对话上下文",keywords:["压缩","上下文"]},{name:"archive",usage:"/archive",description:"归档当前对话并新建对话",keywords:["归档","关闭"]},{name:"status",usage:"/status",description:"显示当前连接、thread、模型与 token 状态",keywords:["状态","连接","token"]},{name:"clear",usage:"/clear",description:"清空当前视图并开始新对话",keywords:["清空","重置"]},{name:"help",usage:"/help",description:"显示 Sandbox 支持的快捷命令",keywords:["帮助","命令"]}];function qut(e){var n;const t=e.trim().match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(t)return{name:t[1].toLocaleLowerCase(),argument:((n=t[2])==null?void 0:n.trim())??""}}function Hut(e){const t=e.toLocaleLowerCase();return aA.filter(n=>!t||[n.name,n.description,...n.keywords].some(i=>i.toLocaleLowerCase().includes(t))).sort((n,i)=>nq(n,t)-nq(i,t)).slice(0,12)}function nq(e,t){return t?e.name===t?0:e.name.startsWith(t)?1:e.name.includes(t)?2:3:aA.indexOf(e)}function Yut(e,t){const n=t.toLocaleLowerCase();return e.filter(i=>!n||`${i.id} ${i.displayName} ${i.description}`.toLocaleLowerCase().includes(n)).sort((i,r)=>{if(!n)return Number(r.isDefault)-Number(i.isDefault);const s=i.id.toLocaleLowerCase(),a=r.id.toLocaleLowerCase(),o=(l,u)=>l===n?0:l.startsWith(n)?1:u.toLocaleLowerCase().startsWith(n)?2:3;return o(s,i.displayName)-o(a,r.displayName)}).slice(0,12)}function Gut(){return aA.map(e=>({label:e.usage,value:e.description}))}function Wut(e,t){return e.map(n=>{const i=n.displayName.trim(),r=i&&i!==n.id?`${i} · ${n.id}`:n.id;return{label:n.id===t?"当前模型":"可用模型",value:n.description?`${r} — ${n.description}`:r,code:!1}})}function Zut(e){const t=[{label:"Thread",value:e.threadId,code:!0},{label:"工作空间",value:e.cwd||"未设置",code:!!e.cwd}];return e.model&&t.push({label:"模型",value:e.model,code:!0}),t.push({label:"状态",value:e.busy?"运行中":"空闲"}),e.threadTotal&&t.push({label:"累计 Token",value:e.threadTotal.totalTokens.toLocaleString()}),e.modelContextWindow!==void 0&&t.push({label:"上下文窗口",value:e.modelContextWindow.toLocaleString()}),t}function Kut(e){return e.messages.map(t=>{var i;const n=[];return t.role==="user"&&((i=t.skillNames)!=null&&i.length)&&n.push({kind:"invocation",value:{skills:t.skillNames.map(r=>({name:r,description:""}))}}),t.content&&n.push({kind:"text",text:t.content}),{role:t.role,blocks:n,meta:{localId:t.id,ts:t.timestamp/1e3}}})}function Jut({appName:e,value:t,onChange:n,onSubmit:i,onStop:r,disabled:s,busy:a,attachments:o,onAddFiles:l,onRemoveAttachment:u,actions:d,models:f,modelsLoading:h,modelsLoaded:p,currentModel:m,onRequestModels:g,skills:y,skillsLoading:b,skillsLoaded:S,selectedSkills:x,onRequestSkills:v,onSelectedSkillsChange:E}){const w=O.useRef(null),k=O.useRef(null),_=O.useRef(null),C=O.useRef(null),[A,R]=O.useState(!1),[j,Q]=O.useState(0),[L,D]=O.useState(!1);O.useLayoutEffect(()=>{const K=w.current;K&&(K.style.height="auto",K.style.height=`${Math.min(K.scrollHeight,200)}px`)},[t]);const N=O.useMemo(()=>{if(!t.startsWith("/")||t.includes(` -`))return;const K=t.slice(1),ie=K.search(/\s/),le=(ie<0?K:K.slice(0,ie)).toLocaleLowerCase(),ge=ie<0?"":K.slice(ie).trim();if(!(ie>=0&&le!=="model"))return{command:le,argument:ge,modelMode:ie>=0}},[t]),M=O.useMemo(()=>{const K=/(^|\s)\$([^\s$]*)$/.exec(t);if(K)return{query:K[2],start:t.length-K[2].length-1,end:t.length}},[t]),B=O.useMemo(()=>{if(M){const K=M.query.toLocaleLowerCase();return y.filter(ie=>!x.some(le=>le.id===ie.id||le.name===ie.name)).filter(ie=>`${ie.name} ${ie.description}`.toLocaleLowerCase().includes(K)).slice(0,12).map(ie=>({kind:"skill",skill:ie}))}return N!=null&&N.modelMode?Yut(f,N.argument).map(K=>({kind:"model",model:K})):N?Hut(N.command).map(K=>({kind:"command",command:K})):[]},[M,f,x,y,N]),$=!L&&!!(M||N);O.useEffect(()=>{Q(0)},[t]),O.useEffect(()=>{N!=null&&N.modelMode&&!p&&!h&&g()},[p,h,g,N==null?void 0:N.modelMode]),O.useEffect(()=>{M&&!S&&!b&&v()},[M,v,S,b]);const I=o.some(K=>K.status!=="ready"),G=a&&!!r,X=!s&&!a&&!I&&(t.trim().length>0||o.length>0);function U(K){D(!1),R(!1),n(K)}function Y(K){if(K.kind==="skill"){if(!M)return;const ie=t.slice(0,M.start)+t.slice(M.end);E([...x,K.skill]),U(ie),D(!0),requestAnimationFrame(()=>{var le,ge;(le=w.current)==null||le.focus(),(ge=w.current)==null||ge.setSelectionRange(M.start,M.start)});return}if(K.kind==="model"){U(`/model ${K.model.id}`),D(!0),requestAnimationFrame(()=>{var ie;return(ie=w.current)==null?void 0:ie.focus()});return}if(K.command.name==="model"){U("/model "),g(),requestAnimationFrame(()=>{var ie;return(ie=w.current)==null?void 0:ie.focus()});return}if(K.command.name==="skill"||K.command.name==="skills"){U(`/${K.command.name}`),D(!0),requestAnimationFrame(()=>{var ie;return(ie=w.current)==null?void 0:ie.focus()});return}U(`/${K.command.name}`),D(!0),requestAnimationFrame(()=>{var ie;return(ie=w.current)==null?void 0:ie.focus()})}function ae(K){var ie;R(!1),(ie=K.current)==null||ie.click()}function fe(K){const ie=K.target.files?Array.from(K.target.files):[];ie.length&&l(ie),K.target.value=""}const ke=M?"可用 Skills":N!=null&&N.modelMode?"选择模型":"Codex 快捷命令";return c.jsxs("div",{className:"composer sandbox-codex-composer",children:[o.length>0?c.jsx(d_,{appName:e,compact:!0,items:o,onRemove:u}):null,c.jsxs("div",{className:"composer-box",children:[$?c.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":ke,children:[c.jsxs("div",{className:"composer-command-head",children:[c.jsx(Aut,{}),c.jsx("span",{children:ke}),N!=null&&N.modelMode&&m?c.jsxs("small",{children:["当前:",m]}):null,c.jsx("kbd",{children:M?"$":"/"})]}),M&&b?c.jsxs("div",{className:"composer-command-empty",children:[c.jsx(wu,{className:"spin"})," 正在发现当前工作区的 Skills…"]}):N!=null&&N.modelMode&&h?c.jsxs("div",{className:"composer-command-empty",children:[c.jsx(wu,{className:"spin"})," 正在读取模型…"]}):B.length===0?c.jsx("div",{className:"composer-command-empty",children:M?"当前工作区没有匹配的 Skill":N!=null&&N.modelMode?"没有匹配模型,也可以直接输入模型 ID":"没有匹配的快捷命令"}):c.jsx("div",{className:"composer-command-list",children:B.map((K,ie)=>{const le=K.kind==="command"?`command:${K.command.name}`:K.kind==="model"?`model:${K.model.id}`:`skill:${K.skill.id}`,ge=K.kind==="command"?K.command.usage:K.kind==="model"?K.model.displayName:`$${K.skill.name}`,Ee=K.kind==="command"?K.command.description:K.kind==="model"?K.model.description||K.model.id:K.skill.description||"加载并执行该 Skill";return c.jsxs("button",{type:"button",role:"option","aria-selected":ie===j,className:`composer-command-item${ie===j?" is-active":""}`,onMouseDown:Ce=>{Ce.preventDefault(),Y(K)},onMouseEnter:()=>Q(ie),children:[c.jsx("span",{className:`composer-command-icon composer-command-icon--${K.kind}`,"aria-hidden":"true",children:K.kind==="command"?"/":K.kind==="model"?"◇":"$"}),c.jsxs("span",{className:"composer-command-copy",children:[c.jsx("strong",{children:ge}),c.jsx("span",{children:Ee})]}),ie===j?c.jsx("kbd",{children:"↵"}):null]},le)})})]}):null,c.jsxs("div",{className:"composer-left-controls",children:[c.jsxs("div",{className:"composer-menu-wrap",children:[c.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:s,onClick:()=>R(K=>!K),children:c.jsx(vut,{className:"icon"})}),A?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>R(!1)}),c.jsxs("div",{className:"composer-menu",role:"menu",children:[c.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>ae(k),children:[c.jsx(kut,{className:"icon"}),"上传图片"]}),c.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>ae(_),children:[c.jsx(Tut,{className:"icon"}),"上传文档或 PDF"]}),c.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>ae(C),children:[c.jsx(_ut,{className:"icon"}),"上传视频"]}),c.jsx("div",{className:"composer-menu-separator",role:"separator"}),c.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{R(!1),d.onOpenTerminal()},children:[c.jsx(pfe,{className:"icon"}),"进入终端"]}),c.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{R(!1),d.onOpenBrowser()},children:[c.jsx(mfe,{className:"icon"}),"查看浏览器"]})]})]}):null]}),c.jsx("button",{type:"button",className:"comp-icon sandbox-composer-control",title:"Codex 权限","aria-label":"Codex 权限",disabled:d.settingsBusy||a,onClick:d.onOpenPermissions,children:c.jsx(J3,{})}),c.jsx("button",{type:"button",className:`comp-icon sandbox-composer-control${d.workspaceLocked?" is-locked":""}`,title:d.workspaceLocked?"对话已开始,工作空间已锁定":"选择工作空间","aria-label":"Codex 工作空间",disabled:d.settingsBusy||a,onClick:d.onOpenWorkspace,children:c.jsx(Dw,{})})]}),c.jsxs("div",{className:"composer-input-stack sandbox-composer-input",children:[x.length>0?c.jsx(u_,{skillPrefix:"$",value:{skills:x.map(({name:K,description:ie})=>({name:K,description:ie}))},onRemoveSkill:K=>E(x.filter(ie=>ie.name!==K))}):null,c.jsx("textarea",{ref:w,className:"comp-input scroll",rows:1,value:t,disabled:s,placeholder:"向 AgentKit 沙箱发送消息,输入 / 查看命令,输入 $ 调用 Skill…","aria-expanded":$,onChange:K=>U(K.target.value),onBlur:()=>window.setTimeout(()=>D(!0),0),onKeyDown:K=>{if(!v3(K.nativeEvent)){if($){if((K.key==="ArrowDown"||K.key==="Tab"&&!K.shiftKey)&&B.length>0){K.preventDefault(),Q(ie=>(ie+1)%B.length);return}if((K.key==="ArrowUp"||K.key==="Tab"&&K.shiftKey)&&B.length>0){K.preventDefault(),Q(ie=>(ie-1+B.length)%B.length);return}if(K.key==="Enter"&&!K.shiftKey&&B[j]){K.preventDefault(),Y(B[j]);return}if(K.key==="Escape"){K.preventDefault(),D(!0);return}}if(K.key==="Backspace"&&!t&&K.currentTarget.selectionStart===0&&x.length>0){K.preventDefault(),E(x.slice(0,-1));return}K.key==="Enter"&&!K.shiftKey&&(K.preventDefault(),X&&i(t))}}})]}),c.jsx("button",{type:"button",className:"comp-send",disabled:G?!1:!X,onClick:G?r:()=>i(t),"aria-label":G?"停止生成":"发送",title:G?"停止生成":void 0,children:G?c.jsx(Eut,{className:"icon"}):a?c.jsx(wu,{className:"icon spin"}):c.jsx(wut,{className:"icon"})})]}),c.jsx("input",{ref:k,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:fe}),c.jsx("input",{ref:_,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:fe}),c.jsx("input",{ref:C,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:fe})]})}function edt({session:e,conversationBusy:t,onInputChange:n,onSessionPatch:i,onSnapshot:r,onActivity:s,onError:a}){const o=O.useRef((e==null?void 0:e.id)??""),l=O.useRef(0);o.current=(e==null?void 0:e.id)??"";const[u,d]=O.useState(!1),[f,h]=O.useState([]),[p,m]=O.useState(!1),[g,y]=O.useState(!1),[b,S]=O.useState([]),[x,v]=O.useState(!1),[E,w]=O.useState(!1),[k,_]=O.useState([]),[C,A]=O.useState(!1),[R,j]=O.useState([]),[Q,L]=O.useState(!1),[D,N]=O.useState(""),[M,B]=O.useState(""),[$,I]=O.useState("");O.useEffect(()=>{l.current+=1,d(!1),h([]),m(!1),y(!1),S([]),v(!1),w(!1),_([]),A(!1),j([]),L(!1),N(""),B(""),I("")},[e==null?void 0:e.id]);const G=O.useCallback(async()=>{const _e=o.current;if(!_e)return[];m(!0);try{const he=await An.listModels(_e);return o.current===_e&&(h(he),y(!0)),he}catch(he){return o.current===_e&&(y(!0),a(he instanceof Error?he.message:String(he))),[]}finally{o.current===_e&&m(!1)}},[a]),X=O.useCallback(async()=>{const _e=o.current;if(!_e)return[];v(!0);try{const he=await An.listSkills(_e);return o.current===_e&&(S(he),w(!0)),he}catch(he){return o.current===_e&&(w(!0),a(he instanceof Error?he.message:String(he))),[]}finally{o.current===_e&&v(!1)}},[a]),U=O.useCallback(async(_e="",he=!1)=>{const te=o.current;if(!te)return;const Te=++l.current;L(!0),N("");try{const me=await An.listThreads(te,_e?{cursor:_e}:{});o.current===te&&l.current===Te&&(j(Be=>{if(!he)return me.threads;const je=new Map(Be.map(Ue=>[Ue.id,Ue]));for(const Ue of me.threads)je.set(Ue.id,Ue);return[...je.values()]}),B(me.nextCursor??""))}catch(me){o.current===te&&l.current===Te&&N(me instanceof Error?me.message:String(me))}finally{o.current===te&&l.current===Te&&L(!1)}},[]),Y=O.useCallback(()=>U("",!1),[U]),ae=O.useCallback(async()=>{!M||Q||await U(M,!0)},[U,Q,M]),fe=O.useCallback(async()=>{A(!0),await Y()},[Y]);O.useEffect(()=>{e!=null&&e.id&&Y()},[Y,e==null?void 0:e.id]);function ke(_e){r(_e),j(he=>[_e.thread,...he.filter(te=>te.id!==_e.thread.id)]),_([]),S([]),w(!1),A(!1)}async function K(_e){const he=await An.newThread(_e);o.current===_e&&(ke(he),s("已新建 Codex 对话",[{label:"Thread",value:he.threadId,code:!0}]))}async function ie(){const _e=o.current;if(!(!_e||u||t)){d(!0),N(""),a("");try{await K(_e)}catch(he){if(o.current===_e){const te=he instanceof Error?he.message:String(he);N(te),a(te)}}finally{o.current===_e&&d(!1)}}}async function le(_e){const he=o.current;if(!(!he||u||t)){if(_e===(e==null?void 0:e.threadId)){A(!1);return}d(!0),a("");try{const te=await An.resumeThread(he,_e);if(o.current!==he)return;ke(te),s("已恢复 Codex 对话",[{label:"Thread",value:te.threadId,code:!0}])}catch(te){o.current===he&&a(te instanceof Error?te.message:String(te))}finally{o.current===he&&d(!1)}}}async function ge(_e){const he=o.current;if(!he||u||t)return!1;l.current+=1,L(!1),d(!0),I(_e),N(""),a("");try{const te=await An.deleteThread(he,_e);return o.current!==he?!1:(te.snapshot&&ke(te.snapshot),j(Te=>Te.filter(me=>me.id!==_e)),s("已删除 Codex 历史会话",[{label:"Thread",value:_e,code:!0}]),!0)}catch(te){if(o.current===he){const Te=te instanceof Error?te.message:String(te);N(Te),a(Te)}return!1}finally{o.current===he&&(d(!1),I(""))}}async function Ee(_e){const he=e,te=_e.trim();if(!te.startsWith("/"))return!1;if(!he||t||u)return!0;const Te=qut(te),me=Te&&aA.find(Be=>Be.name===Te.name);if(!Te||!me)return a(`未知快捷命令:${te.split(/\s/,1)[0]}。输入 /help 查看可用命令。`),!0;if(a(""),_([]),me.name==="model"&&!Te.argument)return n("/model "),g||await G(),!0;if(me.name==="skill"||me.name==="skills")return n("$"),E||(await X()).length===0&&n(""),!0;if(me.name==="resume"&&!Te.argument)return n(""),await fe(),!0;n(""),d(!0);try{if(me.name==="model"){const Be=await An.setModel(he.id,Te.argument);if(o.current!==he.id)return!0;i({model:Be}),s("已切换 Codex 模型",[{label:"模型",value:Be,code:!0}])}else if(me.name==="models"){const Be=g?f:await G();if(o.current!==he.id)return!0;s(Be.length>0?"Codex 可用模型":"当前没有可用模型",Wut(Be,he.model))}else if(me.name==="new"||me.name==="clear")await K(he.id);else if(me.name==="resume"){const Be=await An.resumeThread(he.id,Te.argument);if(o.current!==he.id)return!0;ke(Be),s("已恢复 Codex 对话",[{label:"Thread",value:Be.threadId,code:!0}])}else if(me.name==="fork"){const Be=await An.forkThread(he.id);if(o.current!==he.id)return!0;ke(Be),s("已分叉 Codex 对话",[{label:"Thread",value:Be.threadId,code:!0}])}else if(me.name==="compact"){if(await An.compactThread(he.id),o.current!==he.id)return!0;s("已开始压缩当前 Codex 对话",[{label:"Thread",value:he.threadId,code:!0}])}else if(me.name==="archive"){const Be=he.threadId,je=await An.archiveThread(he.id,Be);if(o.current!==he.id)return!0;je.snapshot&&ke(je.snapshot),j(Ue=>Ue.filter(st=>st.id!==Be)),s("已归档 Codex 对话",[{label:"Thread",value:Be,code:!0}])}else if(me.name==="status"){const Be=await An.getStatus(he.id);if(o.current!==he.id)return!0;i(Be),s("Codex 当前状态",Zut(Be))}else me.name==="help"&&s("Sandbox 支持的 Codex 快捷命令",Gut())}catch(Be){o.current===he.id&&(n(te),a(Be instanceof Error?Be.message:String(Be)))}finally{o.current===he.id&&d(!1)}return!0}function Ce(){S([]),w(!1),_([])}return{commandBusy:u,models:f,modelsLoading:p,modelsLoaded:g,loadModels:G,skills:b,skillsLoading:x,skillsLoaded:E,loadSkills:X,selectedSkills:k,setSelectedSkills:_,invalidateSkills:Ce,threadsOpen:C,threads:R,threadsLoading:Q,threadsError:D,threadsHasMore:!!M,threadActionId:$,openThreads:fe,refreshThreads:Y,loadMoreThreads:ae,closeThreads:()=>{u||(A(!1),N(""))},newThread:ie,resumeThread:le,deleteThread:ge,executeSlash:Ee}}const tdt={volcengine:"火山引擎 AgentKit 提供企业级 Agent 解决方案",byteplus:"BytePlus AgentKit 提供企业级 Agent 解决方案"},ndt={volcengine:"https://docs.volcengine.com/docs/86681/1925174?lang=zh",byteplus:"https://docs.byteplus.com/en/docs/legal"};function idt(e){return e.toLowerCase()==="github"?c.jsx(t1e,{className:"icon"}):c.jsx(i1e,{className:"icon"})}function rdt({branding:e,cloudProvider:t,onUsername:n}){const[i,r]=O.useState(null),[s,a]=O.useState(""),[o,l]=O.useState(0),[u,d]=O.useState(""),f=O.useRef(null);O.useEffect(()=>{let y=!0;return r(null),a(""),OZ().then(b=>{y&&r(b)}).catch(b=>{y&&a(b instanceof Error?b.message:String(b))}),()=>{y=!1}},[o]);const h=i!==null&&i.length===0;O.useEffect(()=>{var y;h&&((y=f.current)==null||y.focus())},[h]);const p=x1e.test(u),m=t==="byteplus"?LD:MD,g=()=>{p&&n(u)};return c.jsxs("div",{className:"login",children:[c.jsx("header",{className:"login-top",children:c.jsxs("span",{className:"login-brand",children:[c.jsx("img",{className:"login-brand-logo",src:e.logoUrl||m,width:20,height:20,alt:"","aria-hidden":!0}),e.title]})}),c.jsx("main",{className:"login-main",children:c.jsxs("div",{className:"login-card",children:[c.jsx(hs,{as:"h1",className:"login-title",duration:4.8,spread:22,children:e.title}),s?c.jsxs("div",{className:"login-provider-error",role:"alert",children:[c.jsx("p",{children:s}),c.jsx("button",{type:"button",onClick:()=>l(y=>y+1),children:"重试"})]}):i===null?null:i.length>0?c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"login-sub",children:"登录以继续使用"}),c.jsx("div",{className:"login-providers",children:i.map(y=>c.jsxs("button",{className:"login-btn",onClick:()=>v1e(y.loginUrl),children:[idt(y.id),c.jsxs("span",{children:["使用 ",y.label," 登录"]})]},y.id))})]}):c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"login-sub",children:"输入一个用户名即可开始"}),c.jsxs("form",{className:"login-name",onSubmit:y=>{y.preventDefault(),g()},children:[c.jsx("input",{ref:f,className:"login-name-input",value:u,onChange:y=>d(y.target.value),placeholder:"用户名(字母 + 数字,最多 16 位)",maxLength:16}),c.jsx("button",{type:"submit",className:"login-name-go",disabled:!p,"aria-label":"进入",children:c.jsx(_b,{className:"icon"})})]}),c.jsx("p",{className:"login-hint","aria-live":"polite",children:u&&!p?"只能包含大小写字母和数字,最多 16 位。":""})]}),c.jsx("p",{className:"login-powered",children:tdt[t]}),c.jsxs("p",{className:"login-legal",children:["继续即表示你已阅读并同意 AgentKit"," ",c.jsx("a",{href:ndt[t],target:"_blank",rel:"noreferrer",children:"产品和服务条款"})]})]})}),c.jsx("footer",{className:"login-footer",children:"© 2026 VeADK. All rights reserved."})]})}function sdt({open:e,checking:t,error:n,onLogin:i}){const r=O.useRef(null);return O.useEffect(()=>{var a;if(!e)return;const s=document.body.style.overflow;return document.body.style.overflow="hidden",(a=r.current)==null||a.focus(),()=>{document.body.style.overflow=s}},[e]),e?ar.createPortal(c.jsx("div",{className:"auth-expired-backdrop",children:c.jsxs("section",{className:"auth-expired-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"auth-expired-title","aria-describedby":"auth-expired-description",children:[c.jsx("div",{className:"auth-expired-mark","aria-hidden":"true",children:c.jsx(cZ,{})}),c.jsxs("div",{className:"auth-expired-copy",children:[c.jsx("h2",{id:"auth-expired-title",children:"登录状态已过期"}),c.jsx("p",{id:"auth-expired-description",children:"当前编辑内容会保留。重新登录后,刚才的操作将自动继续。"}),n&&c.jsx("p",{className:"auth-expired-error",role:"alert",children:n})]}),c.jsx("footer",{className:"auth-expired-actions",children:c.jsx("button",{ref:r,type:"button",onClick:i,disabled:t,children:t?"等待登录完成…":"重新登录"})})]})}),document.body):null}const adt=[{value:"slow",label:"执行速度慢"},{value:"crash",label:"运行崩溃"},{value:"incorrect",label:"结果不准确"},{value:"tool_error",label:"工具调用失败"},{value:"other",label:"其他问题"}];function odt(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"m7 7 10 10"}),c.jsx("path",{d:"m17 7-10 10"})]})}function ldt(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function cdt({onClose:e,onSubmit:t}){const n=O.useId(),i=O.useId(),r=O.useRef(null),s=O.useRef(null),a=O.useRef(!1),o=O.useRef(e),[l,u]=O.useState(()=>new Set),[d,f]=O.useState(""),[h,p]=O.useState(!1),[m,g]=O.useState(""),[y,b]=O.useState(!1);a.current=h,o.current=e,O.useEffect(()=>{var _;const E=document.body.style.overflow,w=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(_=s.current)==null||_.focus();const k=C=>{var Q;if(C.key==="Escape"&&!a.current){C.preventDefault(),o.current();return}if(C.key!=="Tab")return;const A=Array.from(((Q=r.current)==null?void 0:Q.querySelectorAll("button:not(:disabled), textarea:not(:disabled)"))??[]);if(A.length===0)return;const R=A[0],j=A[A.length-1];C.shiftKey&&document.activeElement===R?(C.preventDefault(),j.focus()):!C.shiftKey&&document.activeElement===j&&(C.preventDefault(),R.focus())};return window.addEventListener("keydown",k),()=>{document.body.style.overflow=E,window.removeEventListener("keydown",k),w!=null&&w.isConnected&&w.focus()}},[]);const S=E=>{u(w=>{const k=new Set(w);return k.has(E)?k.delete(E):k.add(E),k})},x=async()=>{if(!(h||y)){p(!0),g("");try{await t({issues:[...l],description:d.trim()}),b(!0)}catch(E){g(E instanceof Error?E.message:String(E))}finally{p(!1)}}},v=l.size>0||d.trim().length>0;return ar.createPortal(c.jsx("div",{className:"issue-feedback-backdrop",onMouseDown:E=>{E.target===E.currentTarget&&!h&&e()},children:c.jsxs("section",{ref:r,className:"issue-feedback-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,"aria-describedby":y?`${i}-success`:i,"aria-busy":h||void 0,children:[c.jsxs("header",{className:"issue-feedback-head",children:[c.jsx("h2",{id:n,children:"问题反馈"}),c.jsx("button",{type:"button",className:"issue-feedback-close",onClick:e,disabled:h,"aria-label":"关闭问题反馈",children:c.jsx(odt,{})})]}),y?c.jsxs("div",{className:"issue-feedback-success",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"issue-feedback-success-mark","aria-hidden":"true",children:c.jsx(ldt,{})}),c.jsxs("div",{children:[c.jsx("h3",{children:"上报成功,感谢您的反馈"}),c.jsx("p",{id:`${i}-success`,children:"AgentKit 团队会尽快查看您提交的问题。"})]})]}):c.jsxs("div",{className:"issue-feedback-body",children:[c.jsx("p",{id:i,className:"issue-feedback-intro",children:"请选择遇到的问题,也可以补充具体表现。"}),c.jsx("p",{className:"issue-feedback-privacy",role:"alert",children:"您的对话数据将会上报到 AgentKit 团队,请注意隐私保护。"}),c.jsx("div",{className:"issue-feedback-chips","aria-label":"常见问题",children:adt.map(E=>c.jsx("button",{type:"button",className:"issue-feedback-chip","aria-pressed":l.has(E.value),onClick:()=>S(E.value),disabled:h,children:E.label},E.value))}),c.jsxs("label",{className:"issue-feedback-field",children:[c.jsx("span",{children:"问题描述"}),c.jsx("textarea",{ref:s,value:d,onChange:E=>f(E.target.value),placeholder:"请描述问题发生时的表现(选填)",maxLength:4e3,rows:5,disabled:h})]}),m&&c.jsx("p",{className:"issue-feedback-error",role:"alert",children:m})]}),c.jsx("footer",{className:"issue-feedback-actions",children:y?c.jsx("button",{type:"button",className:"is-primary",onClick:e,children:"完成"}):c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",onClick:e,disabled:h,children:"取消"}),c.jsx("button",{type:"button",className:"is-primary",onClick:()=>void x(),disabled:!v||h,children:h?"正在上报…":"提交反馈"})]})})]})}),document.body)}function udt(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;const n=document.implementation.createHTMLDocument(),i=n.createElement("base"),r=n.createElement("a");return n.head.appendChild(i),n.body.appendChild(r),t&&(i.href=t),r.href=e,r.href}const ddt=(()=>{let e=0;const t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function rf(e){const t=[];for(let n=0,i=e.length;nVa||e.height>Va)&&(e.width>Va&&e.height>Va?e.width>e.height?(e.height*=Va/e.width,e.width=Va):(e.width*=Va/e.height,e.height=Va):e.width>Va?(e.height*=Va/e.width,e.width=Va):(e.width*=Va/e.height,e.height=Va))}function gdt(e,t={}){return e.toBlob?new Promise(n=>{e.toBlob(n,t.type?t.type:"image/png",t.quality?t.quality:1)}):new Promise(n=>{const i=window.atob(e.toDataURL(t.type?t.type:void 0,t.quality?t.quality:void 0).split(",")[1]),r=i.length,s=new Uint8Array(r);for(let a=0;a{const i=new Image;i.onload=()=>{i.decode().then(()=>{requestAnimationFrame(()=>t(i))})},i.onerror=n,i.crossOrigin="anonymous",i.decoding="async",i.src=e})}async function Odt(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function bdt(e,t,n){const i="http://www.w3.org/2000/svg",r=document.createElementNS(i,"svg"),s=document.createElementNS(i,"foreignObject");return r.setAttribute("width",`${t}`),r.setAttribute("height",`${n}`),r.setAttribute("viewBox",`0 0 ${t} ${n}`),s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.setAttribute("x","0"),s.setAttribute("y","0"),s.setAttribute("externalResourcesRequired","true"),r.appendChild(s),s.appendChild(e),Odt(r)}const Ca=(e,t)=>{if(e instanceof t)return!0;const n=Object.getPrototypeOf(e);return n===null?!1:n.constructor.name===t.name||Ca(n,t)};function ydt(e){const t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function xdt(e,t){return gfe(t).map(n=>{const i=e.getPropertyValue(n),r=e.getPropertyPriority(n);return`${n}: ${i}${r?" !important":""};`}).join(" ")}function Sdt(e,t,n,i){const r=`.${e}:${t}`,s=n.cssText?ydt(n):xdt(n,i);return document.createTextNode(`${r}{${s}}`)}function iq(e,t,n,i){const r=window.getComputedStyle(e,n),s=r.getPropertyValue("content");if(s===""||s==="none")return;const a=ddt();try{t.className=`${t.className} ${a}`}catch{return}const o=document.createElement("style");o.appendChild(Sdt(a,n,r,i)),t.appendChild(o)}function vdt(e,t,n){iq(e,t,":before",n),iq(e,t,":after",n)}const rq="application/font-woff",sq="image/jpeg",wdt={woff:rq,woff2:rq,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:sq,jpeg:sq,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function Edt(e){const t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function eQ(e){const t=Edt(e).toLowerCase();return wdt[t]||""}function kdt(e){return e.split(/,/)[1]}function CM(e){return e.search(/^(data:)/)!==-1}function Tdt(e,t){return`data:${t};base64,${e}`}async function bfe(e,t,n){const i=await fetch(e,t);if(i.status===404)throw new Error(`Resource "${i.url}" not found`);const r=await i.blob();return new Promise((s,a)=>{const o=new FileReader;o.onerror=a,o.onloadend=()=>{try{s(n({res:i,result:o.result}))}catch(l){a(l)}},o.readAsDataURL(r)})}const xR={};function _dt(e,t,n){let i=e.replace(/\?.*/,"");return n&&(i=e),/ttf|otf|eot|woff2?/i.test(i)&&(i=i.replace(/.*\//,"")),t?`[${t}]${i}`:i}async function tQ(e,t,n){const i=_dt(e,t,n.includeQueryParams);if(xR[i]!=null)return xR[i];n.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let r;try{const s=await bfe(e,n.fetchRequestInit,({res:a,result:o})=>(t||(t=a.headers.get("Content-Type")||""),kdt(o)));r=Tdt(s,t)}catch(s){r=n.imagePlaceholder||"";let a=`Failed to fetch resource: ${e}`;s&&(a=typeof s=="string"?s:s.message),a&&console.warn(a)}return xR[i]=r,r}async function Adt(e){const t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):Gk(t)}async function Ndt(e,t){if(e.currentSrc){const s=document.createElement("canvas"),a=s.getContext("2d");s.width=e.clientWidth,s.height=e.clientHeight,a==null||a.drawImage(e,0,0,s.width,s.height);const o=s.toDataURL();return Gk(o)}const n=e.poster,i=eQ(n),r=await tQ(n,i,t);return Gk(r)}async function Cdt(e,t){var n;try{if(!((n=e==null?void 0:e.contentDocument)===null||n===void 0)&&n.body)return await oA(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function Rdt(e,t){return Ca(e,HTMLCanvasElement)?Adt(e):Ca(e,HTMLVideoElement)?Ndt(e,t):Ca(e,HTMLIFrameElement)?Cdt(e,t):e.cloneNode(yfe(e))}const Idt=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",yfe=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function Pdt(e,t,n){var i,r;if(yfe(t))return t;let s=[];return Idt(e)&&e.assignedNodes?s=rf(e.assignedNodes()):Ca(e,HTMLIFrameElement)&&(!((i=e.contentDocument)===null||i===void 0)&&i.body)?s=rf(e.contentDocument.body.childNodes):s=rf(((r=e.shadowRoot)!==null&&r!==void 0?r:e).childNodes),s.length===0||Ca(e,HTMLVideoElement)||await s.reduce((a,o)=>a.then(()=>oA(o,n)).then(l=>{l&&t.appendChild(l)}),Promise.resolve()),t}function jdt(e,t,n){const i=t.style;if(!i)return;const r=window.getComputedStyle(e);r.cssText?(i.cssText=r.cssText,i.transformOrigin=r.transformOrigin):gfe(n).forEach(s=>{let a=r.getPropertyValue(s);s==="font-size"&&a.endsWith("px")&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),Ca(e,HTMLIFrameElement)&&s==="display"&&a==="inline"&&(a="block"),s==="d"&&t.getAttribute("d")&&(a=`path(${t.getAttribute("d")})`),i.setProperty(s,a,r.getPropertyPriority(s))})}function Mdt(e,t){Ca(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),Ca(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function Ldt(e,t){if(Ca(e,HTMLSelectElement)){const n=t,i=Array.from(n.children).find(r=>e.value===r.getAttribute("value"));i&&i.setAttribute("selected","")}}function Ddt(e,t,n){return Ca(t,Element)&&(jdt(e,t,n),vdt(e,t,n),Mdt(e,t),Ldt(e,t)),t}async function $dt(e,t){const n=e.querySelectorAll?e.querySelectorAll("use"):[];if(n.length===0)return e;const i={};for(let s=0;sRdt(i,t)).then(i=>Pdt(e,i,t)).then(i=>Ddt(e,i,t)).then(i=>$dt(i,t))}const xfe=/url\((['"]?)([^'"]+?)\1\)/g,Qdt=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,Bdt=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function Udt(e){const t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function zdt(e){const t=[];return e.replace(xfe,(n,i,r)=>(t.push(r),n)),t.filter(n=>!CM(n))}async function Fdt(e,t,n,i,r){try{const s=n?udt(t,n):t,a=eQ(t);let o;return r||(o=await tQ(s,a,i)),e.replace(Udt(t),`$1${o}$3`)}catch{}return e}function Vdt(e,{preferredFontFormat:t}){return t?e.replace(Bdt,n=>{for(;;){const[i,,r]=Qdt.exec(n)||[];if(!r)return"";if(r===t)return`src: ${i};`}}):e}function Sfe(e){return e.search(xfe)!==-1}async function vfe(e,t,n){if(!Sfe(e))return e;const i=Vdt(e,n);return zdt(i).reduce((s,a)=>s.then(o=>Fdt(o,a,t,n)),Promise.resolve(i))}async function Yp(e,t,n){var i;const r=(i=t.style)===null||i===void 0?void 0:i.getPropertyValue(e);if(r){const s=await vfe(r,null,n);return t.style.setProperty(e,s,t.style.getPropertyPriority(e)),!0}return!1}async function Xdt(e,t){await Yp("background",e,t)||await Yp("background-image",e,t),await Yp("mask",e,t)||await Yp("-webkit-mask",e,t)||await Yp("mask-image",e,t)||await Yp("-webkit-mask-image",e,t)}async function qdt(e,t){const n=Ca(e,HTMLImageElement);if(!(n&&!CM(e.src))&&!(Ca(e,SVGImageElement)&&!CM(e.href.baseVal)))return;const i=n?e.src:e.href.baseVal,r=await tQ(i,eQ(i),t);await new Promise((s,a)=>{e.onload=s,e.onerror=t.onImageErrorHandler?(...l)=>{try{s(t.onImageErrorHandler(...l))}catch(u){a(u)}}:a;const o=e;o.decode&&(o.decode=s),o.loading==="lazy"&&(o.loading="eager"),n?(e.srcset="",e.src=r):e.href.baseVal=r})}async function Hdt(e,t){const i=rf(e.childNodes).map(r=>wfe(r,t));await Promise.all(i).then(()=>e)}async function wfe(e,t){Ca(e,Element)&&(await Xdt(e,t),await qdt(e,t),await Hdt(e,t))}function Ydt(e,t){const{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);const i=t.style;return i!=null&&Object.keys(i).forEach(r=>{n[r]=i[r]}),e}const aq={};async function oq(e){let t=aq[e];if(t!=null)return t;const i=await(await fetch(e)).text();return t={url:e,cssText:i},aq[e]=t,t}async function lq(e,t){let n=e.cssText;const i=/url\(["']?([^"')]+)["']?\)/g,s=(n.match(/url\([^)]+\)/g)||[]).map(async a=>{let o=a.replace(i,"$1");return o.startsWith("https://")||(o=new URL(o,e.url).href),bfe(o,t.fetchRequestInit,({result:l})=>(n=n.replace(a,`url(${l})`),[a,l]))});return Promise.all(s).then(()=>n)}function cq(e){if(e==null)return[];const t=[],n=/(\/\*[\s\S]*?\*\/)/gi;let i=e.replace(n,"");const r=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const l=r.exec(i);if(l===null)break;t.push(l[0])}i=i.replace(r,"");const s=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,a="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",o=new RegExp(a,"gi");for(;;){let l=s.exec(i);if(l===null){if(l=o.exec(i),l===null)break;s.lastIndex=o.lastIndex}else o.lastIndex=s.lastIndex;t.push(l[0])}return t}async function Gdt(e,t){const n=[],i=[];return e.forEach(r=>{if("cssRules"in r)try{rf(r.cssRules||[]).forEach((s,a)=>{if(s.type===CSSRule.IMPORT_RULE){let o=a+1;const l=s.href,u=oq(l).then(d=>lq(d,t)).then(d=>cq(d).forEach(f=>{try{r.insertRule(f,f.startsWith("@import")?o+=1:r.cssRules.length)}catch(h){console.error("Error inserting rule from remote css",{rule:f,error:h})}})).catch(d=>{console.error("Error loading remote css",d.toString())});i.push(u)}})}catch(s){const a=e.find(o=>o.href==null)||document.styleSheets[0];r.href!=null&&i.push(oq(r.href).then(o=>lq(o,t)).then(o=>cq(o).forEach(l=>{a.insertRule(l,a.cssRules.length)})).catch(o=>{console.error("Error loading remote stylesheet",o)})),console.error("Error inlining remote css file",s)}}),Promise.all(i).then(()=>(e.forEach(r=>{if("cssRules"in r)try{rf(r.cssRules||[]).forEach(s=>{n.push(s)})}catch(s){console.error(`Error while reading CSS rules from ${r.href}`,s)}}),n))}function Wdt(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>Sfe(t.style.getPropertyValue("src")))}async function Zdt(e,t){if(e.ownerDocument==null)throw new Error("Provided element is not within a Document");const n=rf(e.ownerDocument.styleSheets),i=await Gdt(n,t);return Wdt(i)}function Efe(e){return e.trim().replace(/["']/g,"")}function Kdt(e){const t=new Set;function n(i){(i.style.fontFamily||getComputedStyle(i).fontFamily).split(",").forEach(s=>{t.add(Efe(s))}),Array.from(i.children).forEach(s=>{s instanceof HTMLElement&&n(s)})}return n(e),t}async function Jdt(e,t){const n=await Zdt(e,t),i=Kdt(e);return(await Promise.all(n.filter(s=>i.has(Efe(s.style.fontFamily))).map(s=>{const a=s.parentStyleSheet?s.parentStyleSheet.href:null;return vfe(s.cssText,a,t)}))).join(` -`)}async function eft(e,t){const n=t.fontEmbedCSS!=null?t.fontEmbedCSS:t.skipFonts?null:await Jdt(e,t);if(n){const i=document.createElement("style"),r=document.createTextNode(n);i.appendChild(r),e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}}async function tft(e,t={}){const{width:n,height:i}=Ofe(e,t),r=await oA(e,t,!0);return await eft(r,t),await wfe(r,t),Ydt(r,t),await bdt(r,n,i)}async function nft(e,t={}){const{width:n,height:i}=Ofe(e,t),r=await tft(e,t),s=await Gk(r),a=document.createElement("canvas"),o=a.getContext("2d"),l=t.pixelRatio||pdt(),u=t.canvasWidth||n,d=t.canvasHeight||i;return a.width=u*l,a.height=d*l,t.skipAutoScale||mdt(a),a.style.width=`${u}`,a.style.height=`${d}`,t.backgroundColor&&(o.fillStyle=t.backgroundColor,o.fillRect(0,0,a.width,a.height)),o.drawImage(s,0,0,a.width,a.height),a}async function ift(e,t={}){const n=await nft(e,t);return await gdt(n)}const rft=16384,sft=32e6;function aft(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"m7 7 10 10"}),c.jsx("path",{d:"m17 7-10 10"})]})}function oft(){const e=getComputedStyle(document.documentElement).getPropertyValue("--background").trim();return e?`hsl(${e})`:"white"}function lft(e,t){const n=Math.min(Math.max(window.devicePixelRatio||1,1),2),i=rft/Math.max(e,t),r=Math.sqrt(sft/Math.max(e*t,1));return Math.min(n,i,r)}function cft(e){const t=e.closest(".transcript");if(!t)return[e];const n=Array.from(t.children).filter(r=>r instanceof HTMLElement&&r.matches(".turn--user, .turn--assistant")),i=n.indexOf(e);return i>=0?n.slice(0,i+1):[e]}function uft(e){const t=document.createElement("section");t.className="share-message-export",t.setAttribute("aria-hidden","true");for(const i of cft(e)){const r=i.cloneNode(!0);r.removeAttribute("data-share-message-source"),r.classList.remove("is-feedback-target"),r.style.opacity="1",r.style.transform="none",r.style.animation="none",r.querySelectorAll("[data-share-image-exclude]").forEach(s=>s.remove()),t.append(r)}const n=document.createElement("p");return n.className="share-message-export-note",n.textContent="上述会话由 AgentKit Studio 导出,仅供参考",t.append(n),document.body.append(t),t}async function dft(e){var n;(n=document.fonts)!=null&&n.ready&&await document.fonts.ready;const t=uft(e);try{const i=Math.ceil(t.scrollWidth),r=Math.ceil(t.scrollHeight),s=lft(i,r);if(s<.2)throw new Error("当前会话过长,暂时无法生成单张图片。");const a=await ift(t,{width:i,height:r,pixelRatio:s,backgroundColor:oft(),cacheBust:!0,style:{position:"static",top:"auto",left:"auto",width:`${i}px`,height:`${r}px`,margin:"0",overflow:"visible",animation:"none"}});if(!a)throw new Error("图片生成失败,请重试。");return a}finally{t.remove()}}function fft(){return`agentkit-conversation-${new Date().toISOString().replace(/[:.]/g,"-")}.png`}function hft({targetTurn:e,onClose:t}){const n=O.useId(),i=O.useId(),r=O.useRef(null),s=O.useRef(null),a=O.useRef(t),o=O.useRef(void 0),[l,u]=O.useState("generating"),[d,f]=O.useState(0),[h,p]=O.useState(null),[m,g]=O.useState(""),[y,b]=O.useState(""),[S,x]=O.useState("idle");a.current=t,O.useEffect(()=>{var C;const w=document.body.style.overflow,k=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(C=s.current)==null||C.focus();const _=A=>{var L;if(A.key==="Escape"){A.preventDefault(),a.current();return}if(A.key!=="Tab")return;const R=Array.from(((L=r.current)==null?void 0:L.querySelectorAll("button:not(:disabled)"))??[]);if(R.length===0)return;const j=R[0],Q=R[R.length-1];A.shiftKey&&document.activeElement===j?(A.preventDefault(),Q.focus()):!A.shiftKey&&document.activeElement===Q&&(A.preventDefault(),j.focus())};return window.addEventListener("keydown",_),()=>{document.body.style.overflow=w,window.removeEventListener("keydown",_),o.current!==void 0&&window.clearTimeout(o.current),k!=null&&k.isConnected&&k.focus()}},[]),O.useEffect(()=>{let w=!1,k="";return u("generating"),p(null),g(""),b(""),x("idle"),dft(e).then(_=>{if(k=URL.createObjectURL(_),w){URL.revokeObjectURL(k);return}p(_),g(k),u("ready")}).catch(_=>{w||(u("error"),b(_ instanceof Error?_.message:String(_)))}),()=>{w=!0,k&&URL.revokeObjectURL(k)}},[d,e]);const v=async()=>{var w;if(!(!h||S==="copying")){x("copying"),b("");try{if(!((w=navigator.clipboard)!=null&&w.write)||typeof ClipboardItem>"u")throw new Error("当前浏览器不支持复制图片,请下载后使用。");await navigator.clipboard.write([new ClipboardItem({"image/png":h})]),x("copied"),o.current=window.setTimeout(()=>x("idle"),1500)}catch(k){x("idle"),b(k instanceof Error?k.message:String(k))}}},E=()=>{if(!h)return;const w=URL.createObjectURL(h),k=document.createElement("a");k.href=w,k.download=fft(),k.style.display="none",document.body.append(k),k.click(),k.remove(),window.setTimeout(()=>URL.revokeObjectURL(w),1e3)};return ar.createPortal(c.jsx("div",{className:"share-message-backdrop",onMouseDown:w=>{w.target===w.currentTarget&&t()},children:c.jsxs("section",{ref:r,className:"share-message-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,"aria-describedby":i,"aria-busy":l==="generating",children:[c.jsxs("header",{className:"share-message-head",children:[c.jsxs("div",{children:[c.jsx("h2",{id:n,children:"分享为图片"}),c.jsx("p",{id:i,children:"包含截至当前回复的全部输入与输出。"})]}),c.jsx("button",{ref:s,type:"button",className:"share-message-close","aria-label":"关闭",title:"关闭",onClick:t,children:c.jsx(aft,{})})]}),c.jsxs("div",{className:"share-message-body",children:[l==="generating"?c.jsx("div",{className:"share-message-generating",role:"status",children:c.jsx(hs,{children:"正在生成图片…"})}):l==="error"?c.jsxs("div",{className:"share-message-failure",children:[c.jsx("p",{role:"alert",children:y||"图片生成失败,请重试。"}),c.jsx("button",{type:"button",onClick:()=>f(w=>w+1),children:"重试生成"})]}):c.jsx("div",{className:"share-message-preview",children:c.jsx("img",{src:m,alt:"会话记录分享图片预览"})}),l!=="error"&&y&&c.jsx("p",{className:"share-message-error",role:"alert",children:y})]}),c.jsxs("footer",{className:"share-message-actions",children:[c.jsx("button",{type:"button",onClick:t,children:"取消"}),c.jsx("button",{type:"button",onClick:E,disabled:!h||l!=="ready",children:"下载 PNG"}),c.jsx("button",{type:"button",className:"is-primary",onClick:()=>void v(),disabled:!h||l!=="ready"||S==="copying",children:S==="copying"?"正在复制…":S==="copied"?"已复制":"复制图片"})]})]})}),document.body)}function RM(e){const t=O.useRef(e);return t.current=e,t}let t0=[],Pv=!1;const uq=e=>{var t,n;if(e.key==="Escape"){const[i]=t0;i&&(e.preventDefault(),(n=(t=i.callback).current)==null||n.call(t))}},kfe=()=>{t0.length>0&&!Pv?(document.body.addEventListener("keydown",uq),Pv=!0):t0.length===0&&Pv&&(document.body.removeEventListener("keydown",uq),Pv=!1)},pft=e=>{t0.unshift(e),kfe()},mft=({id:e})=>{t0=t0.filter(t=>t.id!==e),kfe()},gft=(e,t)=>{const n=O.useId(),i=RM(t);O.useEffect(()=>{if(!e)return;const r={id:n,callback:i};return pft(r),()=>mft(r)},[n,e,i])},Oft=(e,t)=>{const n=e.currentTarget,i={x:e.clientX,y:e.clientY},r=bft(i,n.getBoundingClientRect()),s=yft(i,r),a=xft(t.getBoundingClientRect());return vft([...s,...a])};function bft(e,t){const n=Math.abs(t.top-e.y),i=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,i,r,s)){case s:return"left";case r:return"right";case n:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function yft(e,t,n=5){const i=[];switch(t){case"top":i.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":i.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":i.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":i.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return i}function xft(e){const{top:t,right:n,bottom:i,left:r}=e;return[{x:r,y:t},{x:n,y:t},{x:n,y:i},{x:r,y:i}]}function Sft(e,t){const{x:n,y:i}=e;let r=!1;for(let s=0,a=t.length-1;si!=h>i&&n<(f-u)*(i-d)/(h-d)+u&&(r=!r)}return r}function vft(e){const t=e.slice();return t.sort((n,i)=>n.xi.x?1:n.yi.y?1:0),wft(t)}function wft(e){if(e.length<=1)return e.slice();const t=[];for(let i=0;i=2;){const s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))t.pop();else break}t.push(r)}t.pop();const n=[];for(let i=e.length-1;i>=0;i--){const r=e[i];for(;n.length>=2;){const s=n[n.length-1],a=n[n.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}const Eft="_Transition_1wdpp_1",kft="_Popover_1wdpp_3",Tfe={Transition:Eft,Popover:kft},_fe=O.createContext(null),lA=()=>{const e=O.use(_fe);if(!e)throw new Error("Popover components must be wrapped in ");return e},ey=({open:e,onOpenChange:t,showOnHover:n=!1,hoverOpenDelay:i=150,children:r})=>{const[s,a]=O.useState(!1),[o,l]=O.useState(!1),u=O.useRef(null),d=O.useRef(null),f=O.useRef(void 0),h=O.useRef(!1),p=O.useRef(!1),m=e??s,[g,y]=O.useState(!1);ste(()=>y(!1),g?500:null);const b=RM(t),S=RM(k=>{var _,C;clearTimeout(f.current),m!==k&&(k||(l(!1),n&&h.current&&((_=u.current)==null||_.focus()),h.current=!1),(C=b.current)==null||C.call(b,k),a(k),n&&y(k))}),x=O.useCallback(k=>{S.current(k)},[S]),v=O.useCallback(()=>{f.current=setTimeout(()=>x(!0),i)},[x,i]),E=O.useCallback(()=>{clearTimeout(f.current)},[]);O.useEffect(()=>()=>{clearTimeout(f.current)},[]);const w=O.useMemo(()=>({open:m,setOpen:x,shake:o,setShake:l,showOnHover:n,temporarilyPreventClickToClose:g,onTriggerEnter:v,onTriggerLeave:E,isPointerInTransitRef:p,triggerRef:u,contentRef:d,hoverOpenFocusedWithTab:h}),[m,x,o,l,n,g,h,p,v,E]);return c.jsx(_fe,{value:w,children:c.jsx(Xat,{open:m,onOpenChange:x,modal:!1,children:r})})},Tft=({children:e,onPointerDown:t,onClick:n})=>{const{setOpen:i,showOnHover:r,temporarilyPreventClickToClose:s,onTriggerEnter:a,onTriggerLeave:o,isPointerInTransitRef:l,triggerRef:u,contentRef:d}=lA(),f=O.useRef(!1),h=g=>{!(g.currentTarget.nodeName.toLocaleLowerCase()==="a")&&s&&(g.preventDefault(),g.stopPropagation())},p=g=>{g.pointerType!=="touch"&&!f.current&&!l.current&&(a(),f.current=!0)},m=()=>{f.current&&(o(),f.current=!1)};return c.jsx(qat,{asChild:!0,ref:u,onPointerDown:g=>{h(g),t==null||t(g)},onClick:g=>{h(g),n==null||n(g)},onPointerMove:r?p:void 0,onPointerLeave:r?m:void 0,onFocus:r?()=>i(!0):void 0,onBlur:r?()=>{setTimeout(()=>{var g;(g=d.current)!=null&&g.contains(document.activeElement)||i(!1)},50)}:void 0,children:e})},Afe=({children:e,avoidCollisions:t,width:n,minWidth:i,maxWidth:r,side:s,sideOffset:a=8,align:o,alignOffset:l,translucent:u,className:d,autoFocus:f=!0})=>{const{showOnHover:h,shake:p,contentRef:m}=lA(),g=y=>{const b=m.current;if(b&&y.target===b&&y.key==="Tab"&&y.shiftKey){y.preventDefault(),y.stopPropagation();const S=ite(b),x=S[S.length-1];x==null||x.focus()}};return O.useEffect(()=>{const y=m.current;!y||!f||y!=null&&y.contains(document.activeElement)||h||y.focus({preventScroll:!0})},[m,h,f]),c.jsx(Yat,{forceMount:!0,ref:m,className:Pa(Tfe.Popover,d),style:c$({"popover-width":n,"popover-min-width":i,"popover-max-width":r}),onCloseAutoFocus:h?t2:void 0,"data-animate":p?"shake":void 0,"data-translucent":u?"true":void 0,side:s,sideOffset:a,align:o,alignOffset:l??(o==="center"?0:-5),avoidCollisions:t??!0,hideWhenDetached:!0,collisionPadding:20,onOpenAutoFocus:t2,onEscapeKeyDown:t2,onKeyDown:g,children:e})},_ft=e=>{const{setOpen:t,triggerRef:n,contentRef:i,isPointerInTransitRef:r,hoverOpenFocusedWithTab:s}=lA(),[a,o]=O.useState(null),l=O.useCallback(()=>{o(null),r.current=!1},[r]),u=O.useCallback((d,f)=>{const h=Oft(d,f);o(h),r.current=!0},[r]);return O.useEffect(()=>()=>l(),[l]),O.useEffect(()=>{const d=n.current,f=i.current;if(!d||!f)return;const h=m=>u(m,f),p=m=>u(m,d);return d.addEventListener("pointerleave",h),f.addEventListener("pointerleave",p),()=>{d.removeEventListener("pointerleave",h),f.removeEventListener("pointerleave",p)}},[i,n,u,l]),O.useEffect(()=>{if(!a)return;const d=f=>{const h=n.current,p=i.current,m=f.target,g={x:f.clientX,y:f.clientY},y=(h==null?void 0:h.contains(m))||(p==null?void 0:p.contains(m)),b=!Sft(g,a),S=m.hasAttribute("aria-haspopup");y?l():(b||S)&&(l(),t(!1))};return document.addEventListener("pointermove",d),()=>document.removeEventListener("pointermove",d)},[a,t,l,n,i]),O.useEffect(()=>{const d=f=>{if(i.current&&f.key==="Tab"&&!f.shiftKey){const[h]=ite(i.current);h&&(f.preventDefault(),h.focus(),s.current=!0,document.removeEventListener("keydown",d))}};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}},[i,s]),c.jsx(Afe,{...e})},Aft=e=>{const{open:t,showOnHover:n,setOpen:i}=lA();return gft(t,()=>{i(!1)}),c.jsx(Hat,{forceMount:!0,children:c.jsx(lte,{enterDuration:600,exitDuration:300,className:Tfe.Transition,disableAnimations:!0,children:t&&(n?c.jsx(_ft,{...e},"popover-hover"):c.jsx(Afe,{...e},"popover"))})})};ey.Trigger=Tft;ey.Content=Aft;const Nft="_Container_13560_1",Cft="_Textarea_13560_174",dq={Container:Nft,Textarea:Cft},Rft=e=>{const t=O.useRef(null),i=`search-ui-input-${O.useId()}`,{id:r,name:s,variant:a="outline",size:o="md",gutterSize:l,className:u,autoComplete:d,disabled:f=!1,readOnly:h=!1,invalid:p=!1,allowAutofillExtensions:m=!!s,onFocus:g,onBlur:y,onAnimationStart:b,onAutofill:S,autoSelect:x,rows:v=3,maxRows:E,autoResize:w,ref:k,onChange:_,...C}=e,[A,R]=O.useState(!1),j=w?Math.max(E??10,v):v;O.useEffect(()=>{var D;x&&((D=t.current)==null||D.select())},[x]);const Q=D=>{b==null||b(D),D.animationName==="native-autofill-in"&&(S==null||S())},L=O.useCallback(()=>{if(!w||!t.current||j===void 0)return;t.current.style.height="0px";const D=t.current.scrollHeight;t.current.style.height=D+"px"},[w,j]);return O.useEffect(()=>{L()},[e.value,v,L]),c.jsx("div",{className:Pa(dq.Container,u),"data-variant":a,"data-size":o,"data-gutter-size":l,"data-focused":A,"data-disabled":f?"":void 0,"data-readonly":h?"":void 0,"data-invalid":p?"":void 0,style:c$({"textarea-min-rows":`${v}`,"textarea-max-rows":`${j}`}),children:c.jsx("textarea",{...C,onChange:D=>{_==null||_(D),L()},ref:ate([t,k]),id:r||(m?void 0:i),className:dq.Textarea,name:s,readOnly:h,disabled:f,rows:v,onFocus:D=>{R(!0),g==null||g(D)},onBlur:D=>{R(!1),y==null||y(D)},onAnimationStart:Q,"data-lpignore":m?void 0:!0,"data-1p-ignore":m?void 0:!0})})},Ift=2e3,Pft=700,Nfe=1200;function nQ(e,t){const n=Array.from(e);return n.length<=t?e:`${n.slice(0,t-1).join("").trimEnd()}…`}function Cfe(e){return nQ(e.trim(),Pft)}function Rfe(e){return nQ(e,Nfe)}function fq(e){return e.trim().length>0}function jft(e,t){const n=Cfe(e),i=Rfe(t.trim());return nQ(`选中片段:${n} +`)),g("copied")}catch{g("error")}},N=()=>{var $;p(!1),g("idle"),u(""),f(x.current||(($=C[0])==null?void 0:$.version)||""),s("confirm")};return c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",className:e==="feature-link"?"welcome-feature-link studio-update-trigger--feature":`studio-update-trigger is-${r}`,title:r==="submitting"?"正在更新 Studio":r==="published"?"Studio 已更新":`更新 Studio 至 ${n.latestVersion}`,onClick:()=>{var $;r==="published"?window.location.reload():(r==="submitting"||r==="error"||(f((($=C[0])==null?void 0:$.version)||n.latestVersion),s("confirm")),o(!0))},children:[e!=="feature-link"&&c.jsx(JX,{className:"studio-update-icon"}),r==="submitting"?c.jsx(hs,{as:"span",children:"正在更新"}):r==="published"?c.jsx("span",{children:"刷新使用新版"}):r==="error"?c.jsx("span",{children:"更新失败"}):e==="feature-link"?c.jsx("span",{children:"立即更新"}):c.jsx("span",{children:"有新版更新"})]}),a&&r!=="idle"&&ar.createPortal(c.jsx("div",{className:"confirm-scrim",role:"presentation",children:c.jsxs("section",{className:`confirm-box studio-update-dialog${r==="confirm"?"":" is-progress"}`,role:"dialog","aria-modal":"true","aria-labelledby":"studio-update-title",children:[c.jsx("div",{className:"studio-update-dialog-mark",children:c.jsx(JX,{})}),c.jsx("div",{id:"studio-update-title",className:"confirm-title",children:r==="error"?"Studio 更新失败":r==="submitting"?"正在更新 Studio":r==="published"?"Studio 更新完成":"发现新版本"}),r==="error"?c.jsxs("div",{className:"studio-update-error-panel",children:[c.jsx("p",{className:"confirm-text studio-update-error",children:l}),c.jsxs("dl",{className:"studio-update-error-meta",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"失败阶段"}),c.jsx("dd",{children:Kct[n.errorStage]||n.errorStage||"未知阶段"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"错误 ID"}),c.jsx("dd",{children:n.errorId||"未生成"})]})]}),n.updateLogsVisible!==!1&&c.jsx(eq,{lines:L,phase:"error",copyState:m,onCopy:$=>void D($)}),n.consoleUrl&&c.jsxs("a",{className:"studio-update-console-link",href:n.consoleUrl,target:"_blank",rel:"noreferrer",children:["前往 VeFaaS 控制台查看 Function 日志",c.jsx("span",{"aria-hidden":!0,children:"↗"})]})]}):r==="submitting"||r==="published"?c.jsxs("div",{className:"studio-update-progress-body",children:[c.jsxs("div",{className:"studio-update-progress-summary",children:[c.jsxs("div",{children:[c.jsx("span",{children:"目标版本"}),c.jsx("strong",{children:x.current||A})]}),c.jsxs("div",{children:[c.jsx("span",{children:r==="published"?"更新状态":"已用时"}),c.jsx("strong",{children:r==="published"?"已完成":Jct(y)})]})]}),c.jsx("ol",{className:"studio-update-progress","aria-label":"Studio 更新进度",children:ZX.map(($,I)=>{const G=ZX.findIndex(Y=>Y.id===n.progressStage),X=r==="published"||Ivoid D($)}),c.jsx("p",{className:"studio-update-progress-note",children:"发布阶段会短暂中断连接;关闭此窗口不会停止更新,可随时点击右上角按钮重新查看。"})]}):c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"confirm-text",children:"更新会重启 Studio 服务,预计约 3–5 分钟完成更新与发布。期间正在进行的对话、 流式响应或部署任务可能中断,登录态不会受到影响。"}),c.jsxs("div",{className:"studio-update-field",ref:S,children:[c.jsx("span",{children:"选择版本"}),c.jsxs("button",{type:"button",className:"studio-update-version-trigger","aria-label":"选择版本","aria-haspopup":"listbox","aria-expanded":h,onClick:()=>p($=>!$),onKeyDown:$=>{($.key==="ArrowDown"||$.key==="ArrowUp")&&($.preventDefault(),p(!0))},children:[c.jsx("span",{children:A}),c.jsx(sut,{})]}),h&&c.jsx("div",{className:"studio-update-version-menu",role:"listbox","aria-label":"选择版本",children:C.map($=>{const I=$.version===A;return c.jsxs("button",{type:"button",role:"option","aria-selected":I,className:`studio-update-version-option${I?" is-selected":""}`,onClick:()=>{f($.version),p(!1)},children:[c.jsx("span",{children:$.version}),I&&c.jsx(aut,{})]},$.version)})})]}),c.jsxs("dl",{className:"studio-update-versions",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"当前版本"}),c.jsx("dd",{children:n.currentVersion})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"目标版本"}),c.jsx("dd",{children:A})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"Commit"}),c.jsx("dd",{children:((R==null?void 0:R.gitSha)||n.latestGitSha).slice(0,8)})]})]}),c.jsxs("section",{className:"studio-update-changelog","aria-labelledby":"studio-update-changelog-title",children:[c.jsx("div",{id:"studio-update-changelog-title",children:"更新内容"}),j.length?c.jsx("ul",{children:j.map($=>c.jsx("li",{children:$},$))}):c.jsx("p",{children:"暂无更新说明"})]})]}),c.jsxs("div",{className:"confirm-actions",children:[c.jsx("button",{type:"button",className:"confirm-btn",onClick:()=>{o(!1),p(!1),r==="confirm"&&(s("idle"),u(""))},children:r==="submitting"?"后台运行":r==="confirm"?"取消":"关闭"}),r==="confirm"&&c.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:()=>void Q(),children:"立即更新"}),r==="error"&&c.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:N,children:"重新尝试"})]})]})}),document.body)]})}const lut=["多地域智能体:并行加载北京与上海 Runtime,列表下滑即可继续加载。","会话内切换:在输入框旁选择智能体,并直接开启一段新会话。","可视化执行画布:通过横向画布查看多智能体结构,并支持全屏浏览。"],tq=Hct(),cut=tq.length?tq:lut;function uut({canUpdate:e=!1}){return c.jsxs("div",{className:"welcome-feature-pill",children:[c.jsx("span",{children:"焕然一新"}),c.jsx("span",{className:"welcome-feature-divider","aria-hidden":"true"}),c.jsx("button",{type:"button",className:"welcome-feature-link","aria-describedby":"welcome-feature-popover",children:"查看新特性"}),c.jsxs("section",{id:"welcome-feature-popover",className:"welcome-feature-popover",role:"tooltip",children:[c.jsx("strong",{children:"本次更新"}),c.jsx("ul",{children:cut.map(t=>c.jsx("li",{children:t},t))})]}),e&&c.jsx(out,{variant:"feature-link"})]})}const dut=1e4;async function fut(e){const t=await fetch(Xn(e),{headers:g0({Accept:"application/json"}),signal:Gn(void 0,dut)});if(!t.ok)throw new Error(`读取会话模式能力失败(HTTP ${t.status})`);const n=await t.json();if(typeof n.enabled!="boolean")throw new Error("会话模式能力响应格式错误");return{enabled:n.enabled,reason:typeof n.reason=="string"?n.reason:void 0}}async function hut(){return fut("/web/sandbox/capabilities")}function put(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m7 7 10 10M17 7 7 17"})})}function mut(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M12 3.5v11m-4-4 4 4 4-4"}),c.jsx("path",{d:"M5 19.5h14"})]})}function nq(e){return c.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:[c.jsx("circle",{cx:"8",cy:"8",r:"5.5",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.22"}),c.jsx("path",{d:"M8 2.5A5.5 5.5 0 0 1 13.5 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function gut({open:e,task:t,onClose:n,onRetry:i,onDownload:r}){const s=O.useId(),a=O.useRef(null),o=O.useRef(null),l=O.useRef(null),u=O.useRef(n);if(u.current=n,O.useEffect(()=>{if(!e||!t)return;l.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const g=document.body.style.overflow;document.body.style.overflow="hidden";const y=window.requestAnimationFrame(()=>{var S;return(S=o.current)==null?void 0:S.focus()}),b=S=>{var w;if(S.key==="Escape"){S.preventDefault(),u.current();return}if(S.key!=="Tab")return;const x=Array.from(((w=a.current)==null?void 0:w.querySelectorAll('button:not(:disabled), a[href], video[controls], [tabindex]:not([tabindex="-1"])'))??[]);if(x.length===0)return;const v=x[0],E=x[x.length-1];if(document.activeElement===o.current){S.preventDefault(),(S.shiftKey?E:v).focus();return}S.shiftKey&&document.activeElement===v?(S.preventDefault(),E.focus()):!S.shiftKey&&document.activeElement===E&&(S.preventDefault(),v.focus())};return window.addEventListener("keydown",b),()=>{var S;window.cancelAnimationFrame(y),document.body.style.overflow=g,window.removeEventListener("keydown",b),(S=l.current)!=null&&S.isConnected&&l.current.focus()}},[e,t==null?void 0:t.localId]),!e||!t)return null;const d=sit(t),f=t.status==="optimizing"||t.status==="generating",h=t.errorStage==="optimization"?"重试提示词优化":"重试视频生成",p=Xce(t.resolvedMode??t.requestedMode),m=t.error.includes("尚未开通");return ar.createPortal(c.jsx("div",{className:"new-chat-video-task-backdrop",onMouseDown:g=>{g.target===g.currentTarget&&n()},children:c.jsxs("section",{ref:a,className:`new-chat-video-task-dialog is-${t.status}`,role:"dialog","aria-modal":"true","aria-labelledby":s,"aria-busy":f||void 0,children:[c.jsxs("header",{className:"new-chat-video-task-dialog__head",children:[c.jsxs("div",{children:[c.jsx("h2",{ref:o,id:s,tabIndex:-1,children:"视频生成任务"}),c.jsxs("p",{children:[p," · ",t.generationModel]})]}),c.jsx("button",{type:"button",className:"new-chat-video-task-dialog__close",onClick:n,"aria-label":"关闭视频生成任务弹窗",children:c.jsx(put,{})})]}),c.jsxs("div",{className:"new-chat-video-task-dialog__body",children:[c.jsx("ol",{className:"new-chat-video-task-steps","aria-label":"视频生成进度","aria-live":"polite","aria-atomic":"true",children:d.map(g=>c.jsx("li",{className:`is-${g.status}`,children:c.jsxs("span",{className:"new-chat-video-task-step__label",children:[g.status==="active"?c.jsx(nq,{className:"new-chat-video-task-step__loading"}):null,c.jsx("span",{children:g.label})]})},g.id))}),t.error?c.jsx("div",{className:"new-chat-video-task-error",role:"alert",children:c.jsx("p",{children:t.error})}):null,t.optimizedPrompt?c.jsxs("section",{className:"new-chat-video-task-prompt","aria-labelledby":`${s}-prompt`,children:[c.jsx("h3",{id:`${s}-prompt`,children:"优化后的提示词"}),c.jsx("p",{children:t.optimizedPrompt})]}):null,t.status==="generating"?c.jsxs("div",{className:"new-chat-video-task-preview is-loading",role:"status",children:[c.jsx(nq,{className:"new-chat-video-task-preview__loading"}),c.jsxs(hs,{as:"strong",duration:2.2,spread:18,children:[p,"进行中"]}),c.jsx("span",{children:"这可能持续数分钟,生成完成后将在这里显示视频预览"})]}):t.output?c.jsx("div",{className:"new-chat-video-task-preview",children:c.jsx("video",{src:t.output.previewUrl,controls:!0,playsInline:!0,preload:"metadata","aria-label":"生成结果预览"})}):null]}),c.jsxs("footer",{className:"new-chat-video-task-dialog__actions",children:[c.jsx("p",{className:f?"is-warning":void 0,children:f?"请勿关闭弹窗,关闭后任务将丢失":t.status==="success"?"视频已生成,可预览或下载":m?"请先在模型控制台开通服务,再重试生成":"修正问题后可重试当前步骤"}),c.jsxs("div",{children:[c.jsx("button",{type:"button",className:"new-chat-video-task-button",onClick:n,children:"关闭"}),t.status==="error"?c.jsx("button",{type:"button",className:"new-chat-video-task-button is-primary",onClick:i,children:h}):t.output?c.jsxs("button",{type:"button",className:"new-chat-video-task-button is-primary",onClick:r,children:[c.jsx(mut,{}),"下载视频"]}):null]})]})]})}),document.body)}const Out="我的智能体";function but({open:e,state:t,agentKind:n="codex",error:i,onCancel:r,onConfirm:s}){const a=n==="codex"?"Codex":n==="openclaw"?"OpenClaw":"Hermes",o=n==="codex"?Out:`我的 ${a}`,l=O.useRef(null),u=O.useRef(null),d=O.useRef(null),f=O.useRef(!1),h=O.useRef(r),[p,m]=O.useState(o),[g,y]=O.useState(!0);if(h.current=r,O.useEffect(()=>{if(!e)return;m(o),y(!0);const v=document.body.style.overflow;document.body.style.overflow="hidden";const E=window.requestAnimationFrame(()=>{var k,_;(k=u.current)==null||k.focus(),(_=u.current)==null||_.select()}),w=k=>{var R;if(k.key==="Escape"){k.preventDefault(),h.current();return}if(k.key!=="Tab")return;const _=(R=l.current)==null?void 0:R.querySelectorAll("input:not(:disabled), button:not(:disabled)");if(!(_!=null&&_.length))return;const C=_[0],A=_[_.length-1];k.shiftKey&&document.activeElement===C?(k.preventDefault(),A.focus()):!k.shiftKey&&document.activeElement===A&&(k.preventDefault(),C.focus())};return window.addEventListener("keydown",w),()=>{window.cancelAnimationFrame(E),document.body.style.overflow=v,window.removeEventListener("keydown",w)}},[o,e]),!e)return null;const b=t==="loading",S=p.trim(),x=b?`正在创建 ${a} 智能体`:t==="error"?"启动失败":`创建 ${a} 智能体`;return ar.createPortal(c.jsx("div",{className:"sandbox-dialog-backdrop",onMouseDown:v=>{v.target===v.currentTarget&&!b&&r()},children:c.jsxs("form",{ref:l,className:"sandbox-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"sandbox-dialog-title","aria-describedby":t==="confirm"?void 0:"sandbox-dialog-description",onSubmit:v=>{v.preventDefault(),!b&&!f.current&&S&&s(S,g)},children:[c.jsxs("div",{className:"sandbox-dialog-visual","aria-hidden":"true",children:[c.jsx("span",{className:"sandbox-dialog-orbit"}),c.jsx("span",{className:"sandbox-dialog-icon",children:b?c.jsx("span",{className:"sandbox-spinner"}):c.jsx(Ox,{kind:n})})]}),c.jsxs("div",{className:"sandbox-dialog-copy",children:[c.jsx("h2",{id:"sandbox-dialog-title",children:x}),t==="error"?c.jsx("p",{id:"sandbox-dialog-description",className:"sandbox-dialog-error",role:"alert",children:i||"AgentKit 沙箱初始化失败,请稍后重新尝试。"}):b?c.jsxs("p",{id:"sandbox-dialog-description","aria-live":"polite",children:["正在创建并等待 ",a," 智能体就绪,这通常需要半分钟"]}):null,c.jsxs("label",{className:"sandbox-dialog-field",children:[c.jsxs("span",{className:"sandbox-dialog-field-label",children:[c.jsx("span",{children:"智能体名称"}),c.jsxs("span",{"aria-hidden":"true",children:[p.length,"/",PV]})]}),c.jsx("input",{ref:u,type:"text",required:!0,value:p,maxLength:PV,disabled:b,placeholder:o,autoComplete:"off",onChange:v=>m(v.target.value),onCompositionStart:()=>{f.current=!0},onCompositionEnd:()=>{f.current=!1},onKeyDown:v=>{const{nativeEvent:E}=v;v.key==="Enter"&&(f.current||E.isComposing||E.keyCode===229)&&v.preventDefault()}})]}),c.jsxs("div",{className:"sandbox-dialog-persistence",role:"group","aria-describedby":"sandbox-persistence-description",children:[c.jsx(q3,{id:"sandbox-persistence",className:"sandbox-dialog-persistence-control",checked:g,disabled:b,onCheckedChange:y,label:"持久化"}),c.jsx("p",{id:"sandbox-persistence-description",className:`sandbox-dialog-persistence-description${g?"":" is-warning"}`,role:g?void 0:"status",children:g?"保留智能体数据,后续可继续使用。":"智能体将在 8 小时后清空"})]})]}),c.jsxs("footer",{className:"sandbox-dialog-actions",children:[c.jsx("button",{ref:d,type:"button",onClick:r,children:b?"取消创建":"取消"}),!b&&c.jsx("button",{type:"submit",className:"is-primary",disabled:!S,children:t==="error"?"重新尝试":"确认创建"})]})]})}),document.body)}function yut({agentName:e,onExit:t}){return c.jsxs("div",{className:"sandbox-session-warning",role:"status",children:[c.jsx("span",{className:"sandbox-session-warning-dot","aria-hidden":"true"}),c.jsxs("span",{className:"sandbox-session-warning-copy",children:["当前您在使用 ",e," 智能体"]}),c.jsx("button",{type:"button",onClick:t,children:"退出当前智能体"})]})}function xut({activity:e,time:t}){var n;return c.jsxs("aside",{className:"sandbox-activity-record",role:"status","aria-label":"Sandbox 操作记录",children:[c.jsxs("div",{className:"sandbox-activity-summary",children:[c.jsx("span",{className:"sandbox-activity-dot","aria-hidden":"true"}),c.jsx("span",{className:"sandbox-activity-label",children:"操作记录"}),c.jsx("strong",{children:e.title}),t?c.jsx("time",{children:t}):null]}),(n=e.details)!=null&&n.length?c.jsx("dl",{className:"sandbox-activity-details",children:e.details.map(i=>c.jsxs("div",{children:[c.jsx("dt",{children:i.label}),c.jsx("dd",{title:i.value,children:i.code?c.jsx("code",{children:i.value}):i.value})]},`${i.label}:${i.value}`))}):null]})}function Sut(e){return e>=1e6?`${(e/1e6).toFixed(e>=1e7?0:1)}m`:e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}k`:String(e)}function vut({usage:e}){const t=[["Total",e.totalTokens],["Input",e.inputTokens],...e.cachedInputTokens>0?[["Cached input",e.cachedInputTokens]]:[],["Output",e.outputTokens],...e.reasoningOutputTokens>0?[["Reasoning output",e.reasoningOutputTokens]]:[]];return c.jsx("div",{className:"sandbox-token-usage","aria-label":"Codex Token 用量",children:t.map(([n,i])=>c.jsxs("span",{title:`${n}: ${i.toLocaleString()} tokens`,children:[c.jsx("small",{children:n}),c.jsx("strong",{children:Sut(i)})]},n))})}function gfe(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),c.jsx("path",{d:"m7.5 9 2.7 2.5L7.5 14M12.7 14h3.8"}),c.jsx("path",{d:"M3.8 7.5h16.4",opacity:".55"})]})}function Ofe(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),c.jsx("path",{d:"M3.8 8h16.4"}),c.jsx("circle",{cx:"6.5",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"8.8",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),c.jsx("path",{d:"m9 15 2.2-4 1.6 2.4 1.1-1.2L16 15H9Z"})]})}function J3(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M12 3.4 19 6v5.3c0 4.3-2.7 7.6-7 9.3-4.3-1.7-7-5-7-9.3V6l7-2.6Z"}),c.jsx("path",{d:"m8.8 12 2 2 4.4-4.4"})]})}function Dw(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M3.5 7.7h6.1l1.7 2h9.2v7.5a2.3 2.3 0 0 1-2.3 2.3H5.8a2.3 2.3 0 0 1-2.3-2.3V7.7Z"}),c.jsx("path",{d:"M3.8 7.7V6.8a2.3 2.3 0 0 1 2.3-2.3h3l1.8 2h6.9a2.3 2.3 0 0 1 2.3 2.3v.9"}),c.jsx("path",{d:"M12 13v3M10.5 14.5h3"})]})}function wut(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"M12 5v14M5 12h14"})})}function Eut(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function kut(e){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",...e,children:c.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"1.75",fill:"currentColor"})})}function Tut(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),c.jsx("circle",{cx:"8.5",cy:"9",r:"1.4"}),c.jsx("path",{d:"m5.5 17 4.2-4.2 2.6 2.4 2.1-2.1 4.1 3.9"})]})}function _ut(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M6 3.5h7l5 5v12H6z"}),c.jsx("path",{d:"M13 3.5v5h5M9 13h6M9 16h5"})]})}function Aut(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("rect",{x:"3.5",y:"5",width:"13.5",height:"14",rx:"2.5"}),c.jsx("path",{d:"m17 10 3.5-2v8L17 14zM7 8.5h4.5"})]})}function Nut(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m12 3 1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM18.5 15.5l.7 2.1 2.1.7-2.1.7-.7 2.1-.7-2.1-2.1-.7 2.1-.7z"})})}function Cut(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}function AM(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m9 6 6 6-6 6"})})}function Rut(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"M4.8 8.2A8 8 0 1 1 4 12M4.8 8.2V4.5M4.8 8.2h3.7"}),c.jsx("path",{d:"M12 8v4.5l3 1.8"})]})}function Eu(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"M20 12a8 8 0 1 1-2.35-5.65"})})}function w1({open:e,title:t,subtitle:n,icon:i,className:r="",onClose:s,children:a}){const o=O.useId(),l=O.useRef(null),u=O.useRef(null),d=O.useRef(s);return d.current=s,O.useEffect(()=>{var p;if(!e)return;u.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const f=document.body.style.overflow;document.body.style.overflow="hidden",(p=l.current)==null||p.focus();const h=m=>{var x;if(m.key==="Escape"){m.preventDefault(),d.current();return}if(m.key!=="Tab")return;const g=(x=l.current)==null?void 0:x.closest("[role=dialog]"),y=Array.from((g==null?void 0:g.querySelectorAll('button:not(:disabled), input:not(:disabled), iframe, [tabindex]:not([tabindex="-1"])'))??[]);if(y.length===0)return;const b=y[0],S=y[y.length-1];m.shiftKey&&document.activeElement===b?(m.preventDefault(),S.focus()):!m.shiftKey&&document.activeElement===S&&(m.preventDefault(),b.focus())};return window.addEventListener("keydown",h),()=>{var m;document.body.style.overflow=f,window.removeEventListener("keydown",h),(m=u.current)==null||m.focus()}},[e]),e?ar.createPortal(c.jsx("div",{className:"sandbox-control-backdrop",onMouseDown:f=>{f.target===f.currentTarget&&s()},children:c.jsxs("section",{className:`sandbox-control-dialog ${r}`.trim(),role:"dialog","aria-modal":"true","aria-labelledby":o,children:[c.jsxs("header",{className:"sandbox-control-head",children:[c.jsx("span",{className:"sandbox-control-head-icon","aria-hidden":"true",children:i}),c.jsxs("div",{children:[c.jsx("h2",{id:o,children:t}),c.jsx("p",{children:n})]}),c.jsx("button",{ref:l,type:"button",className:"sandbox-control-close","aria-label":`关闭${t}`,onClick:s,children:c.jsx(Cut,{})})]}),a]})}),document.body):null}function Iut({open:e,kind:t,launch:n,loading:i,error:r,onReload:s,onClose:a}){const o=t==="terminal",l=o?"Terminal":"Sandbox Browser";return c.jsxs(w1,{open:e,title:l,subtitle:o?"连接当前 AgentKit Session 的交互式终端":"在当前 AgentKit Session 中查看与操作浏览器",icon:o?c.jsx(gfe,{}):c.jsx(Ofe,{}),className:`sandbox-tool-dialog sandbox-tool-dialog--${t}`,onClose:a,children:[c.jsx("div",{className:"sandbox-tool-toolbar",children:c.jsxs("span",{children:[c.jsx("i",{className:i?"is-loading":n?"is-ready":""}),i?"正在连接…":n?"已连接":"尚未连接"]})}),c.jsx("div",{className:"sandbox-tool-surface",children:i?c.jsxs("div",{className:"sandbox-control-state",children:[c.jsx(Eu,{className:"spin"}),c.jsxs("strong",{children:["正在打开 ",l]}),c.jsx("span",{children:"工具正在连接当前 AgentKit Session。"})]}):r?c.jsxs("div",{className:"sandbox-control-state is-error",children:[c.jsxs("strong",{children:[l," 打开失败"]}),c.jsx("span",{children:r}),c.jsx("button",{type:"button",onClick:s,children:"重试"})]}):n?c.jsx("iframe",{src:n.url,title:l,allow:"clipboard-read; clipboard-write",sandbox:"allow-downloads allow-forms allow-modals allow-popups allow-pointer-lock allow-same-origin allow-scripts"}):null})]})}function Put({open:e,threads:t,currentThreadId:n,loading:i,error:r,onSelect:s,onClose:a}){return c.jsx(w1,{open:e,title:"恢复 Codex 对话",subtitle:"选择当前 Sandbox Session 中最近更新的 Thread",icon:c.jsx(Rut,{}),className:"sandbox-threads-dialog",onClose:a,children:c.jsx("div",{className:"sandbox-thread-list",children:i?c.jsxs("div",{className:"sandbox-control-state",children:[c.jsx(Eu,{className:"spin"}),c.jsx("strong",{children:"正在读取历史对话"})]}):r?c.jsxs("div",{className:"sandbox-control-state is-error",children:[c.jsx("strong",{children:"历史对话读取失败"}),c.jsx("span",{children:r})]}):t.length===0?c.jsx("div",{className:"sandbox-control-state",children:c.jsx("strong",{children:"暂无可恢复的对话"})}):t.map(o=>{const l=o.id===n,u=o.name||o.preview||`Thread ${o.id.slice(0,8)}`;return c.jsxs("button",{type:"button",className:l?"is-active":"",disabled:l,onClick:()=>s(o.id),children:[c.jsxs("span",{children:[c.jsx("strong",{children:u}),c.jsx("small",{children:o.preview||o.cwd||o.id})]}),c.jsx("time",{children:o.updatedAt?new Date(o.updatedAt*1e3).toLocaleString():""}),c.jsx(AM,{})]},o.id)})})})}const jut=[{value:"read-only",label:"只读",detail:"允许读取文件,不允许写入工作空间。"},{value:"workspace-write",label:"工作区写入",detail:"允许在当前工作空间内读取与修改文件。"},{value:"danger-full-access",label:"完全访问",detail:"不启用沙箱隔离,适合明确可信的任务。",danger:!0}],Mut=[{value:"untrusted",label:"仅不可信命令",detail:"只对 Codex 判断为不可信的操作发起审批。"},{value:"on-request",label:"按需审批",detail:"Codex 可在必要时请求你确认命令或文件修改。"},{value:"never",label:"不审批",detail:"Codex 不会暂停并请求人工批准。",danger:!0}],Lut=[{value:"user",label:"由我审批",detail:"审批请求会显示在 Studio 中,由你决定。"},{value:"auto_review",label:"自动审查",detail:"使用 Codex 自动审查流程处理审批请求。"}];function Dut({open:e,value:t,busy:n,error:i,onSave:r,onClose:s}){const[a,o]=O.useState(t);return O.useEffect(()=>{e&&o(t)},[e,t]),c.jsxs(w1,{open:e,title:"Codex 权限",subtitle:"设置会保存到当前 Sandbox Session,并同步到其中的所有 Thread",icon:c.jsx(J3,{}),className:"sandbox-settings-dialog",onClose:s,children:[c.jsxs("div",{className:"sandbox-control-body",children:[c.jsx(yR,{label:"沙箱模式",choices:jut,value:a.sandboxMode,disabled:n,onChange:l=>o(u=>({...u,sandboxMode:l,networkAccess:l==="danger-full-access"?!0:u.networkAccess}))}),c.jsx(yR,{label:"审批策略",choices:Mut,value:a.approvalPolicy,disabled:n,onChange:l=>o(u=>({...u,approvalPolicy:l}))}),c.jsx(yR,{label:"审批方式",choices:Lut,value:a.approvalsReviewer,disabled:n,onChange:l=>o(u=>({...u,approvalsReviewer:l}))}),c.jsxs("label",{className:`sandbox-network-toggle${a.sandboxMode==="danger-full-access"?" is-disabled":""}`,children:[c.jsxs("span",{children:[c.jsx("strong",{children:"允许网络访问"}),c.jsx("small",{children:"控制 workspace-write 与只读模式中的外部网络访问。"})]}),c.jsx("input",{type:"checkbox",checked:a.networkAccess,disabled:n||a.sandboxMode==="danger-full-access",onChange:l=>o(u=>({...u,networkAccess:l.target.checked}))})]}),a.sandboxMode==="danger-full-access"?c.jsx("div",{className:"sandbox-control-note is-danger",children:"完全访问会关闭文件系统与网络隔离,请只在可信任务中使用。"}):null,i?c.jsx("div",{className:"sandbox-control-error",children:i}):null]}),c.jsxs("footer",{className:"sandbox-control-actions",children:[c.jsx("button",{type:"button",onClick:s,disabled:n,children:"取消"}),c.jsxs("button",{type:"button",className:"is-primary",disabled:n,onClick:()=>r(a),children:[n?c.jsx(Eu,{className:"spin"}):null,"保存权限"]})]})]})}function yR({label:e,choices:t,value:n,disabled:i,onChange:r}){return c.jsxs("fieldset",{className:"sandbox-choice-group",disabled:i,role:"radiogroup","aria-label":e,children:[c.jsx("legend",{children:e}),c.jsx("div",{className:"sandbox-choice-list",children:t.map(s=>c.jsxs("button",{type:"button",role:"radio",className:`${n===s.value?"is-active":""}${s.danger?" is-danger":""}`.trim(),"aria-checked":n===s.value,onClick:()=>r(s.value),onKeyDown:a=>{var d,f;const o=t.findIndex(h=>h.value===s.value);let l=o;if(a.key==="ArrowRight"||a.key==="ArrowDown")l=(o+1)%t.length;else if(a.key==="ArrowLeft"||a.key==="ArrowUp")l=(o-1+t.length)%t.length;else if(a.key==="Home")l=0;else if(a.key==="End")l=t.length-1;else return;a.preventDefault(),r(t[l].value);const u=(d=a.currentTarget.parentElement)==null?void 0:d.querySelectorAll('[role="radio"]');(f=u==null?void 0:u[l])==null||f.focus()},children:[c.jsx("i",{}),c.jsxs("span",{children:[c.jsx("strong",{children:s.label}),c.jsx("small",{children:s.detail})]})]},s.value))})]})}function $ut({open:e,cwd:t,locked:n,busy:i,error:r,browse:s,onSave:a,onClose:o}){const[l,u]=O.useState(t||"/"),[d,f]=O.useState(null),[h,p]=O.useState(!1),[m,g]=O.useState("");O.useEffect(()=>{if(!e)return;const b=t||"/";u(b),y(b)},[t,e]);async function y(b){p(!0),g("");try{const S=await s(b);f(S),u(S.path)}catch(S){g(S instanceof Error?S.message:String(S))}finally{p(!1)}}return c.jsxs(w1,{open:e,title:"工作空间",subtitle:"选择当前 Codex Thread 执行命令与修改文件的目录",icon:c.jsx(Dw,{}),className:"sandbox-workspace-dialog",onClose:o,children:[c.jsxs("div",{className:"sandbox-control-body",children:[c.jsxs("label",{className:"sandbox-workspace-input",children:[c.jsx("span",{children:"绝对路径"}),c.jsxs("div",{children:[c.jsx("input",{value:l,disabled:i||n,spellCheck:!1,onChange:b=>u(b.target.value),onKeyDown:b=>{b.key==="Enter"&&l.startsWith("/")&&(b.preventDefault(),y(l))}}),c.jsx("button",{type:"button",disabled:i||h||!l.startsWith("/"),onClick:()=>void y(l),children:"浏览"})]})]}),c.jsxs("div",{className:"sandbox-directory-browser",children:[c.jsxs("div",{className:"sandbox-directory-head",children:[c.jsx("span",{title:d==null?void 0:d.path,children:(d==null?void 0:d.path)??l}),h?c.jsx(Eu,{className:"spin"}):null]}),c.jsxs("div",{className:"sandbox-directory-list",children:[d!=null&&d.parent?c.jsxs("button",{type:"button",disabled:h,onClick:()=>void y(d.parent??"/"),children:[c.jsx(Dw,{}),c.jsx("span",{children:"上一级"}),c.jsx("small",{children:d.parent}),c.jsx(AM,{})]}):null,d==null?void 0:d.directories.map(b=>c.jsxs("button",{type:"button",disabled:h,onClick:()=>void y(b.path),children:[c.jsx(Dw,{}),c.jsx("span",{children:b.name}),c.jsx(AM,{})]},b.path)),!h&&(d==null?void 0:d.directories.length)===0?c.jsx("div",{className:"sandbox-directory-empty",children:"当前目录没有子目录"}):null]})]}),n?c.jsx("div",{className:"sandbox-control-note",children:"当前对话已经开始,工作空间已锁定。新建 Sandbox 会话后可重新选择。"}):null,m||r?c.jsx("div",{className:"sandbox-control-error",children:m||r}):null]}),c.jsxs("footer",{className:"sandbox-control-actions",children:[c.jsx("button",{type:"button",onClick:o,disabled:i,children:"取消"}),c.jsxs("button",{type:"button",className:"is-primary",disabled:i||n||!l.startsWith("/"),onClick:()=>a(l),children:[i?c.jsx(Eu,{className:"spin"}):null,"使用此目录"]})]})]})}function Qut({approval:e,busy:t,error:n,onDecision:i}){var a;const r=(a=e==null?void 0:e.command)==null?void 0:a.trim(),s=(e==null?void 0:e.changes)===void 0?"":JSON.stringify(e.changes,null,2);return c.jsxs(w1,{open:e!==null,title:(e==null?void 0:e.kind)==="file"?"允许修改文件?":"允许执行命令?",subtitle:"Codex 正在等待你的决定",icon:c.jsx(J3,{}),className:"sandbox-approval-dialog",onClose:()=>{t||i("cancel")},children:[c.jsxs("div",{className:"sandbox-control-body",children:[e!=null&&e.reason?c.jsx("div",{className:"sandbox-approval-reason",children:e.reason}):null,r?c.jsx("pre",{children:r}):null,s?c.jsx("pre",{children:s}):null,e!=null&&e.cwd?c.jsxs("div",{className:"sandbox-approval-meta",children:["执行目录 ",c.jsx("code",{children:e.cwd})]}):null,n?c.jsx("div",{className:"sandbox-control-error",children:n}):null]}),c.jsxs("footer",{className:"sandbox-control-actions sandbox-approval-actions",children:[c.jsx("button",{type:"button",disabled:t,onClick:()=>i("decline"),children:"拒绝"}),c.jsx("button",{type:"button",disabled:t,onClick:()=>i("accept"),children:"仅本次允许"}),c.jsxs("button",{type:"button",className:"is-primary",disabled:t,onClick:()=>i("acceptForSession"),children:[t?c.jsx(Eu,{className:"spin"}):null,"本会话允许"]})]})]})}const But={codex:"Codex",openclaw:"OpenClaw",hermes:"Hermes"};function iq(e){if(!e)return"—";const t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(t)}function Uut({session:e,onBack:t,onOpen:n,onDelete:i}){const[r,s]=O.useState(!1),[a,o]=O.useState(!1),[l,u]=O.useState(!1),[d,f]=O.useState(""),h=But[e.toolName],p=e.resourceType==="snapshot",m=p?e.sourceSessionId||e.snapshotId:e.id,g=async()=>{if(!(a||l)){o(!0),f("");try{await n()}catch(b){f(b instanceof Error?b.message:String(b))}finally{o(!1)}}},y=async()=>{if(!(l||a)){u(!0),f("");try{await i()}catch(b){f(b instanceof Error?b.message:String(b)),s(!1)}finally{u(!1)}}};return c.jsxs("section",{className:"sandbox-agent-details",children:[c.jsxs("header",{className:"sandbox-agent-details-header",children:[c.jsxs("button",{type:"button",className:"sandbox-agent-back",onClick:t,children:[c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})}),"返回智能体"]}),c.jsxs("div",{children:[c.jsx("h1",{children:e.displayName||`${h} 智能体`}),c.jsxs("p",{children:[h," AgentKit Session 详情"]})]})]}),d?c.jsx("div",{className:"sandbox-agent-detail-error",role:"alert",children:d}):null,c.jsxs("div",{className:"sandbox-agent-detail-panel",children:[c.jsxs("dl",{children:[c.jsxs("div",{children:[c.jsx("dt",{children:"智能体类型"}),c.jsx("dd",{children:h})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"状态"}),c.jsx("dd",{children:Q_(e.status)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"创建人"}),c.jsx("dd",{children:e.createdBy||"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:p?"快照状态":"工具类型"}),c.jsx("dd",{children:p?e.snapshotStatus||"—":e.toolType||"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"创建时间"}),c.jsx("dd",{children:iq(e.createdAt)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:p?"快照原因":"过期时间"}),c.jsx("dd",{children:p?e.reason||"—":iq(e.expireAt)})]}),c.jsxs("div",{className:"is-wide",children:[c.jsx("dt",{children:p?"Snapshot ID":"Session ID"}),c.jsx("dd",{children:p?e.snapshotId:m})]}),p&&e.sourceSessionId?c.jsxs("div",{className:"is-wide",children:[c.jsx("dt",{children:"来源 Session ID"}),c.jsx("dd",{children:e.sourceSessionId})]}):null]}),c.jsxs("footer",{children:[c.jsx("button",{type:"button",className:"sandbox-agent-delete",disabled:a||l,onClick:()=>s(!0),children:"删除智能体"}),c.jsx("button",{type:"button",className:"sandbox-agent-open",disabled:a||l,"aria-busy":a||void 0,onClick:()=>void g(),children:a?p?"唤醒中…":"打开中…":p?"唤醒智能体":"打开智能体"})]})]}),r?c.jsx("div",{className:"confirm-scrim",onClick:()=>!l&&s(!1),children:c.jsxs("div",{className:"confirm-box",role:"alertdialog","aria-modal":"true","aria-labelledby":"sandbox-agent-delete-title",onClick:b=>b.stopPropagation(),children:[c.jsx("div",{className:"confirm-title",id:"sandbox-agent-delete-title",children:"删除智能体?"}),c.jsxs("div",{className:"confirm-text",children:["将删除“",e.displayName||`${h} 智能体`,"”及其 AgentKit ",p?"Snapshot":"Session",",此操作无法撤销。"]}),c.jsxs("div",{className:"confirm-actions",children:[c.jsx("button",{type:"button",className:"confirm-btn",disabled:l,onClick:()=>s(!1),children:"取消"}),c.jsx("button",{type:"button",className:"confirm-btn confirm-btn--danger",disabled:l,onClick:()=>void y(),children:l?"删除中…":"确认删除"})]})]})}):null]})}const zut="_SegmentedControl_1sl7d_1",Fut="_SegmentedControlOption_1sl7d_140",Vut="_SegmentedControlThumb_1sl7d_219",NM={SegmentedControl:zut,SegmentedControlOption:Fut,SegmentedControlThumb:Vut},$w=({value:e,onChange:t,children:n,block:i,pill:r=!0,size:s="md",gutterSize:a,className:o,onClick:l,...u})=>{const d=O.useRef(null),f=O.useRef(null),h=O.useCallback(m=>{const g=d.current,y=f.current;if(!g||!y)return;const b=g==null?void 0:g.querySelector('[data-state="on"]');if(!b)return;const S=g.clientWidth;let x=Math.floor(b.clientWidth);const v=b.offsetLeft;if(S-(x+v)<2&&(x=x-1),y.style.width=`${Math.floor(x)}px`,y.style.transform=`translateX(${v}px)`,g.scrollWidth>S){const E=S*.15,w=g.scrollLeft,k=b.offsetLeft,_=k+x;(kw+S-E)&&m&&b.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"})}},[]);cIe({ref:d,onResize:()=>{const m=f.current;if(!m)return;const g=m.style.transition;m.style.transition="",h(!1),m.style.transition=g}}),O.useLayoutEffect(()=>{const m=d.current,g=f.current;!m||!g||(h(!!g.style.transition),g.style.transition||wP(()=>{g.style.transition="width 300ms var(--cubic-enter), transform 300ms var(--cubic-enter)"}))},[h,e,s,a,r]);const p=m=>{m&&t&&t(m)};return c.jsxs(Sot,{ref:d,className:ja(NM.SegmentedControl,o),type:"single",value:e,loop:!1,onValueChange:p,onClick:l,"data-block":i?"":void 0,"data-pill":r?"":void 0,"data-size":s,"data-gutter-size":a,...u,children:[c.jsx("div",{className:NM.SegmentedControlThumb,ref:f}),n]})},Xut=({children:e,...t})=>c.jsx(Tot,{className:NM.SegmentedControlOption,...t,onPointerEnter:rte,children:c.jsx("span",{className:"relative",children:e})});$w.Option=Xut;function qut({workspace:e,onBack:t}){const[n,i]=O.useState("main"),[r,s]=O.useState(""),[a,o]=O.useState(!1),[l,u]=O.useState(""),d=e.kind==="openclaw"?"OpenClaw":"Hermes";O.useEffect(()=>{i("main"),s(""),u(""),o(!1)},[e.session.id]);const f=async()=>{if(i("terminal"),!(r||a)){o(!0),u("");try{const h=await An.launchAgentTerminal(e.kind,e.session.id);s(h.url)}catch(h){u(h instanceof Error?h.message:String(h))}finally{o(!1)}}};return c.jsxs("section",{className:"sandbox-agent-workspace",children:[c.jsxs("header",{children:[c.jsxs("div",{className:"sandbox-agent-workspace-title",children:[c.jsx("button",{type:"button",onClick:t,"aria-label":"返回智能体列表",children:c.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}),c.jsxs("div",{children:[c.jsx("h1",{children:e.session.displayName||`${d} 智能体`}),c.jsxs("p",{children:[c.jsxs("span",{children:["创建人 ",e.session.createdBy||"未知"]}),c.jsx("span",{className:"sandbox-agent-workspace-status","data-ready":e.session.status.toLowerCase()==="ready"||void 0,children:Q_(e.session.status)})]})]})]}),c.jsxs($w,{className:"sandbox-agent-workspace-tabs",value:n,size:"lg",gutterSize:"lg",block:!0,pill:!1,"aria-label":"智能体工作区",onChange:h=>{h==="terminal"?f():i("main")},children:[c.jsx($w.Option,{value:"main",children:"主界面"}),c.jsx($w.Option,{value:"terminal",children:"终端"})]})]}),c.jsx("div",{className:"sandbox-agent-workspace-surface",children:n==="main"?c.jsx("iframe",{src:e.webuiUrl,title:`${d} 主界面`,allow:"clipboard-read; clipboard-write"}):a?c.jsx("div",{className:"sandbox-agent-workspace-state",role:"status",children:"正在打开终端…"}):l?c.jsxs("div",{className:"sandbox-agent-workspace-state is-error",role:"alert",children:[c.jsx("p",{children:l}),c.jsx("button",{type:"button",onClick:()=>void f(),children:"重新尝试"})]}):r?c.jsx("iframe",{src:r,title:`${d} 终端`}):null})]})}const aA=[{name:"model",usage:"/model [model]",description:"显示或切换当前对话模型",keywords:["模型","switch"]},{name:"models",usage:"/models",description:"列出 app-server 可用模型",keywords:["模型列表","list"]},{name:"skill",usage:"/skill",description:"浏览并调用当前工作区可用的 Skill",keywords:["技能","workflow"]},{name:"skills",usage:"/skills",description:"浏览并调用当前工作区可用的 Skills",keywords:["技能列表","workflow","list"]},{name:"new",usage:"/new",description:"开始一个新对话",keywords:["新建","对话"]},{name:"resume",usage:"/resume [thread]",description:"打开历史会话或恢复指定 thread",keywords:["历史","恢复","session"]},{name:"fork",usage:"/fork",description:"从当前上下文分叉一个新对话",keywords:["分叉","branch"]},{name:"compact",usage:"/compact",description:"压缩当前对话上下文",keywords:["压缩","上下文"]},{name:"archive",usage:"/archive",description:"归档当前对话并新建对话",keywords:["归档","关闭"]},{name:"status",usage:"/status",description:"显示当前连接、thread、模型与 token 状态",keywords:["状态","连接","token"]},{name:"clear",usage:"/clear",description:"清空当前视图并开始新对话",keywords:["清空","重置"]},{name:"help",usage:"/help",description:"显示 Sandbox 支持的快捷命令",keywords:["帮助","命令"]}];function Hut(e){var n;const t=e.trim().match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(t)return{name:t[1].toLocaleLowerCase(),argument:((n=t[2])==null?void 0:n.trim())??""}}function Yut(e){const t=e.toLocaleLowerCase();return aA.filter(n=>!t||[n.name,n.description,...n.keywords].some(i=>i.toLocaleLowerCase().includes(t))).sort((n,i)=>rq(n,t)-rq(i,t)).slice(0,12)}function rq(e,t){return t?e.name===t?0:e.name.startsWith(t)?1:e.name.includes(t)?2:3:aA.indexOf(e)}function Gut(e,t){const n=t.toLocaleLowerCase();return e.filter(i=>!n||`${i.id} ${i.displayName} ${i.description}`.toLocaleLowerCase().includes(n)).sort((i,r)=>{if(!n)return Number(r.isDefault)-Number(i.isDefault);const s=i.id.toLocaleLowerCase(),a=r.id.toLocaleLowerCase(),o=(l,u)=>l===n?0:l.startsWith(n)?1:u.toLocaleLowerCase().startsWith(n)?2:3;return o(s,i.displayName)-o(a,r.displayName)}).slice(0,12)}function Wut(){return aA.map(e=>({label:e.usage,value:e.description}))}function Zut(e,t){return e.map(n=>{const i=n.displayName.trim(),r=i&&i!==n.id?`${i} · ${n.id}`:n.id;return{label:n.id===t?"当前模型":"可用模型",value:n.description?`${r} — ${n.description}`:r,code:!1}})}function Kut(e){const t=[{label:"Thread",value:e.threadId,code:!0},{label:"工作空间",value:e.cwd||"未设置",code:!!e.cwd}];return e.model&&t.push({label:"模型",value:e.model,code:!0}),t.push({label:"状态",value:e.busy?"运行中":"空闲"}),e.threadTotal&&t.push({label:"累计 Token",value:e.threadTotal.totalTokens.toLocaleString()}),e.modelContextWindow!==void 0&&t.push({label:"上下文窗口",value:e.modelContextWindow.toLocaleString()}),t}function Jut(e){return e.messages.map(t=>{var i;const n=[];return t.role==="user"&&((i=t.skillNames)!=null&&i.length)&&n.push({kind:"invocation",value:{skills:t.skillNames.map(r=>({name:r,description:""}))}}),t.content&&n.push({kind:"text",text:t.content}),{role:t.role,blocks:n,meta:{localId:t.id,ts:t.timestamp/1e3}}})}function edt({appName:e,value:t,onChange:n,onSubmit:i,onStop:r,disabled:s,busy:a,attachments:o,onAddFiles:l,onRemoveAttachment:u,actions:d,models:f,modelsLoading:h,modelsLoaded:p,currentModel:m,onRequestModels:g,skills:y,skillsLoading:b,skillsLoaded:S,selectedSkills:x,onRequestSkills:v,onSelectedSkillsChange:E}){const w=O.useRef(null),k=O.useRef(null),_=O.useRef(null),C=O.useRef(null),[A,R]=O.useState(!1),[j,Q]=O.useState(0),[L,D]=O.useState(!1);O.useLayoutEffect(()=>{const K=w.current;K&&(K.style.height="auto",K.style.height=`${Math.min(K.scrollHeight,200)}px`)},[t]);const N=O.useMemo(()=>{if(!t.startsWith("/")||t.includes(` +`))return;const K=t.slice(1),ie=K.search(/\s/),le=(ie<0?K:K.slice(0,ie)).toLocaleLowerCase(),ge=ie<0?"":K.slice(ie).trim();if(!(ie>=0&&le!=="model"))return{command:le,argument:ge,modelMode:ie>=0}},[t]),M=O.useMemo(()=>{const K=/(^|\s)\$([^\s$]*)$/.exec(t);if(K)return{query:K[2],start:t.length-K[2].length-1,end:t.length}},[t]),B=O.useMemo(()=>{if(M){const K=M.query.toLocaleLowerCase();return y.filter(ie=>!x.some(le=>le.id===ie.id||le.name===ie.name)).filter(ie=>`${ie.name} ${ie.description}`.toLocaleLowerCase().includes(K)).slice(0,12).map(ie=>({kind:"skill",skill:ie}))}return N!=null&&N.modelMode?Gut(f,N.argument).map(K=>({kind:"model",model:K})):N?Yut(N.command).map(K=>({kind:"command",command:K})):[]},[M,f,x,y,N]),$=!L&&!!(M||N);O.useEffect(()=>{Q(0)},[t]),O.useEffect(()=>{N!=null&&N.modelMode&&!p&&!h&&g()},[p,h,g,N==null?void 0:N.modelMode]),O.useEffect(()=>{M&&!S&&!b&&v()},[M,v,S,b]);const I=o.some(K=>K.status!=="ready"),G=a&&!!r,X=!s&&!a&&!I&&(t.trim().length>0||o.length>0);function U(K){D(!1),R(!1),n(K)}function Y(K){if(K.kind==="skill"){if(!M)return;const ie=t.slice(0,M.start)+t.slice(M.end);E([...x,K.skill]),U(ie),D(!0),requestAnimationFrame(()=>{var le,ge;(le=w.current)==null||le.focus(),(ge=w.current)==null||ge.setSelectionRange(M.start,M.start)});return}if(K.kind==="model"){U(`/model ${K.model.id}`),D(!0),requestAnimationFrame(()=>{var ie;return(ie=w.current)==null?void 0:ie.focus()});return}if(K.command.name==="model"){U("/model "),g(),requestAnimationFrame(()=>{var ie;return(ie=w.current)==null?void 0:ie.focus()});return}if(K.command.name==="skill"||K.command.name==="skills"){U(`/${K.command.name}`),D(!0),requestAnimationFrame(()=>{var ie;return(ie=w.current)==null?void 0:ie.focus()});return}U(`/${K.command.name}`),D(!0),requestAnimationFrame(()=>{var ie;return(ie=w.current)==null?void 0:ie.focus()})}function ae(K){var ie;R(!1),(ie=K.current)==null||ie.click()}function fe(K){const ie=K.target.files?Array.from(K.target.files):[];ie.length&&l(ie),K.target.value=""}const ke=M?"可用 Skills":N!=null&&N.modelMode?"选择模型":"Codex 快捷命令";return c.jsxs("div",{className:"composer sandbox-codex-composer",children:[o.length>0?c.jsx(d_,{appName:e,compact:!0,items:o,onRemove:u}):null,c.jsxs("div",{className:"composer-box",children:[$?c.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":ke,children:[c.jsxs("div",{className:"composer-command-head",children:[c.jsx(Nut,{}),c.jsx("span",{children:ke}),N!=null&&N.modelMode&&m?c.jsxs("small",{children:["当前:",m]}):null,c.jsx("kbd",{children:M?"$":"/"})]}),M&&b?c.jsxs("div",{className:"composer-command-empty",children:[c.jsx(Eu,{className:"spin"})," 正在发现当前工作区的 Skills…"]}):N!=null&&N.modelMode&&h?c.jsxs("div",{className:"composer-command-empty",children:[c.jsx(Eu,{className:"spin"})," 正在读取模型…"]}):B.length===0?c.jsx("div",{className:"composer-command-empty",children:M?"当前工作区没有匹配的 Skill":N!=null&&N.modelMode?"没有匹配模型,也可以直接输入模型 ID":"没有匹配的快捷命令"}):c.jsx("div",{className:"composer-command-list",children:B.map((K,ie)=>{const le=K.kind==="command"?`command:${K.command.name}`:K.kind==="model"?`model:${K.model.id}`:`skill:${K.skill.id}`,ge=K.kind==="command"?K.command.usage:K.kind==="model"?K.model.displayName:`$${K.skill.name}`,Ee=K.kind==="command"?K.command.description:K.kind==="model"?K.model.description||K.model.id:K.skill.description||"加载并执行该 Skill";return c.jsxs("button",{type:"button",role:"option","aria-selected":ie===j,className:`composer-command-item${ie===j?" is-active":""}`,onMouseDown:Ce=>{Ce.preventDefault(),Y(K)},onMouseEnter:()=>Q(ie),children:[c.jsx("span",{className:`composer-command-icon composer-command-icon--${K.kind}`,"aria-hidden":"true",children:K.kind==="command"?"/":K.kind==="model"?"◇":"$"}),c.jsxs("span",{className:"composer-command-copy",children:[c.jsx("strong",{children:ge}),c.jsx("span",{children:Ee})]}),ie===j?c.jsx("kbd",{children:"↵"}):null]},le)})})]}):null,c.jsxs("div",{className:"composer-left-controls",children:[c.jsxs("div",{className:"composer-menu-wrap",children:[c.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:s,onClick:()=>R(K=>!K),children:c.jsx(wut,{className:"icon"})}),A?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"menu-scrim",onClick:()=>R(!1)}),c.jsxs("div",{className:"composer-menu",role:"menu",children:[c.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>ae(k),children:[c.jsx(Tut,{className:"icon"}),"上传图片"]}),c.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>ae(_),children:[c.jsx(_ut,{className:"icon"}),"上传文档或 PDF"]}),c.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>ae(C),children:[c.jsx(Aut,{className:"icon"}),"上传视频"]}),c.jsx("div",{className:"composer-menu-separator",role:"separator"}),c.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{R(!1),d.onOpenTerminal()},children:[c.jsx(gfe,{className:"icon"}),"进入终端"]}),c.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{R(!1),d.onOpenBrowser()},children:[c.jsx(Ofe,{className:"icon"}),"查看浏览器"]})]})]}):null]}),c.jsx("button",{type:"button",className:"comp-icon sandbox-composer-control",title:"Codex 权限","aria-label":"Codex 权限",disabled:d.settingsBusy||a,onClick:d.onOpenPermissions,children:c.jsx(J3,{})}),c.jsx("button",{type:"button",className:`comp-icon sandbox-composer-control${d.workspaceLocked?" is-locked":""}`,title:d.workspaceLocked?"对话已开始,工作空间已锁定":"选择工作空间","aria-label":"Codex 工作空间",disabled:d.settingsBusy||a,onClick:d.onOpenWorkspace,children:c.jsx(Dw,{})})]}),c.jsxs("div",{className:"composer-input-stack sandbox-composer-input",children:[x.length>0?c.jsx(u_,{skillPrefix:"$",value:{skills:x.map(({name:K,description:ie})=>({name:K,description:ie}))},onRemoveSkill:K=>E(x.filter(ie=>ie.name!==K))}):null,c.jsx("textarea",{ref:w,className:"comp-input scroll",rows:1,value:t,disabled:s,placeholder:"向 AgentKit 沙箱发送消息,输入 / 查看命令,输入 $ 调用 Skill…","aria-expanded":$,onChange:K=>U(K.target.value),onBlur:()=>window.setTimeout(()=>D(!0),0),onKeyDown:K=>{if(!v3(K.nativeEvent)){if($){if((K.key==="ArrowDown"||K.key==="Tab"&&!K.shiftKey)&&B.length>0){K.preventDefault(),Q(ie=>(ie+1)%B.length);return}if((K.key==="ArrowUp"||K.key==="Tab"&&K.shiftKey)&&B.length>0){K.preventDefault(),Q(ie=>(ie-1+B.length)%B.length);return}if(K.key==="Enter"&&!K.shiftKey&&B[j]){K.preventDefault(),Y(B[j]);return}if(K.key==="Escape"){K.preventDefault(),D(!0);return}}if(K.key==="Backspace"&&!t&&K.currentTarget.selectionStart===0&&x.length>0){K.preventDefault(),E(x.slice(0,-1));return}K.key==="Enter"&&!K.shiftKey&&(K.preventDefault(),X&&i(t))}}})]}),c.jsx("button",{type:"button",className:"comp-send",disabled:G?!1:!X,onClick:G?r:()=>i(t),"aria-label":G?"停止生成":"发送",title:G?"停止生成":void 0,children:G?c.jsx(kut,{className:"icon"}):a?c.jsx(Eu,{className:"icon spin"}):c.jsx(Eut,{className:"icon"})})]}),c.jsx("input",{ref:k,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:fe}),c.jsx("input",{ref:_,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:fe}),c.jsx("input",{ref:C,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:fe})]})}function tdt({session:e,conversationBusy:t,onInputChange:n,onSessionPatch:i,onSnapshot:r,onActivity:s,onError:a}){const o=O.useRef((e==null?void 0:e.id)??""),l=O.useRef(0);o.current=(e==null?void 0:e.id)??"";const[u,d]=O.useState(!1),[f,h]=O.useState([]),[p,m]=O.useState(!1),[g,y]=O.useState(!1),[b,S]=O.useState([]),[x,v]=O.useState(!1),[E,w]=O.useState(!1),[k,_]=O.useState([]),[C,A]=O.useState(!1),[R,j]=O.useState([]),[Q,L]=O.useState(!1),[D,N]=O.useState(""),[M,B]=O.useState(""),[$,I]=O.useState("");O.useEffect(()=>{l.current+=1,d(!1),h([]),m(!1),y(!1),S([]),v(!1),w(!1),_([]),A(!1),j([]),L(!1),N(""),B(""),I("")},[e==null?void 0:e.id]);const G=O.useCallback(async()=>{const _e=o.current;if(!_e)return[];m(!0);try{const he=await An.listModels(_e);return o.current===_e&&(h(he),y(!0)),he}catch(he){return o.current===_e&&(y(!0),a(he instanceof Error?he.message:String(he))),[]}finally{o.current===_e&&m(!1)}},[a]),X=O.useCallback(async()=>{const _e=o.current;if(!_e)return[];v(!0);try{const he=await An.listSkills(_e);return o.current===_e&&(S(he),w(!0)),he}catch(he){return o.current===_e&&(w(!0),a(he instanceof Error?he.message:String(he))),[]}finally{o.current===_e&&v(!1)}},[a]),U=O.useCallback(async(_e="",he=!1)=>{const te=o.current;if(!te)return;const Te=++l.current;L(!0),N("");try{const me=await An.listThreads(te,_e?{cursor:_e}:{});o.current===te&&l.current===Te&&(j(Be=>{if(!he)return me.threads;const je=new Map(Be.map(Ue=>[Ue.id,Ue]));for(const Ue of me.threads)je.set(Ue.id,Ue);return[...je.values()]}),B(me.nextCursor??""))}catch(me){o.current===te&&l.current===Te&&N(me instanceof Error?me.message:String(me))}finally{o.current===te&&l.current===Te&&L(!1)}},[]),Y=O.useCallback(()=>U("",!1),[U]),ae=O.useCallback(async()=>{!M||Q||await U(M,!0)},[U,Q,M]),fe=O.useCallback(async()=>{A(!0),await Y()},[Y]);O.useEffect(()=>{e!=null&&e.id&&Y()},[Y,e==null?void 0:e.id]);function ke(_e){r(_e),j(he=>[_e.thread,...he.filter(te=>te.id!==_e.thread.id)]),_([]),S([]),w(!1),A(!1)}async function K(_e){const he=await An.newThread(_e);o.current===_e&&(ke(he),s("已新建 Codex 对话",[{label:"Thread",value:he.threadId,code:!0}]))}async function ie(){const _e=o.current;if(!(!_e||u||t)){d(!0),N(""),a("");try{await K(_e)}catch(he){if(o.current===_e){const te=he instanceof Error?he.message:String(he);N(te),a(te)}}finally{o.current===_e&&d(!1)}}}async function le(_e){const he=o.current;if(!(!he||u||t)){if(_e===(e==null?void 0:e.threadId)){A(!1);return}d(!0),a("");try{const te=await An.resumeThread(he,_e);if(o.current!==he)return;ke(te),s("已恢复 Codex 对话",[{label:"Thread",value:te.threadId,code:!0}])}catch(te){o.current===he&&a(te instanceof Error?te.message:String(te))}finally{o.current===he&&d(!1)}}}async function ge(_e){const he=o.current;if(!he||u||t)return!1;l.current+=1,L(!1),d(!0),I(_e),N(""),a("");try{const te=await An.deleteThread(he,_e);return o.current!==he?!1:(te.snapshot&&ke(te.snapshot),j(Te=>Te.filter(me=>me.id!==_e)),s("已删除 Codex 历史会话",[{label:"Thread",value:_e,code:!0}]),!0)}catch(te){if(o.current===he){const Te=te instanceof Error?te.message:String(te);N(Te),a(Te)}return!1}finally{o.current===he&&(d(!1),I(""))}}async function Ee(_e){const he=e,te=_e.trim();if(!te.startsWith("/"))return!1;if(!he||t||u)return!0;const Te=Hut(te),me=Te&&aA.find(Be=>Be.name===Te.name);if(!Te||!me)return a(`未知快捷命令:${te.split(/\s/,1)[0]}。输入 /help 查看可用命令。`),!0;if(a(""),_([]),me.name==="model"&&!Te.argument)return n("/model "),g||await G(),!0;if(me.name==="skill"||me.name==="skills")return n("$"),E||(await X()).length===0&&n(""),!0;if(me.name==="resume"&&!Te.argument)return n(""),await fe(),!0;n(""),d(!0);try{if(me.name==="model"){const Be=await An.setModel(he.id,Te.argument);if(o.current!==he.id)return!0;i({model:Be}),s("已切换 Codex 模型",[{label:"模型",value:Be,code:!0}])}else if(me.name==="models"){const Be=g?f:await G();if(o.current!==he.id)return!0;s(Be.length>0?"Codex 可用模型":"当前没有可用模型",Zut(Be,he.model))}else if(me.name==="new"||me.name==="clear")await K(he.id);else if(me.name==="resume"){const Be=await An.resumeThread(he.id,Te.argument);if(o.current!==he.id)return!0;ke(Be),s("已恢复 Codex 对话",[{label:"Thread",value:Be.threadId,code:!0}])}else if(me.name==="fork"){const Be=await An.forkThread(he.id);if(o.current!==he.id)return!0;ke(Be),s("已分叉 Codex 对话",[{label:"Thread",value:Be.threadId,code:!0}])}else if(me.name==="compact"){if(await An.compactThread(he.id),o.current!==he.id)return!0;s("已开始压缩当前 Codex 对话",[{label:"Thread",value:he.threadId,code:!0}])}else if(me.name==="archive"){const Be=he.threadId,je=await An.archiveThread(he.id,Be);if(o.current!==he.id)return!0;je.snapshot&&ke(je.snapshot),j(Ue=>Ue.filter(st=>st.id!==Be)),s("已归档 Codex 对话",[{label:"Thread",value:Be,code:!0}])}else if(me.name==="status"){const Be=await An.getStatus(he.id);if(o.current!==he.id)return!0;i(Be),s("Codex 当前状态",Kut(Be))}else me.name==="help"&&s("Sandbox 支持的 Codex 快捷命令",Wut())}catch(Be){o.current===he.id&&(n(te),a(Be instanceof Error?Be.message:String(Be)))}finally{o.current===he.id&&d(!1)}return!0}function Ce(){S([]),w(!1),_([])}return{commandBusy:u,models:f,modelsLoading:p,modelsLoaded:g,loadModels:G,skills:b,skillsLoading:x,skillsLoaded:E,loadSkills:X,selectedSkills:k,setSelectedSkills:_,invalidateSkills:Ce,threadsOpen:C,threads:R,threadsLoading:Q,threadsError:D,threadsHasMore:!!M,threadActionId:$,openThreads:fe,refreshThreads:Y,loadMoreThreads:ae,closeThreads:()=>{u||(A(!1),N(""))},newThread:ie,resumeThread:le,deleteThread:ge,executeSlash:Ee}}const ndt={volcengine:"火山引擎 AgentKit 提供企业级 Agent 解决方案",byteplus:"BytePlus AgentKit 提供企业级 Agent 解决方案"},idt={volcengine:"https://docs.volcengine.com/docs/86681/1925174?lang=zh",byteplus:"https://docs.byteplus.com/en/docs/legal"};function rdt(e){return e.toLowerCase()==="github"?c.jsx(i1e,{className:"icon"}):c.jsx(s1e,{className:"icon"})}function sdt({branding:e,cloudProvider:t,onUsername:n}){const[i,r]=O.useState(null),[s,a]=O.useState(""),[o,l]=O.useState(0),[u,d]=O.useState(""),f=O.useRef(null);O.useEffect(()=>{let y=!0;return r(null),a(""),yZ().then(b=>{y&&r(b)}).catch(b=>{y&&a(b instanceof Error?b.message:String(b))}),()=>{y=!1}},[o]);const h=i!==null&&i.length===0;O.useEffect(()=>{var y;h&&((y=f.current)==null||y.focus())},[h]);const p=v1e.test(u),m=t==="byteplus"?LD:MD,g=()=>{p&&n(u)};return c.jsxs("div",{className:"login",children:[c.jsx("header",{className:"login-top",children:c.jsxs("span",{className:"login-brand",children:[c.jsx("img",{className:"login-brand-logo",src:e.logoUrl||m,width:20,height:20,alt:"","aria-hidden":!0}),e.title]})}),c.jsx("main",{className:"login-main",children:c.jsxs("div",{className:"login-card",children:[c.jsx(hs,{as:"h1",className:"login-title",duration:4.8,spread:22,children:e.title}),s?c.jsxs("div",{className:"login-provider-error",role:"alert",children:[c.jsx("p",{children:s}),c.jsx("button",{type:"button",onClick:()=>l(y=>y+1),children:"重试"})]}):i===null?null:i.length>0?c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"login-sub",children:"登录以继续使用"}),c.jsx("div",{className:"login-providers",children:i.map(y=>c.jsxs("button",{className:"login-btn",onClick:()=>E1e(y.loginUrl),children:[rdt(y.id),c.jsxs("span",{children:["使用 ",y.label," 登录"]})]},y.id))})]}):c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"login-sub",children:"输入一个用户名即可开始"}),c.jsxs("form",{className:"login-name",onSubmit:y=>{y.preventDefault(),g()},children:[c.jsx("input",{ref:f,className:"login-name-input",value:u,onChange:y=>d(y.target.value),placeholder:"用户名(字母 + 数字,最多 16 位)",maxLength:16}),c.jsx("button",{type:"submit",className:"login-name-go",disabled:!p,"aria-label":"进入",children:c.jsx(_b,{className:"icon"})})]}),c.jsx("p",{className:"login-hint","aria-live":"polite",children:u&&!p?"只能包含大小写字母和数字,最多 16 位。":""})]}),c.jsx("p",{className:"login-powered",children:ndt[t]}),c.jsxs("p",{className:"login-legal",children:["继续即表示你已阅读并同意 AgentKit"," ",c.jsx("a",{href:idt[t],target:"_blank",rel:"noreferrer",children:"产品和服务条款"})]})]})}),c.jsx("footer",{className:"login-footer",children:"© 2026 VeADK. All rights reserved."})]})}function adt({open:e,checking:t,error:n,onLogin:i}){const r=O.useRef(null);return O.useEffect(()=>{var a;if(!e)return;const s=document.body.style.overflow;return document.body.style.overflow="hidden",(a=r.current)==null||a.focus(),()=>{document.body.style.overflow=s}},[e]),e?ar.createPortal(c.jsx("div",{className:"auth-expired-backdrop",children:c.jsxs("section",{className:"auth-expired-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"auth-expired-title","aria-describedby":"auth-expired-description",children:[c.jsx("div",{className:"auth-expired-mark","aria-hidden":"true",children:c.jsx(dZ,{})}),c.jsxs("div",{className:"auth-expired-copy",children:[c.jsx("h2",{id:"auth-expired-title",children:"登录状态已过期"}),c.jsx("p",{id:"auth-expired-description",children:"当前编辑内容会保留。重新登录后,刚才的操作将自动继续。"}),n&&c.jsx("p",{className:"auth-expired-error",role:"alert",children:n})]}),c.jsx("footer",{className:"auth-expired-actions",children:c.jsx("button",{ref:r,type:"button",onClick:i,disabled:t,children:t?"等待登录完成…":"重新登录"})})]})}),document.body):null}const odt=[{value:"slow",label:"执行速度慢"},{value:"crash",label:"运行崩溃"},{value:"incorrect",label:"结果不准确"},{value:"tool_error",label:"工具调用失败"},{value:"other",label:"其他问题"}];function ldt(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"m7 7 10 10"}),c.jsx("path",{d:"m17 7-10 10"})]})}function cdt(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function udt({onClose:e,onSubmit:t}){const n=O.useId(),i=O.useId(),r=O.useRef(null),s=O.useRef(null),a=O.useRef(!1),o=O.useRef(e),[l,u]=O.useState(()=>new Set),[d,f]=O.useState(""),[h,p]=O.useState(!1),[m,g]=O.useState(""),[y,b]=O.useState(!1);a.current=h,o.current=e,O.useEffect(()=>{var _;const E=document.body.style.overflow,w=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(_=s.current)==null||_.focus();const k=C=>{var Q;if(C.key==="Escape"&&!a.current){C.preventDefault(),o.current();return}if(C.key!=="Tab")return;const A=Array.from(((Q=r.current)==null?void 0:Q.querySelectorAll("button:not(:disabled), textarea:not(:disabled)"))??[]);if(A.length===0)return;const R=A[0],j=A[A.length-1];C.shiftKey&&document.activeElement===R?(C.preventDefault(),j.focus()):!C.shiftKey&&document.activeElement===j&&(C.preventDefault(),R.focus())};return window.addEventListener("keydown",k),()=>{document.body.style.overflow=E,window.removeEventListener("keydown",k),w!=null&&w.isConnected&&w.focus()}},[]);const S=E=>{u(w=>{const k=new Set(w);return k.has(E)?k.delete(E):k.add(E),k})},x=async()=>{if(!(h||y)){p(!0),g("");try{await t({issues:[...l],description:d.trim()}),b(!0)}catch(E){g(E instanceof Error?E.message:String(E))}finally{p(!1)}}},v=l.size>0||d.trim().length>0;return ar.createPortal(c.jsx("div",{className:"issue-feedback-backdrop",onMouseDown:E=>{E.target===E.currentTarget&&!h&&e()},children:c.jsxs("section",{ref:r,className:"issue-feedback-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,"aria-describedby":y?`${i}-success`:i,"aria-busy":h||void 0,children:[c.jsxs("header",{className:"issue-feedback-head",children:[c.jsx("h2",{id:n,children:"问题反馈"}),c.jsx("button",{type:"button",className:"issue-feedback-close",onClick:e,disabled:h,"aria-label":"关闭问题反馈",children:c.jsx(ldt,{})})]}),y?c.jsxs("div",{className:"issue-feedback-success",role:"status","aria-live":"polite",children:[c.jsx("span",{className:"issue-feedback-success-mark","aria-hidden":"true",children:c.jsx(cdt,{})}),c.jsxs("div",{children:[c.jsx("h3",{children:"上报成功,感谢您的反馈"}),c.jsx("p",{id:`${i}-success`,children:"AgentKit 团队会尽快查看您提交的问题。"})]})]}):c.jsxs("div",{className:"issue-feedback-body",children:[c.jsx("p",{id:i,className:"issue-feedback-intro",children:"请选择遇到的问题,也可以补充具体表现。"}),c.jsx("p",{className:"issue-feedback-privacy",role:"alert",children:"您的对话数据将会上报到 AgentKit 团队,请注意隐私保护。"}),c.jsx("div",{className:"issue-feedback-chips","aria-label":"常见问题",children:odt.map(E=>c.jsx("button",{type:"button",className:"issue-feedback-chip","aria-pressed":l.has(E.value),onClick:()=>S(E.value),disabled:h,children:E.label},E.value))}),c.jsxs("label",{className:"issue-feedback-field",children:[c.jsx("span",{children:"问题描述"}),c.jsx("textarea",{ref:s,value:d,onChange:E=>f(E.target.value),placeholder:"请描述问题发生时的表现(选填)",maxLength:4e3,rows:5,disabled:h})]}),m&&c.jsx("p",{className:"issue-feedback-error",role:"alert",children:m})]}),c.jsx("footer",{className:"issue-feedback-actions",children:y?c.jsx("button",{type:"button",className:"is-primary",onClick:e,children:"完成"}):c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",onClick:e,disabled:h,children:"取消"}),c.jsx("button",{type:"button",className:"is-primary",onClick:()=>void x(),disabled:!v||h,children:h?"正在上报…":"提交反馈"})]})})]})}),document.body)}function ddt(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;const n=document.implementation.createHTMLDocument(),i=n.createElement("base"),r=n.createElement("a");return n.head.appendChild(i),n.body.appendChild(r),t&&(i.href=t),r.href=e,r.href}const fdt=(()=>{let e=0;const t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function rf(e){const t=[];for(let n=0,i=e.length;nVa||e.height>Va)&&(e.width>Va&&e.height>Va?e.width>e.height?(e.height*=Va/e.width,e.width=Va):(e.width*=Va/e.height,e.height=Va):e.width>Va?(e.height*=Va/e.width,e.width=Va):(e.width*=Va/e.height,e.height=Va))}function Odt(e,t={}){return e.toBlob?new Promise(n=>{e.toBlob(n,t.type?t.type:"image/png",t.quality?t.quality:1)}):new Promise(n=>{const i=window.atob(e.toDataURL(t.type?t.type:void 0,t.quality?t.quality:void 0).split(",")[1]),r=i.length,s=new Uint8Array(r);for(let a=0;a{const i=new Image;i.onload=()=>{i.decode().then(()=>{requestAnimationFrame(()=>t(i))})},i.onerror=n,i.crossOrigin="anonymous",i.decoding="async",i.src=e})}async function bdt(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function ydt(e,t,n){const i="http://www.w3.org/2000/svg",r=document.createElementNS(i,"svg"),s=document.createElementNS(i,"foreignObject");return r.setAttribute("width",`${t}`),r.setAttribute("height",`${n}`),r.setAttribute("viewBox",`0 0 ${t} ${n}`),s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.setAttribute("x","0"),s.setAttribute("y","0"),s.setAttribute("externalResourcesRequired","true"),r.appendChild(s),s.appendChild(e),bdt(r)}const Ra=(e,t)=>{if(e instanceof t)return!0;const n=Object.getPrototypeOf(e);return n===null?!1:n.constructor.name===t.name||Ra(n,t)};function xdt(e){const t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function Sdt(e,t){return bfe(t).map(n=>{const i=e.getPropertyValue(n),r=e.getPropertyPriority(n);return`${n}: ${i}${r?" !important":""};`}).join(" ")}function vdt(e,t,n,i){const r=`.${e}:${t}`,s=n.cssText?xdt(n):Sdt(n,i);return document.createTextNode(`${r}{${s}}`)}function sq(e,t,n,i){const r=window.getComputedStyle(e,n),s=r.getPropertyValue("content");if(s===""||s==="none")return;const a=fdt();try{t.className=`${t.className} ${a}`}catch{return}const o=document.createElement("style");o.appendChild(vdt(a,n,r,i)),t.appendChild(o)}function wdt(e,t,n){sq(e,t,":before",n),sq(e,t,":after",n)}const aq="application/font-woff",oq="image/jpeg",Edt={woff:aq,woff2:aq,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:oq,jpeg:oq,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function kdt(e){const t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function e4(e){const t=kdt(e).toLowerCase();return Edt[t]||""}function Tdt(e){return e.split(/,/)[1]}function CM(e){return e.search(/^(data:)/)!==-1}function _dt(e,t){return`data:${t};base64,${e}`}async function xfe(e,t,n){const i=await fetch(e,t);if(i.status===404)throw new Error(`Resource "${i.url}" not found`);const r=await i.blob();return new Promise((s,a)=>{const o=new FileReader;o.onerror=a,o.onloadend=()=>{try{s(n({res:i,result:o.result}))}catch(l){a(l)}},o.readAsDataURL(r)})}const xR={};function Adt(e,t,n){let i=e.replace(/\?.*/,"");return n&&(i=e),/ttf|otf|eot|woff2?/i.test(i)&&(i=i.replace(/.*\//,"")),t?`[${t}]${i}`:i}async function t4(e,t,n){const i=Adt(e,t,n.includeQueryParams);if(xR[i]!=null)return xR[i];n.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let r;try{const s=await xfe(e,n.fetchRequestInit,({res:a,result:o})=>(t||(t=a.headers.get("Content-Type")||""),Tdt(o)));r=_dt(s,t)}catch(s){r=n.imagePlaceholder||"";let a=`Failed to fetch resource: ${e}`;s&&(a=typeof s=="string"?s:s.message),a&&console.warn(a)}return xR[i]=r,r}async function Ndt(e){const t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):Gk(t)}async function Cdt(e,t){if(e.currentSrc){const s=document.createElement("canvas"),a=s.getContext("2d");s.width=e.clientWidth,s.height=e.clientHeight,a==null||a.drawImage(e,0,0,s.width,s.height);const o=s.toDataURL();return Gk(o)}const n=e.poster,i=e4(n),r=await t4(n,i,t);return Gk(r)}async function Rdt(e,t){var n;try{if(!((n=e==null?void 0:e.contentDocument)===null||n===void 0)&&n.body)return await oA(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function Idt(e,t){return Ra(e,HTMLCanvasElement)?Ndt(e):Ra(e,HTMLVideoElement)?Cdt(e,t):Ra(e,HTMLIFrameElement)?Rdt(e,t):e.cloneNode(Sfe(e))}const Pdt=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",Sfe=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function jdt(e,t,n){var i,r;if(Sfe(t))return t;let s=[];return Pdt(e)&&e.assignedNodes?s=rf(e.assignedNodes()):Ra(e,HTMLIFrameElement)&&(!((i=e.contentDocument)===null||i===void 0)&&i.body)?s=rf(e.contentDocument.body.childNodes):s=rf(((r=e.shadowRoot)!==null&&r!==void 0?r:e).childNodes),s.length===0||Ra(e,HTMLVideoElement)||await s.reduce((a,o)=>a.then(()=>oA(o,n)).then(l=>{l&&t.appendChild(l)}),Promise.resolve()),t}function Mdt(e,t,n){const i=t.style;if(!i)return;const r=window.getComputedStyle(e);r.cssText?(i.cssText=r.cssText,i.transformOrigin=r.transformOrigin):bfe(n).forEach(s=>{let a=r.getPropertyValue(s);s==="font-size"&&a.endsWith("px")&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),Ra(e,HTMLIFrameElement)&&s==="display"&&a==="inline"&&(a="block"),s==="d"&&t.getAttribute("d")&&(a=`path(${t.getAttribute("d")})`),i.setProperty(s,a,r.getPropertyPriority(s))})}function Ldt(e,t){Ra(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),Ra(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function Ddt(e,t){if(Ra(e,HTMLSelectElement)){const n=t,i=Array.from(n.children).find(r=>e.value===r.getAttribute("value"));i&&i.setAttribute("selected","")}}function $dt(e,t,n){return Ra(t,Element)&&(Mdt(e,t,n),wdt(e,t,n),Ldt(e,t),Ddt(e,t)),t}async function Qdt(e,t){const n=e.querySelectorAll?e.querySelectorAll("use"):[];if(n.length===0)return e;const i={};for(let s=0;sIdt(i,t)).then(i=>jdt(e,i,t)).then(i=>$dt(e,i,t)).then(i=>Qdt(i,t))}const vfe=/url\((['"]?)([^'"]+?)\1\)/g,Bdt=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,Udt=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function zdt(e){const t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function Fdt(e){const t=[];return e.replace(vfe,(n,i,r)=>(t.push(r),n)),t.filter(n=>!CM(n))}async function Vdt(e,t,n,i,r){try{const s=n?ddt(t,n):t,a=e4(t);let o;return r||(o=await t4(s,a,i)),e.replace(zdt(t),`$1${o}$3`)}catch{}return e}function Xdt(e,{preferredFontFormat:t}){return t?e.replace(Udt,n=>{for(;;){const[i,,r]=Bdt.exec(n)||[];if(!r)return"";if(r===t)return`src: ${i};`}}):e}function wfe(e){return e.search(vfe)!==-1}async function Efe(e,t,n){if(!wfe(e))return e;const i=Xdt(e,n);return Fdt(i).reduce((s,a)=>s.then(o=>Vdt(o,a,t,n)),Promise.resolve(i))}async function Gp(e,t,n){var i;const r=(i=t.style)===null||i===void 0?void 0:i.getPropertyValue(e);if(r){const s=await Efe(r,null,n);return t.style.setProperty(e,s,t.style.getPropertyPriority(e)),!0}return!1}async function qdt(e,t){await Gp("background",e,t)||await Gp("background-image",e,t),await Gp("mask",e,t)||await Gp("-webkit-mask",e,t)||await Gp("mask-image",e,t)||await Gp("-webkit-mask-image",e,t)}async function Hdt(e,t){const n=Ra(e,HTMLImageElement);if(!(n&&!CM(e.src))&&!(Ra(e,SVGImageElement)&&!CM(e.href.baseVal)))return;const i=n?e.src:e.href.baseVal,r=await t4(i,e4(i),t);await new Promise((s,a)=>{e.onload=s,e.onerror=t.onImageErrorHandler?(...l)=>{try{s(t.onImageErrorHandler(...l))}catch(u){a(u)}}:a;const o=e;o.decode&&(o.decode=s),o.loading==="lazy"&&(o.loading="eager"),n?(e.srcset="",e.src=r):e.href.baseVal=r})}async function Ydt(e,t){const i=rf(e.childNodes).map(r=>kfe(r,t));await Promise.all(i).then(()=>e)}async function kfe(e,t){Ra(e,Element)&&(await qdt(e,t),await Hdt(e,t),await Ydt(e,t))}function Gdt(e,t){const{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);const i=t.style;return i!=null&&Object.keys(i).forEach(r=>{n[r]=i[r]}),e}const lq={};async function cq(e){let t=lq[e];if(t!=null)return t;const i=await(await fetch(e)).text();return t={url:e,cssText:i},lq[e]=t,t}async function uq(e,t){let n=e.cssText;const i=/url\(["']?([^"')]+)["']?\)/g,s=(n.match(/url\([^)]+\)/g)||[]).map(async a=>{let o=a.replace(i,"$1");return o.startsWith("https://")||(o=new URL(o,e.url).href),xfe(o,t.fetchRequestInit,({result:l})=>(n=n.replace(a,`url(${l})`),[a,l]))});return Promise.all(s).then(()=>n)}function dq(e){if(e==null)return[];const t=[],n=/(\/\*[\s\S]*?\*\/)/gi;let i=e.replace(n,"");const r=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const l=r.exec(i);if(l===null)break;t.push(l[0])}i=i.replace(r,"");const s=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,a="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",o=new RegExp(a,"gi");for(;;){let l=s.exec(i);if(l===null){if(l=o.exec(i),l===null)break;s.lastIndex=o.lastIndex}else o.lastIndex=s.lastIndex;t.push(l[0])}return t}async function Wdt(e,t){const n=[],i=[];return e.forEach(r=>{if("cssRules"in r)try{rf(r.cssRules||[]).forEach((s,a)=>{if(s.type===CSSRule.IMPORT_RULE){let o=a+1;const l=s.href,u=cq(l).then(d=>uq(d,t)).then(d=>dq(d).forEach(f=>{try{r.insertRule(f,f.startsWith("@import")?o+=1:r.cssRules.length)}catch(h){console.error("Error inserting rule from remote css",{rule:f,error:h})}})).catch(d=>{console.error("Error loading remote css",d.toString())});i.push(u)}})}catch(s){const a=e.find(o=>o.href==null)||document.styleSheets[0];r.href!=null&&i.push(cq(r.href).then(o=>uq(o,t)).then(o=>dq(o).forEach(l=>{a.insertRule(l,a.cssRules.length)})).catch(o=>{console.error("Error loading remote stylesheet",o)})),console.error("Error inlining remote css file",s)}}),Promise.all(i).then(()=>(e.forEach(r=>{if("cssRules"in r)try{rf(r.cssRules||[]).forEach(s=>{n.push(s)})}catch(s){console.error(`Error while reading CSS rules from ${r.href}`,s)}}),n))}function Zdt(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>wfe(t.style.getPropertyValue("src")))}async function Kdt(e,t){if(e.ownerDocument==null)throw new Error("Provided element is not within a Document");const n=rf(e.ownerDocument.styleSheets),i=await Wdt(n,t);return Zdt(i)}function Tfe(e){return e.trim().replace(/["']/g,"")}function Jdt(e){const t=new Set;function n(i){(i.style.fontFamily||getComputedStyle(i).fontFamily).split(",").forEach(s=>{t.add(Tfe(s))}),Array.from(i.children).forEach(s=>{s instanceof HTMLElement&&n(s)})}return n(e),t}async function eft(e,t){const n=await Kdt(e,t),i=Jdt(e);return(await Promise.all(n.filter(s=>i.has(Tfe(s.style.fontFamily))).map(s=>{const a=s.parentStyleSheet?s.parentStyleSheet.href:null;return Efe(s.cssText,a,t)}))).join(` +`)}async function tft(e,t){const n=t.fontEmbedCSS!=null?t.fontEmbedCSS:t.skipFonts?null:await eft(e,t);if(n){const i=document.createElement("style"),r=document.createTextNode(n);i.appendChild(r),e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}}async function nft(e,t={}){const{width:n,height:i}=yfe(e,t),r=await oA(e,t,!0);return await tft(r,t),await kfe(r,t),Gdt(r,t),await ydt(r,n,i)}async function ift(e,t={}){const{width:n,height:i}=yfe(e,t),r=await nft(e,t),s=await Gk(r),a=document.createElement("canvas"),o=a.getContext("2d"),l=t.pixelRatio||mdt(),u=t.canvasWidth||n,d=t.canvasHeight||i;return a.width=u*l,a.height=d*l,t.skipAutoScale||gdt(a),a.style.width=`${u}`,a.style.height=`${d}`,t.backgroundColor&&(o.fillStyle=t.backgroundColor,o.fillRect(0,0,a.width,a.height)),o.drawImage(s,0,0,a.width,a.height),a}async function rft(e,t={}){const n=await ift(e,t);return await Odt(n)}const sft=16384,aft=32e6;function oft(e){return c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[c.jsx("path",{d:"m7 7 10 10"}),c.jsx("path",{d:"m17 7-10 10"})]})}function lft(){const e=getComputedStyle(document.documentElement).getPropertyValue("--background").trim();return e?`hsl(${e})`:"white"}function cft(e,t){const n=Math.min(Math.max(window.devicePixelRatio||1,1),2),i=sft/Math.max(e,t),r=Math.sqrt(aft/Math.max(e*t,1));return Math.min(n,i,r)}function uft(e){const t=e.closest(".transcript");if(!t)return[e];const n=Array.from(t.children).filter(r=>r instanceof HTMLElement&&r.matches(".turn--user, .turn--assistant")),i=n.indexOf(e);return i>=0?n.slice(0,i+1):[e]}function dft(e){const t=document.createElement("section");t.className="share-message-export",t.setAttribute("aria-hidden","true");for(const i of uft(e)){const r=i.cloneNode(!0);r.removeAttribute("data-share-message-source"),r.classList.remove("is-feedback-target"),r.style.opacity="1",r.style.transform="none",r.style.animation="none",r.querySelectorAll("[data-share-image-exclude]").forEach(s=>s.remove()),t.append(r)}const n=document.createElement("p");return n.className="share-message-export-note",n.textContent="上述会话由 AgentKit Studio 导出,仅供参考",t.append(n),document.body.append(t),t}async function fft(e){var n;(n=document.fonts)!=null&&n.ready&&await document.fonts.ready;const t=dft(e);try{const i=Math.ceil(t.scrollWidth),r=Math.ceil(t.scrollHeight),s=cft(i,r);if(s<.2)throw new Error("当前会话过长,暂时无法生成单张图片。");const a=await rft(t,{width:i,height:r,pixelRatio:s,backgroundColor:lft(),cacheBust:!0,style:{position:"static",top:"auto",left:"auto",width:`${i}px`,height:`${r}px`,margin:"0",overflow:"visible",animation:"none"}});if(!a)throw new Error("图片生成失败,请重试。");return a}finally{t.remove()}}function hft(){return`agentkit-conversation-${new Date().toISOString().replace(/[:.]/g,"-")}.png`}function pft({targetTurn:e,onClose:t}){const n=O.useId(),i=O.useId(),r=O.useRef(null),s=O.useRef(null),a=O.useRef(t),o=O.useRef(void 0),[l,u]=O.useState("generating"),[d,f]=O.useState(0),[h,p]=O.useState(null),[m,g]=O.useState(""),[y,b]=O.useState(""),[S,x]=O.useState("idle");a.current=t,O.useEffect(()=>{var C;const w=document.body.style.overflow,k=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(C=s.current)==null||C.focus();const _=A=>{var L;if(A.key==="Escape"){A.preventDefault(),a.current();return}if(A.key!=="Tab")return;const R=Array.from(((L=r.current)==null?void 0:L.querySelectorAll("button:not(:disabled)"))??[]);if(R.length===0)return;const j=R[0],Q=R[R.length-1];A.shiftKey&&document.activeElement===j?(A.preventDefault(),Q.focus()):!A.shiftKey&&document.activeElement===Q&&(A.preventDefault(),j.focus())};return window.addEventListener("keydown",_),()=>{document.body.style.overflow=w,window.removeEventListener("keydown",_),o.current!==void 0&&window.clearTimeout(o.current),k!=null&&k.isConnected&&k.focus()}},[]),O.useEffect(()=>{let w=!1,k="";return u("generating"),p(null),g(""),b(""),x("idle"),fft(e).then(_=>{if(k=URL.createObjectURL(_),w){URL.revokeObjectURL(k);return}p(_),g(k),u("ready")}).catch(_=>{w||(u("error"),b(_ instanceof Error?_.message:String(_)))}),()=>{w=!0,k&&URL.revokeObjectURL(k)}},[d,e]);const v=async()=>{var w;if(!(!h||S==="copying")){x("copying"),b("");try{if(!((w=navigator.clipboard)!=null&&w.write)||typeof ClipboardItem>"u")throw new Error("当前浏览器不支持复制图片,请下载后使用。");await navigator.clipboard.write([new ClipboardItem({"image/png":h})]),x("copied"),o.current=window.setTimeout(()=>x("idle"),1500)}catch(k){x("idle"),b(k instanceof Error?k.message:String(k))}}},E=()=>{if(!h)return;const w=URL.createObjectURL(h),k=document.createElement("a");k.href=w,k.download=hft(),k.style.display="none",document.body.append(k),k.click(),k.remove(),window.setTimeout(()=>URL.revokeObjectURL(w),1e3)};return ar.createPortal(c.jsx("div",{className:"share-message-backdrop",onMouseDown:w=>{w.target===w.currentTarget&&t()},children:c.jsxs("section",{ref:r,className:"share-message-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,"aria-describedby":i,"aria-busy":l==="generating",children:[c.jsxs("header",{className:"share-message-head",children:[c.jsxs("div",{children:[c.jsx("h2",{id:n,children:"分享为图片"}),c.jsx("p",{id:i,children:"包含截至当前回复的全部输入与输出。"})]}),c.jsx("button",{ref:s,type:"button",className:"share-message-close","aria-label":"关闭",title:"关闭",onClick:t,children:c.jsx(oft,{})})]}),c.jsxs("div",{className:"share-message-body",children:[l==="generating"?c.jsx("div",{className:"share-message-generating",role:"status",children:c.jsx(hs,{children:"正在生成图片…"})}):l==="error"?c.jsxs("div",{className:"share-message-failure",children:[c.jsx("p",{role:"alert",children:y||"图片生成失败,请重试。"}),c.jsx("button",{type:"button",onClick:()=>f(w=>w+1),children:"重试生成"})]}):c.jsx("div",{className:"share-message-preview",children:c.jsx("img",{src:m,alt:"会话记录分享图片预览"})}),l!=="error"&&y&&c.jsx("p",{className:"share-message-error",role:"alert",children:y})]}),c.jsxs("footer",{className:"share-message-actions",children:[c.jsx("button",{type:"button",onClick:t,children:"取消"}),c.jsx("button",{type:"button",onClick:E,disabled:!h||l!=="ready",children:"下载 PNG"}),c.jsx("button",{type:"button",className:"is-primary",onClick:()=>void v(),disabled:!h||l!=="ready"||S==="copying",children:S==="copying"?"正在复制…":S==="copied"?"已复制":"复制图片"})]})]})}),document.body)}function RM(e){const t=O.useRef(e);return t.current=e,t}let n0=[],Pv=!1;const fq=e=>{var t,n;if(e.key==="Escape"){const[i]=n0;i&&(e.preventDefault(),(n=(t=i.callback).current)==null||n.call(t))}},_fe=()=>{n0.length>0&&!Pv?(document.body.addEventListener("keydown",fq),Pv=!0):n0.length===0&&Pv&&(document.body.removeEventListener("keydown",fq),Pv=!1)},mft=e=>{n0.unshift(e),_fe()},gft=({id:e})=>{n0=n0.filter(t=>t.id!==e),_fe()},Oft=(e,t)=>{const n=O.useId(),i=RM(t);O.useEffect(()=>{if(!e)return;const r={id:n,callback:i};return mft(r),()=>gft(r)},[n,e,i])},bft=(e,t)=>{const n=e.currentTarget,i={x:e.clientX,y:e.clientY},r=yft(i,n.getBoundingClientRect()),s=xft(i,r),a=Sft(t.getBoundingClientRect());return wft([...s,...a])};function yft(e,t){const n=Math.abs(t.top-e.y),i=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,i,r,s)){case s:return"left";case r:return"right";case n:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function xft(e,t,n=5){const i=[];switch(t){case"top":i.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":i.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":i.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":i.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return i}function Sft(e){const{top:t,right:n,bottom:i,left:r}=e;return[{x:r,y:t},{x:n,y:t},{x:n,y:i},{x:r,y:i}]}function vft(e,t){const{x:n,y:i}=e;let r=!1;for(let s=0,a=t.length-1;si!=h>i&&n<(f-u)*(i-d)/(h-d)+u&&(r=!r)}return r}function wft(e){const t=e.slice();return t.sort((n,i)=>n.xi.x?1:n.yi.y?1:0),Eft(t)}function Eft(e){if(e.length<=1)return e.slice();const t=[];for(let i=0;i=2;){const s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))t.pop();else break}t.push(r)}t.pop();const n=[];for(let i=e.length-1;i>=0;i--){const r=e[i];for(;n.length>=2;){const s=n[n.length-1],a=n[n.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}const kft="_Transition_1wdpp_1",Tft="_Popover_1wdpp_3",Afe={Transition:kft,Popover:Tft},Nfe=O.createContext(null),lA=()=>{const e=O.use(Nfe);if(!e)throw new Error("Popover components must be wrapped in ");return e},ey=({open:e,onOpenChange:t,showOnHover:n=!1,hoverOpenDelay:i=150,children:r})=>{const[s,a]=O.useState(!1),[o,l]=O.useState(!1),u=O.useRef(null),d=O.useRef(null),f=O.useRef(void 0),h=O.useRef(!1),p=O.useRef(!1),m=e??s,[g,y]=O.useState(!1);ote(()=>y(!1),g?500:null);const b=RM(t),S=RM(k=>{var _,C;clearTimeout(f.current),m!==k&&(k||(l(!1),n&&h.current&&((_=u.current)==null||_.focus()),h.current=!1),(C=b.current)==null||C.call(b,k),a(k),n&&y(k))}),x=O.useCallback(k=>{S.current(k)},[S]),v=O.useCallback(()=>{f.current=setTimeout(()=>x(!0),i)},[x,i]),E=O.useCallback(()=>{clearTimeout(f.current)},[]);O.useEffect(()=>()=>{clearTimeout(f.current)},[]);const w=O.useMemo(()=>({open:m,setOpen:x,shake:o,setShake:l,showOnHover:n,temporarilyPreventClickToClose:g,onTriggerEnter:v,onTriggerLeave:E,isPointerInTransitRef:p,triggerRef:u,contentRef:d,hoverOpenFocusedWithTab:h}),[m,x,o,l,n,g,h,p,v,E]);return c.jsx(Nfe,{value:w,children:c.jsx(qat,{open:m,onOpenChange:x,modal:!1,children:r})})},_ft=({children:e,onPointerDown:t,onClick:n})=>{const{setOpen:i,showOnHover:r,temporarilyPreventClickToClose:s,onTriggerEnter:a,onTriggerLeave:o,isPointerInTransitRef:l,triggerRef:u,contentRef:d}=lA(),f=O.useRef(!1),h=g=>{!(g.currentTarget.nodeName.toLocaleLowerCase()==="a")&&s&&(g.preventDefault(),g.stopPropagation())},p=g=>{g.pointerType!=="touch"&&!f.current&&!l.current&&(a(),f.current=!0)},m=()=>{f.current&&(o(),f.current=!1)};return c.jsx(Hat,{asChild:!0,ref:u,onPointerDown:g=>{h(g),t==null||t(g)},onClick:g=>{h(g),n==null||n(g)},onPointerMove:r?p:void 0,onPointerLeave:r?m:void 0,onFocus:r?()=>i(!0):void 0,onBlur:r?()=>{setTimeout(()=>{var g;(g=d.current)!=null&&g.contains(document.activeElement)||i(!1)},50)}:void 0,children:e})},Cfe=({children:e,avoidCollisions:t,width:n,minWidth:i,maxWidth:r,side:s,sideOffset:a=8,align:o,alignOffset:l,translucent:u,className:d,autoFocus:f=!0})=>{const{showOnHover:h,shake:p,contentRef:m}=lA(),g=y=>{const b=m.current;if(b&&y.target===b&&y.key==="Tab"&&y.shiftKey){y.preventDefault(),y.stopPropagation();const S=ste(b),x=S[S.length-1];x==null||x.focus()}};return O.useEffect(()=>{const y=m.current;!y||!f||y!=null&&y.contains(document.activeElement)||h||y.focus({preventScroll:!0})},[m,h,f]),c.jsx(Gat,{forceMount:!0,ref:m,className:ja(Afe.Popover,d),style:c5({"popover-width":n,"popover-min-width":i,"popover-max-width":r}),onCloseAutoFocus:h?tN:void 0,"data-animate":p?"shake":void 0,"data-translucent":u?"true":void 0,side:s,sideOffset:a,align:o,alignOffset:l??(o==="center"?0:-5),avoidCollisions:t??!0,hideWhenDetached:!0,collisionPadding:20,onOpenAutoFocus:tN,onEscapeKeyDown:tN,onKeyDown:g,children:e})},Aft=e=>{const{setOpen:t,triggerRef:n,contentRef:i,isPointerInTransitRef:r,hoverOpenFocusedWithTab:s}=lA(),[a,o]=O.useState(null),l=O.useCallback(()=>{o(null),r.current=!1},[r]),u=O.useCallback((d,f)=>{const h=bft(d,f);o(h),r.current=!0},[r]);return O.useEffect(()=>()=>l(),[l]),O.useEffect(()=>{const d=n.current,f=i.current;if(!d||!f)return;const h=m=>u(m,f),p=m=>u(m,d);return d.addEventListener("pointerleave",h),f.addEventListener("pointerleave",p),()=>{d.removeEventListener("pointerleave",h),f.removeEventListener("pointerleave",p)}},[i,n,u,l]),O.useEffect(()=>{if(!a)return;const d=f=>{const h=n.current,p=i.current,m=f.target,g={x:f.clientX,y:f.clientY},y=(h==null?void 0:h.contains(m))||(p==null?void 0:p.contains(m)),b=!vft(g,a),S=m.hasAttribute("aria-haspopup");y?l():(b||S)&&(l(),t(!1))};return document.addEventListener("pointermove",d),()=>document.removeEventListener("pointermove",d)},[a,t,l,n,i]),O.useEffect(()=>{const d=f=>{if(i.current&&f.key==="Tab"&&!f.shiftKey){const[h]=ste(i.current);h&&(f.preventDefault(),h.focus(),s.current=!0,document.removeEventListener("keydown",d))}};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}},[i,s]),c.jsx(Cfe,{...e})},Nft=e=>{const{open:t,showOnHover:n,setOpen:i}=lA();return Oft(t,()=>{i(!1)}),c.jsx(Yat,{forceMount:!0,children:c.jsx(ute,{enterDuration:600,exitDuration:300,className:Afe.Transition,disableAnimations:!0,children:t&&(n?c.jsx(Aft,{...e},"popover-hover"):c.jsx(Cfe,{...e},"popover"))})})};ey.Trigger=_ft;ey.Content=Nft;const Cft="_Container_13560_1",Rft="_Textarea_13560_174",hq={Container:Cft,Textarea:Rft},Ift=e=>{const t=O.useRef(null),i=`search-ui-input-${O.useId()}`,{id:r,name:s,variant:a="outline",size:o="md",gutterSize:l,className:u,autoComplete:d,disabled:f=!1,readOnly:h=!1,invalid:p=!1,allowAutofillExtensions:m=!!s,onFocus:g,onBlur:y,onAnimationStart:b,onAutofill:S,autoSelect:x,rows:v=3,maxRows:E,autoResize:w,ref:k,onChange:_,...C}=e,[A,R]=O.useState(!1),j=w?Math.max(E??10,v):v;O.useEffect(()=>{var D;x&&((D=t.current)==null||D.select())},[x]);const Q=D=>{b==null||b(D),D.animationName==="native-autofill-in"&&(S==null||S())},L=O.useCallback(()=>{if(!w||!t.current||j===void 0)return;t.current.style.height="0px";const D=t.current.scrollHeight;t.current.style.height=D+"px"},[w,j]);return O.useEffect(()=>{L()},[e.value,v,L]),c.jsx("div",{className:ja(hq.Container,u),"data-variant":a,"data-size":o,"data-gutter-size":l,"data-focused":A,"data-disabled":f?"":void 0,"data-readonly":h?"":void 0,"data-invalid":p?"":void 0,style:c5({"textarea-min-rows":`${v}`,"textarea-max-rows":`${j}`}),children:c.jsx("textarea",{...C,onChange:D=>{_==null||_(D),L()},ref:lte([t,k]),id:r||(m?void 0:i),className:hq.Textarea,name:s,readOnly:h,disabled:f,rows:v,onFocus:D=>{R(!0),g==null||g(D)},onBlur:D=>{R(!1),y==null||y(D)},onAnimationStart:Q,"data-lpignore":m?void 0:!0,"data-1p-ignore":m?void 0:!0})})},Pft=2e3,jft=700,Rfe=1200;function n4(e,t){const n=Array.from(e);return n.length<=t?e:`${n.slice(0,t-1).join("").trimEnd()}…`}function Ife(e){return n4(e.trim(),jft)}function Pfe(e){return n4(e,Rfe)}function pq(e){return e.trim().length>0}function Mft(e,t){const n=Ife(e),i=Pfe(t.trim());return n4(`选中片段:${n} -批注:${i}`,Ift)}function hq(e){return e?e instanceof Element?e:e.parentElement:null}function Mft(e,t){if(!t||t.isCollapsed||t.rangeCount===0)return null;const n=hq(t.anchorNode),i=hq(t.focusNode);if(!n||!i||!e.contains(n)||!e.contains(i)||!n.closest(".bubble")||!i.closest(".bubble"))return null;const r=t.toString().trim();if(!r)return null;const s=t.getRangeAt(0).getBoundingClientRect();return s.width<=0||s.height<=0?null:{text:r,anchor:{left:s.left+s.width/2,top:s.top,height:s.height}}}function Lft({anchor:e,selectedText:t,onClose:n,onSubmit:i}){const r=O.useRef(!1),[s,a]=O.useState(""),[o,l]=O.useState(!1),[u,d]=O.useState(""),[f,h]=O.useState(!1),p=Cfe(t),m=O.useCallback(()=>{var y;(y=window.getSelection())==null||y.removeAllRanges(),n()},[n]);r.current=o,O.useEffect(()=>{const y=()=>{r.current||m()},b=S=>{const x=S.target;x instanceof Element&&x.closest(".response-annotation-popover")||r.current||m()};return window.addEventListener("resize",y),window.addEventListener("scroll",b,!0),()=>{window.removeEventListener("resize",y),window.removeEventListener("scroll",b,!0)}},[m]);const g=async()=>{if(!(o||f||!fq(s))){l(!0),d("");try{await i(s.trim()),h(!0)}catch(y){d(y instanceof Error?y.message:String(y))}finally{l(!1)}}};return c.jsxs(ey,{open:!0,onOpenChange:y=>{!y&&!o&&m()},children:[c.jsx(ey.Trigger,{children:c.jsx("span",{className:"response-annotation-anchor",style:{left:e.left,top:e.top,height:e.height},"aria-hidden":"true"})}),c.jsx(ey.Content,{side:"top",sideOffset:8,align:"center",minWidth:"auto",className:"response-annotation-popover",children:f?c.jsxs("div",{className:"response-annotation-success",role:"status","aria-live":"polite",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"已加入 Bad case 评测集"}),c.jsx("p",{children:"这条批注已关联当前问题和完整模型回复。"})]}),c.jsx(Gm,{type:"button",color:"secondary",size:"sm",pill:!1,onClick:m,children:"完成"})]}):c.jsxs("form",{className:"response-annotation-form","aria-label":"批注选中的模型回复","aria-busy":o||void 0,onSubmit:y=>{y.preventDefault(),g()},children:[c.jsx("div",{className:"response-annotation-header",children:c.jsx("h2",{children:"添加批注"})}),c.jsx("blockquote",{title:p,children:p}),c.jsxs("label",{className:"response-annotation-field",children:[c.jsx("span",{children:"批注内容"}),c.jsx(Rft,{value:s,rows:3,maxRows:6,autoResize:!0,maxLength:Nfe,disabled:o,invalid:!!u,"aria-label":"批注内容",placeholder:"说明问题或期望的修改方式",onChange:y=>{a(Rfe(y.target.value)),u&&d("")}})]}),u&&c.jsxs("p",{className:"response-annotation-error",role:"alert",children:[u,",请重试。"]}),c.jsxs("div",{className:"response-annotation-actions",children:[c.jsx(Gm,{className:"response-annotation-action",type:"button",color:"secondary",variant:"ghost",size:"sm",pill:!1,disabled:o,onClick:m,children:"取消"}),c.jsx(Gm,{className:"response-annotation-action",type:"submit",color:"primary",size:"sm",pill:!1,loading:o,disabled:!fq(s),children:"加入 Bad Case"})]})]})})]})}const Dft=[{value:"conversation",label:"对话"},{value:"agents",label:"智能体"},{value:"applications",label:"自动化"},{value:"search",label:"搜索"},{value:"other",label:"其他"}],$ft=[{value:"page_slow",label:"页面加载慢"},{value:"feature_unavailable",label:"功能无法使用"},{value:"display_error",label:"页面显示异常"},{value:"no_response",label:"操作无响应"},{value:"other",label:"其他问题"}],Qft=["点击后没有反应","页面一直处于加载状态","部分内容显示不完整","操作后出现错误提示"];function Bft(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function Uft({initialModule:e,onSubmit:t}){const n=O.useRef(null),[i,r]=O.useState(()=>new Set),[s,a]=O.useState(e),[o,l]=O.useState(""),[u,d]=O.useState(!1),[f,h]=O.useState(""),[p,m]=O.useState(!1),g=x=>{r(v=>{const E=new Set(v);return E.has(x)?E.delete(x):E.add(x),E})},y=x=>{var v;l(E=>E.trim()?E.includes(x)?E:`${E.trimEnd()} -${x}`:x),(v=n.current)==null||v.focus()},b=async x=>{if(x.preventDefault(),!(u||p)){d(!0),h("");try{await t({module:s,issues:[...i],description:o.trim()}),m(!0)}catch(v){h(v instanceof Error?v.message:String(v))}finally{d(!1)}}},S=i.size>0||o.trim().length>0;return c.jsxs("div",{className:"platform-feedback-page",children:[c.jsxs("header",{className:"platform-feedback-header",children:[c.jsx("h1",{children:"问题反馈"}),c.jsx("p",{children:"告诉我们您在使用 AgentKit Studio 时遇到的问题。"})]}),c.jsx("div",{className:"platform-feedback-scroll",children:p?c.jsxs("section",{className:"platform-feedback-success","aria-labelledby":"feedback-success-title","aria-live":"polite",role:"status",children:[c.jsx("span",{className:"platform-feedback-success-icon","aria-hidden":"true",children:c.jsx(Bft,{})}),c.jsxs("div",{children:[c.jsx("h2",{id:"feedback-success-title",children:"上报成功,感谢您的反馈"}),c.jsx("p",{children:"AgentKit 团队会尽快查看您提交的问题。"})]})]}):c.jsxs("form",{className:"platform-feedback-form",onSubmit:x=>void b(x),children:[c.jsxs("section",{className:"platform-feedback-section",children:[c.jsx("div",{className:"platform-feedback-section-heading",children:c.jsx("h2",{children:"所属模块"})}),c.jsx("div",{className:"platform-feedback-pills","aria-label":"所属模块",children:Dft.map(x=>c.jsx("button",{type:"button","aria-pressed":s===x.value,onClick:()=>a(x.value),disabled:u,children:x.label},x.value))})]}),c.jsx("section",{className:"platform-feedback-section",children:c.jsxs("div",{className:"platform-feedback-suggestions",children:[c.jsx("span",{children:"常见问题(可多选)"}),c.jsx("div",{className:"platform-feedback-pills","aria-label":"问题类型",children:$ft.map(x=>c.jsx("button",{type:"button","aria-pressed":i.has(x.value),onClick:()=>g(x.value),disabled:u,children:x.label},x.value))})]})}),c.jsxs("section",{className:"platform-feedback-section",children:[c.jsxs("label",{className:"platform-feedback-field",children:[c.jsx("span",{children:"问题描述"}),c.jsx("textarea",{ref:n,value:o,onChange:x=>l(x.target.value),placeholder:"请描述问题发生时的页面、操作和表现",maxLength:4e3,rows:6,disabled:u})]}),c.jsxs("div",{className:"platform-feedback-suggestions",children:[c.jsx("span",{children:"快捷补充"}),c.jsx("div",{className:"platform-feedback-pills","aria-label":"问题描述推荐",children:Qft.map(x=>c.jsx("button",{type:"button",onClick:()=>y(x),disabled:u,children:x},x))})]})]}),c.jsx("p",{className:"platform-feedback-privacy",role:"alert",children:"您的数据将会上报到 AgentKit 团队,请注意隐私保护。"}),f&&c.jsx("p",{className:"platform-feedback-error",role:"alert",children:f}),c.jsx("div",{className:"platform-feedback-actions",children:c.jsx("button",{type:"submit",disabled:!S||u,children:u?"正在上报…":"提交反馈"})})]})})]})}function zft({node:e,ctx:t}){const n=e.variant??"default";return c.jsx("button",{type:"button",className:`a2ui-button a2ui-button--${n}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component,onClick:()=>t.dispatchAction(e.action,e),children:t.render(e.child)})}pp("Button",zft);function Fft({node:e,ctx:t}){return c.jsx("div",{className:"a2ui-card","data-a2ui-id":e.id,"data-a2ui-component":e.component,children:t.render(e.child)})}pp("Card",Fft);const Vft={start:"flex-start",center:"center",end:"flex-end",spaceBetween:"space-between",spaceAround:"space-around",spaceEvenly:"space-evenly",stretch:"stretch"},Xft={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"};function Ife(e){return Vft[e]??"flex-start"}function Pfe(e){return Xft[e]??"stretch"}function qft({node:e,ctx:t}){const n=e.children??[];return c.jsx("div",{className:"a2ui-column","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"column",justifyContent:Ife(e.justify),alignItems:Pfe(e.align)},children:n.map(i=>t.render(i))})}pp("Column",qft);function Hft({node:e}){const t=e.axis==="vertical";return c.jsx("div",{className:`a2ui-divider ${t?"a2ui-divider--v":"a2ui-divider--h"}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component})}pp("Divider",Hft);const Yft={send:"✈️",check:"✅",close:"✖️",star:"⭐",favorite:"❤️",info:"ℹ️",help:"❓",error:"⛔",calendarToday:"📅",event:"📅",schedule:"🕒",locationOn:"📍",accountCircle:"👤",mail:"✉️",call:"📞",home:"🏠",settings:"⚙️",search:"🔍"};function Gft({node:e}){const t=e.name??"";return c.jsx("span",{className:"a2ui-icon",title:t,"aria-label":t,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:Yft[t]??"•"})}pp("Icon",Gft);function Wft({node:e,ctx:t}){const n=e.children??[];return c.jsx("div",{className:"a2ui-row","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"row",justifyContent:Ife(e.justify),alignItems:Pfe(e.align??"center")},children:n.map(i=>t.render(i))})}pp("Row",Wft);const Zft=new Set(["h1","h2","h3","h4","h5"]);function Kft({node:e,ctx:t}){const n=e.variant??"body",i=t.resolveString(e.text),r=Zft.has(n)?n:"p";return c.jsx(r,{className:`a2ui-text a2ui-text--${n}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:i})}pp("Text",Kft);function Jft(e){return e==="agents"?"agents":e==="applications"?"applications":e==="search"?"search":["conversation","new-chat","sandbox"].includes(e)?"conversation":"other"}async function SR(e){const[t,n,i]=await Promise.allSettled([fut(),ZT(),e?CD(e):Promise.resolve([])]);return{agentId:e,ready:!0,harnessEnabled:!!e&&i.status==="fulfilled",builtinTools:i.status==="fulfilled"?i.value:[],temporaryEnabled:t.status==="fulfilled"&&t.value.enabled,skillCustomizationEnabled:n.status==="fulfilled"&&n.value.enabled}}const al={app:"veadk.appName",view:"veadk.view",session:"veadk.sessionId"},eht=600,tht=1e3,nht=5e3,iht=500,rht=new Set,sht=[];function ql(){return{skills:[]}}function vR(e){return`${sA(e)}.active`}function IM(e){return`veadk.agentOrder.${encodeURIComponent(e)}`}function aht(e){if(!e)return[];try{const t=JSON.parse(localStorage.getItem(IM(e))||"[]");return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function PM(e,t){if(e.name===t||e.id===t)return e;for(const n of e.children){const i=PM(n,t);if(i)return i}}function jfe(e){const t=[];for(const n of e.children)n.mentionable&&(t.push({name:n.name,description:n.description,type:n.type,path:n.path}),t.push(...jfe(n)));return t}function pq(){const e=typeof localStorage<"u"?localStorage.getItem(al.view):null;return["menu","intelligent","custom","template","workflow"].includes(e??"")?"custom":e==="package"?e:null}function mq(e){const t=e.trim().toLowerCase();switch(t){case"creating":case"starting":case"initializing":case"pending":case"running":case"ready":case"failed":case"error":case"stopped":case"expired":case"deleting":case"deleted":return t;default:return"unknown"}}function oht({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("rect",{x:"3.75",y:"3.75",width:"16.5",height:"16.5",rx:"3.25"}),c.jsx("path",{d:"M12 8.5v7M8.5 12h7"}),c.jsx("path",{d:"M6.75 6.75h1M16.25 17.25h1",opacity:"0.6"})]})}function lht({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("rect",{x:"3.5",y:"5",width:"17",height:"14.75",rx:"2.25"}),c.jsx("path",{d:"M3.5 9h17M9.25 12.25 7.1 14.4l2.15 2.15M14.75 12.25l2.15 2.15-2.15 2.15M12.8 11.85l-1.6 5.1"})]})}function cht({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("rect",{x:"2.75",y:"5",width:"6.5",height:"14",rx:"1.6"}),c.jsx("path",{d:"M5.25 8.5h1.5M5.25 11.5h1.5"}),c.jsx("rect",{x:"14.75",y:"5",width:"6.5",height:"14",rx:"1.6"}),c.jsx("path",{d:"M17.25 15.5h1.5M17.25 12.5h1.5M8.75 12h6.5m-2.5-2.5 2.5 2.5-2.5 2.5"})]})}function uht(){return c.jsxs("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":!0,children:[c.jsx("rect",{x:"3",y:"4",width:"14",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none"}),c.jsx("rect",{x:"6",y:"10.4",width:"13",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.7"}),c.jsx("rect",{x:"9",y:"16.8",width:"9",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.45"})]})}function jM(e){return e?new Date(e*1e3).toLocaleString("zh-CN",{timeZone:"Asia/Shanghai",hour12:!1,month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):""}function dht(e){if(!e)return"";const t=[];return e.ts&&t.push(jM(e.ts)),e.tokens!=null&&t.push(`${e.tokens.toLocaleString()} tokens`),t.join(" · ")}function yd(e){return e.blocks.map(t=>t.kind==="text"?t.text:"").join("").trim()}function wR(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].role==="user")return yd(e[n]);return""}const fht="send_a2ui_json_to_client";function hht(e){return e.blocks.some(t=>t.kind==="text"?t.text.trim().length>0:t.kind==="attachment"||t.kind==="artifact"?t.files.length>0:t.kind==="tool"?!(t.name===fht&&t.done):t.kind==="agent-transfer"?!1:t.kind==="a2ui"?ute(t.messages).some(n=>n.components[n.rootId]):t.kind==="auth")}function ER(e){return e.blocks.some(t=>t.kind==="auth"&&!t.done)}function pht(e){return new Promise((t,n)=>{let i="";try{i=new URL(e,window.location.href).protocol}catch{}if(i!=="http:"&&i!=="https:"){n(new Error("授权链接不是 http/https 地址,已阻止打开。"));return}const r=window.open(e,"veadk_oauth","width=520,height=720");if(!r){n(new Error("弹窗被拦截,请允许弹窗后重试。"));return}let s=!1;const a=()=>{clearInterval(u),window.removeEventListener("message",l)},o=d=>{if(!s){s=!0,a();try{r.close()}catch{}t(d)}},l=d=>{if(d.origin!==window.location.origin)return;const f=d.data;f&&f.veadkOAuth&&typeof f.url=="string"&&o(f.url)};window.addEventListener("message",l);const u=setInterval(()=>{if(!s){if(r.closed){a();const d=window.prompt("授权完成后,请粘贴回调页面(浏览器地址栏)的完整 URL:");d&&d.trim()?(s=!0,t(d.trim())):n(new Error("授权已取消。"));return}try{const d=r.location.href;d&&d!=="about:blank"&&new URL(d).origin===window.location.origin&&/[?&](code|state|error)=/.test(d)&&o(d)}catch{}}},500)})}function mht(e,t){const n=JSON.parse(JSON.stringify(e??{})),i=n.exchangedAuthCredential??n.exchanged_auth_credential??{},r=i.oauth2??{};return r.authResponseUri=t,r.auth_response_uri=t,i.oauth2=r,n.exchangedAuthCredential=i,n}function gq({text:e}){const[t,n]=O.useState(!1);return c.jsx("button",{className:"icon-btn",title:t?"已复制":"复制",disabled:!e,onClick:async()=>{if(e)try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1500)}catch{}},children:t?c.jsx(kc,{className:"icon"}):c.jsx(wT,{className:"icon"})})}function ght({onClick:e}){return c.jsx("button",{type:"button",className:"icon-btn","aria-label":"分享为图片",title:"分享为图片",onClick:e,children:c.jsx(Lxe,{className:"icon","aria-hidden":"true"})})}const Oq=["今天想做点什么?","有什么可以帮你的?","需要我帮你查点什么吗?","有问题尽管问我","嗨,我们开始吧","开始一段新对话吧","今天想先解决哪件事?","把你的想法告诉我吧","我们从哪里开始?","有什么任务交给我?","准备好一起推进了吗?","说说你现在最关心的问题","今天也一起把事情做好","我在,随时可以开始"],bq=()=>Oq[Math.floor(Math.random()*Oq.length)];function kR(e){var t;for(const n of e)(t=n.previewUrl)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(n.previewUrl)}function yq(){return`draft-${Date.now()}-${Math.random().toString(36).slice(2)}`}function xq(e){var n;if(e.type)return e.type;const t=(n=e.name.split(".").pop())==null?void 0:n.toLowerCase();return t==="md"||t==="markdown"?"text/markdown":t==="txt"?"text/plain":"application/octet-stream"}const Oht={"read-only":"只读","workspace-write":"工作区写入","danger-full-access":"完全访问"},bht={untrusted:"仅不可信命令","on-request":"按需审批",never:"不审批"},yht={user:"由我审批",auto_review:"自动审查"};function xht(e,t){const n=e.kind==="file"?"文件修改":"命令执行";return t==="accept"?`已允许本次${n}`:t==="acceptForSession"?`已在本会话中允许${n}`:t==="decline"?`已拒绝${n}`:`已取消${n}审批`}function Sht(e){var n,i,r;const t=[];return(n=e.command)!=null&&n.trim()&&t.push({label:"命令",value:e.command.trim(),code:!0}),(i=e.grantRoot)!=null&&i.trim()&&t.push({label:"授权路径",value:e.grantRoot.trim(),code:!0}),(r=e.cwd)!=null&&r.trim()&&t.push({label:"执行目录",value:e.cwd.trim(),code:!0}),t}function Sq(e){return e.flatMap(t=>t.apps.map(n=>xl(t.id,n)))}function vht(e,t){var n;return((n=e.find(i=>i.runtimeId&&i.apps.some(r=>xl(i.id,r)===t)))==null?void 0:n.runtimeId)??""}function wht(e,t){for(const n of e){const i=n.apps.find(r=>xl(n.id,r)===t);if(i&&n.runtimeId)return{runtimeId:n.runtimeId,region:n.region??"cn-beijing",appName:i}}return null}function vq(e){return e.taskMode==="text_to_video"?[]:(e.taskMode==="first_last_frame"?[e.firstFrame?{file:e.firstFrame,kind:"first_frame"}:null,e.lastFrame?{file:e.lastFrame,kind:"last_frame"}:null]:[e.referenceImage?{file:e.referenceImage,kind:"reference_image"}:null,e.referenceVideo?{file:e.referenceVideo,kind:"reference_video"}:null]).filter(n=>n!==null)}function Eht(e,t){return`video-${e.replace(/[^A-Za-z0-9_-]/g,"").slice(0,36)||"result"}.${t}`}function QO(e,t){return`${e}${t}`}function kht(){var PQ;const[e,t]=O.useState([]),[n,i]=O.useState(""),[r,s]=O.useState([]),[a,o]=O.useState(""),l=O.useRef(null),[u,d]=O.useState(!1),[f,h]=O.useState([]),[p,m]=O.useState(null),[g,y]=O.useState([]),[b,S]=O.useState(!1),[x,v]=O.useState(!1),[E,w]=O.useState(""),[k,_]=O.useState(!1),[C,A]=O.useState(!1),[R,j]=O.useState(null),[Q,L]=O.useState(null),[D,N]=O.useState(!1),[M,B]=O.useState(""),[$,I]=O.useState(null),[G,X]=O.useState(!1),[U,Y]=O.useState(""),[ae,fe]=O.useState(!1),[ke,K]=O.useState(!1),[ie,le]=O.useState("confirm"),[ge,Ee]=O.useState(""),[Ce,_e]=O.useState("codex"),[he,te]=O.useState(!1),[Te,me]=O.useState(0),[Be,je]=O.useState(null),[Ue,st]=O.useState(null),[ct,Tt]=O.useState(null),at=O.useRef(null),q=O.useRef(null),oe=O.useRef((p==null?void 0:p.id)??""),de=O.useRef(""),Ie=O.useRef(0),ce=O.useRef(new Set);oe.current=(p==null?void 0:p.id)??"",O.useEffect(()=>()=>{for(const P of ce.current)URL.revokeObjectURL(P);ce.current.clear()},[]);function Me(P){const F=URL.createObjectURL(P);return ce.current.add(F),F}function Ye(P){!P||!ce.current.delete(P)||URL.revokeObjectURL(P)}function dt(){for(const P of ce.current)URL.revokeObjectURL(P);ce.current.clear()}const[Gt,Ct]=O.useState({}),[Dt,vt]=O.useState({}),Wt=a?Gt[a]??[]:f,gt=p?g:Wt,ft=a?Dt[QO(n,a)]??rw:rw,Rt=(P,F)=>Ct(z=>({...z,[P]:typeof F=="function"?F(z[P]??[]):F})),rn=(P,F,z)=>{const ee=QO(P,F);vt(ye=>{const we=ye[ee]??rw,be=wK(we,z);return be===we?ye:{...ye,[ee]:be}})};function ln(P,F,z=[],ee=""){if(oe.current!==P)return;const ye=crypto.randomUUID(),we={role:"system",blocks:[],activity:{id:ye,title:F,...z.length>0?{details:z}:{}},meta:{localId:ye,ts:Date.now()/1e3}};y(be=>{if(!ee)return[...be,we];const tt=be.findIndex(Ke=>{var St;return((St=Ke.meta)==null?void 0:St.localId)===ee});return tt<0?[...be,we]:[...be.slice(0,tt),we,...be.slice(tt)]})}const[Ae,qe]=O.useState(""),[$e,pn]=O.useState("agent"),[bn,It]=O.useState("agent"),[pe,Qe]=O.useState("create"),[yt,mn]=O.useState(null),[wn,Jt]=O.useState(null),[ui,zn]=O.useState(null),[xe,Ge]=O.useState(!1),Nt=O.useRef(null),Kt=O.useRef(null),[sn,Fn]=O.useState({}),xi=O.useRef(new Map),di=sn.ready===!0&&sn.agentId===n,[Hn,En]=O.useState([]),[Zn,Si]=O.useState(ql),[Zt,Yn]=O.useState(null),[mr,er]=O.useState(0),[gn,Li]=O.useState(!1),[kn,fn]=O.useState(null),[Di,Ft]=O.useState(!1),[vi,Kn]=O.useState([]),[$i,Vt]=O.useState(!1),Ai=O.useRef(new Set),[ms,Fs]=O.useState(()=>new Set),[Kr,gr]=O.useState(()=>new Set),[Ur,or]=O.useState(()=>new Set),Qi=O.useRef(new Map),Jr=O.useRef(new Map),zr=O.useRef(void 0),tr=O.useRef(()=>{}),Fr=(P,F)=>Fs(z=>{const ee=new Set(z);return F?ee.add(P):ee.delete(P),ee}),Vs=P=>{const F=Jr.current.get(P);F!==void 0&&window.clearTimeout(F),Jr.current.delete(P),gr(z=>new Set(z).add(P))},Zu=P=>{const F=Jr.current.get(P);F!==void 0&&window.clearTimeout(F),Jr.current.delete(P),gr(z=>{if(!z.has(P))return z;const ee=new Set(z);return ee.delete(P),ee})},po=P=>{const F=Jr.current.get(P);F!==void 0&&window.clearTimeout(F);const z=window.setTimeout(()=>{Zu(P)},2400);Jr.current.set(P,z)},mo=(P,F)=>{or(z=>{if(z.has(P)===F)return z;const ee=new Set(z);return ee.delete(P),ee})},Ni=O.useRef(""),[Ic,He]=O.useState("");function gs(P,F,z){const ee=Nt.current;if(!ee||ee.localId!==P||ee.runId!==F)return null;const ye=tX(ee,z);return Nt.current=ye,zn(ye),ye}async function Ma(P,F,z){var we;(we=Kt.current)==null||we.abort();const ee=new AbortController;Kt.current=ee;let ye=z;try{let be=Nt.current;if(!be||be.localId!==P||be.runId!==F)return;if(ye==="optimization"&&be.assetIds.length===0){const Ke=vq(be.config);if(Ke.length>0){const St=await Promise.all(Ke.map(lt=>Ont(lt.file,lt.kind,ee.signal)));if(ee.signal.aborted||(be=gs(P,F,{type:"assets_uploaded",assetIds:St.map(lt=>lt.assetId)}),!be))return}}if(ye==="optimization"){const Ke=await bnt({prompt:be.requestedPrompt,taskMode:be.requestedMode,assetIds:be.assetIds,ratio:be.config.aspectRatio,resolution:be.config.resolution,durationSeconds:be.config.durationSeconds},ee.signal);if(ee.signal.aborted||(be=gs(P,F,{type:"optimization_succeeded",optimizedPrompt:Ke.enhancedPrompt,resolvedMode:Ke.resolvedTaskMode,enhancerModel:Ke.enhancerModel}),!be))return;ye="generation"}if(!be.optimizedPrompt||!be.resolvedMode)throw new Error("提示词优化结果不完整,请重新优化后再试。");const tt=await ynt({enhancedPrompt:be.optimizedPrompt,resolvedTaskMode:be.resolvedMode,assetIds:be.assetIds,ratio:be.config.aspectRatio,resolution:be.config.resolution,durationSeconds:be.config.durationSeconds},ee.signal);if(ee.signal.aborted||(be=gs(P,F,{type:"generation_started",remoteTaskId:tt.taskId,generationModel:tt.generationModel}),!be))return;for(;!ee.signal.aborted;){const Ke=await xnt(tt.taskId,ee.signal);if(ee.signal.aborted)return;if(Ke.status==="failed")throw new Error(Ke.error||"视频生成失败,请稍后重试。");if(Ke.status==="succeeded"){if(!Ke.videoUrl)throw new Error("视频任务已完成,但服务端未返回预览地址。");gs(P,F,{type:"generation_succeeded",output:{previewUrl:vnt(Ke.videoUrl),fileName:Eht(tt.taskId,Ke.outputFormat),mimeType:Ke.outputFormat==="mov"?"video/quicktime":"video/mp4"}});return}await new Promise(St=>window.setTimeout(St,1800))}}catch(be){if(ee.signal.aborted)return;gs(P,F,{type:"failed",stage:ye,error:be instanceof Error?be.message:String(be)})}}function Or(P,F,z){if(Vce(Nt.current)){Ge(!0);return}if(F.taskMode==="video_editing"&&!F.referenceVideo){He("视频编辑需要先添加待编辑视频。");return}if(F.taskMode==="video_extension"&&!F.referenceVideo){He("视频续写需要先添加基础视频。");return}if(F.taskMode==="reference_to_video"&&!F.referenceImage&&!F.referenceVideo){He("参考素材生视频需要至少添加一项参考图片或参考视频。");return}if(F.taskMode==="text_to_video"&&(F.referenceImage||F.referenceVideo||F.firstFrame||F.lastFrame)){He("文生视频不使用参考素材,请先移除已添加的图片或视频。");return}if(F.taskMode==="first_last_frame"&&!F.firstFrame){He("首尾帧生成需要先添加首帧图片。");return}if(z.supportedModes.length>0&&F.taskMode!=="auto"&&!z.supportedModes.includes(F.taskMode)){He("当前平台暂不支持所选视频任务模式。");return}const ee=vq(F);if(ee.length>0&&!z.assetStorageAvailable){He(z.assetStorageUnavailableReason||"管理员未配置持久化存储");return}const ye=ee.find(({file:be})=>z.maxAssetBytes>0&&be.size>z.maxAssetBytes);if(ye){He(`${ye.file.name} 超出当前平台允许的素材大小。`);return}const we=iit({prompt:P,config:F,enhancerModel:z.enhancerModel,generationModel:z.generationModel});Nt.current=we,zn(we),Ge(!0),qe(""),He(""),Ma(we.localId,we.runId,"optimization")}function Xs(){const P=Nt.current;if(!P||P.status!=="error"||!P.errorStage)return;const F=P.errorStage,z=tX(P,{type:"retry",stage:F});Nt.current=z,zn(z),Ge(!0),Ma(z.localId,z.runId,F)}async function Ku(){const P=Nt.current;if(!(!(P!=null&&P.remoteTaskId)||!P.output))try{const F=await Snt(P.remoteTaskId),z=URL.createObjectURL(F),ee=document.createElement("a");ee.href=z,ee.download=P.output.fileName,ee.click(),window.setTimeout(()=>URL.revokeObjectURL(z),1e3)}catch(F){He(F instanceof Error?F.message:String(F))}}O.useEffect(()=>()=>{var P;(P=Kt.current)==null||P.abort()},[]);const[jl,Nr]=O.useState(""),[go,As]=O.useState(()=>new Set),[Yo,es]=O.useState(null),[Ml,Go]=O.useState(null),[re,ne]=O.useState(null),[Pe,Ve]=O.useState(null);O.useEffect(()=>{ne(null)},[n,a]);const[pt,Fe]=O.useState(!1),[Pt,In]=O.useState(),[At,Dn]=O.useState(bq),[Z,ve]=O.useState(null),[Ze,Ot]=O.useState(!1),[Ci,Jn]=O.useState(!1),[Bt,$t]=O.useState(""),an=O.useRef(!1),[$n,Ns]=O.useState(null),[it,ua]=O.useState(""),[nr,Vr]=O.useState(),[Vn,qs]=O.useState(null),ts=(Vn==null?void 0:Vn.capabilities.runtimeScope)??"mine",[Wo,V0]=O.useState({newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,agentUsage:!1,addAgentkit:!0}),[Pc,E1]=O.useState("cloud"),[jc,fi]=O.useState(wy),[Pn,cA]=O.useState("volcengine"),[k1,T1]=O.useState(""),[_1,$f]=O.useState(""),[xp,uA]=O.useState(!1),[Ju,Sp]=O.useState(!1),[A1,Mc]=O.useState(!1),[vp,Zo]=O.useState({}),[X0,q0]=O.useState({}),[dA,ed]=O.useState({}),N1=ms.has(a),td=Kr.has(a),wp=N1||u,fA=!!a&&Di,La=p?b:wp,C1=La||!p&&td,hn=edt({session:p,conversationBusy:b,onInputChange:qe,onSessionPatch:P=>{const F=oe.current;m(z=>(z==null?void 0:z.id)===F?{...z,...P}:z)},onSnapshot:P=>{const F=oe.current;dt(),y(Kut(P)),m(z=>(z==null?void 0:z.id)===F?{...z,threadId:P.threadId,cwd:P.cwd??z.cwd,model:P.model??z.model,workspaceLocked:P.workspaceLocked,permissions:P.permissions,busy:!1}:z)},onActivity:(P,F=[])=>{const z=oe.current;z&&ln(z,P,F)},onError:He}),hA=vp[a]??"",R1=X0[a]??rht,I1=dA[a]??sht,qi=Zt==null?void 0:Zt.graph,P1=[Zt==null?void 0:Zt.name,qi==null?void 0:qi.name,qi==null?void 0:qi.id].filter(P=>!!P),H0=Zn.targetAgent&&qi?PM(qi,Zn.targetAgent.name):qi,pA=(H0==null?void 0:H0.skills)??(Zn.targetAgent?[]:(Zt==null?void 0:Zt.skills)??[]),mA=qi?jfe(qi):[],j1=(qi==null?void 0:qi.instruction)??((PQ=Zt==null?void 0:Zt.draft)==null?void 0:PQ.instruction),gA=Zt&&j1!==void 0?TSe({instruction:j1,tools:[...new Set([...(qi==null?void 0:qi.tools)??Zt.tools,...(kn==null?void 0:kn.tools.map(P=>P.name))??[],...vi])],skills:(qi==null?void 0:qi.skills)??Zt.skills}):null;function M1(P){kR(P);for(const F of P)F.status==="uploading"?Ai.current.add(F.id):F.uri&&iw(n,F.uri).catch(z=>He(String(z)))}async function L1(P){try{await XI(n,it,P),await VI(n,it,P),s(F=>F.filter(z=>z.id!==P)),Ct(F=>{const{[P]:z,...ee}=F;return ee})}catch(F){He(String(F))}}function OA(P){const F=Hn.find(ye=>ye.id===P);if(!F)return;const z=Hn.filter(ye=>ye.id!==P);kR([F]),F.status==="uploading"&&Ai.current.add(P),En(z),z.length===0&&!Ae.trim()&&!!a&>.length===0?(Ni.current="",o(""),L1(a)):F.uri&&iw(n,F.uri).catch(ye=>He(String(ye)))}const Y0=(P,F)=>{var we,be,tt,Ke,St;const z=F.author&&F.author!=="user"?F.author:void 0;z&&(Zo(lt=>({...lt,[P]:z})),q0(lt=>({...lt,[P]:new Set(lt[P]??[]).add(z)})),ed(lt=>{var nt;return(nt=lt[P])!=null&&nt.length?lt:{...lt,[P]:[z]}}));const ee=((we=F.actions)==null?void 0:we.transferToAgent)??((be=F.actions)==null?void 0:be.transfer_to_agent);ee&&ed(lt=>{const nt=lt[P]??[];return nt[nt.length-1]===ee?lt:{...lt,[P]:[...nt,ee]}}),(((tt=F.actions)==null?void 0:tt.endOfAgent)??((Ke=F.actions)==null?void 0:Ke.end_of_agent)??((St=F.actions)==null?void 0:St.escalate))&&ed(lt=>{const nt=lt[P]??[];return nt.length<=1?lt:{...lt,[P]:nt.slice(0,-1)}})},[Ll,Tn]=O.useState(pq),[G0,W0]=O.useState([]),[D1,Ep]=O.useState({}),V=O.useCallback(P=>{W0(F=>{const z=F.findIndex(ye=>ye.id===P.id);if(z===-1)return[P,...F];const ee=[...F];return ee[z]={...ee[z],...P},ee})},[]),[ue,Se]=O.useState(!0),[Le,et]=O.useState(!1),[jt,hi]=O.useState(null),[Qf,Ut]=O.useState(!1),[Ko,wi]=O.useState(!1),[Mfe,da]=O.useState(null),[Lfe,$1]=O.useState("custom"),[bA,yA]=O.useState([]),nd=O.useRef([]),id=O.useRef(null),kp=O.useRef(null),[iQ,Q1]=O.useState([]),[Xr,Jo]=O.useState(""),Oo=O.useRef(null),[xA,ns]=O.useState(!1),[Tp,ri]=O.useState(!1),[rQ,SA]=O.useState(""),[Dfe,$fe]=O.useState("good"),[Qfe,B1]=O.useState("basic"),[Bfe,Ufe]=O.useState("good"),[Z0,U1]=O.useState(""),[zfe,Ffe]=O.useState(null),[rd,Hi]=O.useState(!1),[sQ,Dl]=O.useState(!1),[Bf,Da]=O.useState(null),vA=O.useRef(null),[el,K0]=O.useState(()=>{const P=fl();return L0(P),P}),[Vfe,aQ]=O.useState(!1),[Xfe,oQ]=O.useState(""),[lQ,z1]=O.useState(null),[qfe,cQ]=O.useState({}),[Hfe,uQ]=O.useState(()=>new Set),[_p,$l]=O.useState(null),[F1,V1]=O.useState(Ui(Pn)),[dQ,Hs]=O.useState(""),[fQ,Ys]=O.useState(""),[ai,Gs]=O.useState(null),[Yfe,wA]=O.useState(!1),X1=O.useRef(!1),Ap=O.useRef(!1),Ql=O.useCallback(P=>{if(!it)return!1;try{YX(localStorage,it,P)}catch(F){return Nr(F instanceof Error?F.message:"浏览器拒绝保存草稿,请稍后重试。"),!1}return nd.current=P,yA(P),Nr(""),!0},[it]),Bl=O.useCallback(P=>{var F;P&&((F=id.current)==null?void 0:F.id)!==P||(id.current=null,kp.current!==null&&(window.clearTimeout(kp.current),kp.current=null))},[]),sd=O.useCallback(()=>{const P=id.current;if(!P)return!0;const F=Ql([P,...nd.current.filter(z=>z.id!==P.id)]);return F&&Bl(),F},[Bl,Ql]),Gfe=O.useCallback((P,F,z)=>{!P||!it||(id.current&&id.current.id!==P&&sd(),id.current={id:P,draft:F,updatedAt:Date.now(),deploymentTarget:z},kp.current!==null&&window.clearTimeout(kp.current),kp.current=window.setTimeout(sd,eht))},[sd,it]),EA=O.useCallback(P=>{!P||!it||(Bl(P),Ql(nd.current.filter(F=>F.id!==P)))},[Bl,Ql,it]),hQ=O.useCallback(P=>{if(!it||P.length===0)return;const F=new Set(P.map(z=>z.id));id.current&&F.has(id.current.id)&&Bl(),Ql(nd.current.filter(z=>!F.has(z.id))),Ep(z=>Object.fromEntries(Object.entries(z).filter(([ee])=>!F.has(ee)))),F.has(Xr)&&(Jo(""),da(null),$l(null),Oo.current=null,localStorage.removeItem(vR(it)))},[Bl,Ql,Xr,it]),pQ=O.useCallback(P=>{if(!P||!it)return;Bl(P);const F=Oo.current,z=nd.current.filter(ee=>ee.id!==P);Ql((F==null?void 0:F.id)===P?[F,...z]:z)},[Bl,Ql,it]);O.useEffect(()=>(window.addEventListener("pagehide",sd),()=>{window.removeEventListener("pagehide",sd)}),[sd]),O.useEffect(()=>{if(!it){Bl(),nd.current=[],yA([]),Q1([]),Jo(""),Nr(""),Oo.current=null;return}let P=[],F="";try{P=Fct(localStorage,it),localStorage.getItem(sA(it))!==null&&YX(localStorage,it,P),F=localStorage.getItem(vR(it))||"",Nr("")}catch(ee){Nr(ee instanceof Error?ee.message:"无法读取本机草稿,请稍后重试。")}nd.current=P,yA(P),Q1(aht(it));const z=P.find(ee=>ee.id===F);Oo.current=z??null,Ll==="custom"&&z&&(Jo(z.id),da(z.draft),$l(z.deploymentTarget??null))},[Bl,it]),O.useEffect(()=>{if(!it)return;const P=vR(it);try{Ll==="custom"&&Xr?localStorage.setItem(P,Xr):localStorage.removeItem(P)}catch{Nr("浏览器拒绝保存当前草稿位置,请检查站点存储权限后重试。")}},[Ll,Xr,it]);const Wfe=O.useCallback(P=>{if(!it)return;const F=[...new Set(P.filter(Boolean))];Q1(F),localStorage.setItem(IM(it),JSON.stringify(F))},[it]),Zfe=O.useCallback(async P=>{const F=P.filter(Ke=>!!Ke.runtimeId&&Ke.canDelete===!0);if(F.length===0)return;const z=vht(el,n),ee=new Set(F.map(Ke=>Ke.runtimeId));uQ(Ke=>{const St=new Set(Ke);for(const lt of ee)St.add(lt);return St}),yv(ee);const ye=new Set,we=new Set,be=new Set,tt=[];for(const Ke of F)try{if(!Ke.region)throw new Error("Runtime 缺少地域信息,无法删除");await pK(Ke.runtimeId,Ke.region),$k(Ke.runtimeId),ye.add(Ke.runtimeId),we.add(Ke.id)}catch(St){const lt=St instanceof Error?St.message:String(St);be.add(Ke.runtimeId),tt.push(`${Ke.label}: ${lt}`)}if(ye.size>0&&(yv(ye),K0(fl()),z1(St=>{if(!St)return St;const lt=new Set(St);for(const nt of ye)lt.delete(nt);return lt}),cQ(St=>Object.fromEntries(Object.entries(St).filter(([lt])=>!ye.has(lt)))),Q1(St=>{const lt=St.filter(nt=>!we.has(nt));return it&&localStorage.setItem(IM(it),JSON.stringify(lt)),lt}),Ql(nd.current.filter(St=>{var lt;return!((lt=St.deploymentTarget)!=null&<.runtimeId)||!ye.has(St.deploymentTarget.runtimeId)})),(z?ye.has(z):F.some(St=>St.id===n))&&(She(),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),Hs(""),Ys(""),Hi(!0),He("")),ai!=null&&ai.runtime&&ye.has(ai.runtime.runtimeId)&&(Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),Hs(""),Ys(""),Hi(!0),He(""))),be.size>0&&uQ(Ke=>{const St=new Set(Ke);for(const lt of be)St.delete(lt);return St}),tt.length>0){const Ke=tt.slice(0,3).join(";"),St=tt.length>3?`;另有 ${tt.length-3} 个失败`:"";throw new Error(`${tt.length} 个 Agent 删除失败:${Ke}${St}`)}},[ai,n,Ql,el,it]),kA=O.useCallback(async()=>{aQ(!0),oQ("");try{const P=[];let F="";do{const z=await IT({scope:ts,region:"all",pageSize:100,nextToken:F});P.push(...z.runtimes),F=z.nextToken}while(F&&P.length<2e3);z1(new Set(P.map(z=>z.runtimeId))),cQ(Object.fromEntries(P.map(z=>[z.runtimeId,{canDelete:z.canDelete}])))}catch(P){oQ(P instanceof Error?P.message:String(P))}finally{aQ(!1)}},[ts]);function Kfe(P){console.log("create agent draft:",P),Tn(null),od()}function mQ(P,F){console.log("Agent added, navigating to:",P,F),K0(fl()),z1(null),yv(),EA(Xr),Jo(""),Oo.current=null,$l(null),Hs(""),Ys(P),B1("basic"),Tn(null),ri(!0),i(P)}const TA=O.useCallback(P=>{Tn(null),wi(!1),Hi(!1),Gs(null),ri(!0),Ys(""),B1("basic"),Hs(P.id),He("")},[]),gQ=O.useCallback(P=>{sd();const F=Xr?{...P,draftId:Xr}:P;Xr&&Ep(z=>({...z,[Xr]:P.id})),V(F),TA(F)},[Xr,sd,TA,V]),OQ=O.useCallback(async P=>{if(!P.runtimeId)throw new Error("部署完成,但未返回 Runtime ID。");const F=Xr;F&&(EA(F),Ep(we=>{if(!we[F])return we;const be={...we};return delete be[F],be})),Jo(""),Oo.current=null,$l(null);const z=(_p==null?void 0:_p.region)??F1,ee=await Iw(P.runtimeId,P.runtimeName,P.region??z,P.version,{waitForReady:!0,agentName:P.agentName});K0(fl()),er(we=>we+1);const ye=await SR(ee);xi.current.set(ee,ye),Fn(ye),z1(we=>{const be=new Set(we??[]);return be.add(P.runtimeId),be}),yv(),Ys(ee),B1("basic"),Hs(""),Tn(null),ri(!0),i(ee)},[Xr,F1,EA,_p]),J0=O.useRef(null),_A=O.useRef(new Map),Jfe=O.useRef(0),bQ=O.useRef(new Map),yQ=el.some(P=>!!(P.runtimeId&&P.region)&&P.apps.some(F=>xl(P.id,F)===n));O.useLayoutEffect(()=>{const P=new Map;gt.forEach((F,z)=>{var be;const ee=((be=F.meta)==null?void 0:be.eventId)??"",ye=!!(yQ&&ee&&yd(F)),we=z===gt.length-1&&(La||td);P.set(z,{enabled:!!(ye&&Pn!=="byteplus"&&!we&&!ER(F)),turn:F,input:ye?wR(gt,z):""})}),bQ.current=P},[La,Pn,td,yQ,gt]);const xQ=O.useCallback(()=>{var be;const P=window.getSelection(),F=(P==null?void 0:P.anchorNode)instanceof Element?P.anchorNode:(be=P==null?void 0:P.anchorNode)==null?void 0:be.parentElement,z=F==null?void 0:F.closest(".turn--assistant");if(!z)return;const ee=Number(z.dataset.responseAnnotationIndex);if(!Number.isInteger(ee))return;const ye=bQ.current.get(ee);if(!(ye!=null&&ye.enabled))return;const we=Mft(z,P);we&&ne({selectionId:++Jfe.current,turn:ye.turn,input:ye.input,selectedText:we.text,anchor:we.anchor})},[]);O.useEffect(()=>{let P=null;const F=z=>{z.target instanceof Element&&z.target.closest(".response-annotation-popover")||(P!==null&&window.cancelAnimationFrame(P),P=window.requestAnimationFrame(()=>{P=null,xQ()}))};return document.addEventListener("mouseup",F,!0),document.addEventListener("keyup",F,!0),()=>{P!==null&&window.cancelAnimationFrame(P),document.removeEventListener("mouseup",F,!0),document.removeEventListener("keyup",F,!0)}},[xQ]);const Uf=O.useRef(!0),ad=O.useRef(!1),zf=O.useRef(null),SQ=O.useRef({key:"",turnCount:0}),AA=(p==null?void 0:p.id)??a;O.useLayoutEffect(()=>{const P=J0.current,F=SQ.current,z=F.key!==AA,ee=!z&>.length>F.turnCount;if(SQ.current={key:AA,turnCount:gt.length},!P||gt.length===0||!z&&!ee)return;Uf.current=!0,ad.current=!1,zf.current!==null&&(window.clearTimeout(zf.current),zf.current=null);const ye=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(z||ye){P.scrollTop=P.scrollHeight;return}ad.current=!0,P.scrollTo({top:P.scrollHeight,behavior:"smooth"}),zf.current=window.setTimeout(()=>{ad.current=!1,zf.current=null},450)},[AA,gt.length]),O.useLayoutEffect(()=>{const P=J0.current;!P||!Uf.current||ad.current||(P.scrollTop=P.scrollHeight)},[La,gt]),O.useEffect(()=>{if(!Z0||Tp||gt.length===0)return;const P=_A.current.get(Z0);if(!P)return;Uf.current=!1,P.scrollIntoView({behavior:"smooth",block:"center"});const F=window.setTimeout(()=>{U1("")},2600);return()=>window.clearTimeout(F)},[Z0,Tp,gt]),O.useEffect(()=>()=>{zf.current!==null&&window.clearTimeout(zf.current)},[]);const ehe=O.useCallback(()=>{const P=J0.current;!P||ad.current||(Uf.current=P.scrollHeight-P.scrollTop-P.clientHeight<32)},[]),the=O.useCallback(P=>{P.deltaY<0&&(ad.current=!1,Uf.current=!1)},[]),nhe=O.useCallback(()=>{ad.current=!1,Uf.current=!1},[]),ihe=O.useCallback(()=>{const P=J0.current;!P||!Uf.current||ad.current||(P.scrollTop=P.scrollHeight)},[]),NA=O.useCallback(()=>{Ns(null),BI().then(P=>{ua(P.userId),Vr(P.info),Sp(!!P.local),ve(P.status),P.status==="authenticated"&&(X1.current=!0,Ap.current=!0,localStorage.removeItem(al.app),i(""),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Hi(!1))}).catch(P=>{Ns(P instanceof Error?P.message:String(P))})},[]);O.useEffect(()=>{NA()},[NA]),O.useEffect(()=>{const P=()=>{$t(""),Ot(!0)};return window.addEventListener(UI,P),C1e()&&P(),()=>window.removeEventListener(UI,P)},[]);const rhe=O.useCallback(async()=>{if(an.current)return;an.current=!0;const P=w1e();if(!P){an.current=!1,$t("登录窗口被浏览器拦截,请允许弹出窗口后重试。");return}Jn(!0),$t("");try{for(;;){await new Promise(F=>window.setTimeout(F,1e3));try{const F=await BI();if(F.status==="authenticated"){ua(F.userId),Vr(F.info),Sp(!!F.local),ve(F.status),Ot(!1),R1e(),P.close();return}}catch{}if(P.closed){$t("登录窗口已关闭,请重新登录以继续当前操作。");return}}}finally{an.current=!1,Jn(!1)}},[]);O.useEffect(()=>{Ju&&it&&LB(it)},[Ju,it]),O.useEffect(()=>{if(Z!=="authenticated"||!it){Fn({});return}const P=xi.current.get(n);if(P){Fn(P);return}let F=!1;return Fn({}),SR(n).then(z=>{F||(xi.current.set(n,z),Fn(z))}),()=>{F=!0}},[n,Z,it]),O.useLayoutEffect(()=>{!di||sn.skillCustomizationEnabled!==!1||bn!=="skill"||(It("agent"),mn(null),Jt(null))},[sn.skillCustomizationEnabled,di,bn]),O.useEffect(()=>{if(Z!=="authenticated"||!it){qs(null);return}let P=!1;return qs(null),lK().then(F=>{P||qs(F)}).catch(F=>{console.warn("[app] /web/access failed; using ordinary-user access:",F),P||qs(oK)}),()=>{P=!0}},[Z,it]),O.useEffect(()=>{aK().then(P=>{const F="prod";jtt({enabled:P.telemetry.enabled,environment:F});const z=P.telemetry.studio;Mtt({userPoolId:(z==null?void 0:z.userPoolId)??"",studioDeployId:(z==null?void 0:z.deployId)??"",applicationId:(z==null?void 0:z.applicationId)??"",functionId:(z==null?void 0:z.functionId)??"",studioRegion:(z==null?void 0:z.region)??"",studioProject:(z==null?void 0:z.project)??"",studioVersion:(z==null?void 0:z.version)||P.version,environment:F,cloudProvider:P.provider}),V0(P.features),E1(P.agentsSource),cA(P.provider),$f((z==null?void 0:z.region)||Ui(P.provider)),fi(P.branding),T1(P.version),uA(!0)})},[]),O.useEffect(()=>{if(Z!=="authenticated"||!nr||!Vn||!xp)return;const P=String(Vn.telemetry.userId).trim();P&&(Ltt({userUniqueId:P,userRole:Vn.role==="admin"?"admin":"member",userSource:Ju?"local":"sso"}),Dtt({agentsSource:Pc}))},[Vn,Pc,Z,Ju,xp,nr]),O.useEffect(()=>{V1(P=>{const F=Ui(Pn);return!P||Pn==="byteplus"&&P.startsWith("cn-")||Pn==="volcengine"&&P.startsWith("ap-")?F:P})},[Pn]),O.useEffect(()=>{Vn&&(Vn.capabilities.createAgents||(Tn(null),da(null),Ut(!1),wi(!1),W0([])),Vn.capabilities.manageAgents||ri(!1))},[Vn]),O.useEffect(()=>{Z!=="authenticated"||Pc!=="cloud"||!xp||!Tp||ai||kA()},[ai,Pc,Z,Tp,kA,xp]),O.useEffect(()=>{document.title=jc.title;let P=document.querySelector('link[rel~="icon"]');P||(P=document.createElement("link"),P.rel="icon",document.head.appendChild(P)),P.removeAttribute("type"),P.href=jc.logoUrl||(Pn==="byteplus"?LD:MD)},[Pn,jc]),O.useEffect(()=>{fetch("/web/runtime-config",{signal:AbortSignal.timeout(1e4)}).then(P=>P.ok?P.json():null).then(P=>{P&&Se(!!P.credentials)}).catch(P=>{console.warn("[app] /web/runtime-config probe failed; workbench stays hidden:",P)})},[]);function she(P){LB(P),X1.current=!0,Ap.current=!0,localStorage.removeItem(al.app),qs(null),Tn(null),da(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),od(),i(""),Hi(!1),ua(P),Vr({name:P}),Sp(!0),ve("authenticated")}function ahe(){qs(null),Ju?(S1e(),ua(""),Vr(void 0),ve("unauthenticated")):k1e()}O.useEffect(()=>{if(Z==="authenticated"){if(Pc==="cloud"){const P=Sq(el);i(F=>F&&P.includes(F)?F:(F&&(Ap.current=!0,localStorage.removeItem(al.app)),""));return}_Z().then(P=>{t(P);const F=Sq(el);i(z=>z&&(P.includes(z)||F.includes(z))?z:(z&&(Ap.current=!0,localStorage.removeItem(al.app)),""))}).catch(P=>He(String(P)))}},[Z,Pc,el]),O.useEffect(()=>{n?(Ap.current=!1,localStorage.setItem(al.app,n)):localStorage.removeItem(al.app)},[n]),O.useEffect(()=>{let P=!1;if(fn(null),Kn([]),rd||ai||!n||!it||!a){Ft(!1);return}return Ft(!0),HI(n,it,a).then(F=>{P||(fn(F),CD(n).then(z=>{P||Kn(z)}).catch(()=>{P||Kn([])}))}).catch(()=>{P||fn(null)}).finally(()=>{P||Ft(!1)}),()=>{P=!0}},[ai,n,rd,it,a]),O.useEffect(()=>{let P=!1;if(Yn(null),Si(ql()),Z!=="authenticated"||rd||ai||!n){Li(!1);return}return Li(!0),KZ(n).then(F=>{P||Yn(F)}).catch(()=>{P||Yn(null)}).finally(()=>{P||Li(!1)}),()=>{P=!0}},[ai,n,mr,Z,rd]),O.useEffect(()=>{Vn&&localStorage.setItem(al.view,Vn.capabilities.createAgents?Ll??"chat":"chat")},[Vn,Ll]),O.useEffect(()=>{localStorage.setItem(al.session,a),Ni.current=a},[a]),O.useEffect(()=>{const P=wht(el,n);if(!P||!it){tr.current=()=>{},or(lt=>lt.size===0?lt:new Set);return}const{runtimeId:F,region:z,appName:ee}=P;let ye=!1,we=0;function be(){zr.current!==void 0&&(window.clearTimeout(zr.current),zr.current=void 0)}function tt(lt){be(),zr.current=window.setTimeout(()=>void Ke(),lt)}async function Ke(){const lt=++we;try{const nt=await DZ({runtimeId:F,region:z,appName:ee,userId:it});if(ye||lt!==we)return;const _n=new Set(nt.items.filter(xt=>xt.state==="running").map(xt=>xt.sessionId));if(or(xt=>xt.size===_n.size&&[..._n].every(Cr=>xt.has(Cr))?xt:_n),_n.size>0){tt(tht);return}const jn=nt.items.filter(xt=>xt.state==="pending").map(xt=>Date.parse(xt.dueAt)).filter(Number.isFinite);jn.length>0&&tt(Math.max(iht,Math.min(...jn)-Date.now()))}catch{!ye&<===we&&tt(nht)}}const St=()=>{be(),Ke()};return tr.current=St,St(),()=>{ye=!0,we+=1,be(),tr.current===St&&(tr.current=()=>{})}},[n,el,it]),O.useEffect(()=>()=>Qi.current.forEach(P=>P.abort()),[]),O.useEffect(()=>()=>Jr.current.forEach(P=>{window.clearTimeout(P)}),[]),O.useEffect(()=>()=>{var P,F;(P=at.current)==null||P.abort(),(F=q.current)==null||F.abort()},[]),O.useEffect(()=>{if(rd||ai||p||!n||!it)return;let P=!1;return(async()=>{const F=await q1(n);if(!P){if(!X1.current){X1.current=!0;const z=localStorage.getItem(al.session)||"";if(pq()===null&&z&&F.some(ee=>ee.id===z)){eO(z);return}}od()}})(),()=>{P=!0}},[ai,n,rd,p,it]),O.useEffect(()=>{const P=vA.current;P&&P.app===n&&(vA.current=null,eO(P.sid))},[n]);function ohe(P,F){ns(!1),P===n?eO(F):(vA.current={app:P,sid:F},i(P))}async function q1(P){try{const F=await _D(P,it),z=await Promise.allSettled(F.map(we=>{var be;return(be=we.events)!=null&&be.length?Promise.resolve(we):TE(P,it,we.id)})),ee=z.find(we=>we.status==="rejected"&&!/get session failed:\s*404\b/i.test(String(we.reason)));if((ee==null?void 0:ee.status)==="rejected")throw ee.reason;const ye=z.flatMap(we=>we.status==="fulfilled"?[we.value]:[]);return vt(we=>{const be={...we};for(const tt of ye)be[QO(P,tt.id)]=zB(tt.events??[]);return be}),s(ye),ye}catch(F){return He(String(F)),[]}}function vQ(P="codex",F=!1){p||(He(""),Ee(""),le("confirm"),_e(P),te(F),K(!0))}function lhe(){var P;(P=at.current)==null||P.abort(),at.current=null,K(!1),le("confirm"),Ee(""),!p&&$e==="temporary"&&!he&&pn("agent")}async function che(P,F){var ye;(ye=at.current)==null||ye.abort();const z=new AbortController;at.current=z,le("loading"),Ee("");const ee=$tt({sandboxKind:Ce,sandboxSource:he?"my_agents":"new_chat"});try{const we=Ce==="codex"?await An.startSession({displayName:P,persistent:F,signal:z.signal}):await An.startAgentSession(Ce,{displayName:P,persistent:F,signal:z.signal});if(at.current!==z){ee.fail({errorKind:"abort"});return}if(ee.succeed({sandboxId:String(we.id)}),he){me(tt=>tt+1),K(!1),le("confirm"),Hi(!0);return}if(Ce!=="codex")return;const be=await An.connectSession(we.id,{signal:z.signal});if(at.current!==z)return;Ni.current="",o(""),h([]),qe(""),Si(ql()),pn("temporary"),M1(Hn),En([]),dt(),y([]),m(be),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),Hi(!1),je(null),st(null),K(!1),le("confirm")}catch(we){if(ee.fail(ya(we)),(we==null?void 0:we.name)==="AbortError"||at.current!==z)return;Ee(we instanceof Error?we.message:String(we)),le("error")}finally{at.current===z&&(at.current=null)}}async function CA(P,F="my_agents"){He("");const z=BC({targetId:String(P.id),agentKind:P.toolName,connectSource:F});try{const ee=P.resourceType==="snapshot"?await An.resumeSnapshot(P.toolName,P.snapshotId):P;if(P.resourceType==="snapshot"&&me(we=>we+1),ee.toolName==="codex"){const we=await An.connectSession(ee.id);z.succeed({sandboxStatus:mq(we.status)}),Ni.current="",o(""),h([]),qe(""),Si(ql()),dt(),y([]),m(we),je(null),st(null),Hi(!1),ri(!1);return}const ye=await An.openAgentSession(ee.toolName,ee.id);z.succeed({sandboxStatus:mq(ye.session.status)}),st(ye),je(null),Hi(!1),ri(!1)}catch(ee){throw z.fail(ya(ee)),He(ee instanceof Error?ee.message:String(ee)),ee}}function uhe(P){je(P),st(null),Hi(!1),ri(!1),He("")}async function dhe(P){P.resourceType==="snapshot"?await An.deleteSnapshot(P.toolName,P.snapshotId):((p==null?void 0:p.id)===P.id&&Ul(),P.toolName==="codex"?await An.deleteSession(P.id):await An.deleteAgentSession(P.toolName,P.id)),je(null),st(null),me(F=>F+1),Hi(!0)}async function fhe(){const P=ct;if(!P)return;await hn.deleteThread(P.id)&&Tt(null)}function Ul(){var F;(F=q.current)==null||F.abort(),q.current=null,oe.current="",de.current="",S(!1),dt(),y([]),En([]),qe(""),He(""),pn("agent"),v(!1),w(""),_(!1),A(!1),j(null),L(null),N(!1),B(""),I(null),X(!1),Y(""),Tt(null),fe(!1),Ie.current+=1;const P=p;m(null),P&&An.closeSession(P.id).catch(z=>He(String(z)))}async function RA(P){const F=p;if(F){j(P),L(null),B(""),N(!0);try{const z=P==="terminal"?await An.launchTerminal(F.id):await An.launchBrowser(F.id);L(z)}catch(z){B(z instanceof Error?z.message:String(z))}finally{N(!1)}}}async function hhe(P){const F=p;if(!(!F||x)){v(!0),w("");try{const z=await An.updatePermissions(F.id,P);m(ee=>(ee==null?void 0:ee.id)===F.id?{...ee,permissions:z}:ee),ln(F.id,"已更新当前 Sandbox Session 的 Codex 权限",[{label:"沙箱模式",value:Oht[z.sandboxMode]},{label:"审批策略",value:bht[z.approvalPolicy]},{label:"审批方式",value:yht[z.approvalsReviewer]},{label:"网络访问",value:z.networkAccess?"允许":"关闭"}]),oe.current===F.id&&_(!1)}catch(z){w(z instanceof Error?z.message:String(z))}finally{v(!1)}}}const phe=O.useCallback(async P=>{const F=p==null?void 0:p.id;if(!F)throw new Error("当前没有已连接的 Sandbox。");return An.listDirectories(F,P)},[p==null?void 0:p.id]);async function mhe(P){const F=p;if(!(!F||F.workspaceLocked||x)){v(!0),w("");try{const z=await An.updateWorkspace(F.id,P);m(ee=>(ee==null?void 0:ee.id)===F.id?{...ee,cwd:z}:ee),hn.invalidateSkills(),ln(F.id,"已更新工作空间",[{label:"工作目录",value:z,code:!0}]),oe.current===F.id&&A(!1)}catch(z){w(z instanceof Error?z.message:String(z))}finally{v(!1)}}}async function ghe(P){const F=p,z=$;if(!(!F||!z||G)){X(!0),Y("");try{await An.resolveApproval(F.id,z.id,P),ln(F.id,xht(z,P),Sht(z),de.current),I(ee=>(ee==null?void 0:ee.id)===z.id?null:ee)}catch(ee){Y(ee instanceof Error?ee.message:String(ee))}finally{X(!1)}}}async function Ohe(P){const F=p;if(!F||ae)return;const z=++Ie.current;He(""),fe(!0);const ee=Array.from(P).map(ye=>{const we={id:yq(),mimeType:xq(ye),name:ye.name,sizeBytes:ye.size,status:"uploading",previewUrl:Me(ye)};return{file:ye,attachment:we}});En(ye=>[...ye,...ee.map(({attachment:we})=>we)]);try{const we=(await Promise.all(ee.map(async({file:be,attachment:tt})=>{try{const Ke=await An.uploadFile(F.id,be);return Ie.current!==z?null:(En(St=>St.map(lt=>lt.id===tt.id?{...lt,id:Ke.id,uri:Ke.path,name:Ke.name,mimeType:Ke.mimeType,sizeBytes:Ke.sizeBytes,status:"ready"}:lt)),Ke)}catch(Ke){if(Ie.current!==z)return null;const St=Ke instanceof Error?Ke.message:String(Ke);return En(lt=>lt.map(nt=>nt.id===tt.id?{...nt,status:"error",error:St}:nt)),He(St),null}}))).filter(be=>be!==null);Ie.current===z&&we.length>0&&ln(F.id,we.length===1?"已上传文件到 Sandbox":`已上传 ${we.length} 个文件到 Sandbox`,we.map((be,tt)=>({label:we.length===1?"文件":`文件 ${tt+1}`,value:be.path,code:!0})))}finally{if(Ie.current===z)fe(!1);else for(const{attachment:ye}of ee)Ye(ye.previewUrl)}}function bhe(P){const F=Hn.find(z=>z.id===P);F&&(Ye(F.previewUrl),En(z=>z.filter(ee=>ee.id!==P)))}function yhe(){var P;(P=q.current)==null||P.abort()}async function wQ(P,F=[],z=[]){var Cr;const ee=p,ye=F.filter(wt=>wt.status==="ready"&&wt.uri);if(!ee||b||!P.trim()&&ye.length===0)return;He(""),I(null),Y("");const we=FV({agentId:String(ee.id),agentKind:ee.toolName,messageSource:"composer",sessionState:"existing",sessionId:String(ee.id)}),be=new AbortController;(Cr=q.current)==null||Cr.abort(),q.current=be;const tt=[];z.length>0&&tt.push({kind:"invocation",value:{skills:z.map(({name:wt,description:Qn})=>({name:wt,description:Qn}))}}),ye.length>0&&tt.push({kind:"attachment",files:ye.map(wt=>({id:wt.id,mimeType:wt.mimeType,name:wt.name,sizeBytes:wt.sizeBytes,previewUrl:wt.previewUrl}))}),P.trim()&&tt.push({kind:"text",text:P});const Ke=ye.map(wt=>wt.uri).filter(wt=>!!wt),lt=[z.map(wt=>`$${wt.name}`).join(" "),P.trim()].filter(Boolean).join(" "),nt=Ke.length>0?[lt,"以下文件已上传到当前 Sandbox 工作空间,请在任务中使用:",...Ke.map(wt=>`- ${wt}`)].filter(Boolean).join(` +批注:${i}`,Pft)}function mq(e){return e?e instanceof Element?e:e.parentElement:null}function Lft(e,t){if(!t||t.isCollapsed||t.rangeCount===0)return null;const n=mq(t.anchorNode),i=mq(t.focusNode);if(!n||!i||!e.contains(n)||!e.contains(i)||!n.closest(".bubble")||!i.closest(".bubble"))return null;const r=t.toString().trim();if(!r)return null;const s=t.getRangeAt(0).getBoundingClientRect();return s.width<=0||s.height<=0?null:{text:r,anchor:{left:s.left+s.width/2,top:s.top,height:s.height}}}function Dft({anchor:e,selectedText:t,onClose:n,onSubmit:i}){const r=O.useRef(!1),[s,a]=O.useState(""),[o,l]=O.useState(!1),[u,d]=O.useState(""),[f,h]=O.useState(!1),p=Ife(t),m=O.useCallback(()=>{var y;(y=window.getSelection())==null||y.removeAllRanges(),n()},[n]);r.current=o,O.useEffect(()=>{const y=()=>{r.current||m()},b=S=>{const x=S.target;x instanceof Element&&x.closest(".response-annotation-popover")||r.current||m()};return window.addEventListener("resize",y),window.addEventListener("scroll",b,!0),()=>{window.removeEventListener("resize",y),window.removeEventListener("scroll",b,!0)}},[m]);const g=async()=>{if(!(o||f||!pq(s))){l(!0),d("");try{await i(s.trim()),h(!0)}catch(y){d(y instanceof Error?y.message:String(y))}finally{l(!1)}}};return c.jsxs(ey,{open:!0,onOpenChange:y=>{!y&&!o&&m()},children:[c.jsx(ey.Trigger,{children:c.jsx("span",{className:"response-annotation-anchor",style:{left:e.left,top:e.top,height:e.height},"aria-hidden":"true"})}),c.jsx(ey.Content,{side:"top",sideOffset:8,align:"center",minWidth:"auto",className:"response-annotation-popover",children:f?c.jsxs("div",{className:"response-annotation-success",role:"status","aria-live":"polite",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"已加入 Bad case 评测集"}),c.jsx("p",{children:"这条批注已关联当前问题和完整模型回复。"})]}),c.jsx(Wm,{type:"button",color:"secondary",size:"sm",pill:!1,onClick:m,children:"完成"})]}):c.jsxs("form",{className:"response-annotation-form","aria-label":"批注选中的模型回复","aria-busy":o||void 0,onSubmit:y=>{y.preventDefault(),g()},children:[c.jsx("div",{className:"response-annotation-header",children:c.jsx("h2",{children:"添加批注"})}),c.jsx("blockquote",{title:p,children:p}),c.jsxs("label",{className:"response-annotation-field",children:[c.jsx("span",{children:"批注内容"}),c.jsx(Ift,{value:s,rows:3,maxRows:6,autoResize:!0,maxLength:Rfe,disabled:o,invalid:!!u,"aria-label":"批注内容",placeholder:"说明问题或期望的修改方式",onChange:y=>{a(Pfe(y.target.value)),u&&d("")}})]}),u&&c.jsxs("p",{className:"response-annotation-error",role:"alert",children:[u,",请重试。"]}),c.jsxs("div",{className:"response-annotation-actions",children:[c.jsx(Wm,{className:"response-annotation-action",type:"button",color:"secondary",variant:"ghost",size:"sm",pill:!1,disabled:o,onClick:m,children:"取消"}),c.jsx(Wm,{className:"response-annotation-action",type:"submit",color:"primary",size:"sm",pill:!1,loading:o,disabled:!pq(s),children:"加入 Bad Case"})]})]})})]})}const $ft=[{value:"conversation",label:"对话"},{value:"agents",label:"智能体"},{value:"applications",label:"自动化"},{value:"search",label:"搜索"},{value:"other",label:"其他"}],Qft=[{value:"page_slow",label:"页面加载慢"},{value:"feature_unavailable",label:"功能无法使用"},{value:"display_error",label:"页面显示异常"},{value:"no_response",label:"操作无响应"},{value:"other",label:"其他问题"}],Bft=["点击后没有反应","页面一直处于加载状态","部分内容显示不完整","操作后出现错误提示"];function Uft(e){return c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:c.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function zft({initialModule:e,onSubmit:t}){const n=O.useRef(null),[i,r]=O.useState(()=>new Set),[s,a]=O.useState(e),[o,l]=O.useState(""),[u,d]=O.useState(!1),[f,h]=O.useState(""),[p,m]=O.useState(!1),g=x=>{r(v=>{const E=new Set(v);return E.has(x)?E.delete(x):E.add(x),E})},y=x=>{var v;l(E=>E.trim()?E.includes(x)?E:`${E.trimEnd()} +${x}`:x),(v=n.current)==null||v.focus()},b=async x=>{if(x.preventDefault(),!(u||p)){d(!0),h("");try{await t({module:s,issues:[...i],description:o.trim()}),m(!0)}catch(v){h(v instanceof Error?v.message:String(v))}finally{d(!1)}}},S=i.size>0||o.trim().length>0;return c.jsxs("div",{className:"platform-feedback-page",children:[c.jsxs("header",{className:"platform-feedback-header",children:[c.jsx("h1",{children:"问题反馈"}),c.jsx("p",{children:"告诉我们您在使用 AgentKit Studio 时遇到的问题。"})]}),c.jsx("div",{className:"platform-feedback-scroll",children:p?c.jsxs("section",{className:"platform-feedback-success","aria-labelledby":"feedback-success-title","aria-live":"polite",role:"status",children:[c.jsx("span",{className:"platform-feedback-success-icon","aria-hidden":"true",children:c.jsx(Uft,{})}),c.jsxs("div",{children:[c.jsx("h2",{id:"feedback-success-title",children:"上报成功,感谢您的反馈"}),c.jsx("p",{children:"AgentKit 团队会尽快查看您提交的问题。"})]})]}):c.jsxs("form",{className:"platform-feedback-form",onSubmit:x=>void b(x),children:[c.jsxs("section",{className:"platform-feedback-section",children:[c.jsx("div",{className:"platform-feedback-section-heading",children:c.jsx("h2",{children:"所属模块"})}),c.jsx("div",{className:"platform-feedback-pills","aria-label":"所属模块",children:$ft.map(x=>c.jsx("button",{type:"button","aria-pressed":s===x.value,onClick:()=>a(x.value),disabled:u,children:x.label},x.value))})]}),c.jsx("section",{className:"platform-feedback-section",children:c.jsxs("div",{className:"platform-feedback-suggestions",children:[c.jsx("span",{children:"常见问题(可多选)"}),c.jsx("div",{className:"platform-feedback-pills","aria-label":"问题类型",children:Qft.map(x=>c.jsx("button",{type:"button","aria-pressed":i.has(x.value),onClick:()=>g(x.value),disabled:u,children:x.label},x.value))})]})}),c.jsxs("section",{className:"platform-feedback-section",children:[c.jsxs("label",{className:"platform-feedback-field",children:[c.jsx("span",{children:"问题描述"}),c.jsx("textarea",{ref:n,value:o,onChange:x=>l(x.target.value),placeholder:"请描述问题发生时的页面、操作和表现",maxLength:4e3,rows:6,disabled:u})]}),c.jsxs("div",{className:"platform-feedback-suggestions",children:[c.jsx("span",{children:"快捷补充"}),c.jsx("div",{className:"platform-feedback-pills","aria-label":"问题描述推荐",children:Bft.map(x=>c.jsx("button",{type:"button",onClick:()=>y(x),disabled:u,children:x},x))})]})]}),c.jsx("p",{className:"platform-feedback-privacy",role:"alert",children:"您的数据将会上报到 AgentKit 团队,请注意隐私保护。"}),f&&c.jsx("p",{className:"platform-feedback-error",role:"alert",children:f}),c.jsx("div",{className:"platform-feedback-actions",children:c.jsx("button",{type:"submit",disabled:!S||u,children:u?"正在上报…":"提交反馈"})})]})})]})}function Fft({node:e,ctx:t}){const n=e.variant??"default";return c.jsx("button",{type:"button",className:`a2ui-button a2ui-button--${n}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component,onClick:()=>t.dispatchAction(e.action,e),children:t.render(e.child)})}pp("Button",Fft);function Vft({node:e,ctx:t}){return c.jsx("div",{className:"a2ui-card","data-a2ui-id":e.id,"data-a2ui-component":e.component,children:t.render(e.child)})}pp("Card",Vft);const Xft={start:"flex-start",center:"center",end:"flex-end",spaceBetween:"space-between",spaceAround:"space-around",spaceEvenly:"space-evenly",stretch:"stretch"},qft={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"};function jfe(e){return Xft[e]??"flex-start"}function Mfe(e){return qft[e]??"stretch"}function Hft({node:e,ctx:t}){const n=e.children??[];return c.jsx("div",{className:"a2ui-column","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"column",justifyContent:jfe(e.justify),alignItems:Mfe(e.align)},children:n.map(i=>t.render(i))})}pp("Column",Hft);function Yft({node:e}){const t=e.axis==="vertical";return c.jsx("div",{className:`a2ui-divider ${t?"a2ui-divider--v":"a2ui-divider--h"}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component})}pp("Divider",Yft);const Gft={send:"✈️",check:"✅",close:"✖️",star:"⭐",favorite:"❤️",info:"ℹ️",help:"❓",error:"⛔",calendarToday:"📅",event:"📅",schedule:"🕒",locationOn:"📍",accountCircle:"👤",mail:"✉️",call:"📞",home:"🏠",settings:"⚙️",search:"🔍"};function Wft({node:e}){const t=e.name??"";return c.jsx("span",{className:"a2ui-icon",title:t,"aria-label":t,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:Gft[t]??"•"})}pp("Icon",Wft);function Zft({node:e,ctx:t}){const n=e.children??[];return c.jsx("div",{className:"a2ui-row","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"row",justifyContent:jfe(e.justify),alignItems:Mfe(e.align??"center")},children:n.map(i=>t.render(i))})}pp("Row",Zft);const Kft=new Set(["h1","h2","h3","h4","h5"]);function Jft({node:e,ctx:t}){const n=e.variant??"body",i=t.resolveString(e.text),r=Kft.has(n)?n:"p";return c.jsx(r,{className:`a2ui-text a2ui-text--${n}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:i})}pp("Text",Jft);function eht(e){return e==="agents"?"agents":e==="applications"?"applications":e==="search"?"search":["conversation","new-chat","sandbox"].includes(e)?"conversation":"other"}async function SR(e){const[t,n,i]=await Promise.allSettled([hut(),ZT(),e?CD(e):Promise.resolve([])]);return{agentId:e,ready:!0,harnessEnabled:!!e&&i.status==="fulfilled",builtinTools:i.status==="fulfilled"?i.value:[],temporaryEnabled:t.status==="fulfilled"&&t.value.enabled,skillCustomizationEnabled:n.status==="fulfilled"&&n.value.enabled}}const al={app:"veadk.appName",view:"veadk.view",session:"veadk.sessionId"},tht=600,nht=1e3,iht=5e3,rht=500,sht=new Set,aht=[];function ql(){return{skills:[]}}function vR(e){return`${sA(e)}.active`}function IM(e){return`veadk.agentOrder.${encodeURIComponent(e)}`}function oht(e){if(!e)return[];try{const t=JSON.parse(localStorage.getItem(IM(e))||"[]");return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function PM(e,t){if(e.name===t||e.id===t)return e;for(const n of e.children){const i=PM(n,t);if(i)return i}}function Lfe(e){const t=[];for(const n of e.children)n.mentionable&&(t.push({name:n.name,description:n.description,type:n.type,path:n.path}),t.push(...Lfe(n)));return t}function gq(){const e=typeof localStorage<"u"?localStorage.getItem(al.view):null;return["menu","intelligent","custom","template","workflow"].includes(e??"")?"custom":e==="package"?e:null}function Oq(e){const t=e.trim().toLowerCase();switch(t){case"creating":case"starting":case"initializing":case"pending":case"running":case"ready":case"failed":case"error":case"stopped":case"expired":case"deleting":case"deleted":return t;default:return"unknown"}}function lht({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("rect",{x:"3.75",y:"3.75",width:"16.5",height:"16.5",rx:"3.25"}),c.jsx("path",{d:"M12 8.5v7M8.5 12h7"}),c.jsx("path",{d:"M6.75 6.75h1M16.25 17.25h1",opacity:"0.6"})]})}function cht({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("rect",{x:"3.5",y:"5",width:"17",height:"14.75",rx:"2.25"}),c.jsx("path",{d:"M3.5 9h17M9.25 12.25 7.1 14.4l2.15 2.15M14.75 12.25l2.15 2.15-2.15 2.15M12.8 11.85l-1.6 5.1"})]})}function uht({className:e}){return c.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("rect",{x:"2.75",y:"5",width:"6.5",height:"14",rx:"1.6"}),c.jsx("path",{d:"M5.25 8.5h1.5M5.25 11.5h1.5"}),c.jsx("rect",{x:"14.75",y:"5",width:"6.5",height:"14",rx:"1.6"}),c.jsx("path",{d:"M17.25 15.5h1.5M17.25 12.5h1.5M8.75 12h6.5m-2.5-2.5 2.5 2.5-2.5 2.5"})]})}function dht(){return c.jsxs("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":!0,children:[c.jsx("rect",{x:"3",y:"4",width:"14",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none"}),c.jsx("rect",{x:"6",y:"10.4",width:"13",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.7"}),c.jsx("rect",{x:"9",y:"16.8",width:"9",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.45"})]})}function jM(e){return e?new Date(e*1e3).toLocaleString("zh-CN",{timeZone:"Asia/Shanghai",hour12:!1,month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):""}function fht(e){if(!e)return"";const t=[];return e.ts&&t.push(jM(e.ts)),e.tokens!=null&&t.push(`${e.tokens.toLocaleString()} tokens`),t.join(" · ")}function yd(e){return e.blocks.map(t=>t.kind==="text"?t.text:"").join("").trim()}function wR(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].role==="user")return yd(e[n]);return""}const hht="send_a2ui_json_to_client";function pht(e){return e.blocks.some(t=>t.kind==="text"?t.text.trim().length>0:t.kind==="attachment"||t.kind==="artifact"?t.files.length>0:t.kind==="tool"?!(t.name===hht&&t.done):t.kind==="agent-transfer"?!1:t.kind==="a2ui"?fte(t.messages).some(n=>n.components[n.rootId]):t.kind==="auth")}function ER(e){return e.blocks.some(t=>t.kind==="auth"&&!t.done)}function mht(e){return new Promise((t,n)=>{let i="";try{i=new URL(e,window.location.href).protocol}catch{}if(i!=="http:"&&i!=="https:"){n(new Error("授权链接不是 http/https 地址,已阻止打开。"));return}const r=window.open(e,"veadk_oauth","width=520,height=720");if(!r){n(new Error("弹窗被拦截,请允许弹窗后重试。"));return}let s=!1;const a=()=>{clearInterval(u),window.removeEventListener("message",l)},o=d=>{if(!s){s=!0,a();try{r.close()}catch{}t(d)}},l=d=>{if(d.origin!==window.location.origin)return;const f=d.data;f&&f.veadkOAuth&&typeof f.url=="string"&&o(f.url)};window.addEventListener("message",l);const u=setInterval(()=>{if(!s){if(r.closed){a();const d=window.prompt("授权完成后,请粘贴回调页面(浏览器地址栏)的完整 URL:");d&&d.trim()?(s=!0,t(d.trim())):n(new Error("授权已取消。"));return}try{const d=r.location.href;d&&d!=="about:blank"&&new URL(d).origin===window.location.origin&&/[?&](code|state|error)=/.test(d)&&o(d)}catch{}}},500)})}function ght(e,t){const n=JSON.parse(JSON.stringify(e??{})),i=n.exchangedAuthCredential??n.exchanged_auth_credential??{},r=i.oauth2??{};return r.authResponseUri=t,r.auth_response_uri=t,i.oauth2=r,n.exchangedAuthCredential=i,n}function bq({text:e}){const[t,n]=O.useState(!1);return c.jsx("button",{className:"icon-btn",title:t?"已复制":"复制",disabled:!e,onClick:async()=>{if(e)try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1500)}catch{}},children:t?c.jsx(kc,{className:"icon"}):c.jsx(wT,{className:"icon"})})}function Oht({onClick:e}){return c.jsx("button",{type:"button",className:"icon-btn","aria-label":"分享为图片",title:"分享为图片",onClick:e,children:c.jsx($xe,{className:"icon","aria-hidden":"true"})})}const yq=["今天想做点什么?","有什么可以帮你的?","需要我帮你查点什么吗?","有问题尽管问我","嗨,我们开始吧","开始一段新对话吧","今天想先解决哪件事?","把你的想法告诉我吧","我们从哪里开始?","有什么任务交给我?","准备好一起推进了吗?","说说你现在最关心的问题","今天也一起把事情做好","我在,随时可以开始"],xq=()=>yq[Math.floor(Math.random()*yq.length)];function kR(e){var t;for(const n of e)(t=n.previewUrl)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(n.previewUrl)}function Sq(){return`draft-${Date.now()}-${Math.random().toString(36).slice(2)}`}function vq(e){var n;if(e.type)return e.type;const t=(n=e.name.split(".").pop())==null?void 0:n.toLowerCase();return t==="md"||t==="markdown"?"text/markdown":t==="txt"?"text/plain":"application/octet-stream"}const bht={"read-only":"只读","workspace-write":"工作区写入","danger-full-access":"完全访问"},yht={untrusted:"仅不可信命令","on-request":"按需审批",never:"不审批"},xht={user:"由我审批",auto_review:"自动审查"};function Sht(e,t){const n=e.kind==="file"?"文件修改":"命令执行";return t==="accept"?`已允许本次${n}`:t==="acceptForSession"?`已在本会话中允许${n}`:t==="decline"?`已拒绝${n}`:`已取消${n}审批`}function vht(e){var n,i,r;const t=[];return(n=e.command)!=null&&n.trim()&&t.push({label:"命令",value:e.command.trim(),code:!0}),(i=e.grantRoot)!=null&&i.trim()&&t.push({label:"授权路径",value:e.grantRoot.trim(),code:!0}),(r=e.cwd)!=null&&r.trim()&&t.push({label:"执行目录",value:e.cwd.trim(),code:!0}),t}function wq(e){return e.flatMap(t=>t.apps.map(n=>xl(t.id,n)))}function wht(e,t){var n;return((n=e.find(i=>i.runtimeId&&i.apps.some(r=>xl(i.id,r)===t)))==null?void 0:n.runtimeId)??""}function Eht(e,t){for(const n of e){const i=n.apps.find(r=>xl(n.id,r)===t);if(i&&n.runtimeId)return{runtimeId:n.runtimeId,region:n.region??"cn-beijing",appName:i}}return null}function Eq(e){return e.taskMode==="text_to_video"?[]:(e.taskMode==="first_last_frame"?[e.firstFrame?{file:e.firstFrame,kind:"first_frame"}:null,e.lastFrame?{file:e.lastFrame,kind:"last_frame"}:null]:[e.referenceImage?{file:e.referenceImage,kind:"reference_image"}:null,e.referenceVideo?{file:e.referenceVideo,kind:"reference_video"}:null]).filter(n=>n!==null)}function kht(e,t){return`video-${e.replace(/[^A-Za-z0-9_-]/g,"").slice(0,36)||"result"}.${t}`}function QO(e,t){return`${e}${t}`}function Tht(){var P4;const[e,t]=O.useState([]),[n,i]=O.useState(""),[r,s]=O.useState([]),[a,o]=O.useState(""),l=O.useRef(null),[u,d]=O.useState(!1),[f,h]=O.useState([]),[p,m]=O.useState(null),[g,y]=O.useState([]),[b,S]=O.useState(!1),[x,v]=O.useState(!1),[E,w]=O.useState(""),[k,_]=O.useState(!1),[C,A]=O.useState(!1),[R,j]=O.useState(null),[Q,L]=O.useState(null),[D,N]=O.useState(!1),[M,B]=O.useState(""),[$,I]=O.useState(null),[G,X]=O.useState(!1),[U,Y]=O.useState(""),[ae,fe]=O.useState(!1),[ke,K]=O.useState(!1),[ie,le]=O.useState("confirm"),[ge,Ee]=O.useState(""),[Ce,_e]=O.useState("codex"),[he,te]=O.useState(!1),[Te,me]=O.useState(0),[Be,je]=O.useState(null),[Ue,st]=O.useState(null),[ct,Tt]=O.useState(null),at=O.useRef(null),q=O.useRef(null),oe=O.useRef((p==null?void 0:p.id)??""),de=O.useRef(""),Ie=O.useRef(0),ce=O.useRef(new Set);oe.current=(p==null?void 0:p.id)??"",O.useEffect(()=>()=>{for(const P of ce.current)URL.revokeObjectURL(P);ce.current.clear()},[]);function Me(P){const F=URL.createObjectURL(P);return ce.current.add(F),F}function Ye(P){!P||!ce.current.delete(P)||URL.revokeObjectURL(P)}function dt(){for(const P of ce.current)URL.revokeObjectURL(P);ce.current.clear()}const[Gt,Ct]=O.useState({}),[Dt,vt]=O.useState({}),Wt=a?Gt[a]??[]:f,gt=p?g:Wt,ft=a?Dt[QO(n,a)]??rw:rw,Rt=(P,F)=>Ct(z=>({...z,[P]:typeof F=="function"?F(z[P]??[]):F})),rn=(P,F,z)=>{const ee=QO(P,F);vt(ye=>{const we=ye[ee]??rw,be=kK(we,z);return be===we?ye:{...ye,[ee]:be}})};function ln(P,F,z=[],ee=""){if(oe.current!==P)return;const ye=crypto.randomUUID(),we={role:"system",blocks:[],activity:{id:ye,title:F,...z.length>0?{details:z}:{}},meta:{localId:ye,ts:Date.now()/1e3}};y(be=>{if(!ee)return[...be,we];const tt=be.findIndex(Ke=>{var St;return((St=Ke.meta)==null?void 0:St.localId)===ee});return tt<0?[...be,we]:[...be.slice(0,tt),we,...be.slice(tt)]})}const[Ae,qe]=O.useState(""),[$e,pn]=O.useState("agent"),[bn,It]=O.useState("agent"),[pe,Qe]=O.useState("create"),[yt,mn]=O.useState(null),[wn,Jt]=O.useState(null),[ui,Fn]=O.useState(null),[xe,Ge]=O.useState(!1),Nt=O.useRef(null),Kt=O.useRef(null),[sn,Vn]=O.useState({}),xi=O.useRef(new Map),di=sn.ready===!0&&sn.agentId===n,[Hn,En]=O.useState([]),[Zn,Si]=O.useState(ql),[Zt,Yn]=O.useState(null),[mr,er]=O.useState(0),[gn,Li]=O.useState(!1),[kn,fn]=O.useState(null),[Di,Ft]=O.useState(!1),[vi,Kn]=O.useState([]),[$i,Vt]=O.useState(!1),Ai=O.useRef(new Set),[ms,Fs]=O.useState(()=>new Set),[Kr,gr]=O.useState(()=>new Set),[Ur,or]=O.useState(()=>new Set),Qi=O.useRef(new Map),Jr=O.useRef(new Map),zr=O.useRef(void 0),tr=O.useRef(()=>{}),Fr=(P,F)=>Fs(z=>{const ee=new Set(z);return F?ee.add(P):ee.delete(P),ee}),Vs=P=>{const F=Jr.current.get(P);F!==void 0&&window.clearTimeout(F),Jr.current.delete(P),gr(z=>new Set(z).add(P))},Zu=P=>{const F=Jr.current.get(P);F!==void 0&&window.clearTimeout(F),Jr.current.delete(P),gr(z=>{if(!z.has(P))return z;const ee=new Set(z);return ee.delete(P),ee})},po=P=>{const F=Jr.current.get(P);F!==void 0&&window.clearTimeout(F);const z=window.setTimeout(()=>{Zu(P)},2400);Jr.current.set(P,z)},mo=(P,F)=>{or(z=>{if(z.has(P)===F)return z;const ee=new Set(z);return ee.delete(P),ee})},Ni=O.useRef(""),[Pc,He]=O.useState("");function gs(P,F,z){const ee=Nt.current;if(!ee||ee.localId!==P||ee.runId!==F)return null;const ye=iX(ee,z);return Nt.current=ye,Fn(ye),ye}async function La(P,F,z){var we;(we=Kt.current)==null||we.abort();const ee=new AbortController;Kt.current=ee;let ye=z;try{let be=Nt.current;if(!be||be.localId!==P||be.runId!==F)return;if(ye==="optimization"&&be.assetIds.length===0){const Ke=Eq(be.config);if(Ke.length>0){const St=await Promise.all(Ke.map(lt=>bnt(lt.file,lt.kind,ee.signal)));if(ee.signal.aborted||(be=gs(P,F,{type:"assets_uploaded",assetIds:St.map(lt=>lt.assetId)}),!be))return}}if(ye==="optimization"){const Ke=await ynt({prompt:be.requestedPrompt,taskMode:be.requestedMode,assetIds:be.assetIds,ratio:be.config.aspectRatio,resolution:be.config.resolution,durationSeconds:be.config.durationSeconds},ee.signal);if(ee.signal.aborted||(be=gs(P,F,{type:"optimization_succeeded",optimizedPrompt:Ke.enhancedPrompt,resolvedMode:Ke.resolvedTaskMode,enhancerModel:Ke.enhancerModel}),!be))return;ye="generation"}if(!be.optimizedPrompt||!be.resolvedMode)throw new Error("提示词优化结果不完整,请重新优化后再试。");const tt=await xnt({enhancedPrompt:be.optimizedPrompt,resolvedTaskMode:be.resolvedMode,assetIds:be.assetIds,ratio:be.config.aspectRatio,resolution:be.config.resolution,durationSeconds:be.config.durationSeconds},ee.signal);if(ee.signal.aborted||(be=gs(P,F,{type:"generation_started",remoteTaskId:tt.taskId,generationModel:tt.generationModel}),!be))return;for(;!ee.signal.aborted;){const Ke=await Snt(tt.taskId,ee.signal);if(ee.signal.aborted)return;if(Ke.status==="failed")throw new Error(Ke.error||"视频生成失败,请稍后重试。");if(Ke.status==="succeeded"){if(!Ke.videoUrl)throw new Error("视频任务已完成,但服务端未返回预览地址。");gs(P,F,{type:"generation_succeeded",output:{previewUrl:wnt(Ke.videoUrl),fileName:kht(tt.taskId,Ke.outputFormat),mimeType:Ke.outputFormat==="mov"?"video/quicktime":"video/mp4"}});return}await new Promise(St=>window.setTimeout(St,1800))}}catch(be){if(ee.signal.aborted)return;gs(P,F,{type:"failed",stage:ye,error:be instanceof Error?be.message:String(be)})}}function Or(P,F,z){if(qce(Nt.current)){Ge(!0);return}if(F.taskMode==="video_editing"&&!F.referenceVideo){He("视频编辑需要先添加待编辑视频。");return}if(F.taskMode==="video_extension"&&!F.referenceVideo){He("视频续写需要先添加基础视频。");return}if(F.taskMode==="reference_to_video"&&!F.referenceImage&&!F.referenceVideo){He("参考素材生视频需要至少添加一项参考图片或参考视频。");return}if(F.taskMode==="text_to_video"&&(F.referenceImage||F.referenceVideo||F.firstFrame||F.lastFrame)){He("文生视频不使用参考素材,请先移除已添加的图片或视频。");return}if(F.taskMode==="first_last_frame"&&!F.firstFrame){He("首尾帧生成需要先添加首帧图片。");return}if(z.supportedModes.length>0&&F.taskMode!=="auto"&&!z.supportedModes.includes(F.taskMode)){He("当前平台暂不支持所选视频任务模式。");return}const ee=Eq(F);if(ee.length>0&&!z.assetStorageAvailable){He(z.assetStorageUnavailableReason||"管理员未配置持久化存储");return}const ye=ee.find(({file:be})=>z.maxAssetBytes>0&&be.size>z.maxAssetBytes);if(ye){He(`${ye.file.name} 超出当前平台允许的素材大小。`);return}const we=rit({prompt:P,config:F,enhancerModel:z.enhancerModel,generationModel:z.generationModel});Nt.current=we,Fn(we),Ge(!0),qe(""),He(""),La(we.localId,we.runId,"optimization")}function Xs(){const P=Nt.current;if(!P||P.status!=="error"||!P.errorStage)return;const F=P.errorStage,z=iX(P,{type:"retry",stage:F});Nt.current=z,Fn(z),Ge(!0),La(z.localId,z.runId,F)}async function Ku(){const P=Nt.current;if(!(!(P!=null&&P.remoteTaskId)||!P.output))try{const F=await vnt(P.remoteTaskId),z=URL.createObjectURL(F),ee=document.createElement("a");ee.href=z,ee.download=P.output.fileName,ee.click(),window.setTimeout(()=>URL.revokeObjectURL(z),1e3)}catch(F){He(F instanceof Error?F.message:String(F))}}O.useEffect(()=>()=>{var P;(P=Kt.current)==null||P.abort()},[]);const[jl,Nr]=O.useState(""),[go,As]=O.useState(()=>new Set),[Yo,es]=O.useState(null),[Ml,Go]=O.useState(null),[re,ne]=O.useState(null),[Pe,Ve]=O.useState(null);O.useEffect(()=>{ne(null)},[n,a]);const[pt,Fe]=O.useState(!1),[Pt,In]=O.useState(),[At,Dn]=O.useState(xq),[Z,ve]=O.useState(null),[Ze,Ot]=O.useState(!1),[Ci,Jn]=O.useState(!1),[Bt,$t]=O.useState(""),an=O.useRef(!1),[$n,Ns]=O.useState(null),[it,ua]=O.useState(""),[nr,Vr]=O.useState(),[Qn,qs]=O.useState(null),ts=(Qn==null?void 0:Qn.capabilities.runtimeScope)??"mine",[Wo,X0]=O.useState({newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,agentUsage:!1,addAgentkit:!0}),[jc,E1]=O.useState("cloud"),[Mc,fi]=O.useState(wy),[Pn,cA]=O.useState("volcengine"),[k1,T1]=O.useState(""),[_1,$f]=O.useState(""),[xp,uA]=O.useState(!1),[Ju,Sp]=O.useState(!1),[A1,Lc]=O.useState(!1),[vp,Zo]=O.useState({}),[q0,H0]=O.useState({}),[dA,ed]=O.useState({}),N1=ms.has(a),td=Kr.has(a),wp=N1||u,fA=!!a&&Di,Da=p?b:wp,C1=Da||!p&&td,hn=tdt({session:p,conversationBusy:b,onInputChange:qe,onSessionPatch:P=>{const F=oe.current;m(z=>(z==null?void 0:z.id)===F?{...z,...P}:z)},onSnapshot:P=>{const F=oe.current;dt(),y(Jut(P)),m(z=>(z==null?void 0:z.id)===F?{...z,threadId:P.threadId,cwd:P.cwd??z.cwd,model:P.model??z.model,workspaceLocked:P.workspaceLocked,permissions:P.permissions,busy:!1}:z)},onActivity:(P,F=[])=>{const z=oe.current;z&&ln(z,P,F)},onError:He}),hA=vp[a]??"",R1=q0[a]??sht,I1=dA[a]??aht,qi=Zt==null?void 0:Zt.graph,P1=[Zt==null?void 0:Zt.name,qi==null?void 0:qi.name,qi==null?void 0:qi.id].filter(P=>!!P),Y0=Zn.targetAgent&&qi?PM(qi,Zn.targetAgent.name):qi,pA=(Y0==null?void 0:Y0.skills)??(Zn.targetAgent?[]:(Zt==null?void 0:Zt.skills)??[]),mA=qi?Lfe(qi):[],j1=(qi==null?void 0:qi.instruction)??((P4=Zt==null?void 0:Zt.draft)==null?void 0:P4.instruction),gA=Zt&&j1!==void 0?ASe({instruction:j1,tools:[...new Set([...(qi==null?void 0:qi.tools)??Zt.tools,...(kn==null?void 0:kn.tools.map(P=>P.name))??[],...vi])],skills:(qi==null?void 0:qi.skills)??Zt.skills}):null;function M1(P){kR(P);for(const F of P)F.status==="uploading"?Ai.current.add(F.id):F.uri&&iw(n,F.uri).catch(z=>He(String(z)))}async function L1(P){try{await XI(n,it,P),await VI(n,it,P),s(F=>F.filter(z=>z.id!==P)),Ct(F=>{const{[P]:z,...ee}=F;return ee})}catch(F){He(String(F))}}function OA(P){const F=Hn.find(ye=>ye.id===P);if(!F)return;const z=Hn.filter(ye=>ye.id!==P);kR([F]),F.status==="uploading"&&Ai.current.add(P),En(z),z.length===0&&!Ae.trim()&&!!a&>.length===0?(Ni.current="",o(""),L1(a)):F.uri&&iw(n,F.uri).catch(ye=>He(String(ye)))}const G0=(P,F)=>{var we,be,tt,Ke,St;const z=F.author&&F.author!=="user"?F.author:void 0;z&&(Zo(lt=>({...lt,[P]:z})),H0(lt=>({...lt,[P]:new Set(lt[P]??[]).add(z)})),ed(lt=>{var nt;return(nt=lt[P])!=null&&nt.length?lt:{...lt,[P]:[z]}}));const ee=((we=F.actions)==null?void 0:we.transferToAgent)??((be=F.actions)==null?void 0:be.transfer_to_agent);ee&&ed(lt=>{const nt=lt[P]??[];return nt[nt.length-1]===ee?lt:{...lt,[P]:[...nt,ee]}}),(((tt=F.actions)==null?void 0:tt.endOfAgent)??((Ke=F.actions)==null?void 0:Ke.end_of_agent)??((St=F.actions)==null?void 0:St.escalate))&&ed(lt=>{const nt=lt[P]??[];return nt.length<=1?lt:{...lt,[P]:nt.slice(0,-1)}})},[Ll,Tn]=O.useState(gq),[W0,Z0]=O.useState([]),[D1,Ep]=O.useState({}),V=O.useCallback(P=>{Z0(F=>{const z=F.findIndex(ye=>ye.id===P.id);if(z===-1)return[P,...F];const ee=[...F];return ee[z]={...ee[z],...P},ee})},[]),[ue,Se]=O.useState(!0),[Le,et]=O.useState(!1),[jt,hi]=O.useState(null),[Qf,Ut]=O.useState(!1),[Ko,wi]=O.useState(!1),[Dfe,da]=O.useState(null),[$fe,$1]=O.useState("custom"),[bA,yA]=O.useState([]),nd=O.useRef([]),id=O.useRef(null),kp=O.useRef(null),[i4,Q1]=O.useState([]),[Xr,Jo]=O.useState(""),Oo=O.useRef(null),[xA,ns]=O.useState(!1),[Tp,ri]=O.useState(!1),[r4,SA]=O.useState(""),[Qfe,Bfe]=O.useState("good"),[Ufe,B1]=O.useState("basic"),[zfe,Ffe]=O.useState("good"),[K0,U1]=O.useState(""),[Vfe,Xfe]=O.useState(null),[rd,Hi]=O.useState(!1),[s4,Dl]=O.useState(!1),[Bf,$a]=O.useState(null),vA=O.useRef(null),[el,J0]=O.useState(()=>{const P=fl();return D0(P),P}),[qfe,a4]=O.useState(!1),[Hfe,o4]=O.useState(""),[l4,z1]=O.useState(null),[Yfe,c4]=O.useState({}),[Gfe,u4]=O.useState(()=>new Set),[_p,$l]=O.useState(null),[F1,V1]=O.useState(Ui(Pn)),[d4,Hs]=O.useState(""),[f4,Ys]=O.useState(""),[ai,Gs]=O.useState(null),[Wfe,wA]=O.useState(!1),X1=O.useRef(!1),Ap=O.useRef(!1),Ql=O.useCallback(P=>{if(!it)return!1;try{WX(localStorage,it,P)}catch(F){return Nr(F instanceof Error?F.message:"浏览器拒绝保存草稿,请稍后重试。"),!1}return nd.current=P,yA(P),Nr(""),!0},[it]),Bl=O.useCallback(P=>{var F;P&&((F=id.current)==null?void 0:F.id)!==P||(id.current=null,kp.current!==null&&(window.clearTimeout(kp.current),kp.current=null))},[]),sd=O.useCallback(()=>{const P=id.current;if(!P)return!0;const F=Ql([P,...nd.current.filter(z=>z.id!==P.id)]);return F&&Bl(),F},[Bl,Ql]),Zfe=O.useCallback((P,F,z)=>{!P||!it||(id.current&&id.current.id!==P&&sd(),id.current={id:P,draft:F,updatedAt:Date.now(),deploymentTarget:z},kp.current!==null&&window.clearTimeout(kp.current),kp.current=window.setTimeout(sd,tht))},[sd,it]),EA=O.useCallback(P=>{!P||!it||(Bl(P),Ql(nd.current.filter(F=>F.id!==P)))},[Bl,Ql,it]),h4=O.useCallback(P=>{if(!it||P.length===0)return;const F=new Set(P.map(z=>z.id));id.current&&F.has(id.current.id)&&Bl(),Ql(nd.current.filter(z=>!F.has(z.id))),Ep(z=>Object.fromEntries(Object.entries(z).filter(([ee])=>!F.has(ee)))),F.has(Xr)&&(Jo(""),da(null),$l(null),Oo.current=null,localStorage.removeItem(vR(it)))},[Bl,Ql,Xr,it]),p4=O.useCallback(P=>{if(!P||!it)return;Bl(P);const F=Oo.current,z=nd.current.filter(ee=>ee.id!==P);Ql((F==null?void 0:F.id)===P?[F,...z]:z)},[Bl,Ql,it]);O.useEffect(()=>(window.addEventListener("pagehide",sd),()=>{window.removeEventListener("pagehide",sd)}),[sd]),O.useEffect(()=>{if(!it){Bl(),nd.current=[],yA([]),Q1([]),Jo(""),Nr(""),Oo.current=null;return}let P=[],F="";try{P=Vct(localStorage,it),localStorage.getItem(sA(it))!==null&&WX(localStorage,it,P),F=localStorage.getItem(vR(it))||"",Nr("")}catch(ee){Nr(ee instanceof Error?ee.message:"无法读取本机草稿,请稍后重试。")}nd.current=P,yA(P),Q1(oht(it));const z=P.find(ee=>ee.id===F);Oo.current=z??null,Ll==="custom"&&z&&(Jo(z.id),da(z.draft),$l(z.deploymentTarget??null))},[Bl,it]),O.useEffect(()=>{if(!it)return;const P=vR(it);try{Ll==="custom"&&Xr?localStorage.setItem(P,Xr):localStorage.removeItem(P)}catch{Nr("浏览器拒绝保存当前草稿位置,请检查站点存储权限后重试。")}},[Ll,Xr,it]);const Kfe=O.useCallback(P=>{if(!it)return;const F=[...new Set(P.filter(Boolean))];Q1(F),localStorage.setItem(IM(it),JSON.stringify(F))},[it]),Jfe=O.useCallback(async P=>{const F=P.filter(Ke=>!!Ke.runtimeId&&Ke.canDelete===!0);if(F.length===0)return;const z=wht(el,n),ee=new Set(F.map(Ke=>Ke.runtimeId));u4(Ke=>{const St=new Set(Ke);for(const lt of ee)St.add(lt);return St}),yv(ee);const ye=new Set,we=new Set,be=new Set,tt=[];for(const Ke of F)try{if(!Ke.region)throw new Error("Runtime 缺少地域信息,无法删除");await gK(Ke.runtimeId,Ke.region),$k(Ke.runtimeId),ye.add(Ke.runtimeId),we.add(Ke.id)}catch(St){const lt=St instanceof Error?St.message:String(St);be.add(Ke.runtimeId),tt.push(`${Ke.label}: ${lt}`)}if(ye.size>0&&(yv(ye),J0(fl()),z1(St=>{if(!St)return St;const lt=new Set(St);for(const nt of ye)lt.delete(nt);return lt}),c4(St=>Object.fromEntries(Object.entries(St).filter(([lt])=>!ye.has(lt)))),Q1(St=>{const lt=St.filter(nt=>!we.has(nt));return it&&localStorage.setItem(IM(it),JSON.stringify(lt)),lt}),Ql(nd.current.filter(St=>{var lt;return!((lt=St.deploymentTarget)!=null&<.runtimeId)||!ye.has(St.deploymentTarget.runtimeId)})),(z?ye.has(z):F.some(St=>St.id===n))&&(whe(),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),Hs(""),Ys(""),Hi(!0),He("")),ai!=null&&ai.runtime&&ye.has(ai.runtime.runtimeId)&&(Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),Hs(""),Ys(""),Hi(!0),He(""))),be.size>0&&u4(Ke=>{const St=new Set(Ke);for(const lt of be)St.delete(lt);return St}),tt.length>0){const Ke=tt.slice(0,3).join(";"),St=tt.length>3?`;另有 ${tt.length-3} 个失败`:"";throw new Error(`${tt.length} 个 Agent 删除失败:${Ke}${St}`)}},[ai,n,Ql,el,it]),kA=O.useCallback(async()=>{a4(!0),o4("");try{const P=[];let F="";do{const z=await IT({scope:ts,region:"all",pageSize:100,nextToken:F});P.push(...z.runtimes),F=z.nextToken}while(F&&P.length<2e3);z1(new Set(P.map(z=>z.runtimeId))),c4(Object.fromEntries(P.map(z=>[z.runtimeId,{canDelete:z.canDelete}])))}catch(P){o4(P instanceof Error?P.message:String(P))}finally{a4(!1)}},[ts]);function ehe(P){console.log("create agent draft:",P),Tn(null),od()}function m4(P,F){console.log("Agent added, navigating to:",P,F),J0(fl()),z1(null),yv(),EA(Xr),Jo(""),Oo.current=null,$l(null),Hs(""),Ys(P),B1("basic"),Tn(null),ri(!0),i(P)}const TA=O.useCallback(P=>{Tn(null),wi(!1),Hi(!1),Gs(null),ri(!0),Ys(""),B1("basic"),Hs(P.id),He("")},[]),g4=O.useCallback(P=>{sd();const F=Xr?{...P,draftId:Xr}:P;Xr&&Ep(z=>({...z,[Xr]:P.id})),V(F),TA(F)},[Xr,sd,TA,V]),O4=O.useCallback(async P=>{if(!P.runtimeId)throw new Error("部署完成,但未返回 Runtime ID。");const F=Xr;F&&(EA(F),Ep(we=>{if(!we[F])return we;const be={...we};return delete be[F],be})),Jo(""),Oo.current=null,$l(null);const z=(_p==null?void 0:_p.region)??F1,ee=await Iw(P.runtimeId,P.runtimeName,P.region??z,P.version,{waitForReady:!0,agentName:P.agentName});J0(fl()),er(we=>we+1);const ye=await SR(ee);xi.current.set(ee,ye),Vn(ye),z1(we=>{const be=new Set(we??[]);return be.add(P.runtimeId),be}),yv(),Ys(ee),B1("basic"),Hs(""),Tn(null),ri(!0),i(ee)},[Xr,F1,EA,_p]),eO=O.useRef(null),_A=O.useRef(new Map),the=O.useRef(0),b4=O.useRef(new Map),y4=el.some(P=>!!(P.runtimeId&&P.region)&&P.apps.some(F=>xl(P.id,F)===n));O.useLayoutEffect(()=>{const P=new Map;gt.forEach((F,z)=>{var be;const ee=((be=F.meta)==null?void 0:be.eventId)??"",ye=!!(y4&&ee&&yd(F)),we=z===gt.length-1&&(Da||td);P.set(z,{enabled:!!(ye&&Pn!=="byteplus"&&!we&&!ER(F)),turn:F,input:ye?wR(gt,z):""})}),b4.current=P},[Da,Pn,td,y4,gt]);const x4=O.useCallback(()=>{var be;const P=window.getSelection(),F=(P==null?void 0:P.anchorNode)instanceof Element?P.anchorNode:(be=P==null?void 0:P.anchorNode)==null?void 0:be.parentElement,z=F==null?void 0:F.closest(".turn--assistant");if(!z)return;const ee=Number(z.dataset.responseAnnotationIndex);if(!Number.isInteger(ee))return;const ye=b4.current.get(ee);if(!(ye!=null&&ye.enabled))return;const we=Lft(z,P);we&&ne({selectionId:++the.current,turn:ye.turn,input:ye.input,selectedText:we.text,anchor:we.anchor})},[]);O.useEffect(()=>{let P=null;const F=z=>{z.target instanceof Element&&z.target.closest(".response-annotation-popover")||(P!==null&&window.cancelAnimationFrame(P),P=window.requestAnimationFrame(()=>{P=null,x4()}))};return document.addEventListener("mouseup",F,!0),document.addEventListener("keyup",F,!0),()=>{P!==null&&window.cancelAnimationFrame(P),document.removeEventListener("mouseup",F,!0),document.removeEventListener("keyup",F,!0)}},[x4]);const Uf=O.useRef(!0),ad=O.useRef(!1),zf=O.useRef(null),S4=O.useRef({key:"",turnCount:0}),AA=(p==null?void 0:p.id)??a;O.useLayoutEffect(()=>{const P=eO.current,F=S4.current,z=F.key!==AA,ee=!z&>.length>F.turnCount;if(S4.current={key:AA,turnCount:gt.length},!P||gt.length===0||!z&&!ee)return;Uf.current=!0,ad.current=!1,zf.current!==null&&(window.clearTimeout(zf.current),zf.current=null);const ye=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(z||ye){P.scrollTop=P.scrollHeight;return}ad.current=!0,P.scrollTo({top:P.scrollHeight,behavior:"smooth"}),zf.current=window.setTimeout(()=>{ad.current=!1,zf.current=null},450)},[AA,gt.length]),O.useLayoutEffect(()=>{const P=eO.current;!P||!Uf.current||ad.current||(P.scrollTop=P.scrollHeight)},[Da,gt]),O.useEffect(()=>{if(!K0||Tp||gt.length===0)return;const P=_A.current.get(K0);if(!P)return;Uf.current=!1,P.scrollIntoView({behavior:"smooth",block:"center"});const F=window.setTimeout(()=>{U1("")},2600);return()=>window.clearTimeout(F)},[K0,Tp,gt]),O.useEffect(()=>()=>{zf.current!==null&&window.clearTimeout(zf.current)},[]);const nhe=O.useCallback(()=>{const P=eO.current;!P||ad.current||(Uf.current=P.scrollHeight-P.scrollTop-P.clientHeight<32)},[]),ihe=O.useCallback(P=>{P.deltaY<0&&(ad.current=!1,Uf.current=!1)},[]),rhe=O.useCallback(()=>{ad.current=!1,Uf.current=!1},[]),she=O.useCallback(()=>{const P=eO.current;!P||!Uf.current||ad.current||(P.scrollTop=P.scrollHeight)},[]),NA=O.useCallback(()=>{Ns(null),BI().then(P=>{ua(P.userId),Vr(P.info),Sp(!!P.local),ve(P.status),P.status==="authenticated"&&(X1.current=!0,Ap.current=!0,localStorage.removeItem(al.app),i(""),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Hi(!1))}).catch(P=>{Ns(P instanceof Error?P.message:String(P))})},[]);O.useEffect(()=>{NA()},[NA]),O.useEffect(()=>{const P=()=>{$t(""),Ot(!0)};return window.addEventListener(UI,P),I1e()&&P(),()=>window.removeEventListener(UI,P)},[]);const ahe=O.useCallback(async()=>{if(an.current)return;an.current=!0;const P=k1e();if(!P){an.current=!1,$t("登录窗口被浏览器拦截,请允许弹出窗口后重试。");return}Jn(!0),$t("");try{for(;;){await new Promise(F=>window.setTimeout(F,1e3));try{const F=await BI();if(F.status==="authenticated"){ua(F.userId),Vr(F.info),Sp(!!F.local),ve(F.status),Ot(!1),P1e(),P.close();return}}catch{}if(P.closed){$t("登录窗口已关闭,请重新登录以继续当前操作。");return}}}finally{an.current=!1,Jn(!1)}},[]);O.useEffect(()=>{Ju&&it&&LB(it)},[Ju,it]),O.useEffect(()=>{if(Z!=="authenticated"||!it){Vn({});return}const P=xi.current.get(n);if(P){Vn(P);return}let F=!1;return Vn({}),SR(n).then(z=>{F||(xi.current.set(n,z),Vn(z))}),()=>{F=!0}},[n,Z,it]),O.useLayoutEffect(()=>{!di||sn.skillCustomizationEnabled!==!1||bn!=="skill"||(It("agent"),mn(null),Jt(null))},[sn.skillCustomizationEnabled,di,bn]),O.useEffect(()=>{if(Z!=="authenticated"||!it){qs(null);return}let P=!1;return qs(null),uK().then(F=>{P||qs(F)}).catch(F=>{console.warn("[app] /web/access failed; using ordinary-user access:",F),P||qs(cK)}),()=>{P=!0}},[Z,it]),O.useEffect(()=>{lK().then(P=>{const F="prod";jtt({enabled:P.telemetry.enabled,environment:F});const z=P.telemetry.studio;Mtt({userPoolId:(z==null?void 0:z.userPoolId)??"",studioDeployId:(z==null?void 0:z.deployId)??"",applicationId:(z==null?void 0:z.applicationId)??"",functionId:(z==null?void 0:z.functionId)??"",studioRegion:(z==null?void 0:z.region)??"",studioProject:(z==null?void 0:z.project)??"",studioVersion:(z==null?void 0:z.version)||P.version,environment:F,cloudProvider:P.provider,accountId:(z==null?void 0:z.accountId)??""}),Dtt({authState:"anonymous"}),X0(P.features),E1(P.agentsSource),cA(P.provider),$f((z==null?void 0:z.region)||Ui(P.provider)),fi(P.branding),T1(P.version),uA(!0)})},[]),O.useEffect(()=>{if(Z!=="authenticated"||!nr||!Qn||!xp)return;const P=String(Qn.telemetry.userId).trim();P&&(Ltt({userUniqueId:P,accountId:Qn.telemetry.accountId??"",userRole:Qn.role==="admin"?"admin":"member",userSource:Ju?"local":"sso"}),$tt({agentsSource:jc}))},[Qn,jc,Z,Ju,xp,nr]),O.useEffect(()=>{V1(P=>{const F=Ui(Pn);return!P||Pn==="byteplus"&&P.startsWith("cn-")||Pn==="volcengine"&&P.startsWith("ap-")?F:P})},[Pn]),O.useEffect(()=>{Qn&&(Qn.capabilities.createAgents||(Tn(null),da(null),Ut(!1),wi(!1),Z0([])),Qn.capabilities.manageAgents||ri(!1))},[Qn]),O.useEffect(()=>{Z!=="authenticated"||jc!=="cloud"||!xp||!Tp||ai||kA()},[ai,jc,Z,Tp,kA,xp]),O.useEffect(()=>{document.title=Mc.title;let P=document.querySelector('link[rel~="icon"]');P||(P=document.createElement("link"),P.rel="icon",document.head.appendChild(P)),P.removeAttribute("type"),P.href=Mc.logoUrl||(Pn==="byteplus"?LD:MD)},[Pn,Mc]),O.useEffect(()=>{fetch("/web/runtime-config",{signal:AbortSignal.timeout(1e4)}).then(P=>P.ok?P.json():null).then(P=>{P&&Se(!!P.credentials)}).catch(P=>{console.warn("[app] /web/runtime-config probe failed; workbench stays hidden:",P)})},[]);function ohe(P){LB(P),X1.current=!0,Ap.current=!0,localStorage.removeItem(al.app),qs(null),Tn(null),da(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),od(),i(""),Hi(!1),ua(P),Vr({name:P}),Sp(!0),ve("authenticated")}function lhe(){qs(null),Ju?(w1e(),ua(""),Vr(void 0),ve("unauthenticated")):_1e()}O.useEffect(()=>{if(Z==="authenticated"){if(jc==="cloud"){const P=wq(el);i(F=>F&&P.includes(F)?F:(F&&(Ap.current=!0,localStorage.removeItem(al.app)),""));return}NZ().then(P=>{t(P);const F=wq(el);i(z=>z&&(P.includes(z)||F.includes(z))?z:(z&&(Ap.current=!0,localStorage.removeItem(al.app)),""))}).catch(P=>He(String(P)))}},[Z,jc,el]),O.useEffect(()=>{n?(Ap.current=!1,localStorage.setItem(al.app,n)):localStorage.removeItem(al.app)},[n]),O.useEffect(()=>{let P=!1;if(fn(null),Kn([]),rd||ai||!n||!it||!a){Ft(!1);return}return Ft(!0),HI(n,it,a).then(F=>{P||(fn(F),CD(n).then(z=>{P||Kn(z)}).catch(()=>{P||Kn([])}))}).catch(()=>{P||fn(null)}).finally(()=>{P||Ft(!1)}),()=>{P=!0}},[ai,n,rd,it,a]),O.useEffect(()=>{let P=!1;if(Yn(null),Si(ql()),Z!=="authenticated"||rd||ai||!n){Li(!1);return}return Li(!0),eK(n).then(F=>{P||Yn(F)}).catch(()=>{P||Yn(null)}).finally(()=>{P||Li(!1)}),()=>{P=!0}},[ai,n,mr,Z,rd]),O.useEffect(()=>{Qn&&localStorage.setItem(al.view,Qn.capabilities.createAgents?Ll??"chat":"chat")},[Qn,Ll]),O.useEffect(()=>{localStorage.setItem(al.session,a),Ni.current=a},[a]),O.useEffect(()=>{const P=Eht(el,n);if(!P||!it){tr.current=()=>{},or(lt=>lt.size===0?lt:new Set);return}const{runtimeId:F,region:z,appName:ee}=P;let ye=!1,we=0;function be(){zr.current!==void 0&&(window.clearTimeout(zr.current),zr.current=void 0)}function tt(lt){be(),zr.current=window.setTimeout(()=>void Ke(),lt)}async function Ke(){const lt=++we;try{const nt=await QZ({runtimeId:F,region:z,appName:ee,userId:it});if(ye||lt!==we)return;const _n=new Set(nt.items.filter(xt=>xt.state==="running").map(xt=>xt.sessionId));if(or(xt=>xt.size===_n.size&&[..._n].every(Cr=>xt.has(Cr))?xt:_n),_n.size>0){tt(nht);return}const jn=nt.items.filter(xt=>xt.state==="pending").map(xt=>Date.parse(xt.dueAt)).filter(Number.isFinite);jn.length>0&&tt(Math.max(rht,Math.min(...jn)-Date.now()))}catch{!ye&<===we&&tt(iht)}}const St=()=>{be(),Ke()};return tr.current=St,St(),()=>{ye=!0,we+=1,be(),tr.current===St&&(tr.current=()=>{})}},[n,el,it]),O.useEffect(()=>()=>Qi.current.forEach(P=>P.abort()),[]),O.useEffect(()=>()=>Jr.current.forEach(P=>{window.clearTimeout(P)}),[]),O.useEffect(()=>()=>{var P,F;(P=at.current)==null||P.abort(),(F=q.current)==null||F.abort()},[]),O.useEffect(()=>{if(rd||ai||p||!n||!it)return;let P=!1;return(async()=>{const F=await q1(n);if(!P){if(!X1.current){X1.current=!0;const z=localStorage.getItem(al.session)||"";if(gq()===null&&z&&F.some(ee=>ee.id===z)){tO(z);return}}od()}})(),()=>{P=!0}},[ai,n,rd,p,it]),O.useEffect(()=>{const P=vA.current;P&&P.app===n&&(vA.current=null,tO(P.sid))},[n]);function che(P,F){ns(!1),P===n?tO(F):(vA.current={app:P,sid:F},i(P))}async function q1(P){try{const F=await _D(P,it),z=await Promise.allSettled(F.map(we=>{var be;return(be=we.events)!=null&&be.length?Promise.resolve(we):TE(P,it,we.id)})),ee=z.find(we=>we.status==="rejected"&&!/get session failed:\s*404\b/i.test(String(we.reason)));if((ee==null?void 0:ee.status)==="rejected")throw ee.reason;const ye=z.flatMap(we=>we.status==="fulfilled"?[we.value]:[]);return vt(we=>{const be={...we};for(const tt of ye)be[QO(P,tt.id)]=zB(tt.events??[]);return be}),s(ye),ye}catch(F){return He(String(F)),[]}}function v4(P="codex",F=!1){p||(He(""),Ee(""),le("confirm"),_e(P),te(F),K(!0))}function uhe(){var P;(P=at.current)==null||P.abort(),at.current=null,K(!1),le("confirm"),Ee(""),!p&&$e==="temporary"&&!he&&pn("agent")}async function dhe(P,F){var ye;(ye=at.current)==null||ye.abort();const z=new AbortController;at.current=z,le("loading"),Ee("");const ee=Qtt({sandboxKind:Ce,sandboxSource:he?"my_agents":"new_chat"});try{const we=Ce==="codex"?await An.startSession({displayName:P,persistent:F,signal:z.signal}):await An.startAgentSession(Ce,{displayName:P,persistent:F,signal:z.signal});if(at.current!==z){ee.fail({errorKind:"abort"});return}if(ee.succeed({sandboxId:String(we.id)}),he){me(tt=>tt+1),K(!1),le("confirm"),Hi(!0);return}if(Ce!=="codex")return;const be=await An.connectSession(we.id,{signal:z.signal});if(at.current!==z)return;Ni.current="",o(""),h([]),qe(""),Si(ql()),pn("temporary"),M1(Hn),En([]),dt(),y([]),m(be),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),Hi(!1),je(null),st(null),K(!1),le("confirm")}catch(we){if(ee.fail(xa(we)),(we==null?void 0:we.name)==="AbortError"||at.current!==z)return;Ee(we instanceof Error?we.message:String(we)),le("error")}finally{at.current===z&&(at.current=null)}}async function CA(P,F="my_agents"){He("");const z=BC({targetId:String(P.id),agentKind:P.toolName,connectSource:F});try{const ee=P.resourceType==="snapshot"?await An.resumeSnapshot(P.toolName,P.snapshotId):P;if(P.resourceType==="snapshot"&&me(we=>we+1),ee.toolName==="codex"){const we=await An.connectSession(ee.id);z.succeed({sandboxStatus:Oq(we.status)}),Ni.current="",o(""),h([]),qe(""),Si(ql()),dt(),y([]),m(we),je(null),st(null),Hi(!1),ri(!1);return}const ye=await An.openAgentSession(ee.toolName,ee.id);z.succeed({sandboxStatus:Oq(ye.session.status)}),st(ye),je(null),Hi(!1),ri(!1)}catch(ee){throw z.fail(xa(ee)),He(ee instanceof Error?ee.message:String(ee)),ee}}function fhe(P){je(P),st(null),Hi(!1),ri(!1),He("")}async function hhe(P){P.resourceType==="snapshot"?await An.deleteSnapshot(P.toolName,P.snapshotId):((p==null?void 0:p.id)===P.id&&Ul(),P.toolName==="codex"?await An.deleteSession(P.id):await An.deleteAgentSession(P.toolName,P.id)),je(null),st(null),me(F=>F+1),Hi(!0)}async function phe(){const P=ct;if(!P)return;await hn.deleteThread(P.id)&&Tt(null)}function Ul(){var F;(F=q.current)==null||F.abort(),q.current=null,oe.current="",de.current="",S(!1),dt(),y([]),En([]),qe(""),He(""),pn("agent"),v(!1),w(""),_(!1),A(!1),j(null),L(null),N(!1),B(""),I(null),X(!1),Y(""),Tt(null),fe(!1),Ie.current+=1;const P=p;m(null),P&&An.closeSession(P.id).catch(z=>He(String(z)))}async function RA(P){const F=p;if(F){j(P),L(null),B(""),N(!0);try{const z=P==="terminal"?await An.launchTerminal(F.id):await An.launchBrowser(F.id);L(z)}catch(z){B(z instanceof Error?z.message:String(z))}finally{N(!1)}}}async function mhe(P){const F=p;if(!(!F||x)){v(!0),w("");try{const z=await An.updatePermissions(F.id,P);m(ee=>(ee==null?void 0:ee.id)===F.id?{...ee,permissions:z}:ee),ln(F.id,"已更新当前 Sandbox Session 的 Codex 权限",[{label:"沙箱模式",value:bht[z.sandboxMode]},{label:"审批策略",value:yht[z.approvalPolicy]},{label:"审批方式",value:xht[z.approvalsReviewer]},{label:"网络访问",value:z.networkAccess?"允许":"关闭"}]),oe.current===F.id&&_(!1)}catch(z){w(z instanceof Error?z.message:String(z))}finally{v(!1)}}}const ghe=O.useCallback(async P=>{const F=p==null?void 0:p.id;if(!F)throw new Error("当前没有已连接的 Sandbox。");return An.listDirectories(F,P)},[p==null?void 0:p.id]);async function Ohe(P){const F=p;if(!(!F||F.workspaceLocked||x)){v(!0),w("");try{const z=await An.updateWorkspace(F.id,P);m(ee=>(ee==null?void 0:ee.id)===F.id?{...ee,cwd:z}:ee),hn.invalidateSkills(),ln(F.id,"已更新工作空间",[{label:"工作目录",value:z,code:!0}]),oe.current===F.id&&A(!1)}catch(z){w(z instanceof Error?z.message:String(z))}finally{v(!1)}}}async function bhe(P){const F=p,z=$;if(!(!F||!z||G)){X(!0),Y("");try{await An.resolveApproval(F.id,z.id,P),ln(F.id,Sht(z,P),vht(z),de.current),I(ee=>(ee==null?void 0:ee.id)===z.id?null:ee)}catch(ee){Y(ee instanceof Error?ee.message:String(ee))}finally{X(!1)}}}async function yhe(P){const F=p;if(!F||ae)return;const z=++Ie.current;He(""),fe(!0);const ee=Array.from(P).map(ye=>{const we={id:Sq(),mimeType:vq(ye),name:ye.name,sizeBytes:ye.size,status:"uploading",previewUrl:Me(ye)};return{file:ye,attachment:we}});En(ye=>[...ye,...ee.map(({attachment:we})=>we)]);try{const we=(await Promise.all(ee.map(async({file:be,attachment:tt})=>{try{const Ke=await An.uploadFile(F.id,be);return Ie.current!==z?null:(En(St=>St.map(lt=>lt.id===tt.id?{...lt,id:Ke.id,uri:Ke.path,name:Ke.name,mimeType:Ke.mimeType,sizeBytes:Ke.sizeBytes,status:"ready"}:lt)),Ke)}catch(Ke){if(Ie.current!==z)return null;const St=Ke instanceof Error?Ke.message:String(Ke);return En(lt=>lt.map(nt=>nt.id===tt.id?{...nt,status:"error",error:St}:nt)),He(St),null}}))).filter(be=>be!==null);Ie.current===z&&we.length>0&&ln(F.id,we.length===1?"已上传文件到 Sandbox":`已上传 ${we.length} 个文件到 Sandbox`,we.map((be,tt)=>({label:we.length===1?"文件":`文件 ${tt+1}`,value:be.path,code:!0})))}finally{if(Ie.current===z)fe(!1);else for(const{attachment:ye}of ee)Ye(ye.previewUrl)}}function xhe(P){const F=Hn.find(z=>z.id===P);F&&(Ye(F.previewUrl),En(z=>z.filter(ee=>ee.id!==P)))}function She(){var P;(P=q.current)==null||P.abort()}async function w4(P,F=[],z=[]){var Cr;const ee=p,ye=F.filter(wt=>wt.status==="ready"&&wt.uri);if(!ee||b||!P.trim()&&ye.length===0)return;He(""),I(null),Y("");const we=XV({agentId:String(ee.id),agentKind:ee.toolName,messageSource:"composer",sessionState:"existing",sessionId:String(ee.id)}),be=new AbortController;(Cr=q.current)==null||Cr.abort(),q.current=be;const tt=[];z.length>0&&tt.push({kind:"invocation",value:{skills:z.map(({name:wt,description:Bn})=>({name:wt,description:Bn}))}}),ye.length>0&&tt.push({kind:"attachment",files:ye.map(wt=>({id:wt.id,mimeType:wt.mimeType,name:wt.name,sizeBytes:wt.sizeBytes,previewUrl:wt.previewUrl}))}),P.trim()&&tt.push({kind:"text",text:P});const Ke=ye.map(wt=>wt.uri).filter(wt=>!!wt),lt=[z.map(wt=>`$${wt.name}`).join(" "),P.trim()].filter(Boolean).join(" "),nt=Ke.length>0?[lt,"以下文件已上传到当前 Sandbox 工作空间,请在任务中使用:",...Ke.map(wt=>`- ${wt}`)].filter(Boolean).join(` -`):lt,_n=crypto.randomUUID(),jn=crypto.randomUUID(),xt=[{role:"user",blocks:tt,meta:{localId:_n,ts:Date.now()/1e3}},{role:"assistant",blocks:[],meta:{localId:jn}}];de.current=jn,y(wt=>[...wt,...xt]),S(!0),m(wt=>(wt==null?void 0:wt.id)===ee.id?{...wt,busy:!0,workspaceLocked:!0}:wt);try{const wt=await An.sendMessage({sessionId:ee.id,text:nt,skillIds:z.map(Qn=>Qn.id)},{signal:be.signal,onApproval:Qn=>{be.signal.aborted||q.current!==be||(Y(""),I(Qn))},onApprovalResolved:Qn=>{be.signal.aborted||q.current!==be||I(Xt=>(Xt==null?void 0:Xt.id)===Qn?null:Xt)},onBlocks:Qn=>{be.signal.aborted||q.current!==be||y(Xt=>{const Mt=Xt.slice(),dn=Mt.findIndex(Mn=>{var Rs;return((Rs=Mn.meta)==null?void 0:Rs.localId)===jn}),si=Mt[dn];return(si==null?void 0:si.role)==="assistant"&&(Mt[dn]={...si,blocks:Qn}),Mt})},onUsage:Qn=>{be.signal.aborted||q.current!==be||y(Xt=>{const Mt=Xt.slice(),dn=Mt.findIndex(Mn=>{var Rs;return((Rs=Mn.meta)==null?void 0:Rs.localId)===jn}),si=Mt[dn];return(si==null?void 0:si.role)==="assistant"&&(Mt[dn]={...si,meta:{...si.meta,sandboxUsage:Qn.usage}}),Mt})}});if(be.signal.aborted||q.current!==be){we.fail({sessionId:String(ee.id),failedPhase:"sandbox_send",errorKind:"abort"});return}we.succeed({sessionId:String(ee.id)}),y(Qn=>{const Xt=Qn.slice(),Mt=Xt.findIndex(si=>{var Mn;return((Mn=si.meta)==null?void 0:Mn.localId)===jn}),dn=Xt[Mt];return(dn==null?void 0:dn.role)==="assistant"&&(Xt[Mt]={...dn,blocks:wt.blocks,meta:{...dn.meta,ts:Date.now()/1e3,...wt.usage?{sandboxUsage:wt.usage.usage}:{}}}),Xt}),hn.refreshThreads()}catch(wt){if(we.fail({sessionId:String(ee.id),failedPhase:"sandbox_send",...ya(wt)}),(wt==null?void 0:wt.name)==="AbortError"||q.current!==be)return;y(Qn=>Qn.filter(Xt=>{var Mt,dn;return((Mt=Xt.meta)==null?void 0:Mt.localId)!==_n&&((dn=Xt.meta)==null?void 0:dn.localId)!==jn})),qe(P),En(F),hn.setSelectedSkills(z),He(`内置智能体发送失败:${wt instanceof Error?wt.message:String(wt)}`);try{const Qn=await An.getSettings(ee.id);m(Xt=>(Xt==null?void 0:Xt.id)===ee.id?{...Xt,...Qn}:Xt)}catch{}}finally{q.current===be&&(q.current=null,de.current===jn&&(de.current=""),S(!1),I(null),m(wt=>(wt==null?void 0:wt.id)===ee.id?{...wt,busy:!1}:wt))}}async function xhe(P){if(await hn.executeSlash(P)||!p||b||hn.commandBusy)return;const F=Hn,z=hn.selectedSkills;qe(""),En([]),hn.setSelectedSkills([]),await wQ(P.trim(),F,z)}function od(){Ul(),He(""),Dn(bq()),pn("agent"),Jt(null),mn(null);const P=a&&Wt.length===0&&Hn.length>0?a:"";Ni.current="",o(""),fn(null),Kn([]),d(!1),h([]),Si(ql()),M1(Hn),En([]),P&&L1(P)}function She(){var P;Ap.current=!0,localStorage.removeItem(al.app),a&&((P=Qi.current.get(a))==null||P.abort()),l.current=null,od(),i(""),Fn({}),Yn(null)}function vhe(){Ve(null),Tn(null),et(!1),hi(null),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),Da(null),od()}async function whe(P){var F;try{(F=Qi.current.get(P))==null||F.abort(),mo(P,!1),await XI(n,it,P),await VI(n,it,P);const z=Jr.current.get(P);z!==void 0&&window.clearTimeout(z),Jr.current.delete(P),gr(ee=>{if(!ee.has(P))return ee;const ye=new Set(ee);return ye.delete(P),ye}),Ct(ee=>{const{[P]:ye,...we}=ee;return we}),vt(ee=>{const ye=QO(n,P);if(!(ye in ee))return ee;const{[ye]:we,...be}=ee;return be}),P===a&&od(),await q1(n)}catch(z){He(String(z))}}async function eO(P){if(p&&Ul(),P!==a&&(Ni.current=P,He(""),d(!1),h([]),pn("agent"),Jt(null),Si(ql()),fn(null),Kn([]),o(P),Gt[P]===void 0)){Mc(!0);try{const F=await TE(n,it,P);Rt(P,zSe(F.events??[],F.state)),vt(z=>({...z,[QO(n,P)]:zB(F.events??[])}))}catch(F){He(String(F))}finally{Mc(!1)}}}async function Ehe(P){if(!P.sessionId||!P.messageId){He("这条案例缺少会话定位信息,无法跳转。");return}ns(!1),Tn(null),Ut(!1),wi(!1),et(!1),ri(!1),SA(n),$fe(P.kind),U1(P.messageId),await eO(P.sessionId)}function khe(){const P=rQ||n;ns(!1),Tn(null),Ut(!1),wi(!1),et(!1),Hs(""),Ys(P),B1("evaluations"),Ufe(Dfe),ri(!0),SA(""),U1("")}function The(P){const F=new Map,z=new Map;for(const ee of P){if(!ee.sessionId||!ee.messageId)continue;const ye=F.get(ee.sessionId)??new Set;if(ye.add(ee.messageId),F.set(ee.sessionId,ye),ee.runtimeId&&ee.userId){const we=[ee.runtimeId,n,ee.userId,ee.sessionId].join(":"),be=z.get(we)??{runtimeId:ee.runtimeId,appName:n,userId:ee.userId,sessionId:ee.sessionId,eventIds:new Set};be.eventIds.add(ee.messageId),z.set(we,be)}}if(F.size!==0){Ct(ee=>{const ye={...ee};for(const[we,be]of F){const tt=ye[we];tt&&(ye[we]=tt.map(Ke=>{var St;return(St=Ke.meta)!=null&&St.eventId&&be.has(Ke.meta.eventId)?{...Ke,meta:{...Ke.meta,feedback:void 0}}:Ke}))}return ye}),s(ee=>ee.map(ye=>{const we=F.get(ye.id);if(!we||!ye.state)return ye;const be={...ye.state};for(const tt of we)delete be[`veadk_feedback:${tt}`];return{...ye,state:be}})),As(ee=>{const ye=new Set(ee);for(const we of F.values())for(const be of we)ye.delete(be);return ye});for(const ee of z.values())xZ({runtimeId:ee.runtimeId,appName:ee.appName,userId:ee.userId,sessionId:ee.sessionId,eventIds:[...ee.eventIds]});Ffe(ee=>ee&&(P.some(ye=>ye.id===ee.id||ye.messageId===ee.messageId)?null:ee))}}async function EQ(P=!0){if(a)return a;l.current||(l.current=MZ(n,it));const F=l.current;try{const z=await F;P&&o(z);const ee=Date.now()/1e3,ye={id:z,lastUpdateTime:ee,events:[]};return s(we=>[ye,...we.filter(be=>be.id!==z)]),z}finally{l.current===F&&(l.current=null)}}async function _he(P){if(!n||!it||!a||!kn)return!1;Vt(!0),He("");try{const F=await YI(n,it,a,P,kn.revision);return fn(F),!0}catch(F){return He(String(F)),!1}finally{Vt(!1)}}async function Ahe(P){if(!(!n||!it||!a||!kn)){Vt(!0),He("");try{const F=await WZ(n,it,a,P,kn.revision);fn(F)}catch(F){He(String(F))}finally{Vt(!1)}}}async function Nhe(P){He("");let F;try{F=await EQ()}catch(ee){He(String(ee));return}const z=Array.from(P).map(ee=>({file:ee,attachment:{id:yq(),mimeType:xq(ee),name:ee.name,sizeBytes:ee.size,status:"uploading"}}));En(ee=>[...ee,...z.map(ye=>ye.attachment)]),await Promise.all(z.map(async({file:ee,attachment:ye})=>{try{const we=await qZ(n,it,F,ee);if(Ai.current.delete(ye.id)){we.uri&&await iw(n,we.uri);return}En(be=>be.map(tt=>tt.id===ye.id?we:tt))}catch(we){if(Ai.current.delete(ye.id))return;const be=we instanceof Error?we.message:String(we);En(tt=>tt.map(Ke=>Ke.id===ye.id?{...Ke,status:"error",error:be}:Ke)),He(be)}}))}async function kQ(P,F=[],z=ql(),ee="composer"){if(!P.trim()&&F.length===0||wp||fA||!n||!it)return;He("");const ye=!a,we=ye?"new":"existing",be=!!Cs,tt=Cs?FV({agentId:String(n),agentKind:"runtime",messageSource:ee,sessionState:we,...a?{sessionId:String(a)}:{}}):null,Ke=[];(z.skills.length>0||z.targetAgent)&&Ke.push({kind:"invocation",value:z}),F.length&&Ke.push({kind:"attachment",files:F.map(xt=>({id:xt.id,mimeType:xt.mimeType,data:xt.data,uri:xt.uri,name:xt.name,sizeBytes:xt.sizeBytes}))}),P.trim()&&Ke.push({kind:"text",text:P});const St=[{role:"user",blocks:Ke,meta:{ts:Date.now()/1e3}},{role:"assistant",blocks:[]}];ye&&(h(St),d(!0));const lt=wn;let nt;try{nt=await EQ(!ye)}catch(xt){ye&&(h([]),d(!1),qe(P),Si(z)),be&&(tt==null||tt.fail({failedPhase:"create_session",...ya(xt)})),He(String(xt));return}let _n=LN(kn);if(lt)try{let xt=await HI(n,it,nt);const Cr=sit[lt].filter(wt=>{var Qn;return(Qn=sn.builtinTools)==null?void 0:Qn.includes(wt)});for(const wt of[...Xce[lt],...Cr])xt.tools.some(Qn=>Qn.name===wt)||(xt=await YI(n,it,nt,{kind:"tool",name:wt},xt.revision));fn(xt),_n=LN(xt)}catch(xt){ye&&(h([]),d(!1),qe(P),Si(z)),be&&(tt==null||tt.fail({sessionId:String(nt),failedPhase:"mount_task_capabilities",...ya(xt)})),He(`任务能力挂载失败:${String(xt)}`);return}Rt(nt,xt=>ye?St:[...xt,...St]),ye&&(Ni.current=nt,o(nt),h([]),d(!1));const jn=new AbortController;Qi.current.set(nt,jn),Fr(nt,!0),Vs(nt),Ni.current=nt,Zo(xt=>({...xt,[nt]:""})),q0(xt=>({...xt,[nt]:new Set})),ed(xt=>({...xt,[nt]:[]}));try{let xt=cu(),Cr="",wt=0,Qn=Date.now()/1e3,Xt="",Mt="",dn=!1,si=null;for await(const Mn of GI({appName:n,userId:it,sessionId:nt,text:P,attachments:F,invocation:z,signal:jn.signal,sessionCapabilities:_n})){if(jn.signal.aborted)break;const Rs=Mn.error??Mn.errorMessage??Mn.error_message;if(typeof Rs=="string"&&Rs){dn=!0,si=Rs,Ni.current===nt&&He(Rs);break}Y0(nt,Mn);const Dc=Mn.author&&Mn.author!=="user"?Mn.author:"";Dc&&Dc!==Cr&&(Cr=Dc,xt=cu()),xt=NE(xt,Mn);const Yi=Mn.usageMetadata??Mn.usage_metadata;rn(n,nt,Mn),Yi!=null&&Yi.totalTokenCount&&(wt=Yi.totalTokenCount),Mn.timestamp&&(Qn=Mn.timestamp),Mn.id&&(Xt=Mn.id);const qr=Mn.invocationId??Mn.invocation_id;qr&&(Mt=qr);const Ri=xt.blocks,$a={author:Cr||void 0,tokens:wt||void 0,ts:Qn,eventId:Xt||void 0,invocationId:Mt||void 0};Rt(nt,G1=>{var iO;const $c=G1.slice(),Qc=$c[$c.length-1];return(Qc==null?void 0:Qc.role)==="assistant"&&(!((iO=Qc.meta)!=null&&iO.author)||Qc.meta.author===Cr)?$c[$c.length-1]={...Qc,blocks:Ri,meta:$a}:$c.push({role:"assistant",blocks:Ri,meta:$a}),$c})}q1(n),be&&jn.signal.aborted?tt==null||tt.fail({sessionId:String(nt),failedPhase:"run_sse",errorKind:"abort"}):be&&(dn?tt==null||tt.fail({sessionId:String(nt),failedPhase:"run_sse",...ya(si??"run_sse failed")}):tt==null||tt.succeed({sessionId:String(nt)})),!jn.signal.aborted&&!dn&&Xt&&tr.current()}catch(xt){be&&(tt==null||tt.fail({sessionId:String(nt),failedPhase:"run_sse",...ya(xt)})),(xt==null?void 0:xt.name)!=="AbortError"&&!jn.signal.aborted&&Ni.current===nt&&He(String(xt))}finally{Qi.current.get(nt)===jn&&Qi.current.delete(nt),Fr(nt,!1),po(nt),Zo(xt=>({...xt,[nt]:""})),ed(xt=>({...xt,[nt]:[]}))}}function Che(){var P;a&&((P=Qi.current.get(a))==null||P.abort())}function Rhe(P,F){var ye,we;const z=((ye=P==null?void 0:P.event)==null?void 0:ye.name)??F.id,ee=((we=P==null?void 0:P.event)==null?void 0:we.context)??{};kQ(`[ui-action] ${z}: ${JSON.stringify(ee)}`,[],ql(),"a2ui_action")}async function Ihe(P){var Ke,St,lt;if(!P.authUri)throw new Error("事件中没有授权地址。");if(!n||!it||!a)throw new Error("会话尚未就绪。");const F=a,z=await pht(P.authUri),ee=mht(P.authConfig,z),ye=nt=>nt.map(_n=>_n.kind==="auth"&&!_n.done?{..._n,done:!0}:_n);Rt(F,nt=>{const _n=nt.slice(),jn=_n[_n.length-1];return(jn==null?void 0:jn.role)==="assistant"&&(_n[_n.length-1]={...jn,blocks:ye(jn.blocks)}),_n});const we=gt[gt.length-1],be=ye(we&&we.role==="assistant"?we.blocks:[]),tt=new AbortController;Qi.current.set(F,tt),Fr(F,!0),Vs(F);try{let nt=cu(),_n=((Ke=we==null?void 0:we.meta)==null?void 0:Ke.author)??"",jn=be,xt=0,Cr=Date.now()/1e3,wt=((St=we==null?void 0:we.meta)==null?void 0:St.eventId)??"",Qn=((lt=we==null?void 0:we.meta)==null?void 0:lt.invocationId)??"",Xt=!1;for await(const Mt of GI({appName:n,userId:it,sessionId:a,text:"",functionResponses:[{id:P.callId,name:"adk_request_credential",response:ee}],signal:tt.signal,sessionCapabilities:LN(kn)})){if(tt.signal.aborted)break;const dn=Mt.error??Mt.errorMessage??Mt.error_message;if(typeof dn=="string"&&dn){Xt=!0,Ni.current===F&&He(dn);break}Y0(F,Mt);const si=Mt.author&&Mt.author!=="user"?Mt.author:"";si&&si!==_n&&(_n=si,jn=[],nt=cu()),nt=NE(nt,Mt);const Mn=Mt.usageMetadata??Mt.usage_metadata;rn(n,F,Mt),Mn!=null&&Mn.totalTokenCount&&(xt=Mn.totalTokenCount),Mt.timestamp&&(Cr=Mt.timestamp),Mt.id&&(wt=Mt.id);const Rs=Mt.invocationId??Mt.invocation_id;Rs&&(Qn=Rs);const Dc=[...jn,...nt.blocks];Rt(F,Yi=>{var G1,$c,Qc,iO,jQ;const qr=Yi.slice(),Ri=qr[qr.length-1],$a={author:_n||((G1=Ri==null?void 0:Ri.meta)==null?void 0:G1.author),tokens:xt||(($c=Ri==null?void 0:Ri.meta)==null?void 0:$c.tokens),ts:Cr,eventId:wt||((Qc=Ri==null?void 0:Ri.meta)==null?void 0:Qc.eventId),invocationId:Qn||((iO=Ri==null?void 0:Ri.meta)==null?void 0:iO.invocationId)};return(Ri==null?void 0:Ri.role)==="assistant"&&(!((jQ=Ri.meta)!=null&&jQ.author)||Ri.meta.author===_n)?qr[qr.length-1]={...Ri,blocks:Dc,meta:$a}:qr.push({role:"assistant",blocks:Dc,meta:$a}),qr})}q1(n),!tt.signal.aborted&&!Xt&&wt&&tr.current()}catch(nt){(nt==null?void 0:nt.name)!=="AbortError"&&!tt.signal.aborted&&Ni.current===F&&He(String(nt))}finally{Qi.current.get(F)===tt&&Qi.current.delete(F),Fr(F,!1),po(F),Zo(nt=>({...nt,[F]:""})),ed(nt=>({...nt,[F]:[]}))}}if($n)return c.jsxs("div",{className:"boot boot-error",children:[c.jsx("p",{children:$n}),c.jsx("button",{type:"button",onClick:NA,children:"重试"})]});if(Z===null)return c.jsx("div",{className:"boot"});if(Z==="unauthenticated")return c.jsx(rdt,{branding:jc,cloudProvider:Pn,onUsername:she});if(!Vn)return c.jsx("div",{className:"boot"});const bo=Vn.capabilities.createAgents,IA=Vn.capabilities.manageAgents,Phe=Wo.agentUsage&&IA,H1=bo?Ll:null,TQ=bo&&Ko,_Q=bo&&Qf,AQ=Tp&&!!(ai||dQ||fQ),NQ=xce(e,el),tO=NQ.filter(P=>P.runtimeId&&(lQ===null||lQ.has(P.runtimeId))).map(P=>{var F;return{...P,canDelete:P.runtimeId?((F=qfe[P.runtimeId])==null?void 0:F.canDelete)===!0:!1}}),jhe=(()=>{if(tO.length===0)return tO;const P=new Map(iQ.map((F,z)=>[F,z]));return[...tO].sort((F,z)=>{const ee=P.get(F.id),ye=P.get(z.id);return ee!=null&&ye!=null?ee-ye:ee!=null?-1:ye!=null?1:tO.indexOf(F)-tO.indexOf(z)})})(),CQ=P=>{var F;return((F=NQ.find(z=>z.id===P))==null?void 0:F.label)??P},pi=el.find(P=>P.runtimeId&&P.apps.some(F=>xl(P.id,F)===n)),Cs=pi&&pi.runtimeId&&pi.region?{runtimeId:pi.runtimeId,name:pi.name,region:pi.region}:void 0,nO=(Cs==null?void 0:Cs.runtimeId)??"",Lc=pi?pi.apps.find(P=>xl(pi.id,P)===n)??(Zt==null?void 0:Zt.appName)??pi.apps[0]??pi.name:"",Mhe=async P=>{var we,be,tt;const F=Yo,z=a;if(!F||!z)throw new Error("当前会话不可用,请关闭后重试。");const ee=((we=F.turn.meta)==null?void 0:we.invocationId)??"",ye=nO?[]:await _E(n,z).catch(()=>[]);await qI({source:"agent_exec",module:"conversation",issues:P.issues,problem:"",description:P.description,page:"conversation",appName:Lc||n,runtimeId:nO,region:(Cs==null?void 0:Cs.region)??"cn-beijing",sessionId:z,eventId:((be=F.turn.meta)==null?void 0:be.eventId)??((tt=F.turn.meta)==null?void 0:tt.localId)??"",invocationId:ee,input:F.input,output:yd(F.turn),toolCalls:FB(F.turn),trace:ISe(ye,ee)})},Lhe=async P=>{const F=p?"":a,z=p||F?gt:[],ee=F&&n&&!nO?await _E(n,F).catch(()=>[]):[];await qI({source:"platform",module:P.module,issues:P.issues,problem:"",description:P.description,page:Pe??"unknown",appName:Lc||n,runtimeId:nO,region:(Cs==null?void 0:Cs.region)??"cn-beijing",sessionId:F,eventId:"",invocationId:"",input:z.filter(ye=>ye.role==="user").map(yd).filter(Boolean).join(` +`):lt,_n=crypto.randomUUID(),jn=crypto.randomUUID(),xt=[{role:"user",blocks:tt,meta:{localId:_n,ts:Date.now()/1e3}},{role:"assistant",blocks:[],meta:{localId:jn}}];de.current=jn,y(wt=>[...wt,...xt]),S(!0),m(wt=>(wt==null?void 0:wt.id)===ee.id?{...wt,busy:!0,workspaceLocked:!0}:wt);try{const wt=await An.sendMessage({sessionId:ee.id,text:nt,skillIds:z.map(Bn=>Bn.id)},{signal:be.signal,onApproval:Bn=>{be.signal.aborted||q.current!==be||(Y(""),I(Bn))},onApprovalResolved:Bn=>{be.signal.aborted||q.current!==be||I(Xt=>(Xt==null?void 0:Xt.id)===Bn?null:Xt)},onBlocks:Bn=>{be.signal.aborted||q.current!==be||y(Xt=>{const Mt=Xt.slice(),dn=Mt.findIndex(Mn=>{var Rs;return((Rs=Mn.meta)==null?void 0:Rs.localId)===jn}),si=Mt[dn];return(si==null?void 0:si.role)==="assistant"&&(Mt[dn]={...si,blocks:Bn}),Mt})},onUsage:Bn=>{be.signal.aborted||q.current!==be||y(Xt=>{const Mt=Xt.slice(),dn=Mt.findIndex(Mn=>{var Rs;return((Rs=Mn.meta)==null?void 0:Rs.localId)===jn}),si=Mt[dn];return(si==null?void 0:si.role)==="assistant"&&(Mt[dn]={...si,meta:{...si.meta,sandboxUsage:Bn.usage}}),Mt})}});if(be.signal.aborted||q.current!==be){we.fail({sessionId:String(ee.id),failedPhase:"sandbox_send",errorKind:"abort"});return}we.succeed({sessionId:String(ee.id)}),y(Bn=>{const Xt=Bn.slice(),Mt=Xt.findIndex(si=>{var Mn;return((Mn=si.meta)==null?void 0:Mn.localId)===jn}),dn=Xt[Mt];return(dn==null?void 0:dn.role)==="assistant"&&(Xt[Mt]={...dn,blocks:wt.blocks,meta:{...dn.meta,ts:Date.now()/1e3,...wt.usage?{sandboxUsage:wt.usage.usage}:{}}}),Xt}),hn.refreshThreads()}catch(wt){if(we.fail({sessionId:String(ee.id),failedPhase:"sandbox_send",...xa(wt)}),(wt==null?void 0:wt.name)==="AbortError"||q.current!==be)return;y(Bn=>Bn.filter(Xt=>{var Mt,dn;return((Mt=Xt.meta)==null?void 0:Mt.localId)!==_n&&((dn=Xt.meta)==null?void 0:dn.localId)!==jn})),qe(P),En(F),hn.setSelectedSkills(z),He(`内置智能体发送失败:${wt instanceof Error?wt.message:String(wt)}`);try{const Bn=await An.getSettings(ee.id);m(Xt=>(Xt==null?void 0:Xt.id)===ee.id?{...Xt,...Bn}:Xt)}catch{}}finally{q.current===be&&(q.current=null,de.current===jn&&(de.current=""),S(!1),I(null),m(wt=>(wt==null?void 0:wt.id)===ee.id?{...wt,busy:!1}:wt))}}async function vhe(P){if(await hn.executeSlash(P)||!p||b||hn.commandBusy)return;const F=Hn,z=hn.selectedSkills;qe(""),En([]),hn.setSelectedSkills([]),await w4(P.trim(),F,z)}function od(){Ul(),He(""),Dn(xq()),pn("agent"),Jt(null),mn(null);const P=a&&Wt.length===0&&Hn.length>0?a:"";Ni.current="",o(""),fn(null),Kn([]),d(!1),h([]),Si(ql()),M1(Hn),En([]),P&&L1(P)}function whe(){var P;Ap.current=!0,localStorage.removeItem(al.app),a&&((P=Qi.current.get(a))==null||P.abort()),l.current=null,od(),i(""),Vn({}),Yn(null)}function Ehe(){Ve(null),Tn(null),et(!1),hi(null),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),$a(null),od()}async function khe(P){var F;try{(F=Qi.current.get(P))==null||F.abort(),mo(P,!1),await XI(n,it,P),await VI(n,it,P);const z=Jr.current.get(P);z!==void 0&&window.clearTimeout(z),Jr.current.delete(P),gr(ee=>{if(!ee.has(P))return ee;const ye=new Set(ee);return ye.delete(P),ye}),Ct(ee=>{const{[P]:ye,...we}=ee;return we}),vt(ee=>{const ye=QO(n,P);if(!(ye in ee))return ee;const{[ye]:we,...be}=ee;return be}),P===a&&od(),await q1(n)}catch(z){He(String(z))}}async function tO(P){if(p&&Ul(),P!==a&&(Ni.current=P,He(""),d(!1),h([]),pn("agent"),Jt(null),Si(ql()),fn(null),Kn([]),o(P),Gt[P]===void 0)){Lc(!0);try{const F=await TE(n,it,P);Rt(P,VSe(F.events??[],F.state)),vt(z=>({...z,[QO(n,P)]:zB(F.events??[])}))}catch(F){He(String(F))}finally{Lc(!1)}}}async function The(P){if(!P.sessionId||!P.messageId){He("这条案例缺少会话定位信息,无法跳转。");return}ns(!1),Tn(null),Ut(!1),wi(!1),et(!1),ri(!1),SA(n),Bfe(P.kind),U1(P.messageId),await tO(P.sessionId)}function _he(){const P=r4||n;ns(!1),Tn(null),Ut(!1),wi(!1),et(!1),Hs(""),Ys(P),B1("evaluations"),Ffe(Qfe),ri(!0),SA(""),U1("")}function Ahe(P){const F=new Map,z=new Map;for(const ee of P){if(!ee.sessionId||!ee.messageId)continue;const ye=F.get(ee.sessionId)??new Set;if(ye.add(ee.messageId),F.set(ee.sessionId,ye),ee.runtimeId&&ee.userId){const we=[ee.runtimeId,n,ee.userId,ee.sessionId].join(":"),be=z.get(we)??{runtimeId:ee.runtimeId,appName:n,userId:ee.userId,sessionId:ee.sessionId,eventIds:new Set};be.eventIds.add(ee.messageId),z.set(we,be)}}if(F.size!==0){Ct(ee=>{const ye={...ee};for(const[we,be]of F){const tt=ye[we];tt&&(ye[we]=tt.map(Ke=>{var St;return(St=Ke.meta)!=null&&St.eventId&&be.has(Ke.meta.eventId)?{...Ke,meta:{...Ke.meta,feedback:void 0}}:Ke}))}return ye}),s(ee=>ee.map(ye=>{const we=F.get(ye.id);if(!we||!ye.state)return ye;const be={...ye.state};for(const tt of we)delete be[`veadk_feedback:${tt}`];return{...ye,state:be}})),As(ee=>{const ye=new Set(ee);for(const we of F.values())for(const be of we)ye.delete(be);return ye});for(const ee of z.values())vZ({runtimeId:ee.runtimeId,appName:ee.appName,userId:ee.userId,sessionId:ee.sessionId,eventIds:[...ee.eventIds]});Xfe(ee=>ee&&(P.some(ye=>ye.id===ee.id||ye.messageId===ee.messageId)?null:ee))}}async function E4(P=!0){if(a)return a;l.current||(l.current=DZ(n,it));const F=l.current;try{const z=await F;P&&o(z);const ee=Date.now()/1e3,ye={id:z,lastUpdateTime:ee,events:[]};return s(we=>[ye,...we.filter(be=>be.id!==z)]),z}finally{l.current===F&&(l.current=null)}}async function Nhe(P){if(!n||!it||!a||!kn)return!1;Vt(!0),He("");try{const F=await YI(n,it,a,P,kn.revision);return fn(F),!0}catch(F){return He(String(F)),!1}finally{Vt(!1)}}async function Che(P){if(!(!n||!it||!a||!kn)){Vt(!0),He("");try{const F=await KZ(n,it,a,P,kn.revision);fn(F)}catch(F){He(String(F))}finally{Vt(!1)}}}async function Rhe(P){He("");let F;try{F=await E4()}catch(ee){He(String(ee));return}const z=Array.from(P).map(ee=>({file:ee,attachment:{id:Sq(),mimeType:vq(ee),name:ee.name,sizeBytes:ee.size,status:"uploading"}}));En(ee=>[...ee,...z.map(ye=>ye.attachment)]),await Promise.all(z.map(async({file:ee,attachment:ye})=>{try{const we=await YZ(n,it,F,ee);if(Ai.current.delete(ye.id)){we.uri&&await iw(n,we.uri);return}En(be=>be.map(tt=>tt.id===ye.id?we:tt))}catch(we){if(Ai.current.delete(ye.id))return;const be=we instanceof Error?we.message:String(we);En(tt=>tt.map(Ke=>Ke.id===ye.id?{...Ke,status:"error",error:be}:Ke)),He(be)}}))}async function k4(P,F=[],z=ql(),ee="composer"){if(!P.trim()&&F.length===0||wp||fA||!n||!it)return;He("");const ye=!a,we=ye?"new":"existing",be=!!Cs,tt=Cs?XV({agentId:String(n),agentKind:"runtime",messageSource:ee,sessionState:we,...a?{sessionId:String(a)}:{}}):null,Ke=[];(z.skills.length>0||z.targetAgent)&&Ke.push({kind:"invocation",value:z}),F.length&&Ke.push({kind:"attachment",files:F.map(xt=>({id:xt.id,mimeType:xt.mimeType,data:xt.data,uri:xt.uri,name:xt.name,sizeBytes:xt.sizeBytes}))}),P.trim()&&Ke.push({kind:"text",text:P});const St=[{role:"user",blocks:Ke,meta:{ts:Date.now()/1e3}},{role:"assistant",blocks:[]}];ye&&(h(St),d(!0));const lt=wn;let nt;try{nt=await E4(!ye)}catch(xt){ye&&(h([]),d(!1),qe(P),Si(z)),be&&(tt==null||tt.fail({failedPhase:"create_session",...xa(xt)})),He(String(xt));return}let _n=L2(kn);if(lt)try{let xt=await HI(n,it,nt);const Cr=ait[lt].filter(wt=>{var Bn;return(Bn=sn.builtinTools)==null?void 0:Bn.includes(wt)});for(const wt of[...Hce[lt],...Cr])xt.tools.some(Bn=>Bn.name===wt)||(xt=await YI(n,it,nt,{kind:"tool",name:wt},xt.revision));fn(xt),_n=L2(xt)}catch(xt){ye&&(h([]),d(!1),qe(P),Si(z)),be&&(tt==null||tt.fail({sessionId:String(nt),failedPhase:"mount_task_capabilities",...xa(xt)})),He(`任务能力挂载失败:${String(xt)}`);return}Rt(nt,xt=>ye?St:[...xt,...St]),ye&&(Ni.current=nt,o(nt),h([]),d(!1));const jn=new AbortController;Qi.current.set(nt,jn),Fr(nt,!0),Vs(nt),Ni.current=nt,Zo(xt=>({...xt,[nt]:""})),H0(xt=>({...xt,[nt]:new Set})),ed(xt=>({...xt,[nt]:[]}));try{let xt=uu(),Cr="",wt=0,Bn=Date.now()/1e3,Xt="",Mt="",dn=!1,si=null;for await(const Mn of GI({appName:n,userId:it,sessionId:nt,text:P,attachments:F,invocation:z,signal:jn.signal,sessionCapabilities:_n})){if(jn.signal.aborted)break;const Rs=Mn.error??Mn.errorMessage??Mn.error_message;if(typeof Rs=="string"&&Rs){dn=!0,si=Rs,Ni.current===nt&&He(Rs);break}G0(nt,Mn);const $c=Mn.author&&Mn.author!=="user"?Mn.author:"";$c&&$c!==Cr&&(Cr=$c,xt=uu()),xt=NE(xt,Mn);const Yi=Mn.usageMetadata??Mn.usage_metadata;rn(n,nt,Mn),Yi!=null&&Yi.totalTokenCount&&(wt=Yi.totalTokenCount),Mn.timestamp&&(Bn=Mn.timestamp),Mn.id&&(Xt=Mn.id);const qr=Mn.invocationId??Mn.invocation_id;qr&&(Mt=qr);const Ri=xt.blocks,Qa={author:Cr||void 0,tokens:wt||void 0,ts:Bn,eventId:Xt||void 0,invocationId:Mt||void 0};Rt(nt,G1=>{var rO;const Qc=G1.slice(),Bc=Qc[Qc.length-1];return(Bc==null?void 0:Bc.role)==="assistant"&&(!((rO=Bc.meta)!=null&&rO.author)||Bc.meta.author===Cr)?Qc[Qc.length-1]={...Bc,blocks:Ri,meta:Qa}:Qc.push({role:"assistant",blocks:Ri,meta:Qa}),Qc})}q1(n),be&&jn.signal.aborted?tt==null||tt.fail({sessionId:String(nt),failedPhase:"run_sse",errorKind:"abort"}):be&&(dn?tt==null||tt.fail({sessionId:String(nt),failedPhase:"run_sse",...xa(si??"run_sse failed")}):tt==null||tt.succeed({sessionId:String(nt)})),!jn.signal.aborted&&!dn&&Xt&&tr.current()}catch(xt){be&&(tt==null||tt.fail({sessionId:String(nt),failedPhase:"run_sse",...xa(xt)})),(xt==null?void 0:xt.name)!=="AbortError"&&!jn.signal.aborted&&Ni.current===nt&&He(String(xt))}finally{Qi.current.get(nt)===jn&&Qi.current.delete(nt),Fr(nt,!1),po(nt),Zo(xt=>({...xt,[nt]:""})),ed(xt=>({...xt,[nt]:[]}))}}function Ihe(){var P;a&&((P=Qi.current.get(a))==null||P.abort())}function Phe(P,F){var ye,we;const z=((ye=P==null?void 0:P.event)==null?void 0:ye.name)??F.id,ee=((we=P==null?void 0:P.event)==null?void 0:we.context)??{};k4(`[ui-action] ${z}: ${JSON.stringify(ee)}`,[],ql(),"a2ui_action")}async function jhe(P){var Ke,St,lt;if(!P.authUri)throw new Error("事件中没有授权地址。");if(!n||!it||!a)throw new Error("会话尚未就绪。");const F=a,z=await mht(P.authUri),ee=ght(P.authConfig,z),ye=nt=>nt.map(_n=>_n.kind==="auth"&&!_n.done?{..._n,done:!0}:_n);Rt(F,nt=>{const _n=nt.slice(),jn=_n[_n.length-1];return(jn==null?void 0:jn.role)==="assistant"&&(_n[_n.length-1]={...jn,blocks:ye(jn.blocks)}),_n});const we=gt[gt.length-1],be=ye(we&&we.role==="assistant"?we.blocks:[]),tt=new AbortController;Qi.current.set(F,tt),Fr(F,!0),Vs(F);try{let nt=uu(),_n=((Ke=we==null?void 0:we.meta)==null?void 0:Ke.author)??"",jn=be,xt=0,Cr=Date.now()/1e3,wt=((St=we==null?void 0:we.meta)==null?void 0:St.eventId)??"",Bn=((lt=we==null?void 0:we.meta)==null?void 0:lt.invocationId)??"",Xt=!1;for await(const Mt of GI({appName:n,userId:it,sessionId:a,text:"",functionResponses:[{id:P.callId,name:"adk_request_credential",response:ee}],signal:tt.signal,sessionCapabilities:L2(kn)})){if(tt.signal.aborted)break;const dn=Mt.error??Mt.errorMessage??Mt.error_message;if(typeof dn=="string"&&dn){Xt=!0,Ni.current===F&&He(dn);break}G0(F,Mt);const si=Mt.author&&Mt.author!=="user"?Mt.author:"";si&&si!==_n&&(_n=si,jn=[],nt=uu()),nt=NE(nt,Mt);const Mn=Mt.usageMetadata??Mt.usage_metadata;rn(n,F,Mt),Mn!=null&&Mn.totalTokenCount&&(xt=Mn.totalTokenCount),Mt.timestamp&&(Cr=Mt.timestamp),Mt.id&&(wt=Mt.id);const Rs=Mt.invocationId??Mt.invocation_id;Rs&&(Bn=Rs);const $c=[...jn,...nt.blocks];Rt(F,Yi=>{var G1,Qc,Bc,rO,j4;const qr=Yi.slice(),Ri=qr[qr.length-1],Qa={author:_n||((G1=Ri==null?void 0:Ri.meta)==null?void 0:G1.author),tokens:xt||((Qc=Ri==null?void 0:Ri.meta)==null?void 0:Qc.tokens),ts:Cr,eventId:wt||((Bc=Ri==null?void 0:Ri.meta)==null?void 0:Bc.eventId),invocationId:Bn||((rO=Ri==null?void 0:Ri.meta)==null?void 0:rO.invocationId)};return(Ri==null?void 0:Ri.role)==="assistant"&&(!((j4=Ri.meta)!=null&&j4.author)||Ri.meta.author===_n)?qr[qr.length-1]={...Ri,blocks:$c,meta:Qa}:qr.push({role:"assistant",blocks:$c,meta:Qa}),qr})}q1(n),!tt.signal.aborted&&!Xt&&wt&&tr.current()}catch(nt){(nt==null?void 0:nt.name)!=="AbortError"&&!tt.signal.aborted&&Ni.current===F&&He(String(nt))}finally{Qi.current.get(F)===tt&&Qi.current.delete(F),Fr(F,!1),po(F),Zo(nt=>({...nt,[F]:""})),ed(nt=>({...nt,[F]:[]}))}}if($n)return c.jsxs("div",{className:"boot boot-error",children:[c.jsx("p",{children:$n}),c.jsx("button",{type:"button",onClick:NA,children:"重试"})]});if(Z===null)return c.jsx("div",{className:"boot"});if(Z==="unauthenticated")return c.jsx(sdt,{branding:Mc,cloudProvider:Pn,onUsername:ohe});if(!Qn)return c.jsx("div",{className:"boot"});const bo=Qn.capabilities.createAgents,IA=Qn.capabilities.manageAgents,Mhe=Wo.agentUsage&&IA,H1=bo?Ll:null,T4=bo&&Ko,_4=bo&&Qf,A4=Tp&&!!(ai||d4||f4),N4=vce(e,el),nO=N4.filter(P=>P.runtimeId&&(l4===null||l4.has(P.runtimeId))).map(P=>{var F;return{...P,canDelete:P.runtimeId?((F=Yfe[P.runtimeId])==null?void 0:F.canDelete)===!0:!1}}),Lhe=(()=>{if(nO.length===0)return nO;const P=new Map(i4.map((F,z)=>[F,z]));return[...nO].sort((F,z)=>{const ee=P.get(F.id),ye=P.get(z.id);return ee!=null&&ye!=null?ee-ye:ee!=null?-1:ye!=null?1:nO.indexOf(F)-nO.indexOf(z)})})(),C4=P=>{var F;return((F=N4.find(z=>z.id===P))==null?void 0:F.label)??P},pi=el.find(P=>P.runtimeId&&P.apps.some(F=>xl(P.id,F)===n)),Cs=pi&&pi.runtimeId&&pi.region?{runtimeId:pi.runtimeId,name:pi.name,region:pi.region}:void 0,iO=(Cs==null?void 0:Cs.runtimeId)??"",Dc=pi?pi.apps.find(P=>xl(pi.id,P)===n)??(Zt==null?void 0:Zt.appName)??pi.apps[0]??pi.name:"",Dhe=async P=>{var we,be,tt;const F=Yo,z=a;if(!F||!z)throw new Error("当前会话不可用,请关闭后重试。");const ee=((we=F.turn.meta)==null?void 0:we.invocationId)??"",ye=iO?[]:await _E(n,z).catch(()=>[]);await qI({source:"agent_exec",module:"conversation",issues:P.issues,problem:"",description:P.description,page:"conversation",appName:Dc||n,runtimeId:iO,region:(Cs==null?void 0:Cs.region)??"cn-beijing",sessionId:z,eventId:((be=F.turn.meta)==null?void 0:be.eventId)??((tt=F.turn.meta)==null?void 0:tt.localId)??"",invocationId:ee,input:F.input,output:yd(F.turn),toolCalls:FB(F.turn),trace:jSe(ye,ee)})},$he=async P=>{const F=p?"":a,z=p||F?gt:[],ee=F&&n&&!iO?await _E(n,F).catch(()=>[]):[];await qI({source:"platform",module:P.module,issues:P.issues,problem:"",description:P.description,page:Pe??"unknown",appName:Dc||n,runtimeId:iO,region:(Cs==null?void 0:Cs.region)??"cn-beijing",sessionId:F,eventId:"",invocationId:"",input:z.filter(ye=>ye.role==="user").map(yd).filter(Boolean).join(` `),output:z.filter(ye=>ye.role==="assistant").map(yd).filter(Boolean).join(` -`),toolCalls:z.flatMap(FB),trace:ee})},PA=async(P,F,z="",ee="",ye=!0)=>{var lt,nt,_n,jn,xt,Cr,wt,Qn;const we=(lt=P.meta)==null?void 0:lt.eventId,be=a;if(!we||!be||!Cs)return"当前回复暂不支持加入评测集";if(Pn==="byteplus")return"BytePlus 暂不支持 AgentKit 评测集";const tt=yd(P),Ke=(nt=P.meta)==null?void 0:nt.feedback,St={...Ke,rating:F,comment:ee,syncStatus:"syncing",updatedAt:Date.now()/1e3};Rt(be,Xt=>Xt.map(Mt=>{var dn;return((dn=Mt.meta)==null?void 0:dn.eventId)===we?{...Mt,meta:{...Mt.meta,feedback:St}}:Mt})),As(Xt=>new Set(Xt).add(we)),pi!=null&&pi.runtimeId&&Lc&&nw({runtimeId:pi.runtimeId,region:pi.region??Ui(Pn),appName:Lc,userId:it,sessionId:be,messageId:we,invocationId:(_n=P.meta)==null?void 0:_n.invocationId,rating:F,input:z,output:tt,comment:ee,createdAt:(jn=P.meta)!=null&&jn.ts?new Date(P.meta.ts*1e3).toISOString():void 0});try{const Xt=await LZ({appName:n,userId:it,sessionId:be,eventId:we,rating:F,comment:ee});Rt(be,Mt=>Mt.map(dn=>{var si;return((si=dn.meta)==null?void 0:si.eventId)===we?{...dn,meta:{...dn.meta,feedback:Xt}}:dn})),s(Mt=>Mt.map(dn=>dn.id===be?{...dn,state:{...dn.state??{},[`veadk_feedback:${we}`]:Xt}}:dn)),pi!=null&&pi.runtimeId&&Lc&&(nw({runtimeId:pi.runtimeId,region:pi.region??Ui(Pn),appName:Lc,userId:it,sessionId:be,messageId:we,invocationId:(xt=P.meta)==null?void 0:xt.invocationId,rating:Xt.rating,input:z,output:tt,comment:ee,createdAt:(Cr=P.meta)!=null&&Cr.ts?new Date(P.meta.ts*1e3).toISOString():void 0}),BZ({runtimeId:pi.runtimeId,region:pi.region??Ui(Pn),appName:Lc,pageSize:100}))}catch(Xt){const Mt=Xt instanceof Error?Xt.message:String(Xt);return Rt(be,dn=>dn.map(si=>{var Mn;return((Mn=si.meta)==null?void 0:Mn.eventId)===we?{...si,meta:{...si.meta,feedback:Ke}}:si})),pi!=null&&pi.runtimeId&&Lc&&nw({runtimeId:pi.runtimeId,region:pi.region??Ui(Pn),appName:Lc,userId:it,sessionId:be,messageId:we,invocationId:(wt=P.meta)==null?void 0:wt.invocationId,rating:(Ke==null?void 0:Ke.rating)??null,input:z,output:tt,comment:(Ke==null?void 0:Ke.comment)??"",createdAt:(Qn=P.meta)!=null&&Qn.ts?new Date(P.meta.ts*1e3).toISOString():void 0}),ye&&Ni.current===be&&He(Mt),Mt}finally{As(Xt=>{const Mt=new Set(Xt);return Mt.delete(we),Mt})}return null},Dhe=async P=>{const F=re;if(!F)return;const z=await PA(F.turn,"bad",F.input,jft(F.selectedText,P),!1);if(z)throw new Error(z)},Y1=async P=>{K0(fl());let F=xi.current.get(P);F||(F=await SR(P),xi.current.set(P,F)),Fn(F),er(z=>z+1),i(P),Gs(null),Hs(""),Ys(""),Hi(!1),ri(!1),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),od()},$he=async P=>{await Y1(P)},Qhe=P=>{if(!bo){He("当前账号没有添加 Agent 的权限。");return}Hi(!1),ri(!1),V1(P),da(null),Tn(null),wi(!0),He("")},Bhe=async(P,F)=>{if(!P.runtime)throw new Error("缺少 Runtime 信息,无法连接智能体。");const z=BC({targetId:String(P.runtime.runtimeId),agentKind:"runtime",connectSource:F});try{const ee=await Iw(P.runtime.runtimeId,P.name,P.runtime.region,P.runtime.currentVersion);return z.succeed({runtimeRegion:P.runtime.region,runtimeIsMine:P.isMine?1:0}),ee}catch(ee){throw z.fail(ya(ee)),ee}},RQ=async(P,F={})=>{if(P.runtime)try{const z=await Bhe(P,F.source??"my_agents");await Y1(z)}catch(z){const ee=z instanceof Error?z.message:String(z);if(He(ee),F.rethrow)throw new Error(ee)}},Uhe=P=>{P.runtime&&(Gs(P),Hs(""),Ys(""),Hi(!1),ri(!0),He(""))},zhe=P=>{if(!bo){He("当前账号没有创建智能体的权限。");return}vQ(P,!0)},jA=()=>{Ve(null),p&&Ul(),Ni.current="",o(""),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hs(""),Ys(""),Hi(!0),Dl(!1),Da(null),He("")},Fhe=()=>{Ve(null),p&&Ul(),Ni.current="",o(""),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),Da("catalog"),He("")},Vhe=async P=>{if(SA(""),U1(""),P.runtimeId&&P.id.startsWith("detail:")){const F=BC({targetId:String(P.runtimeId),agentKind:"runtime",connectSource:"agent_workspace"});try{const z=await Iw(P.runtimeId,P.label,P.region??Ui(Pn),P.currentVersion);F.succeed({runtimeRegion:P.region}),await Y1(z)}catch(z){F.fail(ya(z)),He(z instanceof Error?z.message:String(z))}return}await Y1(P.id)},MA=ai!=null&&ai.runtime?el.find(P=>{var F;return P.runtimeId===((F=ai.runtime)==null?void 0:F.runtimeId)}):void 0,ld=ai!=null&&ai.runtime?{id:`detail:${ai.runtime.runtimeId}`,label:ai.name,app:ai.appName??ai.name,remote:!0,runtimeApp:MA==null?void 0:MA.apps[0],runtimeId:ai.runtime.runtimeId,region:ai.runtime.region,currentVersion:ai.runtime.currentVersion,canDelete:ai.runtime.canDelete}:null,IQ=Pe!==null?"feedback":Le?"skills":sQ?null:Bf?"applications":xA?"search":rd||Tp||Be||Ue?"agents":a||Ll||Le||Qf||Ko?null:"new-chat";return c.jsxs("div",{className:"layout",children:[c.jsx(cve,{branding:jc,cloudProvider:Pn,access:Vn,features:Wo,sessions:r,currentSessionId:a,activePage:IQ,streamingSids:ms,evaluatingSids:Ur,sandboxHistory:p?{threads:hn.threads,currentThreadId:p.threadId,loading:hn.threadsLoading,error:hn.threadsError,hasMore:hn.threadsHasMore,busyThreadId:hn.threadActionId,newDisabled:b||hn.commandBusy,onNew:()=>void hn.newThread(),onSelect:P=>void hn.resumeThread(P),onLoadMore:()=>void hn.loadMoreThreads(),onDelete:Tt}:void 0,onNewChat:vhe,onSearch:()=>{Ve(null),p&&Ul(),Tn(null),et(!1),Ut(!1),wi(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),Da(null),ns(!0),He("")},onQuickCreate:()=>{if(!bo){He("当前账号没有添加 Agent 的权限。");return}p&&Ul(),Ni.current="",o(""),et(!1),Ut(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),Da(null),Tn(null),da(null),V1(Ui(Pn)),wi(!0),He("")},onSkillCenter:()=>{p&&Ul(),Tn(null),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),Da(null),hi(null),et(!0),He("")},onAddAgent:()=>{if(!bo){He("当前账号没有添加 Agent 的权限。");return}p&&Ul(),Ni.current="",Tn(null),et(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),Da(null),o(""),wi(!1),Ut(!0),He("")},onMyAgents:jA,onApplications:Fhe,onSystemInfo:()=>{Ve(null),p&&Ul(),Ni.current="",o(""),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Da(null),Dl(!0),He("")},onIssueFeedback:()=>{Pe===null&&(Dl(!1),Ve(IQ??(p?"sandbox":a?"conversation":"workspace")),He(""))},onPickSession:P=>{Ve(null),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),Da(null),He(""),eO(P)},onDeleteSession:whe,userInfo:nr,onLogout:ahe}),(()=>{var F;const P=c.jsxs("div",{className:`composer-slot${p?" sandbox-composer-wrap":""}`,children:[p&&c.jsx(but,{agentName:p.toolName==="codex"?"Codex":p.toolName==="openclaw"?"OpenClaw":"Hermes",onExit:od}),p?c.jsx(Jut,{appName:n,value:Ae,onChange:qe,onSubmit:z=>void xhe(z),onStop:b?yhe:void 0,disabled:!1,busy:b||hn.commandBusy,attachments:Hn,onAddFiles:Ohe,onRemoveAttachment:bhe,actions:{onOpenTerminal:()=>void RA("terminal"),onOpenBrowser:()=>void RA("browser"),onOpenPermissions:()=>{w(""),_(!0)},onOpenWorkspace:()=>{w(""),A(!0)},workspaceLocked:p.workspaceLocked,settingsBusy:x,uploadBusy:ae||b},models:hn.models,modelsLoading:hn.modelsLoading,modelsLoaded:hn.modelsLoaded,currentModel:p.model,onRequestModels:()=>void hn.loadModels(),skills:hn.skills,skillsLoading:hn.skillsLoading,skillsLoaded:hn.skillsLoaded,selectedSkills:hn.selectedSkills,onRequestSkills:()=>void hn.loadSkills(),onSelectedSkillsChange:hn.setSelectedSkills}):c.jsx(fit,{cloudProvider:Pn,sessionId:a,sessionInitializing:u,appName:n,agentName:n?CQ(n):"Agent",value:Ae,onChange:qe,videoTask:ui,onOpenVideoTask:()=>{Nt.current&&Ge(!0)},onVideoSubmit:Or,onSubmit:()=>{const z=Ae;if(!p&>.length===0&&bn==="skill"){if(!z.trim())return;let we;if(pe==="create")we={operation:"create",initialIntent:z.trim(),selectPublishSpace:!0};else{const be=yt;if(!be){He("请先选择需要优化的 Skill。");return}we={operation:"optimize",initialIntent:z.trim(),space:be.space,source:{kind:"skill-center",skillId:be.skill.skillId,version:be.skill.version,region:be.space.region||Ui(Pn),projectName:be.space.projectName,skillSpaceId:be.space.id,skillSpaceName:be.space.name,name:be.skill.skillName||be.skill.skillId,description:be.skill.skillDescription}}}qe(""),He(""),hi(we),et(!0);return}if(qe(""),p){wQ(z);return}const ee=Hn,ye=Zn;En([]),Si(ql()),kQ(z,ee,ye),kR(ee)},onStop:N1?Che:void 0,disabled:p?!1:!it||$e==="temporary"||bn==="agent"&&$e==="agent"&&!n||bn==="skill"&&pe==="optimize"&&!yt,busy:p?b:wp,showMeta:gt.length>0&&!p,attachments:p?[]:Hn,skills:p?[]:pA,agents:p?[]:mA,invocation:p?ql():Zn,capabilitiesLoading:!p&&gn,modelName:((F=Zt==null?void 0:Zt.model)==null?void 0:F.trim())||ft.modelName,tokenUsage:ft,systemTokenEstimate:gA,allowAttachments:!p,onInvocationChange:Si,onAddFiles:Nhe,onRemoveAttachment:OA,newChatMode:p?"agent":$e,newChatWorkspaceMode:p?"agent":bn,newChatSkillAction:pe,newChatSkillTarget:yt,skillCustomizationEnabled:di&&sn.skillCustomizationEnabled===!0,newChatTask:p?null:wn,newChatLayout:!p&>.length===0,showWorkspaceTabs:!p&>.length===0,showAgentPicker:!p&>.length===0&&bn==="agent"&&$e==="agent",agentPickerDisabled:!it||wp,selectedRuntimeId:Cs==null?void 0:Cs.runtimeId,runtimeScope:Vn.capabilities.runtimeScope,onSelectRuntime:async z=>{var ee;await RQ({id:z.runtimeId,name:z.name,description:((ee=z.description)==null?void 0:ee.trim())||"暂无描述",createdAt:z.createdAt??"",specificationLabel:"地域",specification:ff(z.region,Pn),isMine:z.isMine,runtime:{runtimeId:z.runtimeId,region:z.region,currentVersion:z.currentVersion,canDelete:z.canDelete}},{rethrow:!0,source:"new_chat_picker"})},onSelectSandboxSession:z=>CA(z,"new_chat_picker"),showModeSelector:!1,onWorkspaceModeChange:z=>{It(z),z!=="agent"&&Jt(null),He("")},onSkillActionChange:Qe,onSkillTargetChange:mn,temporaryEnabled:di&&sn.temporaryEnabled,harnessEnabled:di&&sn.harnessEnabled,builtinTools:di?sn.builtinTools:[],onModeChange:z=>{if(!(z==="temporary"&&!sn.temporaryEnabled)){if(z==="temporary"){Jt(null),pn(z),vQ();return}pn(z),z!=="agent"&&Jt(null),He("")}},onTaskChange:Jt})]});return c.jsx("section",{className:"main-shell",children:c.jsxs("main",{className:`main${p?" is-sandbox-session":""}`,children:[Ic&&c.jsx("div",{className:"error",role:"alert",children:Ic}),jl&&c.jsx("div",{className:"error",role:"alert",children:jl}),A1&&c.jsxs("div",{className:"session-loading",children:[c.jsx(qn,{className:"icon spin"})," 加载会话…"]}),rQ&&!AQ&&!TQ&&!_Q&&!xA&&!Le&&H1===null&&c.jsx("div",{className:"case-return-bar",children:c.jsxs("button",{type:"button",onClick:khe,children:[c.jsx(aZ,{"aria-hidden":!0}),c.jsx("span",{children:"返回评测案例"})]})}),Pe!==null?c.jsx(Uft,{initialModule:Jft(Pe),onSubmit:Lhe}):sQ?c.jsx(gtt,{version:k1,localMode:Pc==="local",role:(Vn==null?void 0:Vn.role)??"user",provider:Pn,region:_1||Ui(Pn)}):Bf==="coding-agents"?c.jsx(hnt,{onBack:()=>Da("catalog")}):Bf==="feishu"?c.jsx(Gtt,{onBack:()=>Da("catalog")}):Bf&&Bf!=="catalog"?c.jsx(Stt,{automation:Bf,onBack:()=>Da("catalog")}):Bf==="catalog"?c.jsx(ctt,{onOpen:Da}):Ue?c.jsx(Xut,{workspace:Ue,onBack:jA}):Be?c.jsx(But,{session:Be,onBack:jA,onOpen:()=>CA(Be,"sandbox_detail"),onDelete:()=>dhe(Be)}):rd?c.jsx(Met,{cloudProvider:Pn,canCreate:bo,runtimeScope:Vn.capabilities.runtimeScope,onCreateAgent:Qhe,onUseAgent:z=>RQ(z,{source:"my_agents"}),onViewAgentDetails:Uhe,onCreateSandboxAgent:zhe,onUseSandboxAgent:z=>CA(z,"my_agents"),onViewSandboxAgentDetails:uhe,sandboxRefreshKey:Te,connectedRuntimeId:nO,hiddenRuntimeIds:Hfe,drafts:bA,deploymentTasks:G0,draftDeploymentTaskIds:D1,onViewDeploymentTask:TA,onEditDraft:z=>{Hi(!1),da(z.draft),$1("custom"),Jo(z.id),Oo.current=z,$l(z.deploymentTarget??null),Hs(""),Ys(""),Tn("custom"),He("")},onDeleteDraft:z=>hQ([z])}):AQ?c.jsx(oet,{agents:ld?[ld]:jhe,drafts:bA,agentOrder:iQ,selectedAgentId:n,agentInfo:Zt,agentInfoAgentId:n,loadingAgentInfo:gn,canCreate:bo,canUpdate:bo||IA,canViewUsage:Phe,loadingAgents:Vfe,agentsError:Xfe,deploymentTasks:G0,focusedDeploymentTaskId:dQ,focusedAgentId:(ld==null?void 0:ld.id)??fQ,focusedAgentSection:Qfe,focusedCaseKind:Bfe,feedbackCasePreview:zfe,detailOnly:!0,onRetryAgents:()=>void kA(),onAgentOrderChange:Wfe,onDeleteAgents:Zfe,onDeleteDrafts:hQ,onSelectAgent:$he,onTalkAgent:Vhe,onOpenFeedbackCase:z=>void Ehe(z),onFeedbackCasesDeleted:The,onCreateAgent:()=>{if(!bo){He("当前账号没有添加 Agent 的权限。");return}ri(!1),wi(!0),Tn(null),da(null),$l(null),V1(Ui(Pn)),Jo(""),Oo.current=null,Hs(""),Ys(""),He("")},onUpdateAgent:(z,ee)=>{var Ke,St;if(!IA&&!bo){He("当前账号没有管理 Agent 的权限。");return}if(!ee.canUpdate){He(ee.reason||"当前 Runtime 不支持原地更新。");return}if(!ee.runtime.runtimeId){He("仅支持更新已部署的云端智能体。");return}if(!ee.runtime.region){He("Runtime 缺少地域信息,无法更新。");return}if(!((Ke=ee.agent)!=null&&Ke.appName)){He("Runtime 缺少智能体名称,无法更新。");return}const ye=Object.fromEntries(ee.runtime.envs.filter(({key:lt})=>!IX(lt)).map(({key:lt,value:nt})=>[lt,nt])),we=Object.fromEntries(Object.entries(((St=z.deployment)==null?void 0:St.envValues)??{}).filter(([lt])=>!IX(lt))),be=Wot({...z,deployment:{...z.deployment??{feishuEnabled:!1},network:ee.runtime.network,envValues:{...ye,...we}}},ee.runtime.envs);ri(!1),da(be),$1("custom");const tt=`runtime-${ee.runtime.runtimeId}`;Jo(tt),Oo.current=bA.find(lt=>lt.id===tt)??null,Hs(""),Ys(""),$l({runtimeId:ee.runtime.runtimeId,name:ee.runtime.name||ee.agent.name||z.name,region:ee.runtime.region,appName:ee.agent.appName,currentVersion:ee.runtime.currentVersion}),Tn("custom"),He("")},onEditDraft:z=>{ri(!1),da(z.draft),$1("custom"),Jo(z.id),Oo.current=z,$l(z.deploymentTarget??null),Hs(""),Ys(""),Tn("custom"),He("")}},(ld==null?void 0:ld.id)??"workspace"):TQ?c.jsx(hit,{title:"您想以哪种方式添加 Agent 来运行?",sub:"选择最适合你的方式,下一步即可开始",cards:[{key:"scratch",icon:oht,title:"从 0 快速创建",desc:"用智能 / 自定义 / 模板 / 工作流的方式从零创建一个 Agent。",onClick:()=>{wi(!1),da(null),$1("custom"),$l(null),Hs(""),Ys(""),Jo(`draft-${Date.now().toString(36)}`),Oo.current=null,Tn("custom")}},{key:"package",icon:lht,title:"从代码包添加和部署",desc:"上传 Agent 项目压缩包,查看代码并直接部署到 AgentKit Runtime。",onClick:()=>{wi(!1),da(null),Tn("package")}},{key:"migration",icon:cht,title:"从存量迁移",desc:"从您的 LangChain / Dify 等存量项目迁移至 AgentKit Runtime",status:"敬请期待",disabled:!0,onClick:()=>{}}]}):xA?c.jsx(tve,{userId:it,appId:n,agentInfo:Zt,capabilitiesLoading:gn,agentLabel:CQ,onOpenSession:ohe}):_Q?c.jsx(MJe,{onAdded:z=>{K0(fl()),Ut(!1),i(z)},onCancel:()=>Ut(!1)}):Le?c.jsx(CJe,{cloudProvider:Pn,initialWorkspace:jt,onInitialWorkspaceConsumed:()=>hi(null)}):H1!==null&&!ue?c.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,height:"100%",padding:24,textAlign:"center",color:"var(--text-secondary, #6b7280)"},children:[c.jsxs("div",{style:{fontSize:18,fontWeight:600},children:["需要配置",Pn==="byteplus"?"BytePlus":"火山引擎"," AK/SK"]}),c.jsxs("div",{style:{maxWidth:420,lineHeight:1.6},children:["智能体工作台需要",Pn==="byteplus"?" BytePlus ":" Volcengine ","凭据才能使用。请在运行环境中设置"," ",c.jsx("code",{children:Pn==="byteplus"?"BYTEPLUS_ACCESS_KEY":"VOLCENGINE_ACCESS_KEY"})," ","与"," ",c.jsx("code",{children:Pn==="byteplus"?"BYTEPLUS_SECRET_KEY":"VOLCENGINE_SECRET_KEY"})," ","后重试。"]})]}):H1==="custom"?c.jsx(Pct,{cloudProvider:Pn,initialDraft:Mfe??void 0,onBack:()=>{Tn(null),wi(!0)},onCreate:Kfe,onAgentAdded:mQ,features:Wo,onDeploymentTaskChange:V,createMode:Lfe,deploymentTarget:_p??void 0,initialDeployRegion:F1,onDraftChange:(z,ee)=>{Xr&&(ee?Gfe(Xr,z,_p??void 0):pQ(Xr))},onDiscard:Xr?()=>{pQ(Xr),Jo(""),Oo.current=null,da(null),$l(null),Hs(""),Ys(n),Tn(null),wi(!1),ri(!0),He("")}:void 0,onDeploymentStarted:gQ,onDeploymentComplete:OQ},Xr||"custom"):H1==="package"?c.jsx($ct,{cloudProvider:Pn,onBack:()=>{Tn(null),wi(!0)},onAgentAdded:mQ,onDeploymentTaskChange:V,onDeploymentStarted:gQ,onDeploymentComplete:OQ,initialDeployRegion:F1}):gt.length===0&&!di?c.jsxs("div",{className:"session-loading",children:[c.jsx(qn,{className:"icon spin"})," 正在检查 Agent 能力…"]}):gt.length===0?c.jsx("div",{className:"welcome",children:c.jsxs("div",{className:"welcome-primary",children:[c.jsxs("div",{className:"welcome-heading",children:[c.jsx(cut,{canUpdate:Vn.role==="admin"}),c.jsx("h1",{className:"welcome-title",children:p?"让灵感自由生长":At})]}),P]})},`welcome-${sn.agentId??n}`):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:`transcript${C1?" is-streaming":""}`,ref:J0,onScroll:ehe,onWheel:the,onTouchMove:nhe,children:gt.map((z,ee)=>{var Xt,Mt,dn,si,Mn,Rs,Dc;const ye=ee===gt.length-1;if(z.role==="system")return z.activity?c.jsx("div",{className:"turn turn--system",children:c.jsx(yut,{activity:z.activity,time:jM((Xt=z.meta)==null?void 0:Xt.ts)})},z.activity.id):null;if(z.role==="user"){const Yi=z.blocks.map($a=>$a.kind==="text"?$a.text:"").join(""),qr=z.blocks.flatMap($a=>$a.kind==="attachment"?$a.files:[]),Ri=z.blocks.find($a=>$a.kind==="invocation");return c.jsxs(dr.div,{className:"turn turn--user",initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[(Ri==null?void 0:Ri.kind)==="invocation"&&c.jsx(u_,{value:Ri.value}),qr.length>0&&c.jsx(d_,{appName:n,items:qr}),Yi&&c.jsx("div",{className:"bubble",children:c.jsx(i1,{text:Yi})}),c.jsxs("div",{className:"turn-actions turn-actions--right","data-share-image-exclude":"true",children:[((Mt=z.meta)==null?void 0:Mt.ts)&&c.jsx("span",{className:"meta-text",children:jM(z.meta.ts)}),c.jsx(gq,{text:Yi})]})]},ee)}const we=((dn=z.meta)==null?void 0:dn.author)??"",be=we&&qi?PM(qi,we):void 0,tt=!!(we&&P1.length>0&&!P1.includes(we)),Ke=(be==null?void 0:be.name)||we,St=(be==null?void 0:be.description)||(tt?"正在执行主 Agent 移交的任务。":"");if(z.blocks.length>0&&z.blocks.every(Yi=>Yi.kind==="agent-transfer"))return null;const lt=z.blocks.length===0,nt=((Mn=(si=z.meta)==null?void 0:si.feedback)==null?void 0:Mn.rating)??null,_n=((Rs=z.meta)==null?void 0:Rs.eventId)??"",jn=go.has(_n),xt=!!(Cs&&_n&&yd(z)),Cr=xt?wR(gt,ee):"",Qn=!!(xt&&Pn!=="byteplus"&&!(ye&&(La||td))&&!ER(z));return c.jsxs(dr.div,{"data-share-message-source":"true","data-response-annotation-index":ee,ref:Yi=>{_n&&(Yi?_A.current.set(_n,Yi):_A.current.delete(_n))},className:["turn turn--assistant",tt?"turn--subagent":"",Z0&&Z0===_n?"is-feedback-target":""].filter(Boolean).join(" "),tabIndex:Qn?0:void 0,"aria-label":Qn?"模型回复;选中文字后可添加批注":void 0,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[tt&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"subagent-run-label",children:[c.jsxs("span",{className:"subagent-run-handoff",children:[c.jsx(qxe,{}),c.jsx("span",{children:"智能体移交"})]}),c.jsx("span",{className:"subagent-run-title",children:Ke})]}),c.jsx("p",{className:"subagent-run-description",title:St,children:St})]}),lt?ye&&La?c.jsx(Zie,{}):null:c.jsxs(c.Fragment,{children:[c.jsx(z$,{appName:n,blocks:z.blocks,streaming:ye&&(La||td),onStreamFrame:ye?ihe:void 0,onStreamComplete:ye&&!La&&td?()=>Zu(a):void 0,onAction:Rhe,onAuth:Ihe,onArtifactDownload:(Yi,qr)=>FZ(n,it,a,Yi,qr),onArtifactPreview:(Yi,qr)=>XZ(n,it,a,Yi,qr)}),!(ye&&La)&&!hht(z)&&c.jsx("div",{className:"turn-empty",children:"本次没有返回可显示的内容。"}),!(ye&&La)&&!ER(z)&&c.jsxs("div",{className:"turn-meta","data-share-image-exclude":"true",children:[p&&((Dc=z.meta)!=null&&Dc.sandboxUsage)?c.jsx(Sut,{usage:z.meta.sandboxUsage}):null,c.jsxs("div",{className:"turn-actions",children:[xt&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:`icon-btn feedback-btn${nt==="good"?" feedback-btn--good":""}`,"aria-label":"赞","aria-pressed":nt==="good","aria-busy":jn,title:nt==="good"?"取消点赞":"赞",disabled:jn,onClick:()=>void PA(z,nt==="good"?null:"good",Cr),children:c.jsx(ive,{className:"icon",filled:nt==="good"})}),c.jsx("button",{type:"button",className:`icon-btn feedback-btn${nt==="bad"?" feedback-btn--bad":""}`,"aria-label":"踩","aria-pressed":nt==="bad","aria-busy":jn,title:nt==="bad"?"取消点踩":"踩",disabled:jn,onClick:()=>void PA(z,nt==="bad"?null:"bad",Cr),children:c.jsx(rve,{className:"icon",filled:nt==="bad"})})]}),!p&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"icon-btn","aria-label":"问题反馈",title:"问题反馈",onClick:()=>es({turn:z,input:wR(gt,ee)}),children:c.jsx(TK,{className:"icon"})}),c.jsx("button",{type:"button",className:"icon-btn",title:"Tracing 火焰图",onClick:()=>{var Yi;In((Yi=z.meta)!=null&&Yi.ts?z.meta.ts*1e3:Date.now()),Fe(!0)},children:c.jsx(uht,{})})]}),c.jsx(gq,{text:yd(z)}),c.jsx(ght,{onClick:Yi=>{const qr=Yi.currentTarget.closest("[data-share-message-source]");qr&&Go({targetTurn:qr})}})]}),z.meta&&c.jsx("span",{className:"meta-text",children:dht(z.meta)})]})]})]},ee)})}),!p&&c.jsx(WRe,{appName:n,info:Zt,loading:gn,activeAgent:hA,seenAgents:R1,execPath:I1,capabilities:kn,capabilityLoading:Di,capabilityMutating:$i,builtinTools:vi,onAddCapability:_he,onRemoveCapability:z=>void Ahe(z)}),c.jsx("div",{className:"conversation-composer-slot",children:P})]})]})})})(),Yo&&a&&c.jsx(cdt,{onClose:()=>es(null),onSubmit:Mhe}),Ml&&c.jsx(hft,{targetTurn:Ml.targetTurn,onClose:()=>Go(null)}),re&&a&&c.jsx(Lft,{anchor:re.anchor,selectedText:re.selectedText,onClose:()=>ne(P=>(P==null?void 0:P.selectionId)===re.selectionId?null:P),onSubmit:Dhe},re.selectionId),pt&&a&&c.jsx(tfe,{appName:n,sessionId:a,endTimeMs:Pt,onClose:()=>Fe(!1)}),c.jsx(Out,{open:ke,state:ie,agentKind:Ce,error:ge,onCancel:lhe,onConfirm:(P,F)=>void che(P,F)}),ct?c.jsx($_,{title:"删除 Codex 历史会话",description:`将删除“${ct.name||ct.preview||`Thread ${ct.id.slice(0,8)}`}”,并从历史会话中移除。`,confirmLabel:"确认删除",variant:"danger",busy:hn.threadActionId===ct.id,onCancel:()=>{hn.threadActionId||Tt(null)},onConfirm:()=>void fhe()}):null,p?c.jsxs(c.Fragment,{children:[c.jsx(Rut,{open:R!==null,kind:R??"terminal",launch:Q,loading:D,error:M,onReload:()=>{R&&RA(R)},onClose:()=>{j(null),L(null),N(!1),B("")}}),c.jsx(Lut,{open:k,value:p.permissions,busy:x||b,error:E,onSave:P=>void hhe(P),onClose:()=>{x||(_(!1),w(""))}}),c.jsx(Dut,{open:C,cwd:p.cwd,locked:p.workspaceLocked,busy:x,error:E,browse:phe,onSave:P=>void mhe(P),onClose:()=>{x||(A(!1),w(""))}}),c.jsx(Iut,{open:hn.threadsOpen,threads:hn.threads,currentThreadId:p.threadId,loading:hn.threadsLoading,error:hn.threadsError,onSelect:P=>void hn.resumeThread(P),onClose:hn.closeThreads}),c.jsx($ut,{approval:$,busy:G,error:U,onDecision:P=>void ghe(P)})]}):null,c.jsx(sdt,{open:Ze,checking:Ci,error:Bt,onLogin:()=>void rhe()}),c.jsx(mut,{open:xe,task:ui,onClose:()=>Ge(!1),onRetry:Xs,onDownload:()=>void Ku()}),Yfe&&c.jsx("div",{className:"confirm-scrim",onClick:()=>wA(!1),children:c.jsxs("div",{className:"confirm-box",onClick:P=>P.stopPropagation(),children:[c.jsx("div",{className:"confirm-title",children:"返回创建首页?"}),c.jsx("div",{className:"confirm-text",children:"返回后当前填写的内容将会丢失,确定要返回吗?"}),c.jsxs("div",{className:"confirm-actions",children:[c.jsx("button",{className:"confirm-btn",onClick:()=>wA(!1),children:"取消"}),c.jsx("button",{className:"confirm-btn confirm-btn--danger",onClick:()=>{da(null),Tn(null),wi(!0),wA(!1)},children:"确定返回"})]})]})})]})}const wq="veadk.preloadRecoveryAt";window.addEventListener("vite:preloadError",e=>{const t=Date.now();let n=0;try{n=Number(sessionStorage.getItem(wq)||"0")}catch{}if(!(t-n<1e4)){e.preventDefault();try{sessionStorage.setItem(wq,String(t))}catch{}window.location.reload()}});(()=>{if(!(window.opener&&window.opener!==window&&/[?&](code|state|error)=/.test(window.location.search)))return!1;try{window.opener.postMessage({veadkOAuth:!0,url:window.location.href},window.location.origin)}catch{}return window.close(),!0})()||Vge.createRoot(document.getElementById("root")).render(c.jsx(un.StrictMode,{children:c.jsx(t0e,{reducedMotion:"user",children:c.jsx(jxe,{maskOpacity:.9,children:c.jsx(kht,{})})})}));export{Pb as $,bat as A,c$e as B,yat as C,Wit as D,u$e as E,ert as F,L5e as G,n5e as H,ode as I,i5e as J,une as K,Xrt as L,c as M,Lt as N,_i as O,irt as P,vn as Q,Rue as R,Nht as S,xot as T,y$e as U,Bs as V,ar as W,O as X,n_ as Y,lo as Z,Cht as _,U_ as a,Wh as a0,wf as a1,$r as a2,Mf as a3,z_ as a4,N3 as a5,k3 as a6,Sl as a7,Jte as a8,ps as b,un as c,ade as d,Oat as e,kot as f,gU as g,$g as h,hr as i,Rht as j,eue as k,Rc as l,Yue as m,K_ as n,ip as o,bit as p,Zht as q,b$ as r,rLe as s,By as t,Un as u,S$e as v,A$e as w,aLe as x,n0 as y,A5e as z}; +`),toolCalls:z.flatMap(FB),trace:ee})},PA=async(P,F,z="",ee="",ye=!0)=>{var lt,nt,_n,jn,xt,Cr,wt,Bn;const we=(lt=P.meta)==null?void 0:lt.eventId,be=a;if(!we||!be||!Cs)return"当前回复暂不支持加入评测集";if(Pn==="byteplus")return"BytePlus 暂不支持 AgentKit 评测集";const tt=yd(P),Ke=(nt=P.meta)==null?void 0:nt.feedback,St={...Ke,rating:F,comment:ee,syncStatus:"syncing",updatedAt:Date.now()/1e3};Rt(be,Xt=>Xt.map(Mt=>{var dn;return((dn=Mt.meta)==null?void 0:dn.eventId)===we?{...Mt,meta:{...Mt.meta,feedback:St}}:Mt})),As(Xt=>new Set(Xt).add(we)),pi!=null&&pi.runtimeId&&Dc&&nw({runtimeId:pi.runtimeId,region:pi.region??Ui(Pn),appName:Dc,userId:it,sessionId:be,messageId:we,invocationId:(_n=P.meta)==null?void 0:_n.invocationId,rating:F,input:z,output:tt,comment:ee,createdAt:(jn=P.meta)!=null&&jn.ts?new Date(P.meta.ts*1e3).toISOString():void 0});try{const Xt=await $Z({appName:n,userId:it,sessionId:be,eventId:we,rating:F,comment:ee});Rt(be,Mt=>Mt.map(dn=>{var si;return((si=dn.meta)==null?void 0:si.eventId)===we?{...dn,meta:{...dn.meta,feedback:Xt}}:dn})),s(Mt=>Mt.map(dn=>dn.id===be?{...dn,state:{...dn.state??{},[`veadk_feedback:${we}`]:Xt}}:dn)),pi!=null&&pi.runtimeId&&Dc&&(nw({runtimeId:pi.runtimeId,region:pi.region??Ui(Pn),appName:Dc,userId:it,sessionId:be,messageId:we,invocationId:(xt=P.meta)==null?void 0:xt.invocationId,rating:Xt.rating,input:z,output:tt,comment:ee,createdAt:(Cr=P.meta)!=null&&Cr.ts?new Date(P.meta.ts*1e3).toISOString():void 0}),zZ({runtimeId:pi.runtimeId,region:pi.region??Ui(Pn),appName:Dc,pageSize:100}))}catch(Xt){const Mt=Xt instanceof Error?Xt.message:String(Xt);return Rt(be,dn=>dn.map(si=>{var Mn;return((Mn=si.meta)==null?void 0:Mn.eventId)===we?{...si,meta:{...si.meta,feedback:Ke}}:si})),pi!=null&&pi.runtimeId&&Dc&&nw({runtimeId:pi.runtimeId,region:pi.region??Ui(Pn),appName:Dc,userId:it,sessionId:be,messageId:we,invocationId:(wt=P.meta)==null?void 0:wt.invocationId,rating:(Ke==null?void 0:Ke.rating)??null,input:z,output:tt,comment:(Ke==null?void 0:Ke.comment)??"",createdAt:(Bn=P.meta)!=null&&Bn.ts?new Date(P.meta.ts*1e3).toISOString():void 0}),ye&&Ni.current===be&&He(Mt),Mt}finally{As(Xt=>{const Mt=new Set(Xt);return Mt.delete(we),Mt})}return null},Qhe=async P=>{const F=re;if(!F)return;const z=await PA(F.turn,"bad",F.input,Mft(F.selectedText,P),!1);if(z)throw new Error(z)},Y1=async P=>{J0(fl());let F=xi.current.get(P);F||(F=await SR(P),xi.current.set(P,F)),Vn(F),er(z=>z+1),i(P),Gs(null),Hs(""),Ys(""),Hi(!1),ri(!1),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),od()},Bhe=async P=>{await Y1(P)},Uhe=P=>{if(!bo){He("当前账号没有添加 Agent 的权限。");return}Hi(!1),ri(!1),V1(P),da(null),Tn(null),wi(!0),He("")},zhe=async(P,F)=>{if(!P.runtime)throw new Error("缺少 Runtime 信息,无法连接智能体。");const z=BC({targetId:String(P.runtime.runtimeId),agentKind:"runtime",connectSource:F});try{const ee=await Iw(P.runtime.runtimeId,P.name,P.runtime.region,P.runtime.currentVersion);return z.succeed({runtimeRegion:P.runtime.region,runtimeIsMine:P.isMine?1:0}),ee}catch(ee){throw z.fail(xa(ee)),ee}},R4=async(P,F={})=>{if(P.runtime)try{const z=await zhe(P,F.source??"my_agents");await Y1(z)}catch(z){const ee=z instanceof Error?z.message:String(z);if(He(ee),F.rethrow)throw new Error(ee)}},Fhe=P=>{P.runtime&&(Gs(P),Hs(""),Ys(""),Hi(!1),ri(!0),He(""))},Vhe=P=>{if(!bo){He("当前账号没有创建智能体的权限。");return}v4(P,!0)},jA=()=>{Ve(null),p&&Ul(),Ni.current="",o(""),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hs(""),Ys(""),Hi(!0),Dl(!1),$a(null),He("")},Xhe=()=>{Ve(null),p&&Ul(),Ni.current="",o(""),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),$a("catalog"),He("")},qhe=async P=>{if(SA(""),U1(""),P.runtimeId&&P.id.startsWith("detail:")){const F=BC({targetId:String(P.runtimeId),agentKind:"runtime",connectSource:"agent_workspace"});try{const z=await Iw(P.runtimeId,P.label,P.region??Ui(Pn),P.currentVersion);F.succeed({runtimeRegion:P.region}),await Y1(z)}catch(z){F.fail(xa(z)),He(z instanceof Error?z.message:String(z))}return}await Y1(P.id)},MA=ai!=null&&ai.runtime?el.find(P=>{var F;return P.runtimeId===((F=ai.runtime)==null?void 0:F.runtimeId)}):void 0,ld=ai!=null&&ai.runtime?{id:`detail:${ai.runtime.runtimeId}`,label:ai.name,app:ai.appName??ai.name,remote:!0,runtimeApp:MA==null?void 0:MA.apps[0],runtimeId:ai.runtime.runtimeId,region:ai.runtime.region,currentVersion:ai.runtime.currentVersion,canDelete:ai.runtime.canDelete}:null,I4=Pe!==null?"feedback":Le?"skills":s4?null:Bf?"applications":xA?"search":rd||Tp||Be||Ue?"agents":a||Ll||Le||Qf||Ko?null:"new-chat";return c.jsxs("div",{className:"layout",children:[c.jsx(dve,{branding:Mc,cloudProvider:Pn,access:Qn,features:Wo,sessions:r,currentSessionId:a,activePage:I4,streamingSids:ms,evaluatingSids:Ur,sandboxHistory:p?{threads:hn.threads,currentThreadId:p.threadId,loading:hn.threadsLoading,error:hn.threadsError,hasMore:hn.threadsHasMore,busyThreadId:hn.threadActionId,newDisabled:b||hn.commandBusy,onNew:()=>void hn.newThread(),onSelect:P=>void hn.resumeThread(P),onLoadMore:()=>void hn.loadMoreThreads(),onDelete:Tt}:void 0,onNewChat:Ehe,onSearch:()=>{Ve(null),p&&Ul(),Tn(null),et(!1),Ut(!1),wi(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),$a(null),ns(!0),He("")},onQuickCreate:()=>{if(!bo){He("当前账号没有添加 Agent 的权限。");return}p&&Ul(),Ni.current="",o(""),et(!1),Ut(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),$a(null),Tn(null),da(null),V1(Ui(Pn)),wi(!0),He("")},onSkillCenter:()=>{p&&Ul(),Tn(null),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),$a(null),hi(null),et(!0),He("")},onAddAgent:()=>{if(!bo){He("当前账号没有添加 Agent 的权限。");return}p&&Ul(),Ni.current="",Tn(null),et(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),$a(null),o(""),wi(!1),Ut(!0),He("")},onMyAgents:jA,onApplications:Xhe,onSystemInfo:()=>{Ve(null),p&&Ul(),Ni.current="",o(""),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),$a(null),Dl(!0),He("")},onIssueFeedback:()=>{Pe===null&&(Dl(!1),Ve(I4??(p?"sandbox":a?"conversation":"workspace")),He(""))},onPickSession:P=>{Ve(null),Tn(null),et(!1),Ut(!1),wi(!1),ns(!1),ri(!1),Gs(null),je(null),st(null),Hi(!1),Dl(!1),$a(null),He(""),tO(P)},onDeleteSession:khe,userInfo:nr,onLogout:lhe}),(()=>{var F;const P=c.jsxs("div",{className:`composer-slot${p?" sandbox-composer-wrap":""}`,children:[p&&c.jsx(yut,{agentName:p.toolName==="codex"?"Codex":p.toolName==="openclaw"?"OpenClaw":"Hermes",onExit:od}),p?c.jsx(edt,{appName:n,value:Ae,onChange:qe,onSubmit:z=>void vhe(z),onStop:b?She:void 0,disabled:!1,busy:b||hn.commandBusy,attachments:Hn,onAddFiles:yhe,onRemoveAttachment:xhe,actions:{onOpenTerminal:()=>void RA("terminal"),onOpenBrowser:()=>void RA("browser"),onOpenPermissions:()=>{w(""),_(!0)},onOpenWorkspace:()=>{w(""),A(!0)},workspaceLocked:p.workspaceLocked,settingsBusy:x,uploadBusy:ae||b},models:hn.models,modelsLoading:hn.modelsLoading,modelsLoaded:hn.modelsLoaded,currentModel:p.model,onRequestModels:()=>void hn.loadModels(),skills:hn.skills,skillsLoading:hn.skillsLoading,skillsLoaded:hn.skillsLoaded,selectedSkills:hn.selectedSkills,onRequestSkills:()=>void hn.loadSkills(),onSelectedSkillsChange:hn.setSelectedSkills}):c.jsx(hit,{cloudProvider:Pn,sessionId:a,sessionInitializing:u,appName:n,agentName:n?C4(n):"Agent",value:Ae,onChange:qe,videoTask:ui,onOpenVideoTask:()=>{Nt.current&&Ge(!0)},onVideoSubmit:Or,onSubmit:()=>{const z=Ae;if(!p&>.length===0&&bn==="skill"){if(!z.trim())return;let we;if(pe==="create")we={operation:"create",initialIntent:z.trim(),selectPublishSpace:!0};else{const be=yt;if(!be){He("请先选择需要优化的 Skill。");return}we={operation:"optimize",initialIntent:z.trim(),space:be.space,source:{kind:"skill-center",skillId:be.skill.skillId,version:be.skill.version,region:be.space.region||Ui(Pn),projectName:be.space.projectName,skillSpaceId:be.space.id,skillSpaceName:be.space.name,name:be.skill.skillName||be.skill.skillId,description:be.skill.skillDescription}}}qe(""),He(""),hi(we),et(!0);return}if(qe(""),p){w4(z);return}const ee=Hn,ye=Zn;En([]),Si(ql()),k4(z,ee,ye),kR(ee)},onStop:N1?Ihe:void 0,disabled:p?!1:!it||$e==="temporary"||bn==="agent"&&$e==="agent"&&!n||bn==="skill"&&pe==="optimize"&&!yt,busy:p?b:wp,showMeta:gt.length>0&&!p,attachments:p?[]:Hn,skills:p?[]:pA,agents:p?[]:mA,invocation:p?ql():Zn,capabilitiesLoading:!p&&gn,modelName:((F=Zt==null?void 0:Zt.model)==null?void 0:F.trim())||ft.modelName,tokenUsage:ft,systemTokenEstimate:gA,allowAttachments:!p,onInvocationChange:Si,onAddFiles:Rhe,onRemoveAttachment:OA,newChatMode:p?"agent":$e,newChatWorkspaceMode:p?"agent":bn,newChatSkillAction:pe,newChatSkillTarget:yt,skillCustomizationEnabled:di&&sn.skillCustomizationEnabled===!0,newChatTask:p?null:wn,newChatLayout:!p&>.length===0,showWorkspaceTabs:!p&>.length===0,showAgentPicker:!p&>.length===0&&bn==="agent"&&$e==="agent",agentPickerDisabled:!it||wp,selectedRuntimeId:Cs==null?void 0:Cs.runtimeId,runtimeScope:Qn.capabilities.runtimeScope,onSelectRuntime:async z=>{var ee;await R4({id:z.runtimeId,name:z.name,description:((ee=z.description)==null?void 0:ee.trim())||"暂无描述",createdAt:z.createdAt??"",specificationLabel:"地域",specification:ff(z.region,Pn),isMine:z.isMine,runtime:{runtimeId:z.runtimeId,region:z.region,currentVersion:z.currentVersion,canDelete:z.canDelete}},{rethrow:!0,source:"new_chat_picker"})},onSelectSandboxSession:z=>CA(z,"new_chat_picker"),showModeSelector:!1,onWorkspaceModeChange:z=>{It(z),z!=="agent"&&Jt(null),He("")},onSkillActionChange:Qe,onSkillTargetChange:mn,temporaryEnabled:di&&sn.temporaryEnabled,harnessEnabled:di&&sn.harnessEnabled,builtinTools:di?sn.builtinTools:[],onModeChange:z=>{if(!(z==="temporary"&&!sn.temporaryEnabled)){if(z==="temporary"){Jt(null),pn(z),v4();return}pn(z),z!=="agent"&&Jt(null),He("")}},onTaskChange:Jt})]});return c.jsx("section",{className:"main-shell",children:c.jsxs("main",{className:`main${p?" is-sandbox-session":""}`,children:[Pc&&c.jsx("div",{className:"error",role:"alert",children:Pc}),jl&&c.jsx("div",{className:"error",role:"alert",children:jl}),A1&&c.jsxs("div",{className:"session-loading",children:[c.jsx(qn,{className:"icon spin"})," 加载会话…"]}),r4&&!A4&&!T4&&!_4&&!xA&&!Le&&H1===null&&c.jsx("div",{className:"case-return-bar",children:c.jsxs("button",{type:"button",onClick:_he,children:[c.jsx(lZ,{"aria-hidden":!0}),c.jsx("span",{children:"返回评测案例"})]})}),Pe!==null?c.jsx(zft,{initialModule:eht(Pe),onSubmit:$he}):s4?c.jsx(btt,{version:k1,localMode:jc==="local",role:(Qn==null?void 0:Qn.role)??"user",provider:Pn,region:_1||Ui(Pn)}):Bf==="coding-agents"?c.jsx(pnt,{onBack:()=>$a("catalog")}):Bf==="feishu"?c.jsx(Wtt,{onBack:()=>$a("catalog")}):Bf&&Bf!=="catalog"?c.jsx(wtt,{automation:Bf,onBack:()=>$a("catalog")}):Bf==="catalog"?c.jsx(dtt,{onOpen:$a}):Ue?c.jsx(qut,{workspace:Ue,onBack:jA}):Be?c.jsx(Uut,{session:Be,onBack:jA,onOpen:()=>CA(Be,"sandbox_detail"),onDelete:()=>hhe(Be)}):rd?c.jsx(Det,{cloudProvider:Pn,canCreate:bo,runtimeScope:Qn.capabilities.runtimeScope,onCreateAgent:Uhe,onUseAgent:z=>R4(z,{source:"my_agents"}),onViewAgentDetails:Fhe,onCreateSandboxAgent:Vhe,onUseSandboxAgent:z=>CA(z,"my_agents"),onViewSandboxAgentDetails:fhe,sandboxRefreshKey:Te,connectedRuntimeId:iO,hiddenRuntimeIds:Gfe,drafts:bA,deploymentTasks:W0,draftDeploymentTaskIds:D1,onViewDeploymentTask:TA,onEditDraft:z=>{Hi(!1),da(z.draft),$1("custom"),Jo(z.id),Oo.current=z,$l(z.deploymentTarget??null),Hs(""),Ys(""),Tn("custom"),He("")},onDeleteDraft:z=>h4([z])}):A4?c.jsx(uet,{agents:ld?[ld]:Lhe,drafts:bA,agentOrder:i4,selectedAgentId:n,agentInfo:Zt,agentInfoAgentId:n,loadingAgentInfo:gn,canCreate:bo,canUpdate:bo||IA,canViewUsage:Mhe,loadingAgents:qfe,agentsError:Hfe,deploymentTasks:W0,focusedDeploymentTaskId:d4,focusedAgentId:(ld==null?void 0:ld.id)??f4,focusedAgentSection:Ufe,focusedCaseKind:zfe,feedbackCasePreview:Vfe,detailOnly:!0,onRetryAgents:()=>void kA(),onAgentOrderChange:Kfe,onDeleteAgents:Jfe,onDeleteDrafts:h4,onSelectAgent:Bhe,onTalkAgent:qhe,onOpenFeedbackCase:z=>void The(z),onFeedbackCasesDeleted:Ahe,onCreateAgent:()=>{if(!bo){He("当前账号没有添加 Agent 的权限。");return}ri(!1),wi(!0),Tn(null),da(null),$l(null),V1(Ui(Pn)),Jo(""),Oo.current=null,Hs(""),Ys(""),He("")},onUpdateAgent:(z,ee)=>{var Ke,St;if(!IA&&!bo){He("当前账号没有管理 Agent 的权限。");return}if(!ee.canUpdate){He(ee.reason||"当前 Runtime 不支持原地更新。");return}if(!ee.runtime.runtimeId){He("仅支持更新已部署的云端智能体。");return}if(!ee.runtime.region){He("Runtime 缺少地域信息,无法更新。");return}if(!((Ke=ee.agent)!=null&&Ke.appName)){He("Runtime 缺少智能体名称,无法更新。");return}const ye=Object.fromEntries(ee.runtime.envs.filter(({key:lt})=>!jX(lt)).map(({key:lt,value:nt})=>[lt,nt])),we=Object.fromEntries(Object.entries(((St=z.deployment)==null?void 0:St.envValues)??{}).filter(([lt])=>!jX(lt))),be=Zot({...z,deployment:{...z.deployment??{feishuEnabled:!1},network:ee.runtime.network,envValues:{...ye,...we}}},ee.runtime.envs);ri(!1),da(be),$1("custom");const tt=`runtime-${ee.runtime.runtimeId}`;Jo(tt),Oo.current=bA.find(lt=>lt.id===tt)??null,Hs(""),Ys(""),$l({runtimeId:ee.runtime.runtimeId,name:ee.runtime.name||ee.agent.name||z.name,region:ee.runtime.region,appName:ee.agent.appName,currentVersion:ee.runtime.currentVersion}),Tn("custom"),He("")},onEditDraft:z=>{ri(!1),da(z.draft),$1("custom"),Jo(z.id),Oo.current=z,$l(z.deploymentTarget??null),Hs(""),Ys(""),Tn("custom"),He("")}},(ld==null?void 0:ld.id)??"workspace"):T4?c.jsx(pit,{title:"您想以哪种方式添加 Agent 来运行?",sub:"选择最适合你的方式,下一步即可开始",cards:[{key:"scratch",icon:lht,title:"从 0 快速创建",desc:"用智能 / 自定义 / 模板 / 工作流的方式从零创建一个 Agent。",onClick:()=>{wi(!1),da(null),$1("custom"),$l(null),Hs(""),Ys(""),Jo(`draft-${Date.now().toString(36)}`),Oo.current=null,Tn("custom")}},{key:"package",icon:cht,title:"从代码包添加和部署",desc:"上传 Agent 项目压缩包,查看代码并直接部署到 AgentKit Runtime。",onClick:()=>{wi(!1),da(null),Tn("package")}},{key:"migration",icon:uht,title:"从存量迁移",desc:"从您的 LangChain / Dify 等存量项目迁移至 AgentKit Runtime",status:"敬请期待",disabled:!0,onClick:()=>{}}]}):xA?c.jsx(ive,{userId:it,appId:n,agentInfo:Zt,capabilitiesLoading:gn,agentLabel:C4,onOpenSession:che}):_4?c.jsx(DJe,{onAdded:z=>{J0(fl()),Ut(!1),i(z)},onCancel:()=>Ut(!1)}):Le?c.jsx(IJe,{cloudProvider:Pn,initialWorkspace:jt,onInitialWorkspaceConsumed:()=>hi(null)}):H1!==null&&!ue?c.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,height:"100%",padding:24,textAlign:"center",color:"var(--text-secondary, #6b7280)"},children:[c.jsxs("div",{style:{fontSize:18,fontWeight:600},children:["需要配置",Pn==="byteplus"?"BytePlus":"火山引擎"," AK/SK"]}),c.jsxs("div",{style:{maxWidth:420,lineHeight:1.6},children:["智能体工作台需要",Pn==="byteplus"?" BytePlus ":" Volcengine ","凭据才能使用。请在运行环境中设置"," ",c.jsx("code",{children:Pn==="byteplus"?"BYTEPLUS_ACCESS_KEY":"VOLCENGINE_ACCESS_KEY"})," ","与"," ",c.jsx("code",{children:Pn==="byteplus"?"BYTEPLUS_SECRET_KEY":"VOLCENGINE_SECRET_KEY"})," ","后重试。"]})]}):H1==="custom"?c.jsx(jct,{cloudProvider:Pn,initialDraft:Dfe??void 0,onBack:()=>{Tn(null),wi(!0)},onCreate:ehe,onAgentAdded:m4,features:Wo,onDeploymentTaskChange:V,createMode:$fe,deploymentTarget:_p??void 0,initialDeployRegion:F1,onDraftChange:(z,ee)=>{Xr&&(ee?Zfe(Xr,z,_p??void 0):p4(Xr))},onDiscard:Xr?()=>{p4(Xr),Jo(""),Oo.current=null,da(null),$l(null),Hs(""),Ys(n),Tn(null),wi(!1),ri(!0),He("")}:void 0,onDeploymentStarted:g4,onDeploymentComplete:O4},Xr||"custom"):H1==="package"?c.jsx(Qct,{cloudProvider:Pn,onBack:()=>{Tn(null),wi(!0)},onAgentAdded:m4,onDeploymentTaskChange:V,onDeploymentStarted:g4,onDeploymentComplete:O4,initialDeployRegion:F1}):gt.length===0&&!di?c.jsxs("div",{className:"session-loading",children:[c.jsx(qn,{className:"icon spin"})," 正在检查 Agent 能力…"]}):gt.length===0?c.jsx("div",{className:"welcome",children:c.jsxs("div",{className:"welcome-primary",children:[c.jsxs("div",{className:"welcome-heading",children:[c.jsx(uut,{canUpdate:Qn.role==="admin"}),c.jsx("h1",{className:"welcome-title",children:p?"让灵感自由生长":At})]}),P]})},`welcome-${sn.agentId??n}`):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:`transcript${C1?" is-streaming":""}`,ref:eO,onScroll:nhe,onWheel:ihe,onTouchMove:rhe,children:gt.map((z,ee)=>{var Xt,Mt,dn,si,Mn,Rs,$c;const ye=ee===gt.length-1;if(z.role==="system")return z.activity?c.jsx("div",{className:"turn turn--system",children:c.jsx(xut,{activity:z.activity,time:jM((Xt=z.meta)==null?void 0:Xt.ts)})},z.activity.id):null;if(z.role==="user"){const Yi=z.blocks.map(Qa=>Qa.kind==="text"?Qa.text:"").join(""),qr=z.blocks.flatMap(Qa=>Qa.kind==="attachment"?Qa.files:[]),Ri=z.blocks.find(Qa=>Qa.kind==="invocation");return c.jsxs(dr.div,{className:"turn turn--user",initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[(Ri==null?void 0:Ri.kind)==="invocation"&&c.jsx(u_,{value:Ri.value}),qr.length>0&&c.jsx(d_,{appName:n,items:qr}),Yi&&c.jsx("div",{className:"bubble",children:c.jsx(i1,{text:Yi})}),c.jsxs("div",{className:"turn-actions turn-actions--right","data-share-image-exclude":"true",children:[((Mt=z.meta)==null?void 0:Mt.ts)&&c.jsx("span",{className:"meta-text",children:jM(z.meta.ts)}),c.jsx(bq,{text:Yi})]})]},ee)}const we=((dn=z.meta)==null?void 0:dn.author)??"",be=we&&qi?PM(qi,we):void 0,tt=!!(we&&P1.length>0&&!P1.includes(we)),Ke=(be==null?void 0:be.name)||we,St=(be==null?void 0:be.description)||(tt?"正在执行主 Agent 移交的任务。":"");if(z.blocks.length>0&&z.blocks.every(Yi=>Yi.kind==="agent-transfer"))return null;const lt=z.blocks.length===0,nt=((Mn=(si=z.meta)==null?void 0:si.feedback)==null?void 0:Mn.rating)??null,_n=((Rs=z.meta)==null?void 0:Rs.eventId)??"",jn=go.has(_n),xt=!!(Cs&&_n&&yd(z)),Cr=xt?wR(gt,ee):"",Bn=!!(xt&&Pn!=="byteplus"&&!(ye&&(Da||td))&&!ER(z));return c.jsxs(dr.div,{"data-share-message-source":"true","data-response-annotation-index":ee,ref:Yi=>{_n&&(Yi?_A.current.set(_n,Yi):_A.current.delete(_n))},className:["turn turn--assistant",tt?"turn--subagent":"",K0&&K0===_n?"is-feedback-target":""].filter(Boolean).join(" "),tabIndex:Bn?0:void 0,"aria-label":Bn?"模型回复;选中文字后可添加批注":void 0,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[tt&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"subagent-run-label",children:[c.jsxs("span",{className:"subagent-run-handoff",children:[c.jsx(Yxe,{}),c.jsx("span",{children:"智能体移交"})]}),c.jsx("span",{className:"subagent-run-title",children:Ke})]}),c.jsx("p",{className:"subagent-run-description",title:St,children:St})]}),lt?ye&&Da?c.jsx(Jie,{}):null:c.jsxs(c.Fragment,{children:[c.jsx(z5,{appName:n,blocks:z.blocks,streaming:ye&&(Da||td),onStreamFrame:ye?she:void 0,onStreamComplete:ye&&!Da&&td?()=>Zu(a):void 0,onAction:Phe,onAuth:jhe,onArtifactDownload:(Yi,qr)=>XZ(n,it,a,Yi,qr),onArtifactPreview:(Yi,qr)=>HZ(n,it,a,Yi,qr)}),!(ye&&Da)&&!pht(z)&&c.jsx("div",{className:"turn-empty",children:"本次没有返回可显示的内容。"}),!(ye&&Da)&&!ER(z)&&c.jsxs("div",{className:"turn-meta","data-share-image-exclude":"true",children:[p&&(($c=z.meta)!=null&&$c.sandboxUsage)?c.jsx(vut,{usage:z.meta.sandboxUsage}):null,c.jsxs("div",{className:"turn-actions",children:[xt&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:`icon-btn feedback-btn${nt==="good"?" feedback-btn--good":""}`,"aria-label":"赞","aria-pressed":nt==="good","aria-busy":jn,title:nt==="good"?"取消点赞":"赞",disabled:jn,onClick:()=>void PA(z,nt==="good"?null:"good",Cr),children:c.jsx(sve,{className:"icon",filled:nt==="good"})}),c.jsx("button",{type:"button",className:`icon-btn feedback-btn${nt==="bad"?" feedback-btn--bad":""}`,"aria-label":"踩","aria-pressed":nt==="bad","aria-busy":jn,title:nt==="bad"?"取消点踩":"踩",disabled:jn,onClick:()=>void PA(z,nt==="bad"?null:"bad",Cr),children:c.jsx(ave,{className:"icon",filled:nt==="bad"})})]}),!p&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"icon-btn","aria-label":"问题反馈",title:"问题反馈",onClick:()=>es({turn:z,input:wR(gt,ee)}),children:c.jsx(AK,{className:"icon"})}),c.jsx("button",{type:"button",className:"icon-btn",title:"Tracing 火焰图",onClick:()=>{var Yi;In((Yi=z.meta)!=null&&Yi.ts?z.meta.ts*1e3:Date.now()),Fe(!0)},children:c.jsx(dht,{})})]}),c.jsx(bq,{text:yd(z)}),c.jsx(Oht,{onClick:Yi=>{const qr=Yi.currentTarget.closest("[data-share-message-source]");qr&&Go({targetTurn:qr})}})]}),z.meta&&c.jsx("span",{className:"meta-text",children:fht(z.meta)})]})]})]},ee)})}),!p&&c.jsx(KRe,{appName:n,info:Zt,loading:gn,activeAgent:hA,seenAgents:R1,execPath:I1,capabilities:kn,capabilityLoading:Di,capabilityMutating:$i,builtinTools:vi,onAddCapability:Nhe,onRemoveCapability:z=>void Che(z)}),c.jsx("div",{className:"conversation-composer-slot",children:P})]})]})})})(),Yo&&a&&c.jsx(udt,{onClose:()=>es(null),onSubmit:Dhe}),Ml&&c.jsx(pft,{targetTurn:Ml.targetTurn,onClose:()=>Go(null)}),re&&a&&c.jsx(Dft,{anchor:re.anchor,selectedText:re.selectedText,onClose:()=>ne(P=>(P==null?void 0:P.selectionId)===re.selectionId?null:P),onSubmit:Qhe},re.selectionId),pt&&a&&c.jsx(ife,{appName:n,sessionId:a,endTimeMs:Pt,onClose:()=>Fe(!1)}),c.jsx(but,{open:ke,state:ie,agentKind:Ce,error:ge,onCancel:uhe,onConfirm:(P,F)=>void dhe(P,F)}),ct?c.jsx($_,{title:"删除 Codex 历史会话",description:`将删除“${ct.name||ct.preview||`Thread ${ct.id.slice(0,8)}`}”,并从历史会话中移除。`,confirmLabel:"确认删除",variant:"danger",busy:hn.threadActionId===ct.id,onCancel:()=>{hn.threadActionId||Tt(null)},onConfirm:()=>void phe()}):null,p?c.jsxs(c.Fragment,{children:[c.jsx(Iut,{open:R!==null,kind:R??"terminal",launch:Q,loading:D,error:M,onReload:()=>{R&&RA(R)},onClose:()=>{j(null),L(null),N(!1),B("")}}),c.jsx(Dut,{open:k,value:p.permissions,busy:x||b,error:E,onSave:P=>void mhe(P),onClose:()=>{x||(_(!1),w(""))}}),c.jsx($ut,{open:C,cwd:p.cwd,locked:p.workspaceLocked,busy:x,error:E,browse:ghe,onSave:P=>void Ohe(P),onClose:()=>{x||(A(!1),w(""))}}),c.jsx(Put,{open:hn.threadsOpen,threads:hn.threads,currentThreadId:p.threadId,loading:hn.threadsLoading,error:hn.threadsError,onSelect:P=>void hn.resumeThread(P),onClose:hn.closeThreads}),c.jsx(Qut,{approval:$,busy:G,error:U,onDecision:P=>void bhe(P)})]}):null,c.jsx(adt,{open:Ze,checking:Ci,error:Bt,onLogin:()=>void ahe()}),c.jsx(gut,{open:xe,task:ui,onClose:()=>Ge(!1),onRetry:Xs,onDownload:()=>void Ku()}),Wfe&&c.jsx("div",{className:"confirm-scrim",onClick:()=>wA(!1),children:c.jsxs("div",{className:"confirm-box",onClick:P=>P.stopPropagation(),children:[c.jsx("div",{className:"confirm-title",children:"返回创建首页?"}),c.jsx("div",{className:"confirm-text",children:"返回后当前填写的内容将会丢失,确定要返回吗?"}),c.jsxs("div",{className:"confirm-actions",children:[c.jsx("button",{className:"confirm-btn",onClick:()=>wA(!1),children:"取消"}),c.jsx("button",{className:"confirm-btn confirm-btn--danger",onClick:()=>{da(null),Tn(null),wi(!0),wA(!1)},children:"确定返回"})]})]})})]})}const kq="veadk.preloadRecoveryAt";window.addEventListener("vite:preloadError",e=>{const t=Date.now();let n=0;try{n=Number(sessionStorage.getItem(kq)||"0")}catch{}if(!(t-n<1e4)){e.preventDefault();try{sessionStorage.setItem(kq,String(t))}catch{}window.location.reload()}});(()=>{if(!(window.opener&&window.opener!==window&&/[?&](code|state|error)=/.test(window.location.search)))return!1;try{window.opener.postMessage({veadkOAuth:!0,url:window.location.href},window.location.origin)}catch{}return window.close(),!0})()||qge.createRoot(document.getElementById("root")).render(c.jsx(un.StrictMode,{children:c.jsx(i0e,{reducedMotion:"user",children:c.jsx(Lxe,{maskOpacity:.9,children:c.jsx(Tht,{})})})}));export{Pb as $,yat as A,d5e as B,xat as C,Zit as D,f5e as E,trt as F,$$e as G,r$e as H,cde as I,s$e as J,fne as K,qrt as L,c as M,Lt as N,_i as O,rrt as P,vn as Q,Pue as R,Cht as S,Sot as T,S5e as U,Bs as V,ar as W,O as X,n_ as Y,lo as Z,Rht as _,U_ as a,Wh as a0,wf as a1,$r as a2,Mf as a3,z_ as a4,N3 as a5,k3 as a6,Sl as a7,tne as a8,ps as b,un as c,lde as d,bat as e,Tot as f,gU as g,Qg as h,hr as i,Iht as j,nue as k,Ic as l,Wue as m,K_ as n,ip as o,yit as p,Kht as q,b5 as r,aLe as s,By as t,zn as u,w5e as v,C5e as w,lLe as x,i0 as y,C$e as z}; diff --git a/veadk/webui/index.html b/veadk/webui/index.html index 409e527d..c6018ef8 100644 --- a/veadk/webui/index.html +++ b/veadk/webui/index.html @@ -5,13 +5,8 @@ AgentKit Studio -<<<<<<< HEAD - - -======= - - ->>>>>>> 8587bb46 (feat(studio): report cloud account id telemetry) + +